数据库原理及应用期末+考研复试

本文涵盖了数据库系统概述、数据模型(E-R、层次、网状、关系模型)以及数据库的体系结构,重点讨论了关系数据模型和SQL语言,包括数据定义、查询、更新和授权控制。此外,还涉及数据库保护,如事务处理、完整性与安全性,以及并发控制的基本概念。
摘要由CSDN通过智能技术生成


一、数据库系统概述

数据库基本概念和特点
数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。
数据库中的数据按照一定的数据模型组织、描述,具有较小的冗余度、较高的数据独立性和可扩展性,并且可为各种用户所共享。

二、数据模型

2.1E-R数据模型

是一种用于描述实体(Entity)和实体之间关系(Relationship)的数据模型,是现代数据库管理系统中广泛使用的一种数据模型。

矩形表示实体,椭圆表示实体属性,菱形表示实体之间的关系。
在这里插入图片描述

2.2层次数据模型

层次模型是一种树形结构,其中父节点可以拥有多个子节点,但每个子节点只能拥有一个父节点。在层次数据模型中,每个节点都可以包含多个属性。由于其树形结构,层次数据模型通常用于处理具有层次结构的数据,例如组织机构。
在这里插入图片描述

2.3网状数据模型

网状数据模型是层次数据模型的拓展,它允许每个节点具有多个父节点和多个子节点。在网状数据模型中,节点之间的关系可以是多对多的。由于其复杂性,网站数据模型很少使用。
在这里插入图片描述

2.4关系数据模型

关系数据模型是现代数据库管理系统中最常使用的数据模型。在关系数据模型中,数据被组织为表格形式,每个表格包含多个列和行。每列代表一个属性,每行代表一个实例。关系数据模型通常使用结构化查询语言(SQL)进行数据检索和操作,这种数据模型的优点是便于使用和理解,并且能处理大量数据。
在这里插入图片描述

面向对象数据模型
面向对象数据模型是一种基于对象概念的数据模型,它将数据组织成对象的集合,每个对象都具有自己的属性和方法。对象可以通过继承、多态和封装等概念相互关联和操作,从而更加自然地表示现实世界中对象和关系。

数据库的体系结构

三、数据库系统的体系结构

3.1数据库系统体系结构

三级模式:
外模式:也称为用户模式或者子模式,是面向用户的数据视图,描述了用户所需的数据,包括数据的组织,访问路径和安全限制等。每个用户可以定义自己的外模式以满足不同的需求。

概念模式:也称为逻辑模式,是整个数据库系统的逻辑结构,描述了数据的总体组织和关系,是外模式和内模式之间的中介层。概念模式包括所有的实体、属性、关系和约束条件,但不涉及具体的存储和实现方式

内模式:也称为存储模式,是数据库的物理系统,描述了数据在存储介质上的存储方式和物理结构。是数据在数据库内部的组织方式。

两级映像:
外模式/概念模式映像:当概念模式改变时,由数据库管理员对各个外模式/概念模式映像做出相应改变,可以使得外模式保持不变。

数据的逻辑结构改变了,应用程序也可不变,保证了数据和程序的逻辑独立性。

概念模式/内模式映像:当数据库存储结构改变时,由数据库管理员对概念模式/内模式做出相应改变,可以使得概念模式保持不变。

数据的物理结构改变了,应用程序也可不变,保证了数据和程序的物理独立性。

3.2数据库系统

数据库系统组成:硬件平台、数据库、软件、数据库管理员

数据库系统分类:关系型数据库、非关系型数据库

3.3数据库管理系统

在这里插入图片描述

数据库管理系统:数据库管理系统是数据库系统的核心组成部分,负责管理数据库的所有操作,包括数据的存储、查询、修改和删除等。它是位于用户和操作系统之间的一层数据管理软件。

数据库管理系统功能
1.数据定义
2.数据组织、存储、管理
3.数据操纵
4.数据库的事务管理和运行
5.数据库的建立与维护

数据库管理系统工作模式
1、接受应用程序的数据请求和处理请求
2、将用户的数据请求(高级指令)转换成复杂的机器代码(底层指令)
3、实现对数据库的操作
4、从对数据库的操作中接受查询结果
5、对查询结果进行处理(格式转换)
6、将处理结果返回给用户
在这里插入图片描述

四、关系数据库结构化查询语言——SQL语言

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.1基本表定义

创建数据库

create database 学生选课;

打开数据库

use  学生选课;

基本表创建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
基本表创建:

学生表创建

create table S
(
	sno char(6) primary key,--定义主键primary key
	sn char(10) not null,--姓名不能为空值
	sd char(16),
	sb date,
	sex char(2) default '男',--性别默认为男
	check (sex in ('男','女'))--检查所填性别是不是在男/女这两选项之间
);

选课表创建

create table sc
(
	sno char(6),
	cno char(6),
	grade dec(4,1),--dec是小数decimal缩写,dec(p,d)表示p位数字组成,小数点后有d位数字
	primary key(sno,cno)--一个表有多个主键primary key(主键1,主键2),
	foreign key (sno) references s(sno),--定义外键约束
	foreign key (cno) references c(cno),--foreign key (属性名1) references 参照表名(属性名2)
	check (grade between 0 and 100)--检查成绩是不是在0-100之间
);

课程表创建

create table c
(
	cno char(6) primary key,
	cn char(10),
	pc char(6),
	foreign key (pc) references c(cno)
);

基本表修改
在这里插入图片描述

在学生表s中加入一个属性列sh表示学生的籍贯

alter table s add sh char(30);

在学生表s中补充定义sno 为主键

alter table s add  primary key(sno);

在这里插入图片描述
将基本表s中的学生姓名sn长度修改为12

alter table s alter column sn char(12);

在这里插入图片描述

删除基本表s中学生的性别sex属性列

alter table s drop column sex;

基本表删除
在这里插入图片描述
删除基本表s

drop table s cascade;

4.2查询结果显示

在这里插入图片描述

投影属性列
查询显示所有学生的信息

select * from s;

在这里插入图片描述

去除重复元组

查询选修了课程的学生的学号

select distinct sno from s;

在这里插入图片描述

聚集函数

  • 34
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

劲夫学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值