数据库系统及应用02(精品).ppt

上传人:hyn****60 文档编号:70745519 上传时间:2023-01-27 格式:PPT 页数:112 大小:934KB
返回 下载 相关 举报
数据库系统及应用02(精品).ppt_第1页
第1页 / 共112页
数据库系统及应用02(精品).ppt_第2页
第2页 / 共112页
点击查看更多>>
资源描述

《数据库系统及应用02(精品).ppt》由会员分享,可在线阅读,更多相关《数据库系统及应用02(精品).ppt(112页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第二章 关系数据库 是以关系模型为基础的数据库是以关系模型为基础的数据库。目前最为流行目前最为流行(主导型主导型)的数据库的数据库。目目前前绝绝大大多多数数都都是是关关系系数数据据库库在在运行运行。F E.F.CoddE.F.Codd于于2020世世纪纪7070年年代代初初提提出出关关系系数数据理论,他因此获得据理论,他因此获得19811981年的年的ACMACM图灵奖图灵奖F 之后,提出了关系代数和关系演算的概念之后,提出了关系代数和关系演算的概念F 关关系系理理论论是是建建立立在在集集合合代代数数理理论论基基础础上上的的,有着坚实的数学基础有着坚实的数学基础F 早期代表系统早期代表系统H

2、SystemSystem:由:由IBMIBM研制研制H INGRESINGRES:由加州由加州BerkeleyBerkeley分校研制分校研制关系数据库回顾关系数据库回顾2.1 2.1 关系数据结构及形式化定义关系数据结构及形式化定义F 关系特点关系特点 H 用二维表格表示实体集;用二维表格表示实体集;用二维表格表示实体集;用二维表格表示实体集;H 外键表示实体间的联系;外键表示实体间的联系;外键表示实体间的联系;外键表示实体间的联系;H 关系必须是规范化的。关系必须是规范化的。关系必须是规范化的。关系必须是规范化的。单一的数据结构单一的数据结构规范化了的二维表格规范化了的二维表格集合代数的基

3、础。集合代数的基础。1.1.数学定义数学定义 定义定义1:1:域域(Domain)(Domain)是一组具有相同类型是一组具有相同类型的值的集合的值的集合(即每个属性的取值范围即每个属性的取值范围)。H 一组值的集合,这组值具有相同的数据类型一组值的集合,这组值具有相同的数据类型 例:整数集合例:整数集合00,11;长度小于;长度小于5 5的字符串集的字符串集合等都可以是域;全体学生的集合。合等都可以是域;全体学生的集合。2.1.1 2.1.1 基本术语基本术语 定义定义2:2:笛卡尔积笛卡尔积 给定一组域给定一组域D D1 1,D,D2 2,D Dn n,这些域中可以有这些域中可以有相同的。

4、相同的。D D1 1,D,D2 2,D Dn n的笛卡儿积的笛卡儿积(Cartesian Product)(Cartesian Product)为为D D1 1DD2 2D Dn n=(d(d1 1,d,d2 2,d dn n)|d)|di iDDi i,i,i=1,2,n,=1,2,n,其其中每一个元素中每一个元素(d(d1 1,d,d2 2,d dn n)叫做一个叫做一个n n元元组组(n-tuplen-tuple),或简称元组。元组中的每或简称元组。元组中的每一个值一个值d di i叫做一个叫做一个分量分量(Component)(Component),它它们分别取自相对应的集合们分别取自

5、相对应的集合D Di i 。F 度度(n)(n):参与笛卡儿积的域的个数,参与笛卡儿积的域的个数,它表示了每一个元组中分量的个数。它表示了每一个元组中分量的个数。通常用通常用n n的值来称呼元组。的值来称呼元组。当当n=1n=1时,称为一元组;时,称为一元组;当当n=2n=2时,称为二元组;时,称为二元组;当当n=pn=p时,称为时,称为p p元组。元组。F 基:域中可取值的个数。基:域中可取值的个数。若若D Di i(i(i=1,2,n)=1,2,n)是一组有限集,且分是一组有限集,且分别含有别含有m mi i(i=1,2,n)(i=1,2,n)个元素,则称个元素,则称m mi i为为集合集

6、合D Di i的基。的基。F 笛卡儿积是有限集,其基为:笛卡儿积是有限集,其基为:M=mM=mi in n n ni=1i=1i=1i=1例:设有域例:设有域 D D1 1=姓名集合姓名集合(NAME)=(NAME)=王三王三,丁平丁平;D D2 2=职业集合职业集合(JOB)=(JOB)=工人工人,农民农民,商人商人;D D3 3=住址集合住址集合(ADDR)=(ADDR)=北京北京,上海上海,广州广州;则则 D D1 1DD2 2DD3 3=D D1 1、D D2 2、D D3 3 的基分别为的基分别为2 2,3 3,3 3,所以笛卡儿积的基为,所以笛卡儿积的基为 M MD1D2D3 D1

7、D2D3=233=18=233=18;其度为其度为3 3。(王三王三,工人工人,北京北京),(),(王三王三,工人工人,上海上海),(),(王三王三,工人工人,广州广州),),(王三王三,农民农民,北京北京),(),(王三王三,农民农民,上海上海),(),(王三王三,农民农民,广州广州),),(王三王三,商人商人,北京北京),(),(王三王三,商人商人,上海上海),(),(王三王三,商人商人,广州广州),),(丁平丁平,工人工人,北京北京),(),(丁平丁平,工人工人,上海上海),(),(丁平丁平,工人工人,广州广州),),(丁平丁平,农民农民,北京北京),(),(丁平丁平,农民农民,上海上海

8、),(),(丁平丁平,农民农民,广州广州),),(丁平丁平,商人商人,北京北京),(),(丁平丁平,商人商人,上海上海),(),(丁平丁平,商人商人,广州广州)可以把笛卡儿积看作是一张二维表。可以把笛卡儿积看作是一张二维表。行数:元组的个数,即笛卡儿积的基数;行数:元组的个数,即笛卡儿积的基数;列数:域的个数。列数:域的个数。NAMEJOBADDR王三王三工人工人北京北京王三王三工人工人上海上海王三王三工人工人广州广州王三王三农民农民北京北京NAMEJOBADDR丁平丁平农民农民广州广州丁平丁平商人商人北京北京丁平丁平商人商人上海上海丁平丁平商人商人广州广州表中的每行对应一个元组;每列对应一个

