1 / 71
文档名称:

第6章 SQL的规范化.ppt

格式:ppt   大小:552KB   页数:71页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第6章 SQL的规范化.ppt

上传人:szh187166 2019/7/12 文件大小:552 KB

下载得到文件列表

第6章 SQL的规范化.ppt

相关文档

文档介绍

文档介绍:第6章规范化歌钙怒忧侠先孵挚错堑沛群缴伏蕴集屏狸尼谐贼牌秀缝辩氛铅雇碟勃瞩每第6章SQL的规范化第6章SQL的规范化本章主要内容关系模型术语回顾函数依赖非规范化的关系最基本的规范化关系存在的异常分析范式1NF~。在用户看来,一个关系就是一张二维表,表中的一行表示实体的一个具体例子(实例),也可称为一个元组或一个记录。表中的一列就是实体的一个属性,也称为一个字段。 关系模型术语回顾逗湖一昔报挂访陀叔膊肄波珐囱***、主属性与非主属性(1)候选键 候选键由一个属性名或多个属性名组成。它具有两个性质:性质1:表中任一行在候选键属性上的值是惟一的。因此,候选键的不同取值可以用来区分不同的行。性质2:不存在更小的真子集(更小的属性或属性组),其不同的取值也能用来区分不同的行。如Students关系的Sno列,就是一个候选键。因为,给定一个Sno的值,如20030102,就能确定表中惟一的一行。一个表可能有多个候选键。(2)主属性与非主属性候选键中出现的属性都是主属性,主属性以外的属性都是非主属性。(1)主键:如果一个表有多个候选键,通常选择其中一个候选键作为区分行的惟一性标识符,称为主键。如果一个表只有一个候选键,那么这个候选键就作为主键。在Students表中只有一个候选键,则Sno就是该表的主键。(2)实体完整性:表中任意一行的主键值不能为空值。 实体完整性依靠主键来实现。它要求主键值不能为空,也就是说主键值必须是某一确定的值。又因为主键是候选键之一,而根据候选键的定义,候选键列上的各个值都惟一,因此,主键列上的各个值也都惟一。可见,实体完整性也即主键值惟一且不能为空值。如Students表中,Sno列的每一个值惟一,且没有空值存在。(1)外键:若一个表R1中的一个列或列组对应另一个表R2的主键,那么该列或列组称为表R1的外键。例如,第二章图2-1中的选课表Enrollment(o,Grade),Sno不是Enrollment表的主键,但Sno是表Students(Sno,Sname,Ssex,Sage,Sdept)中的主键。因此,Sno是表Enrollment的外键。(2)参照完整性:一个表的外键值可以为空值。若不为空值,则每一个外键值必须等于另一个表中主键的某个值。外键实现了表之间的参照完整性。主键与外键提供了两个关系中元组之间联系的手段。当两个关系进行连接操作时就是因为有外键在起作用。狠凶群周负攒凭球桌探杂他柱炸捻拿党泥方楞孝囚顺租谁胳酵蠕逐蛇襟磁第6章SQL的规范化第6章SQL的规范化外键与主键的关系示例:图2-1学生、课程、选课表主键、外键参照关系图昼荐假坪擦淤范举燎好殷辅觅贿茨准尧护贝身蒸佐黄找囚诫你博欧棱减垛第6章SQL的规范化第6章SQL的规范化比如,我们需要查看每个学生的姓名、选课的课程号和成绩时,就涉及到Enrollment和Students两个关系的连接操作。o,GradeFROMStudents,=。最简单的表示为:关系名(属性名1,属性名2,…,属性名n)用英文表示为:R(A1,A2,…,An)或R(U)其中,R是关系名,Ai(1≤i≤n)表示R中的一个属性;U是所有属性的集合例如:Students关系的关系模式表示为:Students(Sno,Sname,Ssex,Sage,Sdept)关系模式就是一个表的表头,通常称为表的结构。:设一个关系模式R(U),R是关系的名称,U是关系R的所有属性的集合,X和Y为属性集U上的子集。若对于任一元组在X上的每一个值,都有Y上的一个惟一值与之对应,则称X函数决定Y,或称Y函数依赖于X,记作XY。X称为这个函数依赖的决定因子。函数依赖可以简单理解为:如果知道属性X的值,就可以获得属性Y的值,那么属性X函数决定属性Y,或者说:属性Y函数依赖于属