数据库系统概论:第2章 关系数据库理论1_第1页
数据库系统概论:第2章 关系数据库理论1_第2页
数据库系统概论:第2章 关系数据库理论1_第3页
数据库系统概论:第2章 关系数据库理论1_第4页
数据库系统概论:第2章 关系数据库理论1_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、2.1 关系数据结构第2章 关系数据库理论2.2 关系操作2.3 关系的完整性2.4 关系代数1 关系数据模型的思想由IBM公司的E.F.Codd于1970年在他的一系列论文中提出,以后的几年里陆续出现了以关系数据模型为基础的数据库管理系统,称为关系数据库管理系统(RDBMS)。 按照数据模型的三个要素,关系模型由关系数据结构、关系操作和关系完整性约束三部分组成。 2 现代广泛使用的RDBMS有:Oracle、Informix、DB2、SQL Server、Access、Fox系列数据库等。 32.1 关系数据结构 在用户看来,关系模型中数据的逻辑结构是一张二维表。 关系模型是建立在集合代数的

2、基础上,这里从集合论角度给出关系数据结构的相关定义。 42.1.1 关系的数学定义 1域(Domain) 域是一组具有相同数据类型的值的集合。例如: 所有整数、 实数、 , 。52笛卡尔积(Cartesian Product) 给定一组域D1,D2,Dn,这些域中可以有相同的。笛卡尔积表示为: D1D2 Dn=(d1,d2,dn)|diDi,i=1,2 n 其中每一个元素(d1,d2,dn)叫做一个n元组,简称为元组。元素中的每一个值di叫做一个分量。6例如:给出三个域:D1=导师集合supervisor=张清玫,刘逸D2=专业集合speciality=计算机专业,信息专业D3=研究生集合po

3、stgraduate=李勇,刘晨,王敏则D1D2 D3的笛卡尔积如表所示: 其中(张清玫,计算机专业,李勇)、(张清玫,计算机专业,刘晨)等都是元组,张清玫、计算机专业、李勇、刘晨等都是分量该笛卡尔积的基数为2*2*3=12。即一共有12个元组。78例如,给出3个域:D1:院系集合DEPARTMENT = 计算机系, 信息系 D2:班级集合CLASS = 1班,2班 D3:学生集合STUDENT = 王一,张玉,赵敏 9该笛卡尔积的基数为223=12。即D1D2D3共有12个元组。这12个元组可列成一张二维表。DEPARTMENTCLASSSTUDENT计算机系1班王一计算机系1班张玉计算机系

4、1班赵敏计算机系2班王一计算机系2班张玉计算机系2班赵敏信息系1班王一信息系1班张玉信息系1班赵敏信息系2班王一信息系2班张玉信息系2班赵敏103关系(Relation) D1D2Dn的子集叫作在域D1,D2,Dn上的关系,表示为: R(D1,D2,Dn);R为关系名,n为关系的目或度。11(1)关系的基本术语1)元数(列数):属性的个数,即列数 2)基数(行数):元组的个数,即记录数3)属性:字段或数据项称为属性,也称为列4)属性值:字段值称为属性值。5)关系模式:是对关系的描述,即表结构。 一般表示为: 关系名(属性1,属性2,属性n) 表上属性名必须唯一,不允许重名。126)元组:记录称

5、为元组,也称为行。7)关系:元组的集合称为关系,也称为表格。每个二维表又称为关系。表体是由一些元组组成。 8)值域:属性的取值范围称为属性的值域,每个属性对应一个值域,不同的属性可以对应同一个值域。 9)分量:元组中的一个属性值。13141)候选码 :若关系中的某一属性组的值能唯一地标识一个元组,而其任何真子集都不能再标识一个元组,则称该属性组为候选码,在最简单的情况下,候选码只包含一个属性。 例如:学生关系(学号,姓名,年龄,身份证号) 2)全码 :在最极端的情况下,关系的所有属性组是这个关系的候选码,称为全码 。 例如:音乐会关系(演奏者,音乐作品,观众)(2) 码153)主码 :若一个关

6、系有多个候选码,则选定其中一个为主码或主键 。 例如:学生关系(学号,姓名,年龄,身份证号)4)主属性 :候选码的诸属性称为主属性 。 5)非主属性:不包含在任何侯选码中的属性称为非主属性 。 16(3)关系的性质列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名列的顺序无所谓,即列的顺序可以任意交换。任意两个元组的候选码不能完全相同。行的顺序无所谓,即行的顺序可以任意交换。分量必须取原子值,即每个分量必须是不可再分的数据项。17关系性质1同质的列学号姓名性别年龄曾用名9901张三男20张狗子9902李四女

