数据库管理系统
从用户角度看数据库管理系统
数据库定义
数据库操纵:crud
数据库控制
数据库维护从系统角度看数据库管理系统功能
事务管理
故障恢复
安全性控制
完整性控制
数据字典管理
数据库性能分析数据库语言
数据库定义语言:DDL
数据库操纵语言:DML
数据库控制语言:DCL
数据库的标准结构
- 模式和视图的概念:
三级模式和两层映像
外模式(子模式):某一用户能够看见的和处理的数据结构描述
概念模式(全局模式):从全局角度理解/管理的数据结构的描述,含相应的关联约束体现在数据之间的内在本质联系
内模式:存储在介质上的数据的结构描述,存储路径,存储方式,索引方式
E-C映像:将外模式映射为概念模式,从而实现数据概念视图向外部视图的转换,便于用户使用和观察。
C-I映像:将概念视图映射为内模式,从而实现数据概念视图向内部视图的转化,便于计算机存储。
两个独立性
逻辑的独立性:当概念模式变化的时候,可以不改变外部模式只需要改变E-C,无需改变程序
物理数据独立性:可以不改变概念模式只需要改变C-I,从而不改变外模式
数据模型
数据模型:规定模式统一描述方式的模型,包括数据结构,操作,约束
数据模型是对模式本身结构的抽象,模式是对数据本身结构的抽象
关系模型
所有的模式都可以抽象为表(数据结构)的形式,每一个具体的模式都拥有不同的列名的具体表。对这种表形式的数据有哪些操作和约束。
层次模型
网状模型
数据库的发展史
文件系统到数据库系统,层次模型数据库,网状模型数据库导关系型数据库,关系型数据库导对象关系数据库,到面向对象数据库
关系模型和关系
那什么是关系模型呢?
- 描述数据库各种数据的基本结构形式。(Table/Relation)
- 描述表与表之间可能发生的各种操作。(关系运算)
- 描述这些操作所应遵循的各种约束条件。(完整性约束)
什么是关系?
1. 域:一组值的集合。这组值具有相同的数据类型。
2. 元组:从每一个域中任取一个值所形成的一种组合
3. 笛卡尔积:所有可能元组的集合。
4. 关系:笛卡尔积中具有意义的某些元组的集合。
5. 属性名:每一列的名字
6. 表:由关系集合和属性名构成
关系模式是关系的结构,关系模式是稳定的,关系是关系模式某一时刻的数据,是随时间而变化的
关系模型的完整性
候选建(码):关系中的一个属性组,其值能唯一标识一个元组,若从该属性中去掉任何一个属性,他就不具备这个性质,这样的属性组被称为候选键。
主键(主码):当有多个候选键,选一个做为主键
外键(码):关系R的一个属性组,他不能是R的候选键,但是他是另外一个关系的候选键相对应。外键可以为null
主属性:包含在任何一个候选键中的属性被称为主属性。其他属性被称为非主属性。
第一范式:关系的任何属性都不可再分
- 实体完整性:关系中的主键不能为空值,空值是不知道或者无意义的值
- 参照完整性:如果关系R1的外键Fk和关系R2的主键Pk对应,则R1中的每一个元组的Fk值或者等于R2中某个元组的Pk值,或者为空值。
-
例如,如果在学生表和选修课之间用学号建立关联,学生表是主表,选修课是从表,那么,在向从表中输入一条新记录时,系统要检查新记录的学号是否在主表中已存在,如果存在,则允许执行输入操作,否则拒绝输入,这就是参照完整性。
参照完整性还体现在对主表中的删除和更新操作,例如,如果删除主表中的一条记录,则从表中凡是外键的值与主表的主键值相同的记录也会被同时删除,将此称为级联删除;如果修改主表中主关键字的值,则从表中相应记录的外键值也随之被修改,将此称为级联更新
-
- 用户自定义完整性