第1_1章 关系数据库基本原理

上传人:今*** 文档编号:107126798 上传时间:2019-10-18 格式:PPT 页数:59 大小:664KB
返回 下载 相关 举报
第1_1章 关系数据库基本原理_第1页
第1页 / 共59页
第1_1章 关系数据库基本原理_第2页
第2页 / 共59页
第1_1章 关系数据库基本原理_第3页
第3页 / 共59页
第1_1章 关系数据库基本原理_第4页
第4页 / 共59页
第1_1章 关系数据库基本原理_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《第1_1章 关系数据库基本原理》由会员分享,可在线阅读,更多相关《第1_1章 关系数据库基本原理(59页珍藏版)》请在金锄头文库上搜索。

1、关系数据库基本原理,目录,2,高等教育出版社,关系数据库概述 关系的规范化分析 关系数据库的设计,一 关系数据库概述,3,高等教育出版社,1. 关系数据库与表 2. 主键与外键 3. 约束 4. 数据完整性 5. 表的关联,1.关系型数据库与表,关系型数据库:是指一些相关的表和其他数据库对象的集合。在关系型数据库中,信息存放在二维表格结构的表中,一个关系型数据库包含多个数据表,每一个表包含行(记录)和列(字段)。,学生信息表,表中的每行记录都必须是惟一的,而不允许出现完全相同的记录。 通过定义主键(PRIMARY KEY)来保证记录(实体)的惟一性。,主键:一个表的主键由一个或多个字段组成,其

2、值具有惟一性,而且不允许取空值(NULL),主键的作用是惟一地标识表中的每一条记录。 要求:为了惟一标识实体的每个实例,每个数据库表都应当有一个主键,而且只能有一个主键。 提示:有时可以考虑使用两个或两个以上字段的组合作为主键。,2.主键与外键-主键,主键,主键,外键:一个关系型数据库可能包含多个表,可以通过外键(FOREIGN KEY)使这些表之间关联起来。如果在表A中有一个字段对应于表B中的主键,则该字段称为表A的外键。,2.主键与外键-外键,图1-2 主键与外键的关系,主键,外键,B表:student_info表,A表:Result_info表,主键,外键,C表:Course_info表

3、,3. 约束,约束:在设计表时,针对表中的一个或多个字段组合设置约束条件,让SQL Server检查字段中的输入值是否符合约束条件的要求。分为两种约束: 表级约束:针对表中几个字段的约束。 字段级约束:针对表中一个字段的约束。,(1)PRIMARY KEY约束 作用:保证表中每条记录的惟一性。可用一个字段或多个字段(最多16个)的组合作为表的主键。用单个字段作主键,使用字段级约束;用字段组合作主键,使用表级约束。 要求:每个表只能有一个主键,且主键字段的内容不能重复和空值。,几种常见的约束,(2)FOREIGN KEY 约束 作用:保证FOREIGN KEY字段与其他表中的主键字段或具有惟一性

4、的字段相对应,其值必须在所引用的表中存在,且与所引用的表在同一数据库中。若在外键字段中输入一个非NULL值,但该值在所引用的表中并不存在,则该记录也会被拒绝。 要求:外键字段本身的值不要求是惟一的。,(3)NULL与NOT NULL约束 定义:若一个字段中允许不输入数据,则可以将该字段定义为NULL约束,若在一个字段中必须输入数据,则应当将该字段定义为NOT NULL约束。 NULL含义:既不等价于数值型数据中的0,也不等价于字符型数据中的空字符串。表示用户还没有为该字段输入值。,(4)UNIQUE约束 定义:如果一个字段值不允许重复,则应当对该字段添加UNIQUE约束。 区别:与主键约束不同

5、的是,在UNIQUE字段中允许出现NULL值,但为保持惟一性,最多只能出现一次NULL值。,(5)CHECK约束 定义:CHECK约束用于检查一个字段或整个表的输入值是否满足指定的检查条件。在表中插入或修改记录时,如果不符合这个检查条件,则这条记录将被拒绝。,(6)DEFAULT 约束 作用:用于指定一个字段的默认值,当尚未在该字段中输入数据时,该字段中将自动填入这个默认值。若对一个字段添加了NOT NULL约束,但又没有设置DEFAULT约束,就必须在该字段中输入一个非NULL值,否则将会出现错误。,5 数据完整性,规划关系数据库表有两个重要步骤: 如何确定一个字段的有效值; 如何强制实施字

