数据库系统
一、关系的三类完整性约束:
- 实体完整性和参照完整性: 关系模型必须满足的完整性约束条件。称为关系的两个不变性,应该由关系系统自动支持。
- 用户定义的完整性: 应用领域需要遵循的约束条件,体现了具体领域中的语义约束。
二、实体完整性:
1、规则3.1 实体完整性规则(Entity Integrity)
- 若属性A是基本关系R的主属性,则属性A不能取空值
- 例:student(学号,姓名,性别,专业)
- 主码“学号”不能取空值
2、实体完整性规则的说明:
(1) 实体完整性规则是针对基本关系而言的。
(2) 现实世界的实体是可区分的,即它们具有某种唯一性标识。
(3) 关系模型中以主码作为唯一性标识。
(4) 主码中的属性即主属性不能取空值。
注:主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性。
三、参照完整性:
- 现实世界中的实体之间往往存在某种联系,在关系模型中,实体及实体间的联系都是用关系来描述的。
- 参照完整性用于描述实体之间的联系。
- 一般用外码实现。 外码:取作本表(子表)属性之一的外表(主表)
- 主码。 主码值先在主表中生成,后在子表中引用。
- 外码:
- 设F是基本关系R的一个或一组属性,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码。
- 关系R称为参照关系(Referencing Relation)。
- 关系S称为被参照关系(Referenced Relation),或目标关系(Target Relation)(被引用表)。
四、参照完整性规则:
1、规则3.2 参照完整性规则:若属性组F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
- 或者取空值(F的每个属性值均为空值)
- 或者等于S中(被引用表)某个元组的主码值
五、用户定义的完整性:
- 针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
- 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。
六、数据库系统的结构:
1、从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构。
2、数据库系统模式的概念
1)模式(Schema)
- 数据库逻辑结构和特征的描述
- 是型的描述
- 反映的是数据的结构及其联系
- 模式是相对稳定的
2)实例(Instance)
- 模式的一个具体值
- 反映数据库某一时刻的状态
- 同一个模式可以有很多实例
- 实例随数据库中的数据的更新而变动
七、数据库系统的三级模式结构
- 外模式( External Schema)
- 概念模式(Logical Schema)
- 内模式(Internal Schema)
1、外模式(External Schema):
1)外模式(也称子模式或用户模式)
- 数据库用户(包括应用程序员和最终用户)
- 使用的局部数据的逻辑结构和特征的描述 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
2)外模式的用途
保证数据库安全性的一个有力措施
注:每个用户只能看见和访问所对应的外模式中的数据
2、概念模式(Logical Schema)
1)概念模式(也称为逻辑模式或模式)
- 数据库中全体数据的逻辑结构和特征的描述
- 包括数据的逻辑结构(数据项的名字、类型、取值范围等)、数据之间的联系、数据有关的安全性、完整性要求
2)一个数据库只有一个概念模式
3)概念模式的地位:
- 是数据库系统模式结构的中间层 与数据的物理存储细节和硬件环境无关
- 与具体的应用程序、开发工具及程序设计语言无关
3、内模式(Internal Schema):
1)内模式(也称存储模式)
- 是数据物理结构和存储方式的描述
- 是数据在数据库内部的表示方式
- 记录的存储方式(顺序存储,B树结构存储,hash方法存储)
- 索引的组织方式
- 数据是否压缩存储 数
- 据是否加密
- 数据存储记录结构的规定
2)一个数据库只有一个内模式
4、模式的关系
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律