9、域。表中的每行对应一个元组;每列对应一个域。定义定义3:3:关系关系 D D1 1DD2 2D Dn n的的子集子集叫作在域叫作在域D D1 1,D D2 2,D Dn n上的关系,记为上的关系,记为R(DR(D1 1,D,D2 2,D Dn n)。其其中中R R是关系是关系(Relation)(Relation)的名,也是条件的体的名,也是条件的体现现,D Di i(i(i=1,2,n)=1,2,n)是关系的域,是关系的域,n n是关系是关系的目或度的目或度(Degree)(Degree)。关系中的每个元素是关系中的元组,通常关系中的每个元素是关系中的元组,通常用用t t表示。表示。当当n=

10、1n=1时,称为一元关系时,称为一元关系 (Unary Relation)(Unary Relation);当当n=2n=2时,称为二元关系时,称为二元关系 (Binary Relation)(Binary Relation);当当n=3n=3时,称为三元关系时,称为三元关系 (Ternary Relation)(Ternary Relation)。关系就是一张二维表。关系就是一张二维表。行数:元组的个数,即笛卡儿积的基数;行数:元组的个数,即笛卡儿积的基数;列数:域的个数。列数:域的个数。NAMEJOBADDR王三王三工人工人北京北京王三王三工人工人上海上海王三王三工人工人广州广州王三王三农

11、民农民北京北京表中的每行对应一个元组;每列对应一个域表中的每行对应一个元组;每列对应一个域F 关系中不同列可以对应相同的域关系中不同列可以对应相同的域F 为了加以区分,必须对每列起一为了加以区分,必须对每列起一个名字,称为属性(个名字,称为属性(AttributeAttribute)F n n目关系必有目关系必有n n个属性个属性注意:注意:两个或更多的属性可以都出两个或更多的属性可以都出于同一个域,这就需要在模式中给于同一个域,这就需要在模式中给以映象,说明这个属性来自某个域。以映象,说明这个属性来自某个域。例:给出三个域例:给出三个域例:给出三个域例:给出三个域 D1=D1=D1=D1=男

12、人集合男人集合男人集合男人集合(MAN)=(MAN)=(MAN)=(MAN)=王兵王兵王兵王兵,李平李平李平李平,张英张英张英张英 ;D2=D2=D2=D2=女人集合女人集合女人集合女人集合(WOMAN)=(WOMAN)=(WOMAN)=(WOMAN)=丁梅丁梅丁梅丁梅,吴芳吴芳吴芳吴芳 ;D3=D3=D3=D3=儿童集合儿童集合儿童集合儿童集合(CHILD)=(CHILD)=(CHILD)=(CHILD)=王一王一王一王一,李一李一李一李一,李二李二李二李二 ;则家庭关系可表示为则家庭关系可表示为则家庭关系可表示为则家庭关系可表示为 FAMILY(MAN,WOMAN,CHILD)FAMILY

13、(MAN,WOMAN,CHILD)FAMILY(MAN,WOMAN,CHILD)FAMILY(MAN,WOMAN,CHILD)此例也可以只给出两个域:此例也可以只给出两个域:成人成人PERSON=PERSON=王兵王兵,李平李平,张英张英,丁梅丁梅,吴芳吴芳 儿童儿童CHILD=CHILD=王一王一,李一李一,李二李二 但构造但构造FAMILYFAMILY时仍要三个属性,其中时仍要三个属性,其中MAN,WOMANMAN,WOMAN都从都从PERSONPERSON域中取。域中取。PERSONPERSON这个域这个域在在FAMILYFAMILY这个关系中扮演两个角色,就要给这个关系中扮演两个角色,

14、就要给这个角色以不同的名字,即属性的名字。有这个角色以不同的名字,即属性的名字。有两种方法两种方法:FAMILY(M_PERSON,W_PERSON,CHILD)FAMILY(M_PERSON,W_PERSON,CHILD)FAMILY(M_PERSON,W_PERSON,CHILD)FAMILY(M_PERSON,W_PERSON,CHILD)或或或或 FAMILY(HUSBAND,WIFE,CHILD)FAMILY(HUSBAND,WIFE,CHILD)FAMILY(HUSBAND,WIFE,CHILD)FAMILY(HUSBAND,WIFE,CHILD)DOM(HUSBAND)=DOM(

15、WIFE)=PERSON DOM(HUSBAND)=DOM(WIFE)=PERSON DOM(HUSBAND)=DOM(WIFE)=PERSON DOM(HUSBAND)=DOM(WIFE)=PERSONF 在域名前加上前缀作为属性名在域名前加上前缀作为属性名F 给属性另起名字给属性另起名字代表域的意思,表示代表域的意思,表示代表域的意思,表示代表域的意思,表示HUSBANDHUSBANDHUSBANDHUSBAND和和和和WIFEWIFEWIFEWIFE属性属性属性属性取值来自取值来自取值来自取值来自PERSONPERSONPERSONPERSON域。域。域。域。F 一般说来,只有笛卡儿积的

16、子集才一般说来,只有笛卡儿积的子集才是有意义的。是有意义的。条件条件“某人现在的职业和住址某人现在的职业和住址”定义的关定义的关系系R R应是应是R(DR(D1 1,D,D2 2,D,D3 3)=)=(王三王三,工人工人,上海上海),),(丁平丁平,商人商人,广州广州)而全部元素作为关系而全部元素作为关系是无意义的。根据是无意义的。根据条件条件去挑选笛卡儿积中去挑选笛卡儿积中的元组组成一个集合,就构成一个关系的元组组成一个集合,就构成一个关系(条件就是关系的名)。(条件就是关系的名)。工号工号姓名姓名年龄年龄 工资工资4001张三张三5012004002李四李四4011004003王五王五35

17、950记录类型记录类型记录类型记录类型 关系模式关系模式关系模式关系模式记录记录记录记录1 1 1 1 元组元组元组元组1 1 1 1记录记录记录记录2 2 2 2 元组元组元组元组2 2 2 2记录记录记录记录3 3 3 3 元组元组元组元组3 3 3 3文文文文件件件件关系关系关系关系(或实例或实例或实例或实例)字段值字段值字段值字段值 属性值属性值属性值属性值字段字段字段字段.数据项数据项数据项数据项 属性属性属性属性一般术语一般术语一般术语一般术语 关系模型术语关系模型术语关系模型术语关系模型术语术语对照术语对照F 关系有三种基本类型关系有三种基本类型 基本关系(基本表)基本关系(基本

18、表)实际存在的表,是实际存储数据的逻辑表示。实际存在的表,是实际存储数据的逻辑表示。实际存在的表,是实际存储数据的逻辑表示。实际存在的表,是实际存储数据的逻辑表示。查询表查询表 查询结果所对应的表。查询结果所对应的表。查询结果所对应的表。查询结果所对应的表。视图表视图表 由基本表或视图表导出的表,是虚表,不对由基本表或视图表导出的表,是虚表,不对由基本表或视图表导出的表,是虚表,不对由基本表或视图表导出的表,是虚表,不对应实际存储的数据。应实际存储的数据。应实际存储的数据。应实际存储的数据。2.2.关系的性质关系的性质F 每一分量必须是不可再分的数据项;每一分量必须是不可再分的数据项;每一分量

19、必须是不可再分的数据项;每一分量必须是不可再分的数据项;F 表表表表的的的的列列列列是是是是同同同同质质质质的的的的,即即即即每每每每一一一一列列列列中中中中的的的的所所所所有有有有值值值值具具具具有有有有相同的性质,或说它们来自同一个域;相同的性质,或说它们来自同一个域;相同的性质,或说它们来自同一个域;相同的性质,或说它们来自同一个域;F 属性(列)的顺序无关紧要;属性(列)的顺序无关紧要;属性(列)的顺序无关紧要;属性(列)的顺序无关紧要;F 元组(行)的顺序无关紧要;元组(行)的顺序无关紧要;元组(行)的顺序无关紧要;元组(行)的顺序无关紧要;F 同同同同一一一一关关关关系系系系中中中

20、中不不不不存存存存在在在在两两两两个个个个完完完完全全全全相相相相同同同同的的的的元元元元组组组组(各各各各行相异);行相异);行相异);行相异);F 每每每每一一一一列列列列称称称称为为为为属属属属性性性性。不不不不同同同同的的的的属属属属性性性性要要要要给给给给予予予予不不不不同同同同的的的的属性名。属性名。属性名。属性名。学号学号 姓名姓名 性别性别年龄年龄曾用名曾用名0101 张三张三男男20张狗子张狗子0102 李四李四女女18李朋李朋王五王五 0103119王麻子王麻子0104 赵六赵六21981/2/28赵薇赵薇关系性质关系性质11同质的列同质的列学号学号 姓名姓名 性别性别年龄

