第1页:教材书名页(作者高洁)
数据库技术及应用作者:高洁
第2页:第2章目录:关系型数据库
第2章关系型数据库及其设计方法
- 2.1关系模型与关系操作
- 2.2关系型数据库基本概念
- 2.3关系型数据库设计方法
第3页:2.1关系模型与关系操作
2.1关系模型与关系操作
- 2.1.1基本概念
- 2.1.2传统的集合运算
- 2.1.3专门的关系运算
第4页:2.1.1基本概念
2.1.1基本概念
- 1.关系
- 一个关系对应一张二维表,图2.1中的这张学生信息表就是一个关系。
- 2.元组
- 表中的一行即为一个元组(也称为一条记录)。
- 3.属性
- 表中的一列即为一个属性,图2.1有6列,对应6个属性,给每个属性起一个名字即属性名,例如student_id即为第一列的属性名。
- 4.码(key)
- 表中的某个属性(组),它可以惟一确定一个元组,则称该属性组为“侯选码”。若一个关系有多个候选码,则选定其中一个为主码。如图2.1中的student_id(学号),是该学生关系的码,并且是主码。
- 5.域(domain)
- 属性的取值范围,如图2.1中学生性别的域是(男,女)。
第5页:关系模型与关系操作(续)
图2.1纵的一列称为一个属性(字段),表头给出属性名(字段名)横的一行称为一个元组(记录)
第6页:2.1.2传统的集合运算
2.1.2传统的集合运算
- 1.并
- 2.交
- 3.差
- 4.广义笛卡尔积cba321654987Rcba321000987S
第7页:并
并
- 关系R与关系S的并由属于R或属于S的元组组成,其结果关系仍为n目关系。记作R∪Scba321654987000R∪S
第8页:交
交
- 关系R与关系S的交由既属于R又属于S的元组组成,其结果关系仍为n目关系。记作R∩Scba321987R∩S
第9页:差
差
- 关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作R-Scba654R-S
第10页:广义笛卡尔积
广义笛卡尔积
- 两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有A1个元组,S有A2个元组,则关系R和关系S的广义笛卡尔积有Al×A2个元组。记作R×S
第11页:广义笛卡尔积结果示例
R-Scbacba321321000321987321321654000654987654321987000987987987
第12页:2.1.3专门的关系运算
2.1.3专门的关系运算
第13页:选择
选择
第14页:投影
投影
第15页:连接
连接
第16页:2.2关系型数据库基本概念
2.2关系型数据库基本概念
- 2.2.1关系型数据库定义
- 2.2.2数据完整性
- 2.2.3表间关联
- 2.2.4关系型数据库规范化分析
第17页:2.2.1关系型数据库定义
2.2.1关系型数据库定义
- 关系型数据库是指一些相关的表和其他数据库对象,例如视图、存储过程和索引等的集合。在关系型数据库中,信息存放在二维表中,一个关系型数据库包含多个二维表。关系型数据库所包含的表之间是有关联的,关联主要由主码和外码所体现的参照关系实现。
第18页:2.2.2数据完整性
2.2.2数据完整性
- 1.实体完整性(Entity Integrity)
- 实体完整性用来保证关系数据库表中的每一条记录都是唯一的。实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。
- 2.域完整性(Domain Integrity)
- 域完整性用于属性的取值在有效的范围内。
- 3.参照完整性(Referential Integrity)参照完整性用于确保相关联的表间的数据保持一致。当进行增加、删除和修改关系型数据库表中的记录时,必须借助参照完整性来保证相关联的表之间数据的一致性。
- 4.用户自定义完整性(User-defined Integrity)实体完整性和参照完整性适用于任何关系数据库系统。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户自定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
第19页:2.2.3表间关联
2.2.3表间关联
- 1.一对一关联(one-to-one)
- 2.一对多关联(one-to-many)
- 3.多对多关联(many-to-many)
第20页:2.2.4关系型数据库规范化分析
2.2.4关系型数据库规范化分析
- 1.1NF
- 如果一个关系R的所有属性都是不可分的基本数据项,则R∈1NF。任何一个关系模式都是1NF,不满足第一范式的数据库模式不能称为关系数据库。
- 2.2NF
- 若关系R∈lNF,并且每一个非主属性都完全依赖于R的主码,则R∈2NF。
- 3.3NF
- 若关系R∈2NF,并且每一个非主属性不传递依赖于R的主码,则R∈3NF。
第21页:2.3关系型数据库设计方法
2.3关系型数据库设计方法
- 2.3.1数据库设计方法概述
- 2.3.2需求分析
- 2.3.3概念设计
- 2.3.4逻辑设计
- 2.3.5物理设计
- 2.3.6数据库的实施与维护
第22页:2.3.1数据库设计方法概述
2.3.1数据库设计方法概述
- 数据库设计分为六个阶段:需求分析、概念结构设计、逻辑结构设计、物理设计、数据库实施和数据库运行维护。
第23页:2.3.2需求分析
2.3.2需求分析
- 进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
第24页:2.3.3概念设计
2.3.3概念设计
- 将需求分析的结果综合为一个统一的概念模型。首先根据单个应用的需求,画出能反映每一个应用需求的局部E-R模型。然后把这些模型合并起来,消除冗余和可能存在的矛盾,得到系统的E-R模型。
第25页:2.3.4逻辑设计
2.3.4逻辑设计
- 将E-R模型转换为所选用的DBMS支持的数据模型。对于关系数据库,主要是完成表的关联和结构设计。
第26页:2.3.5物理设计
2.3.5物理设计
- 数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
第27页:2.3.6数据库的实施与维护
2.3.6数据库的实施与维护
- 在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
- 数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。在数据库的运行阶段,对数据库经常性的维护工作主要是由DBA完成的,它包括:数据库的转储和恢复、数据库的安全性和完整性控制、数据库性能的监督和分析改造、数据库的重新组织与重构。