第三章数据库范化与完整性.docVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章数据库范化与完整性

第三章 数据库规范化与完整性 3.1 关系模型与关系模式 Student(sno,sname,age,dept,ID); COURSE(cno,cname,teacher) Sc(sno,cno,score) E/R 一个关系的逻辑结构就是一张二维表。关系在磁盘上以文件形式存储,每个字段是表中的一列,每个记录是表中的一行。这种用二维表的形式表示实体和实体间联系的数据模型称关系模型。 1关系术语 关系:在关系型数据库中,数据的基本结构是“关系”,“关系”就是一张二维表。 元组:表中的每一行称为关系的一个元组。 属性(域):表中的列称为属性,每一列有一个属性名。 域:属性的取值范围称为域。 关键字:属性或属性组合,其值能唯一地标识一个元组(记录)。 主关键字(primary key):为关系组织物理文件时,通常选用一个关键字作为插入、删除、检索元组的操作变量,被选用的关键字称为主关键字。 外关键字(foreign key):如果关系R1的某一(些)属性A1不是R1的关键字,而是另一个关系R2的关键字,则称A1为R1的外关键字。 关系框架:在关系模型中,表头一行称之为关系框架(亦称记录结构或记录类型)。每张表称该关系框架的一个具体关系。 关系模式:一个关系的属性名表称为关系模式。 关系模型:若干个相关的关系模式、属性名和关键字的汇集。 关系子模式:关系子模式除了指出某一类型的用户所要用到的数据类型之外,还要指出数据模型中相应数据的关系,即指出模式与子模式之间的变换。 2 关系的特点 HYPERLINK \l _1._关系必须规范化 关系必须规范化 HYPERLINK \l _2._模型概念单一 模型概念单一 )关系必须规范化 所谓规范化是指关系模型中的每一个关系模型都必须满足一定的要求。规范化有许多层次,我们在第四章再详细讨论。 2). 模型概念单一 在关系模型中,无论实体本身还是实体间的联系均用关系表示。多对多联系在非关系模型中不能直接表示,在关系模型中则变得简单了。 例2-1-1:一个学生可以选修多门课,一门课可以由多个学生选修。因而,学生和课程间的关系是多对多的联系。我们建立以下三个关系模式: 1. 学生关系 学号 姓名 年龄 性别 s1 王 20 男 s2 李 23 女 s3 陈 21 女 s4 张 20 女 s5 马 22 男 2. 课程关系 课程号 课程名 学分 C1 数据库 5 C2 网络 4 C3 VB 3 C4 VC 4 选修关系 学号 课程号 成绩 s11 c11 60 s1 c2 70 s1 c3 88 s1 c4 89 s2 c1 89 s3 c1 93 s3 c2 89 s3 c4 89 s4 c1 99 s4 c2 89 s4 c3 89 s5 c2 87 s5 c3 78 s5 c4 89 3.2 关系操作 3.2.1 概述 关系的基本运算有两种,分别是:传统的集合运算(并、交、差等)及专门的关系运算(选择、投影、联接等)。 关系代数 关系演算 3.2.2 传统的集合运算 ⒈ 并(union):R1∪R2 设有两个关系R1和R2,它们具有相同的结构。R1和R2的并是由属于R1或属于R2的元组组成的集合。 例3-2-1:设有如下关系: 关系R1 A1 A2 A3 A 1 C B 3 D C 2 E 关系R2 A1 A2 A3 A 1 C D 4 D C 2 W 则:R1∪R2如果如下: A1 A2 A3 A 1 C B 3 D C 2 E D 4 D C 2 W 对应SQL: SELECT * FROM A UNION SELECT * FROM B 2. 交(Intersection) 设有两个关系R1和R2,它们具有相同的结构。R1和R2的交是由既属于R1又属于R2的元组组成的集合。 例2-2-2:R1∩R2结果如下: A1 A2 A3 A 1 C 对应SQL SELECT * FROM A INTERSECT SELCT * FROM B 3. 差(difference)R1-R2 设有两个关系R1和R2,它们具有相同的结构。R1和R2的差是由属于R1但不属于R2的元组组成的集合。 例3-2-3:R1-R2结果如下: A1 A2 A3 B 3 D C 2 E SELECT * FROM A EXCEPT SELCT * FROM B 3.2.2 选择运算,WHERE 从关系中找出满足给定条件的那些元组称为选择。其中的条件为关系表达式或逻辑表达式。不同的关系数据库是通过语言实现的。是通过FOR及WHILE实现的。其它一些数据库大部分是通过SQL-SELECT实现的。 例2-2-4:对R1关系选择出A2=2的选择

文档评论(0)

jyf123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档