21、年龄姓名姓名0101 张三张三男男20张狗子张狗子0102 李四李四女女18李朋李朋0103 王五王五男男19王麻子王麻子0104 赵六赵六女女20赵薇赵薇姓名姓名2曾用名曾用名关系性质关系性质22不同的属性名不同的属性名学号学号 姓名姓名性别性别年龄年龄曾用名曾用名0101 张三张三男男20张狗子张狗子0102 李四李四女女18李朋李朋0103 王五王五男男19王麻子王麻子0104 赵六赵六女女20赵薇赵薇学号学号 姓名姓名 曾用名曾用名 性别性别年龄年龄0101 张三张三 张狗子张狗子男男200102 李四李四李朋李朋女女180103 王五王五 王麻子王麻子男男190104 赵六赵六赵薇赵

22、薇女女20关系性质关系性质33属性无序属性无序关系性质关系性质44元组不重复元组不重复学号学号 姓名姓名 性别性别年龄年龄姓名姓名0101 张三张三男男20张狗子张狗子0102 李四李四女女18李朋李朋0103 王五王五男男19王麻子王麻子0104 赵六赵六女女20赵薇赵薇0101 张三张三男男20张狗子张狗子重复的重复的元组元组重复的重复的元组元组!关系性质关系性质55元组无序元组无序学号学号姓名姓名性别性别 年龄年龄0101张三张三男男200102李四李四女女180103王五王五男男190104赵六赵六女女20学号学号姓名姓名性别性别年龄年龄0104赵六赵六女女200101张三张三男男20