7、18李朋王五9903119王麻子9904赵六21981/2/28赵铁蛋18关系性质2不同的属性名学号姓名性别年龄姓名9901张三男20张狗子9902李四女18李朋9903王五男19王麻子9904赵六女20赵铁蛋姓名2曾用名19关系性质3属性无序学号姓名性别年龄曾用名9901张三男20张狗子9902李四女18李朋9903王五男19王麻子9904赵六女20赵铁蛋学号姓名曾用名性别年龄9901张三张狗子男209902李四李朋女189903王五王麻子男199904赵六赵铁蛋女2020关系性质4元组的候选码不重复学号姓名性别年龄曾用名9901张三男20张狗子9902李四女18李朋9903王五男19王麻子

8、9904赵六女20赵铁蛋9901张三女19张小二重复的元组重复的候选码21关系性质5元组无序学号姓名性别年龄9901张三男209902李四女189903王五男199904赵六女20学号姓名性别年龄9904赵六女209901张三男209903王五男199902李四女1822关系性质6分量是原子父母孩子大小李男王男丁女肖女李一王一李二父母大孩小孩李男王男丁女肖女李一王一李二非规范化关系规范化关系232.1.2 关系数据库在一个给定的应用领域中,所有实体及实体之间联系的关系的集合(也可以简单地理解为表的集合)构成一个关系数据库。242.2 关系操作2.2.1 基本的关系操作关系操作包括:查询和更新操

9、作。 查询操作包括:选择、投影、连接、 除、并、交、差等操作。 更新操作包括:增加、删除、修改操作。 2.2.2 关系操作的特点 关系操作的特点:操作对象和结果都是集合252.2.3 关系数据语言(1)关系数据语言按照完成的功能可分为三类:数据定义语言DDL :负责数据库的描述,提供一种数据定义机制。 数据操纵语言DML :负责数据库的操作,提供一种数据处理操作的机制。 数据控制语言DCL :负责控制数据库的完整性和安全性,提供一种检验完整性和保证安全性的机制。 26(2)关系数据语言按照表达查询的方式不同(理论基础的不同)可以分为三大类:关系代数语言:对关系的集合运算来表达查询方式 的语言。

10、关系演算语言:用谓词演算来表达查询方式的语言。结构化查询语言SQL:是介于关系代数和关系演算之 间的一种语言,SQL不仅具有 丰富的查询功能,而且具有数 据定义和数据控制功能,是集 DDL、DML、DCL为一体的标 准的关系数据库语言。272.3 关系的完整性 关系的完整性约束有三类:实体完整性参照完整性用户定义的完整性是关系模型必须满足的完整性约束条件,由关系系统自动支持是应用领域需要遵循的约束条件28关系模型的三类完整性规则(1) 实体完整性规则(关系系统支持) 组成主键(码)的属性(即主属性)不能有空值。实体完整性规则针对基本关系而言如: 选修(学号,课程号,成绩)则,(学号,课程号)为

11、主码,则学号和课程号都不能取空值。29学号课程号成绩9901990199029903C1C2C2C390807080学号姓名年龄性别所在系9901990299039904张三李四王五赵六20181920男女女男计算机计算机计算机计算机30(2) 参照完整性规则(定义主外码之间的引用规则) 不引用不存在的实体。若属性集K是关系模式R1的主键,K也是关系模式R2的外键,K的取值或为空,或等于R1关系中的某个主键值。R1为被参照关系(目标关系),R2为参照关系。31例: 学生(学号、姓名、年龄、性别、系别名称) 课程(课程号、课程名、学分) 学生选课(学号、课程号、成绩) 外码:当关系中的某个属性或

12、属性组合虽然不是该关系的关键字或只是关键字的一部分,但却是另一个关系的关键字,称该属性或属性组合为这个关系的外码(或外键)。32例如:学生关系(学号,姓名,性别,专业号,年龄,班长)专业(专业号,专业名)1)学生关系中的专业号参照专业关系中的专业号,专业号的值可以是: (1)空值-表示尚未给学生分配专业(2)非空值-值必须取专业关系中专业号的值2)学生关系中的班长与学号之间存在引用关系,班长的取值可以是:(1)空值-表示该班级未选班长(2)非空值-值必须取同一关系的学号33学号姓名所在系9901990299039904张三李四王五赵六计算机计算机计算机计算机课程号课程名学时数C01C02C03

13、C04高等数学数据结构操作系统数据库100708060学号课程号成绩99019901990299049904C01C02C04C04C039080908570学生关系课程关系学习成绩关系外键外键主键主键34职工号部门编号姓名9801980298039804980501010203张三李四王五赵六钱七部门编号部门名称01020304经理办公室人事部公关部技术部职工表(R2)部门表(R1)主键外键35(3) 用户定义的完整性规则 针对不同的应用环境而定义的约束条件。(关系模型提供定义和检验这类完整性的机制, 不必用程序完成)若规定学生的年龄在18到35之间,则是用户定义的完整性规则。36练习1关系中的“主码”不允许取空值是指( )规则。 A实体完整性 B引用完整性 C用户自定义完整性 D数据完整性2在下面两个关系中,职工号和部门号分别为职工关系和部

温馨提示

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

评论

0/150

提交评论