数据库原理第二章综合举例_第1页
数据库原理第二章综合举例_第2页
数据库原理第二章综合举例_第3页
数据库原理第二章综合举例_第4页
数据库原理第二章综合举例_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统概论AnIntroductiontoDatabaseSystem第二章关系数据库(续).studentscsnosnamessexsagesdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19ISsnocnograde9500119295001285950013889500229095002380950051100cnocnamecpnoccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64course.综合举例(续)[例8-1]查询选修了2号课程的学生的学号。

πSno(σCno='2'(SC))

sno9500195002.综合举例(续)[例8-2]查询选修了2号课程的学生的学号和姓名。

πSno,sname(σCno='2'(SC⋈

Student)或πSno,sname(πSno(σCno='2'(SC))⋈

Student)).综合举例(续)[例8-3]查询选修了数学的学生的学号和姓名。

πSno,sname(σcname=‘数学'(course⋈SC⋈

Student).综合举例(续)

πSname(σCpno='5'(Course⋈SC⋈Student))或

πSname(σCpno='5'(Course)

SC

πSno,Sname(Student))或

πSname(πSno(σCpno='5'(Course)⋈SC)

⋈πSno,Sname(Student))

[例9-1]查询至少选修了一门其直接先行课为5号课程的课程的学生姓名。.综合举例(续)c1←coursec2←course

πo,c2.cpno(c1⋈c2)

[例9-2]查询每一门课的间接先修课。(p102)c1.cpno=o.综合举例(续)[例10]查询选修了全部课程的学生号码和姓名。(πSno,Cno(SC)÷πCno(Course))⋈

πSno,Sname(Student).综合举例(续)

.§2.6包的关系运算集合无重复顺序无关包可重复顺序无关商业数据库系统往往是基于包的采用包可以获得比集合快的运算速度.包的关系运算并、交、差投影、选择乘积、连接不必去除重复元组!!.2.3关系的完整性关系模型的完整性规则是对关系的某种约束条件。关系模型中三类完整性约束:实体完整性参照完整性用户定义的完整性实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。.2.3.1实体完整性实体完整性规则(EntityIntegrity)若属性A是基本关系R的主属性,则属性A不能取空值举例说明:.实体完整性(续)关系模型必须遵守实体完整性规则的原因(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集或多对多联系。(2)现实世界中的实体和实体间的联系都是可区分的,即它们具有某种唯一性标识。(3)相应地,关系模型中以主码作为唯一性标识。.实体完整性(续)关系模型必须遵守实体完整性规则的原因(续)(4)候选码中的属性即主属性不能取空值。空值就是“不知道”或“无意义”的值。主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性。.实体完整性(续)注意实体完整性规则规定基本关系的所有主属性都不能取空值例选修(学号,课程号,成绩)“学号、课程号”为主码,则两个属性都不能取空值。.2.3.2参照完整性1.关系间的引用2.外码3.参照完整性规则.1.关系间的引用在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。例1学生实体、专业实体以及专业与学生间的一对多联系

专业(专业号,专业名)学生(学号,姓名,性别,专业号,年龄)

.

学生(学号,姓名,性别,专业号,年龄)

专业(专业号,专业名)

.关系间的引用(续)例2学生、课程、学生与课程之间的多对多联系学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩).

学生学生选课课程.关系间的引用(续)例3学生实体及其内部的领导联系(一对多)

学生(学号,姓名,性别,专业号,年龄,班长).2.外码(ForeignKey)设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码基本关系R称为参照关系(ReferencingRelation)基本关系S称为被参照关系(ReferencedRelation)或目标关系(TargetRelation)。.外码(续)说明关系R和S不一定是不同的关系目标关系S的主码Ks和参照关系的外码F必须定义在同一个(或一组)域上外码并不一定要与相应的主码同名当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别.3.参照完整性规则若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。.参照完整性规则(续)学生关系中每个元组的“专业号”属性只取下面两类值:(1)空值,表示尚未给该学生分配专业(2)非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配到一个不存在的专业中.参照完整性规则(续)

选修(学号,课程号,成绩)“学号”和“课程号”是选修关系中的主属性按照实体完整性和参照完整性规则,它们只能取相应被参照关系中已经存在的主码值.参照完整性规则(续)学生(学号,姓名,性别,专业号,年龄,班长)“班长”属性值可以取两类值:(1)空值,表示该学生所在班级尚未选出班长,或该学生本人即是班长;(2)非空值,这时该值必须是本关系中某个元组的学号值.2.3.3用户定义的完整性用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论