23、0103王五王五男男190102李四李四女女18关系性质关系性质66分量是原子分量是原子父父母母孩子孩子李男李男王男王男丁女丁女肖女肖女李一李一李二李二王一王一父父母母孩子孩子大大小小李男李男王男王男丁女丁女肖女肖女李一李一王一王一李二李二父父母母孩子孩子李男李男李男李男王男王男丁女丁女丁女丁女肖女肖女李一李一李二李二王一王一父父母母大孩大孩小孩小孩李男李男王男王男丁女丁女肖女肖女李一李一王一王一李二李二非规范化关系非规范化关系规范化关系规范化关系3.3.有关关系术语解释有关关系术语解释 域和属性域和属性(Domain(Domain和和Attribute)Attribute)域是属性的取值范围

24、,属性是列。属性名可域是属性的取值范围,属性是列。属性名可域是属性的取值范围,属性是列。属性名可域是属性的取值范围,属性是列。属性名可以是域名,但有时不同的列名可以定义在同一域以是域名,但有时不同的列名可以定义在同一域以是域名,但有时不同的列名可以定义在同一域以是域名,但有时不同的列名可以定义在同一域中,这时属性名就不能与域名同名了。中,这时属性名就不能与域名同名了。中,这时属性名就不能与域名同名了。中,这时属性名就不能与域名同名了。关系的码关系的码(Key)(Key)如果一个属性(或属性集合)的值能如果一个属性(或属性集合)的值能如果一个属性(或属性集合)的值能如果一个属性(或属性集合)的值