6、段的数据完整性。 数据完整性:保证关系型数据库中数据的正确性和可靠性,分为4种类型。,(1) 实体完整性:Entity Integrity,用于保证关系型数据库表中的每条记录都是惟一的。 主键约束:确保实体完整性。表中的主键不能取空值,也不能取重复的值。 (2)域完整性:Domain Integrity,用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内。,(3)参照完整性:Referential Integrity,用于确保相关联的表间的数据保持一致。当添加、删除或修改关系型数据库表中的记录时,可以借助于参照完整性来保证相关联的表之间的数据一致性。可通过定义表的主键和外键关系来实

7、现。 (4)用户自定义完整性:(User-defined Integrity)是一种强制数据定义。,6 表的关联,表之间的关联方式分为以下3种类型。 (1)一对一关联(1:1) 设在一个数据库中有A、B两个表,对于表A中的任何一条记录,表B中只能有一条记录与之对应;反过来,对于表B中的任何一条记录,表A中也只能有一条记录与之对应,则称这两个表是一对一关联的。 (2)一对多关联(1:n) 设在一个关系型数据库中有A、B两个表,对于表A中的任何一条记录,表B中可能有多条记录与之对应;反过来,对于表B中的任何一条记录,表A中却只能有一条记录与之对应,则称这两个表是一对多的关联。,(a)学生表一,(b

8、)学生表二,(c)成绩表,(d)课程表,关系型数据库表的关联,(3)多对多关联(m:n) 设一个关系型数据库中有A、B两个表,对于表A中的任何一条记录,表B中可能有多条记录与之对应;反过来,对于表B中的任何一条记录,表A中也有多条记录与之对应,则称这两个表是多对多关联的。,二 关系的规范化分析,关系规范化理论:在实现阶段指导关系型数据库的设计。1970年EFCodd提出关系型数据库设计的三条规则,通称为三范式(Normal Form),即: 。第一范式(1NF) 。第二范式(2NF) 。第三范式(3NF),关系:3个范式有高低等级之分,3NF最高,2NF次之,1NF最低。在1NF的基础上又满足

9、某些特性才能达到第二范式的要求,在2NF的基础上再满足一些要求才能达到第三范式的要求。 作用:用于关系数据库设计,能够简化设计过程,达到减少数据冗余、提高查询效率的目的。,三范式间的关系,1第一范式,定义:若一个关系型数据库表中的每一字段值都是单一的,则称这个表属于第一范式。即:表中的每个字段都应当是不可再分的。,示例:非1NF表,成绩字段不单一,可以再细分。,如何将非1NF变为1NF?细分,符合1NF的数据库表,方法:将“成绩字段”细分为4个单独的字段。,图1-8 符合1NF的数据库表,示例:1NF表,每个字段不可再细分。,2第二范式,定义:若一个数据库表满足第一范式的要求,且它的每个非主键

10、字段完全依赖于主键,则称该数据库表属于第二范式。,示例:符合1NF,但不符合2NF,部分依赖关系,主键,学生信息表student_Info,如何将1NF变为2NF?分割,成绩信息表result_Info,主键,主键,图1-11 课程信息表course_Info,如何将1NF变为2NF?分割(续),主键,3第三范式,定义:如果一个数据库表满足第二范式的要求,而且该表中的每一个非主键字段不传递依赖于主键,则称这个数据库表属于第三范式。 传递依赖:在一个数据库表中有A、B、C三个字段,如果字段B依赖于字段A,字段C又依赖于字段B,则称字段C传递依赖于字段A,并称在该数据库表中存在传递依赖关系。,在一

