




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 关系数据库吉林大学珠海学院计算机科学与技术系 数据库技术的发展在经历了层次模型、网状模型后,形成了今天较为成熟的关系模型。1970年美国IBM公司的研究员E.F.Codd首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。 主要内容一 关系数据库概述 关系的定义 关系模式 关系数据库 关系的完整性约束 二 关系代数传统的集合运算 专门的关系运算 1关系的定义域(domain)笛卡尔积(Cartesian Product)关系(relation)(1)域(domain)定义2.1 域是一组具有相同数据类型的值的集合。例如:姓名的域是指构成
2、所有合法姓名的字符串集合、性别的域是男,女、成绩的域是介于0100的实数、出生年份的域是介于某个取值范围的日期等。(2)笛卡尔积(Cartesian Product)定义2.2 给定一组域D1,D2,Dn,这些域中可以有相同的。D1,D2,Dn的笛卡尔积为: D1D2Dn(d1,d2,dn)di Di,i1,2,n不能重复出现的所有域的所有取值的一个组合。若Di(i=1,2,n)为有限集,其基数(Cardinal Number,此域中所有可取值的个数)为mi(i=1,2,n),则笛卡尔积的基数M为:例如:给出三个域: D1=性别= 男,女 (性别集合)D2=专业=计算机专业,信息专业 (专业集
3、合)D3=姓名=张静,刘敏,王一 (姓名集合)基数:223=12 D1D2D3 (男,计算机专业,张静),(男,计算机专业,刘敏), (男,计算机专业,王一),(男,信息专业,张静), (男,信息专业, 刘敏),(男,信息专业,王一), (女,计算机专业,张静),(女,计算机专业,刘敏), (女,计算机专业,王一),(女,信息专业,张静), (女,信息专业, 刘敏),(女,信息专业,王一) (3)关系(relation) 定义2.3 笛卡尔积D1D2Dn的任一子集称为在域D1,D2,Dn上的关系,表示为R(D1,D2,Dn)。 其中:R表示关系的名字,n表示关系的目或度(Degree)。候选码
4、(Candidate Key):能唯一表示关系中元组的一个属性或属性集。称为候选码,也称候选关键字。 如:“学生关系”中学号能唯一标识每个学生,则属性“学号”是学生关系的候选码。 又如:在“选课关系”中,只有属性的组合“学号”+“课程号”才能唯一标识每一条选课记录,则属性集(学号,课程号)是选课关系的候选码。主码(Primary Key):如果一个关系中有多个候选码,可以从中选择一个作为查询、插入或删除元组的操作变量,被选中的候选码称为主关系码,或简称主码、主键、主关键字等。每个关系必须有且仅有一个主码。外码(Foreign Key):设F是基本关系R的一个或一组属性,但不是关系R的主码(或候
5、选码)。如果F与基本关系S的主码K相对应,则称F是基本关系R的外部关系码,可简称外码。“学生数据库”中有“学生”和“院系”两个关系,其关系模式如下:学生(学号、姓名、性别、年龄、院系编码) 假设“学号”为主码院系(院系编码,院系名称、电话) 假设“院系编码”为主码 学生关系中的“院系编码”为外码。2关系模式关系模式一般可简写为R(U)或R(A1,A2,An)。其中,R为关系名,A1,A2,An为属性名。 我们以学生信息管理系统的模型为例,其对应的部分关系模式如下:学生(学号,姓名,曾用名,性别,年龄,籍贯,民族,入学时间,系别,专业)教师(教师工号,姓名,曾用名,性别,年龄,籍贯,政治面貌,参
6、加工作时间,教研室号,职称)系(系别代码,系名称,办公室地址,电话)课程(课程号,课程名,教师工号,学分,学期号,课程类型)成绩(学号,课程号,成绩)教研室(教研室号,教研室名,办公室)关系模式与关系的区别: 1 在关系数据库中,关系模式是型,关系是值,两者是有区别的。 2 一般来说,关系模式是相对稳定的,而关系的值是相对变化的,因此在有些文献中,称关系模式为关系的内涵(intension),关系的值为关系的外延(extension)。 3 在进行关系数据库的设计时,通常使用关系模式来描述关系。 3关系数据库 通常关系数据库模式与关系数据库的值统称为关系数据库 例如,教学关系数据库包含如下五个
7、关系模式:教师(职工编码,姓名,职称,年龄,学历)学生(学号,姓名,性别,年龄,籍贯,专业)课程类型(课程编码,课程名称,学分,课时,选修课)已开课程(开课编码,课程编码,主讲教师)选课(学号,开课编码,成绩) 在每个关系中,又有其相应的数据库的实例。例如,与学生关系模式对应的数据库中的实例有如下4个元组。学号姓名性别年龄籍贯专业080301王建男18吉林计算机080302田江晨男19长春计算机080303苏畅女18哈尔滨工商080304李学明男19沈阳机电关系模式关系值4关系的完整性约束 关系模型中允许定义三类完整性:实体完整性、参照完整性和用户定义的完整性。 其中实体完整性和参照完整性是关
8、系模型必须满足的完整性约束条件,是由关系数据库系统自动支持的。而用户定义的完整性是应用领域需要遵循的条件,体现在具体领域中的语义约束。 实体完整性:规则2.1 实体完整性规则: 若属性A是基本关系R的主属性,则属性A不能取空值。如:在学生档案表里,由于“学号”是基本关系的主属性,则“学号”值不能为空值,学生的其他属性可以是空值,如“年龄”值或“性别”值如果为空,则表明不清楚该学生的这些特征值。参照完整性:规则2.2 参照完整性规则: 若属性(属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:(1)或者取空值(F的
9、每个属性值均为空值);(2)或者等于S中某个元组的主码值。 例如,学生关系中的“系院编码”为外码;那么依照参照完整性规则,在学生关系中,某一个学生“系院编码”要么取空值,表示该学生未被分配到指定系;要么等于系院关系中某个元组的“系院编码”,表示该学生隶属于指定系。 用户定义的完整性用户定义的完整性约束: 就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。 例如:在学生关系中,学生年龄分量的取值范围应该限定在1830岁,学生考试的成绩必须在0100之间,学生的性别应该为男或女等。 2.2 关系代数关系代数的运算分为传统集合运算和专门关系运算两类。传统的集合运
10、算:包括并、交、差、广义笛卡尔积;专门关系运算包括:选择、投影、连接和除操作。 此外,还涉及到两类辅助运算符:比较运算符:大于、大于等于、小于、小于等于、等于、不等于;逻辑运算符:非、与、或。 (1)并(Union)设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,则关系R与关系S的并由属于R或属于S的元组组成。其结果关系仍为n目关系。记作: RS=t | tRtS 集合RSRSR=1,2,3S=2,3,4RS =1,2,3,4(2)交(Intersection) 设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交由既属于R又属于S
11、的元组组成。其结果关系仍为n目关系。记作: RS=t | tRtS集合RS RSR=1,2,3S=2,3,4R S =2,3(3)差(Difference) 设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作: RS=t | tRtS集合R-S RSR=1,2,3S=2,3,4R-S =1设有关系R和S(如下表),计算RS,RS,RS,RS。 2. 专门的关系运算 专门的关系运算包括选择、投影、连接和除运算。(1)设关系模式为R(A1,A2,An)。它的一个关系设为R。TR表示t是R的一个元组。tAi则表
12、示元组t中属性Ai上的一个分量。tr ts(2)R为n目关系,S为m目关系。TrR,TsS, Tr Ts称为元组的连接。它是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。元组的连接在笛卡儿积中曾用到过,在专门的关系运算中连接运算也将用到。几个基本概念几个基本概念(3)给定一个关系R(X,Z),X和Z为属性组。当tX=x时,x在R中的象集定义为: Zx=tZ|tR,tX=x它表示R中属性组X上值为x的诸元组在Z上分量的集合。XZx1Z1x2Z2x2Z3x3Z1x3Z3例如:x1在R中的象集Zx1=Z1,x2在R中的象集Zx2=Z2,Z3x3在R中的象集Zx3=Z
13、1,Z3R设有一个学生课程数据库学生关系Student学号姓名性别年龄籍贯专业080301王建男18吉林计算机080302田江晨男19长春计算机080303苏畅女18哈尔滨工商080304李学明男19沈阳机电课程关系Course课程号课程名学分课程类型01大学语文3必修02计算机文化基础4必修03信息理论3必修04C程序设计3选修05艺术鉴赏2选修06网页设计2选修选课关系SC 学号课程号成绩080301049208030103850803010188080302029508030305900803030680(1)选择运算 选择又称为限制。它是在关系R中选择满足给定条件的诸元组,记作: F(
14、R) = t | tR F(t)=真。 其中为选择运算符,F表示选择条件,它是一个逻辑表达式,取逻辑值真或假。 选择运算是一种横向的操作。也称之为行运算。 例2-3查询计算机专业全体学生。 专业=计算机(Student) 学号姓名性别年龄籍贯专业080301王建男18吉林计算机080302田江晨男19长春计算机例2-4 查询学分在3分以下的课程。学分3(Course) 课程号课程名学分课程类型05艺术鉴赏2选修06网页设计2选修(2)投影运算 关系R上的投影是从R中选择出若干属性列组成新的关系。记作: A(R) = tA | tR 。 其中为投影运算符,A为R中的属性列。 投影运算是一种纵向的
15、操作。业称之为列运算.例2-5 查询每个学生的姓名和籍贯。姓名,籍贯(Student) 或2,5(Student)。 姓名籍贯王建吉林田江晨长春苏畅哈尔滨李学明沈阳例2-6 查询都开设了哪些专业。专业(Student) 或6(Student)。专业计算机工商机电(3)连接运算 连接也称为连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作: 其中A和B分别为R和S上度数相等且可比的属性组。是比较运算符。 连接运算从R和S的笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。 可实现两个关系的横向合并。 例.关系R和S如下,求R(BC)S 。关
16、系R 关系S ABA175A282A490ACDA18185A28270A38390RXS结果R(BC)S结果R.ABS.ACDA175A18185A175A28270A175A38390A282A38390 连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。 等值连接 是为“”的连接运算。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。 即:关系R与S的等值连接运算R.A=S.AR.ABS.ACDA175A18185A282A28270自然连接 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。关系R与S的自然连接运算 ABCDA1758185A2828270(4)除操作 给定关系R(X,Y)和S(Y,Z),其中X, Y, Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论