25、能唯一地标识唯一地标识唯一地标识唯一地标识一个一个一个一个关系的元组而又关系的元组而又关系的元组而又关系的元组而又不含有多余不含有多余不含有多余不含有多余的属性,则称该属性(或属性的属性,则称该属性(或属性的属性,则称该属性(或属性的属性,则称该属性(或属性集合)为关系的码(或候选码,也称键)。集合)为关系的码(或候选码,也称键)。集合)为关系的码(或候选码,也称键)。集合)为关系的码(或候选码,也称键)。每个关系都有一个且只有一个主码每个关系都有一个且只有一个主码每个关系都有一个且只有一个主码每个关系都有一个且只有一个主码(Primary KeyPrimary KeyPrimary KeyP

26、rimary Key)。码的属性称为主属性,不包含在任何码中的属性称为码的属性称为主属性,不包含在任何码中的属性称为码的属性称为主属性,不包含在任何码中的属性称为码的属性称为主属性,不包含在任何码中的属性称为非主属性。非主属性。非主属性。非主属性。外码外码(Foreign Key-FK)(Foreign Key-FK)如果某一个关系中的属性(或属性集合)在另一个关系如果某一个关系中的属性(或属性集合)在另一个关系如果某一个关系中的属性(或属性集合)在另一个关系如果某一个关系中的属性(或属性集合)在另一个关系中是主码,则称该属性(或属性集合)是外码。中是主码,则称该属性(或属性集合)是外码。中是

27、主码,则称该属性(或属性集合)是外码。中是主码,则称该属性(或属性集合)是外码。学号学号课程号课程号 成绩成绩0101010101020103C1C2C2C390807080学号学号姓名姓名 年龄年龄性别性别所在系所在系0101010201030104张三张三李四李四王五王五赵六赵六20181920男男女女女女男男计算机计算机计算机计算机计算机计算机计算机计算机关系的码关系的码学号学号学号学号姓名姓名姓名姓名所在系所在系所在系所在系01010101010201020103010301040104张三张三张三张三李四李四李四李四王五王五王五王五赵六赵六赵六赵六计算机计算机计算机计算机计算机计算机

28、计算机计算机计算机计算机计算机计算机计算机计算机计算机计算机课程号课程号课程号课程号课程名课程名课程名课程名学时数学时数学时数学时数C01C01C02C02C03C03C04C04高等数学高等数学高等数学高等数学数据结构数据结构数据结构数据结构操作系统操作系统操作系统操作系统数据库数据库数据库数据库100100707080806060学号学号学号学号课程号课程号课程号课程号成绩成绩成绩成绩0101010101010101010201020104010401040104C01C01C02C02C04C04C04C04C03C0390908080909085857070学生关系学生关系学生关系学生

29、关系课程关系课程关系课程关系课程关系学习成绩关系学习成绩关系学习成绩关系学习成绩关系外部码外部码外部码外部码外部码外部码外部码外部码主码主码主码主码主码主码主码主码外部关系码外部关系码F 什么是关系模式?什么是关系模式?F 定义关系模式。定义关系模式。F 关系模式与关系。关系模式与关系。2.1.2 2.1.2 关系模式关系模式F 关系模式是型关系模式是型关系模式是型关系模式是型是对数据本身的特性描述是对数据本身的特性描述是对数据本身的特性描述是对数据本身的特性描述H H 元组集合的结构元组集合的结构元组集合的结构元组集合的结构44 属性构成属性构成属性构成属性构成44 属性来自的域属性来自的域

30、属性来自的域属性来自的域 H H 属性与域之间的映象关系属性与域之间的映象关系属性与域之间的映象关系属性与域之间的映象关系H H 元组语义以及完整性约束条件元组语义以及完整性约束条件元组语义以及完整性约束条件元组语义以及完整性约束条件H H 属性间的数据依赖关系集合属性间的数据依赖关系集合属性间的数据依赖关系集合属性间的数据依赖关系集合F 关系是值,是元组的集合关系是值,是元组的集合关系是值,是元组的集合关系是值,是元组的集合F 关系模式是用关系模式是用关系模式是用关系模式是用DDLDDLDDLDDL定义的定义的定义的定义的 包括:关系名,属性名以及属性域的类型和长度。包括:关系名,属性名以及

31、属性域的类型和长度。包括:关系名,属性名以及属性域的类型和长度。包括:关系名,属性名以及属性域的类型和长度。1.1.什么是关系模式什么是关系模式 定义定义:关系模型中的数据结构就是关系模关系模型中的数据结构就是关系模式,即是对关系的描述。它的形式化表示是式,即是对关系的描述。它的形式化表示是一个一个5 5元组:元组:R(U,D,R(U,D,domdom,F),F)其中,其中,其中,其中,R R R R:关系名;关系名;关系名;关系名;U U U U:属性名集合;属性名集合;属性名集合;属性名集合;D D D D:域,属性组:域,属性组:域,属性组:域,属性组U U U U中属性所来自的域;中属

