数据库系统概念6版关系模型的课件_第1页
数据库系统概念6版关系模型的课件_第2页
数据库系统概念6版关系模型的课件_第3页
数据库系统概念6版关系模型的课件_第4页
数据库系统概念6版关系模型的课件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、DATABASE SYSTEM CONCEPTS第二章 关系模型27 八月 20222数据库系统概念-前言 21 关系数据库的结构 E.F.Codd于70年代初提出关系数据理论,他因此获得1981年的ACM图灵奖关系理论是建立在集合代数理论基础上的,有着坚实的数学基础早期代表系统System:由IBM研制INGRES:由加州Berkeley分校研制目前主流的商业数据库系统Oracle,Informix,Sybase,SQL Server,DB2Access,Foxpro,Foxbase关系:二维表,由关系名标识。 关系:二维表,由关系名标识。 27 八月 20223数据库系统概念-前言21 关

2、系数据库的结构 一 数据结构1关系与元组(relation and tuple) 关系:二维表,由关系名标识。 元组:表中的一行,称之为n元组 ,记录 属性:表中的一列,属性名标识, 字段 域:属性的取值范围。 码:能够唯一确定一个元组的最小属性集 超码:包含码的属性集 候选码:一个关系的每个码都称候选码27 八月 20224数据库系统概念-前言 21关系数据库的结构 主码:定义表时指定一个候选码 外码:本关系的属性集,另一关系的码 全码:表中找不出码, 所有属性组成 主属性:任一候选码中的属性 非主属性:不在任何一个候选码中注意,确定一个关系侯选码要根据事物的语义说明。 例如,如果所有学生都

3、不重名,姓名属性也可作为侯选码。 27 八月 20225数据库系统概念-前言 22 数据库的模式 学生=(学号, 姓名, 年龄, 性别, 系别)课程=(课程号,课程名, 学分,先行课号) 教师=(职工号,姓名, 职称,年龄, 性别, 系别)教材=(教材号,书名,作者名,出版号,出版社) 系=(系别,系名, 办公电话, 位置, 职工号)选课=(学号, 课程号, 成绩)参考=(课程号,教师号,教材号)27 八月 20226数据库系统概念-前言 22 数据库的模式 2关系模式:关系名和属性名。关系名=(属性1,属性2,,属性n)例: 学生=(学号,姓名,年龄,性别,系别)关系模式表现了型的概念,它代

4、表着表的框架;关系表现为值的概念, 关系实例一个关系模式下可以建立多个关系,例如在学生关系的关系模式下,可以为全校所有班机各建一个学生表。表是动态的,是数据库中数据的快照。 关系数据库是关系的集合,其中每个关系都有自己的关系模式 27 八月 20227数据库系统概念-前言 22 数据库的模式 3关系的性质 (1) 每列同类型,同域,不同的列可以同域。 (2) 列的顺序无关,交换列的次序,仍是同一个表 (3) 行的顺序无关,交换行的次序,仍是同一个表 (4) 任意两行不能全同 , 码的本质 (5) 任意两列的列名不能相同, 属性区分 (6) 每一分量是不可分的数据项, 关系数据库本质。27 八月

5、 20228数据库系统概念-前言 23 数据库的约束 约束完整性约束。它分为四类: 1域完整性约束(domain integrity constraint)属性值应是域中的值,属性的值能否为null,由语义决定。域完整性约束是在确立关系模式时规定的,由DBMS负责检查。 例如:例如: 选课表的成绩字段定义为整形数, 不能输入字符型 2实体完整性约束(entity integrity constraint)27 八月 20229数据库系统概念-前言 23 数据库的约束 每个关系应有一个主码,主码的值不能为null,这就是实体完整性约束。如果在关系模式中说明了主码,DBMS可以进行这项检查 例如:

6、学生表学号不为空3引用完整性约束(referential integrity constraint) 不同关系之间或同一关系的不同元组间的约束。若关系R中有一个外码(相对于关系S),则R中每个元组的外码的值必须满足:(1) 或者取空值 (2) 或者等于S中某个元组的主码值。R与S可以是同一个关系 27 八月 202210数据库系统概念-前言 23 数据库的约束 例如:学生表中系别或为空,说明该生尚未分配系, 若非空,必须是系关系中已存在值4用户定义的完整性约束用户定义的完整性约束是针对某一具体数据库的约束条件,由具体应用要求决定。例如:成绩的用户定义为0-100, 输入超出,就示错.27 八月

7、 202211数据库系统概念-前言 23 数据库的约束 5.模式图(diagram) 图2-8定义主码与外码的关联,SQL server 2000中有功能设置,一旦定义,DBMS 负责进行参照完整性检查27 八月 202212数据库系统概念-前言 24 关系查询语言 过程化查询语言:给出具体查询过程非过程化查询语言:只给出查询需求关系代数: 基于集合运算表示表的操作,过程化 关系演算: 基于谓词逻辑表示表的操作,非过程化SQL:商用语言,基于集合运算,非过程化与过程化 结合27 八月 202213数据库系统概念-前言 2.4 关系查询语言 例如 : 查询数据库90分以上的男学生姓名关系代数:

8、姓名(课程名=“数据库”成绩90 性别=“男” (学生 选课课程) 关系演算:tu学生 (v选课 (w课程(t姓名=u姓名u学号=v学号v课程号=w课程号w课程名=“数据库” u性别=“男” )27 八月 202214数据库系统概念-前言 24 关系查询语言 例如 : 查询数据库90分以上的男学生姓名SQL: select 姓名 from 学生,课程,选课 where 学生.学号=选课.学号 and 课程.课程号=选课.课程号 and 课程名=“数据库” and 性别=“男”27 八月 202215数据库系统概念-前言课本上的要点 表代表一个实体集或联系集,一行一个实体属性域的笛卡尔积的子集元组变量用于对表扫描查找元组的顺序无关紧要域是原子的属性可以取空值 null27 八月 202216数据库系统概念-前言课本上的要点 数据库模式关系模式,表结构,R=()关系实例,表,r图2-1 -图2-7 实体表是 。联系表是注意每个表

温馨提示

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

评论

0/150

提交评论