目录
1、数据库管理系统(DBMS)
1.1 DBMS的主要功能
1. 数据库的定义功能
2. 数据库的操纵功能
3. 数据库的运行控制功能
4. 数据库的维护
5. 数据字典(Data Dictionary,DD)
2、数据模型
2.1 信息和数据(了解)
2.2 数据模型的三个层次
2.3 信息世界中的基本概念
1. 实体(entity)
2. 属性(attribute)
3. 实体型
4. 实体集
5. 联系
2.4 E-R图
2.5 关系数据模型
1. 关系
2. 属性
3. 域(domain)
4. 元组
5. 分量
6. 码(key),主码(primary key),外码(foreign key)
2.6 E-R图向关系模型的转换
1. 原则
2. 具体方法
1:1
1:N
N:M
3 数据库系统的模式结构
3.1 三级模式两级映射
1、数据库管理系统(DBMS)
1.1 DBMS的主要功能
1. 数据库的定义功能
DBMS提供数据定义语言(data definition language,DDL)定义数据库的结构
create,alter,drop
注意:对于这些关键字,不区分大小写
2. 数据库的操纵功能
DBMS提供数据操纵语言(data manipulation language,DML)实现对数据库中数据的操作
select(DQL),insert,update,delete
3. 数据库的运行控制功能
数据安全性控制,DCL(grant(授权),revoke(撤回),deny(拒绝))
数据完整性控制,约束,触发器等等。
多用户环境下的并发控制,并发(在宏观上,多个事件在同一时间间隔内发生,而在微观上,这些事件可能会交替进行,不一定同时进行。它强调的是任务之间的交替执行和系统的多任务处理能力,如:单个CPU,宏观上,在一段时间间隔中,处理不同的事情,微观上,还是交替执行的)如:现在仅有一张火车票,要处理好,多个用户去抢这张票。感谢时代楷模单杏花。
数据库的恢复,数据库需要备份与还原
4. 数据库的维护
数据库的初始数据的载入、转换、转储、数据库的重组和性能监视、分析等
5. 数据字典(Data Dictionary,DD)
主要作用:供数据库管理系统(DBMS)快速查找有关对象的信息
2、数据模型
数据模型是对客观事物及其联系的数据描述
2.1 信息和数据(了解)
数据:对信息的符号化表示,即用一定的符号表示信息。
信息是数据的内涵,数据是信息的载体。
2.2 数据模型的三个层次
概念数据模型(概念模型),现实世界->概念世界,如:E-R模型
逻辑数据模型(逻辑模型),概念世界->信息世界,如:层次模型,网状模型,关系模型(二维表,主流)
物理数据模型(物理模型),信息世界->机器世界,在计算机上的物理结构
2.3 信息世界中的基本概念
1. 实体(entity)
客观存在并可相互区分的事物成为实体
2. 属性(attribute)
实体所具有的某一特性
3. 实体型
同类实体的一个抽象概念,如:学生(学号,姓名,性别,年龄)
4. 实体集
同型实体的集合
5. 联系
常见的联系,1:1,1:N,M:N
2.4 E-R图
实体(集):用矩形表示,矩形内写实体(集)名
属性:用椭圆表示,椭圆内写属性名,用无向边与对应实体相连
联系:用菱形表示,菱形内写联系名,用无向边与有关实体相连,并在无向边上标上联系(1:1,1:N,M:N)
注意:联系也可以有属性
例:为仓库的管理设计一个E-R图。
仓库主要管理零件的采购和供应。仓库根据需要向的供应商订购零件,仓库需要向许多工程提供零件。
2.5 关系数据模型
逻辑结构是一张二维表
如:
学号 | 姓名 | 性别 | 年龄 | 班级 | 联系方式 |
---|---|---|---|---|---|
001 | 张三 | 男 | 16 | 高一(1)班 | 138xxxx5678 |
002 | 李四 | 女 | 17 | 高一(2)班 | 139xxxx1234 |
003 | 王五 | 男 | 15 | 高一(1)班 | 137xxxx9876 |
004 | 赵六 | 女 | 16 | 高一(3)班 | 136xxxx5432 |
005 | 孙七 | 男 | 17 | 高一(2)班 | 135xxxx7654 |
1. 关系
对应通常说的二维表
如:上面的关系为,学生(学号,姓名,性别,年龄,班级,联系方式)
2. 属性
表中的一列
3. 域(domain)
属性(表中一列)的集合
4. 元组
表中的一行
5. 分量
元组中的一个属性值
6. 码(key),主码(primary key),外码(foreign key)
码(key):能唯一标识实体的属性或属性集合,并且不能含有冗余属性
全码:整个属性组作为码。
候选码(candidate key):码的集合。
主码(primary key):从候选码中选择一个合适的码
注意:设置为主码,保证主码不为空。(实体完整性)
外码(foreign key):A关系中的属性(集)(可以是一个普通的属性,主码,主码的一部分),这个属性在B关系中是主码。
注意:设置为外码,要保证A外码的域包含于B中主码的域,即A中外码的值要在B主码中都能找到
主属性:所有候选码的属性都是主属性。外码的属性不一定是主属性。(参照完整性)
非主属性:不是候选码中的其他属性。
2.6 E-R图向关系模型的转换
1. 原则
E-R图中的每一个实体->一个关系(应包括对应实体的全部属性,确定主码)
E-R图中的联系的属性->根据联系方式进行实现。
2. 具体方法
1:1
两个实体1:1,分别转化为关系,并在一个关系中 加入 联系的属性和另一个关系的主码。
如:
Student表:
Student(StudentID(主码),Name,Age)
StudentIDCard表:
联系没有属性,所有没有加到StudentIDCard表中,已经有Student表中的主码,并作为外码。
StudentIDCard(StudentID(主码,外码),IDCardNumber,IssueDate)
1:N
两个实体
两个实体1:N,将“1”的主码(作为外码)和联系的属性 加入到“N”的关系中
学生表:
联系没有属性,将班级的主码加入到学生表中,作为外码。
学生(学号(主码),姓名,性别,班号(外码))
班级表:
班级(班号(主码),班级名,人数)
两个实体
一个实体1:N,在这个实体的关系中多设置一个属性(表示与该个体相联系的上级个体的主码),作为外码
一个领导者职工领导多个职工,职工只能被一个领导者职工领导
职工(工号(主码),姓名,年龄,性别,职称,工资,领导者工号(外码))
N:M
两个实体N:M,联系单独成一个关系,并加上双方实体的主码,作为外码。
学生表:
学生(学号(主码),姓名,年龄,性别)
课程表:
课程(课程号(主码),课程名,学时数)
选修表:
选修(学号(外码),课程号(外码),成绩),(学号,课程号)一起为主码。
3 数据库系统的模式结构
3.1 三级模式两级映射
内模式(存储模式),是数据库的物理结构和存储方式的描述。一个数据库只有一个内模式。
模式(逻辑模式),是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
一个数据库只有一个模式。
外模式(子模式,用户模式),是数据库用户 看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。一个数据库可多个外模式。
当数据库的存储结构改变,数据库管理员对内模式/模式映像作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。(存储结构和物理有关)
当模式改变,数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。