32、性所来自的域;中属性所来自的域;中属性所来自的域;domdomdomdom:属性向域的映射;属性向域的映射;属性向域的映射;属性向域的映射;F F F F:属性间数据的依赖关系集合属性间数据的依赖关系集合属性间数据的依赖关系集合属性间数据的依赖关系集合 2.2.关系模式定义关系模式定义关系模式通常可以简记为关系模式通常可以简记为 R(U)或或 R(A1,A2,An)n n R:R:关系名关系名n n A A1 1,A A2 2,A An n:属性名属性名 注:域名及属性向域的映象常常直接说注:域名及属性向域的映象常常直接说 明为属性的类型、长度明为属性的类型、长度 属性间的数据依赖关系将在第属

33、性间的数据依赖关系将在第属性间的数据依赖关系将在第属性间的数据依赖关系将在第6 6 6 6章中讨论。章中讨论。章中讨论。章中讨论。关系的内涵和外延关系的内涵和外延 关系的内涵是关系模式。它是静态的、关系的内涵是关系模式。它是静态的、稳定的,是对关系的描述。稳定的,是对关系的描述。关系的外延是关系(的值)。任何给关系的外延是关系(的值)。任何给定的时刻,出现在关系中的所有元组的集定的时刻,出现在关系中的所有元组的集合,它是动态的、随时间变化的,反映了合,它是动态的、随时间变化的,反映了关系模式在某一时刻的状态或内容。关系模式在某一时刻的状态或内容。3.3.关系模式与关系关系模式与关系2.1.3

34、2.1.3 关系数据库关系数据库F 关系数据库关系数据库在一个给定的应用领域中,所有关系的集合在一个给定的应用领域中,所有关系的集合在一个给定的应用领域中,所有关系的集合在一个给定的应用领域中,所有关系的集合构成一个关系数据库构成一个关系数据库构成一个关系数据库构成一个关系数据库F 关系数据库的型与值关系数据库的型与值F 关系数据库的型关系数据库的型:关系数据库模式关系数据库模式4 对关系数据库的描述。对关系数据库的描述。对关系数据库的描述。对关系数据库的描述。F 关系数据库模式包括关系数据库模式包括4 若干域的定义若干域的定义若干域的定义若干域的定义4 在这些域上定义的若干关系模式在这些域上

35、定义的若干关系模式在这些域上定义的若干关系模式在这些域上定义的若干关系模式F 关系数据库的值关系数据库的值:关系模式在某一时刻关系模式在某一时刻对应的关系的集合,简称为关系数据库对应的关系的集合,简称为关系数据库关系数据库关系数据库整个数据库整个数据库某关系的结构某关系的结构某关系的实例某关系的实例 数据结构:单一的数据结构类型数据结构:单一的数据结构类型 -关系或表;关系或表;数据操作:一组完备的高级关系运算;数据操作:一组完备的高级关系运算;数据的约束条件:三类完整性规则。数据的约束条件:三类完整性规则。2.2 2.2 关系的完整性关系的完整性 1.1.关系模型关系模型 关系模型的三要素:

36、关系模型的三要素:例:学生例:学生例:学生例:学生-课程数据库有三个关系,其关系课程数据库有三个关系,其关系课程数据库有三个关系,其关系课程数据库有三个关系,其关系模型结构(二维表)如下:模型结构(二维表)如下:模型结构(二维表)如下:模型结构(二维表)如下:学号学号学号学号姓名姓名姓名姓名所属系所属系所属系所属系班级班级班级班级年龄年龄年龄年龄SNOSNOSNOSNOSNAMESNAMESNAMESNAMESDEPTSDEPTSDEPTSDEPTSCLASSSCLASSSCLASSSCLASSSAGESAGESAGESAGE学生关系学生关系学生关系学生关系 S S S S课程号课程号课程号课

37、程号课程名课程名课程名课程名课时课时课时课时CNOCNOCNOCNOCNAMECNAMECNAMECNAMECTIMECTIMECTIMECTIME课程关系课程关系课程关系课程关系 C C C C学号学号学号学号课程号课程号课程号课程号成绩成绩成绩成绩SNOSNOSNOSNOCNOCNOCNOCNOGRADEGRADEGRADEGRADE学习关系学习关系学习关系学习关系 SCSCSCSC其关系模式描述如下:其关系模式描述如下:其关系模式描述如下:其关系模式描述如下:S(S(S(S(SNOSNOSNOSNO,SNAME,SDEPT,SCLASS,SNAME,SDEPT,SCLASS,SNAME,

38、SDEPT,SCLASS,SNAME,SDEPT,SCLASS,SAGE)SAGE)SAGE)SAGE)C(C(C(C(CNOCNOCNOCNO,CNAME,CTIME),CNAME,CTIME),CNAME,CTIME),CNAME,CTIME)SC(SC(SC(SC(SNO,CNOSNO,CNOSNO,CNOSNO,CNO,GRADE),GRADE),GRADE),GRADE)可以看出:哪些关系之间有联系。可以看出:哪些关系之间有联系。可以看出:哪些关系之间有联系。可以看出:哪些关系之间有联系。到底哪些元组之间有联系,哪些元组之间无到底哪些元组之间有联系,哪些元组之间无到底哪些元组之间有联