11、个数据库表中,若有一个非主键字段依赖于另一个非主键字段,则该字段必然传递依赖于主键,因而该数据库表就不属于第三范式。 第三范式的实际含义:要求非主键字段之间不应该有从属关系。,示例:符合2NF,但不符合3NF,传递依赖关系,学生信息表student_Info,如何将2NF变为3NF?分割,主键,班级信息表class_Info,主键,外键,三 关系型数据库的设计,E-R模型 数据库设计过程,E-R模型(Entity-Relationship)即实体联系模型,是1976年PPSChen提出的。这种模型用E-R图来表示实体及其联系,广泛用于数据库设计中。,1. E-R模型,一个E-R图由实体、属性和

12、联系三种基本要素组成。 (1)实体:即现实世界中存在的、可以相互区别的人或事物。一个实体集合对应于数据库中的一个表,一个实体则对应于表的一行,也称为一条记录。在E-R图中,实体用矩形框表示。,(2)属性:表示实体或联系的某种特征。一个属性对应于数据库表中的一列,也称为一个字段。在E-R图中,属性用椭圆表示。 (3)联系:即实体之间存在的联系。在E-R图中,联系用菱形框表示。联系的类型可以是1-1、1-n、n-m等。,(1)先确定实体集与联系集,把参加联系 的实体集连接起来。 (2)画出诸实体的属性和联系的属性。 说明:当实体集与联系较多时,为了E-R图的整洁和可读性,有时可以略去属性。,绘制E

13、-R图的步骤,E-R图示例,学生实体局部E-R图,教师实体局部E-R图,课程实体局部E-R图,E-R图示例,学生实体与课程 实体局部E-R图,E-R图示例,教师实体与课程实体局部E-R图,E-R图综合示例,学生实体、课程实体和教师实体E-R图,2 数据库设计过程,数据库的设计都要经历:需求分析、概念设计、逻辑设计和物理设计几个阶段。,1需求分析,分析系统的需求。主要任务:从数据库的所有用户那里收集对数据的需求和对数据处理的要求,并把这些需求写成用户和设计人员都能接受的说明书。,2概念设计,将需求说明书中关于数据的需求,综合为一个统一的概念模型。步骤: (1)根据单个应用的需求,画出能反映每一应

14、用需求的局部E-R模型。 (2)将局部E-R模型图合并起来,消除冗余和可能存在的矛盾,得出系统总体的E-R模型。,3实现设计(逻辑设计),将E-R模型转换为某一特定的DBMS能够接受的逻辑模式。对关系型数据库,主要完成表的关联和结构的设计。,E-R图向关系数据模型的转换,51,高等教育出版社,将E-R图转换为关系模型实际上就是将实体、实体属性和实体之间的联系转化为关系模式,并确定关系模式的属性和码。 1. 将实体转换为关系模式 一般将E-R图中的实体转化为一个关系模式。实体的属性转化为关系的属性,实体的码就是关系的码。,一对一联系(1:1),52,高等教育出版社,2. 将实体间的联系转化成关系

15、模式 实体之间的联系比较复杂,可以按照以下规则转换。(1)1:1的联系 1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该1:1联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码都可以是该关系模式的候选码。如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。大多情况下采用后一种方式。,一对多联系(1:n),53,高等教育出版社,(2)1:n的联系 1:n的联系有两种转换方式:可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 如果转换为一个独立的关系模式

16、,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码是n端实体的码。 也可以与n端对应的关系模式合并,只需要将1端的关键字及联系的属性合并入多端的关系模式。,54,高等教育出版社,例如:“讲授”联系是一对多联系,与之相连的两个实体为“课程”实体和“教师”实体,这两个实体可以分别转换为对应的关系模式: 课程(课程号,课程名,学分) 课程号是主键 教师(教师编号,姓名,性别,年龄) 教师编号是主键,55,高等教育出版社,对于“讲授”联系,可以转换为一个关系模式,其属性由“课程”实体的码“课程号”,“教师”实体的的码“教师编号”以及此联系的属性组成,作为多端的“课程”实体的码成为关系模式的码。由于联系没有属性,关系模式为: 讲授(课程号,教师编号) 课程号是主键,教师编号是外键 也可以采用另一种方式,即“讲授”联系不用转换为一个单独的关系模式,而是将“教师”实体的码和联系的属性合并入课程实体对应的关系模式中,课程关系

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号