39、系,哪些元组之间无到底哪些元组之间有联系,哪些元组之间无联系,这要看具体数据(值)而定。联系,这要看具体数据(值)而定。联系,这要看具体数据(值)而定。联系,这要看具体数据(值)而定。只有公共属性上具有相同属性值的元只有公共属性上具有相同属性值的元组之间才有联系。组之间才有联系。2.2.关系模型的完整性约束规则关系模型的完整性约束规则 域完整性约束规则域完整性约束规则 要求属性值必须取自其对应的值域。要求属性值必须取自其对应的值域。F 域完整性约束是最基本的约束;域完整性约束是最基本的约束;F 一个属性值能否为空值由其语义决定。一个属性值能否为空值由其语义决定。实体完整性规则实体完整性规则 设

40、属性设属性设属性设属性A A A A是基本关系是基本关系是基本关系是基本关系R R R R的主属性(码的组成部的主属性(码的组成部的主属性(码的组成部的主属性(码的组成部分),则属性分),则属性分),则属性分),则属性A A A A不能取不能取不能取不能取空值(空值(空值(空值(NULLNULLNULLNULL)。F 实体完整性是针对基本关系的;实体完整性是针对基本关系的;实体完整性是针对基本关系的;实体完整性是针对基本关系的;F 本规则要求基本关系中的元组在组成码属本规则要求基本关系中的元组在组成码属本规则要求基本关系中的元组在组成码属本规则要求基本关系中的元组在组成码属性上不能有空值;性上

41、不能有空值;性上不能有空值;性上不能有空值;F 现实世界中的实体是可区分的现实世界中的实体是可区分的现实世界中的实体是可区分的现实世界中的实体是可区分的,即它们具有即它们具有即它们具有即它们具有某种唯一性标识;某种唯一性标识;某种唯一性标识;某种唯一性标识;F 大部分大部分大部分大部分DBMSDBMSDBMSDBMS支持实体完整性规则。支持实体完整性规则。支持实体完整性规则。支持实体完整性规则。S(S(S(S(SNOSNOSNOSNO,SNAME,SDEPT,SCLASS,SNAME,SDEPT,SCLASS,SNAME,SDEPT,SCLASS,SNAME,SDEPT,SCLASS,SAGE

42、)SAGE)SAGE)SAGE)C(C(C(C(CNOCNOCNOCNO,CNAME,CTIME),CNAME,CTIME),CNAME,CTIME),CNAME,CTIME)SC(SC(SC(SC(SNO,CNOSNO,CNOSNO,CNOSNO,CNO,GRADE),GRADE),GRADE),GRADE)关系关系S S的主属性的主属性SNOSNO不能取空值不能取空值关系关系C C的主码的主码CNOCNO不能取空值不能取空值关系关系SCSC的主属性的主属性SNOSNO、CNOCNO不能取空值不能取空值 参照(引用)完整性规则参照(引用)完整性规则 基本关系基本关系基本关系基本关系R R R

43、 R中含有与另一个基本关系中含有与另一个基本关系中含有与另一个基本关系中含有与另一个基本关系S S S S的主码的主码的主码的主码K K K KS S S S相对应的属性组相对应的属性组相对应的属性组相对应的属性组F F F F(F F F F称为称为称为称为R R R R的外码),则对于的外码),则对于的外码),则对于的外码),则对于R R R R中的每个元组在中的每个元组在中的每个元组在中的每个元组在F F F F上的值必须为:上的值必须为:上的值必须为:上的值必须为:或者取空值(或者取空值(或者取空值(或者取空值(F F F F的每个属性值均为空值);的每个属性值均为空值);的每个属性值

44、均为空值);的每个属性值均为空值);或者等于或者等于或者等于或者等于S S S S中某个元组的主码值,中某个元组的主码值,中某个元组的主码值,中某个元组的主码值,F 引用完整性约束是不同关系之间或同一关引用完整性约束是不同关系之间或同一关引用完整性约束是不同关系之间或同一关引用完整性约束是不同关系之间或同一关系的不同元组间的约束。系的不同元组间的约束。系的不同元组间的约束。系的不同元组间的约束。F 本规则要求不允许引用不存在的元组;本规则要求不允许引用不存在的元组;本规则要求不允许引用不存在的元组;本规则要求不允许引用不存在的元组;F 大部分大部分大部分大部分DBMSDBMSDBMSDBMS支

45、持引用完整性规则。支持引用完整性规则。支持引用完整性规则。支持引用完整性规则。例例2 2.1 1 职工关系职工关系EMP(EMP(ENOENO,ENAME,DNO),ENAME,DNO)部门关系部门关系 DEPT(DEPT(DNODNO,DNAME),DNAME)在在在在EMPEMPEMPEMP中,中,中,中,DNODNODNODNO是外码。是外码。是外码。是外码。EMPEMPEMPEMP中每个元组在中每个元组在中每个元组在中每个元组在DNODNODNODNO 上的值允许有两种可能:上的值允许有两种可能:上的值允许有两种可能:上的值允许有两种可能:取空值。这说明这个职工尚未分配到某个取空值。这

46、说明这个职工尚未分配到某个取空值。这说明这个职工尚未分配到某个取空值。这说明这个职工尚未分配到某个 部门;部门;部门;部门;若非空值,则若非空值,则若非空值,则若非空值,则DNODNODNODNO的值必须是的值必须是的值必须是的值必须是DEPTDEPTDEPTDEPT中某个中某个中某个中某个 元组中的元组中的元组中的元组中的DNODNODNODNO值。表示此职工不可能分配值。表示此职工不可能分配值。表示此职工不可能分配值。表示此职工不可能分配 到一个不存在的部门。到一个不存在的部门。到一个不存在的部门。到一个不存在的部门。职工号职工号职工号职工号 部门编号部门编号部门编号部门编号 姓名姓名姓名

47、姓名98019801980298029803980398049804980598050101010102020303张三张三张三张三李四李四李四李四王五王五王五王五赵六赵六赵六赵六钱七钱七钱七钱七部门编号部门编号部门编号部门编号部门名称部门名称部门名称部门名称0101020203030404经理办公室经理办公室经理办公室经理办公室人事部人事部人事部人事部公关部公关部公关部公关部技术部技术部技术部技术部职工表职工表(EMP)部门表部门表(DEPT)关系主码关系主码外部关系码外部关系码例例2.2 学生实体及其内部的一对多联系学生实体及其内部的一对多联系 学生(学生(学生(学生(学号学号学号学号,姓

48、名,性别,专业号,年龄,姓名,性别,专业号,年龄,姓名,性别,专业号,年龄,姓名,性别,专业号,年龄,班长班长班长班长)学生(学生(学生(学生(学号学号学号学号,姓名,性别,专业号,年龄,姓名,性别,专业号,年龄,姓名,性别,专业号,年龄,姓名,性别,专业号,年龄,班长班长班长班长)F“学号学号学号学号”是主码,是主码,是主码,是主码,“班长班长班长班长”是外码,它引用是外码,它引用是外码,它引用是外码,它引用了本关系的了本关系的了本关系的了本关系的“学号学号学号学号”F“班长班长班长班长”必须是确实存在的学生的学号必须是确实存在的学生的学号必须是确实存在的学生的学号必须是确实存在的学生的学号

49、 “班长班长班长班长”属性值可以取两类值:属性值可以取两类值:属性值可以取两类值:属性值可以取两类值:(1 1 1 1)空值,表示该学生所在班级尚未选出班长)空值,表示该学生所在班级尚未选出班长)空值,表示该学生所在班级尚未选出班长)空值,表示该学生所在班级尚未选出班长 (2 2 2 2)非空值,该值必须是本关系中某个元组的)非空值,该值必须是本关系中某个元组的)非空值,该值必须是本关系中某个元组的)非空值,该值必须是本关系中某个元组的学号值学号值学号值学号值例例2 2.3 3 选修(选修(学号学号,课程号课程号,成绩),成绩)“学号学号学号学号”和和和和“课程号课程号课程号课程号”可能的取值

50、可能的取值可能的取值可能的取值 :(1 1 1 1)选修关系中的主属性,不能取空值)选修关系中的主属性,不能取空值)选修关系中的主属性,不能取空值)选修关系中的主属性,不能取空值 (2 2 2 2)只能取相应被参照关系中已经存在的主码值)只能取相应被参照关系中已经存在的主码值)只能取相应被参照关系中已经存在的主码值)只能取相应被参照关系中已经存在的主码值F 域完整性约束是最基本的约束;域完整性约束是最基本的约束;F 实体完整性约束是一个关系内的约束;实体完整性约束是一个关系内的约束;F 引用完整性是不同关系之间或同一关引用完整性是不同关系之间或同一关系的不同元组间的约束;系的不同元组间的约束;

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

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