【文档说明】数据库原理及应用—第二章课件.ppt,共(67)页,351.523 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-92506.html
以下为本文档部分文字说明:
第2章关系数据库吉林大学珠海学院计算机科学与技术系数据库技术的发展在经历了层次模型、网状模型后,形成了今天较为成熟的关系模型。1970年美国IBM公司的研究员E.F.Codd首次提出了数据库系统的关系模型,开创了数据库关系方法和
关系数据理论的研究,为数据库技术奠定了理论基础。主要内容一关系数据库概述关系的定义关系模式关系数据库关系的完整性约束二关系代数传统的集合运算专门的关系运算1关系的定义域(domain)笛卡尔积(CartesianProduct)关系
(relation)(1)域(domain)定义2.1域是一组具有相同数据类型的值的集合。例如:姓名的域是指构成所有合法姓名的字符串集合、性别的域是{‘男’,‘女’}、成绩的域是介于0~100的实数、出生年份的域是介于某个取值范围的
日期等。(2)笛卡尔积(CartesianProduct)定义2.2给定一组域D1,D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}不
能重复出现的所有域的所有取值的一个组合。若Di(i=1,2,…,n)为有限集,其基数(CardinalNumber,此域中所有可取值的个数)为mi(i=1,2,…,n),则笛卡尔积的基数M为:nii1mM例如:给出三个域:D1
=性别={男,女}(性别集合)D2=专业={计算机专业,信息专业}(专业集合)D3=姓名={张静,刘敏,王一}(姓名集合)基数:2×2×3=12D1×D2×D3={(男,计算机专业,张静),(男,计算机专业,刘敏),(男,计算机专业,王一),
(男,信息专业,张静),(男,信息专业,刘敏),(男,信息专业,王一),(女,计算机专业,张静),(女,计算机专业,刘敏),(女,计算机专业,王一),(女,信息专业,张静),(女,信息专业,刘敏),(女,信息专业,王一)}(3)关系(relation)定义2.3笛卡尔
积D1×D2×…×Dn的任一子集称为在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)。其中:R表示关系的名字,n表示关系的目或度(Degree)。候选码(CandidateKey):能唯一表示关系中元组的一个属性或属性集。称为候选码,也称
候选关键字。如:“学生关系”中学号能唯一标识每个学生,则属性“学号”是学生关系的候选码。又如:在“选课关系”中,只有属性的组合“学号”+“课程号”才能唯一标识每一条选课记录,则属性集(学号,课程号)是选课关系的候
选码。主码(PrimaryKey):如果一个关系中有多个候选码,可以从中选择一个作为查询、插入或删除元组的操作变量,被选中的候选码称为主关系码,或简称主码、主键、主关键字等。每个关系必须有且仅有一个主码。
外码(ForeignKey):设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)。如果F与基本关系S的主码K相对应,则称F是基本关系R的外部关系码,可简称外码。“学生数据库”中有“学生”和“院系”两个关系,其关系模式如下:学
生(学号、姓名、性别、年龄、院系编码)——假设“学号”为主码院系(院系编码,院系名称、电话)——假设“院系编码”为主码学生关系中的“院系编码”为外码。2关系模式关系模式一般可简写为R(U)或R(A1,A2,…,An)。其中,R为关系名,A1,A2,…,An为属性名。我们以学生信息
管理系统的模型为例,其对应的部分关系模式如下:学生(学号,姓名,曾用名,性别,年龄,籍贯,民族,入学时间,系别,专业)教师(教师工号,姓名,曾用名,性别,年龄,籍贯,政治面貌,参加工作时间,教研室号,职称)系(系别代码,系名称,办公室地址,电话)课程(课程号,课程名,
教师工号,学分,学期号,课程类型)成绩(学号,课程号,成绩)教研室(教研室号,教研室名,办公室)关系模式与关系的区别:1在关系数据库中,关系模式是型,关系是值,两者是有区别的。2一般来说,关系模式是相对稳定的,而关系的值是相对变化的,因此在有些文
献中,称关系模式为关系的内涵(intension),关系的值为关系的外延(extension)。3在进行关系数据库的设计时,通常使用关系模式来描述关系。3关系数据库通常关系数据库模式与关系数据库的值统称为关系数据库例如,教学关系数据库包含如下五个关系模式:教师(职工编码,姓名
,职称,年龄,学历)学生(学号,姓名,性别,年龄,籍贯,专业)课程类型(课程编码,课程名称,学分,课时,选修课)已开课程(开课编码,课程编码,主讲教师)选课(学号,开课编码,成绩)在每个关系中,又有其相应的数据库的
实例。例如,与学生关系模式对应的数据库中的实例有如下4个元组。学号姓名性别年龄籍贯专业080301王建男18吉林计算机080302田江晨男19长春计算机080303苏畅女18哈尔滨工商080304李学
明男19沈阳机电关系模式关系值4关系的完整性约束关系模型中允许定义三类完整性:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,是由关系数据库系统自动支持的。而用户定义的完整性是应用领域需要遵循的条件,体现在具体领
域中的语义约束。实体完整性:规则2.1实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。如:在学生档案表里,由于“学号”是基本关系的主属性,则“学号”值不能为空值,学生的其他属性可以是空值,如“年龄”值或“性别”值如果为
空,则表明不清楚该学生的这些特征值。参照完整性:规则2.2参照完整性规则:若属性(属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:(1)或者取空值(F的每个属性值均为空值);(2
)或者等于S中某个元组的主码值。例如,学生关系中的“系院编码”为外码;那么依照参照完整性规则,在学生关系中,某一个学生“系院编码”要么取空值,表示该学生未被分配到指定系;要么等于系院关系中某个元组的“系院编码”,表示该学生隶属于指定系。用户定义的完整性用户定义的完整性约束:就是针对某一具
体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如:在学生关系中,学生年龄分量的取值范围应该限定在18~30岁,学生考试的成绩必须在0~100之间,学生的性别应该为男或女等。2.2关系代数关系代
数的运算分为传统集合运算和专门关系运算两类。传统的集合运算:包括并、交、差、广义笛卡尔积;专门关系运算包括:选择、投影、连接和除操作。此外,还涉及到两类辅助运算符:比较运算符:大于、大于等于、小于、小于等于、等于、不等于;逻辑运算符:非、与、或。(1)并(Union)设关系R和关系S
具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,则关系R与关系S的并由属于R或属于S的元组组成。其结果关系仍为n目关系。记作:R∪S={t|t∈R∨t∈S}集合R∪SR∪SR={1,2,3}S={2,3,4}
R∪S={1,2,3,4}(2)交(Intersection)设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交由既属于R又属于S的元组组成。其结果关系仍为n目关系。记作:R∩S={t|t∈R∧t∈S}集合R∩SR∩SR={1,2,3}S
={2,3,4}R∩S={2,3}(3)差(Difference)设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作:R-S={t|tR∧tS}集
合R-SRSR={1,2,3}S={2,3,4}R-S={1}设有关系R和S(如下表),计算R∪S,R∩S,R×S,R-S。2.专门的关系运算专门的关系运算包括选择、投影、连接和除运算。(1)设关系模式为R
(A1,A2,…,An)。它的一个关系设为R。T∈R表示t是R的一个元组。t[Ai]则表示元组t中属性Ai上的一个分量。trts(2)R为n目关系,S为m目关系。Tr∈R,Ts∈S,TrTs称为元组的连接。它是一个
n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。元组的连接在笛卡儿积中曾用到过,在专门的关系运算中连接运算也将用到。几个基本概念srtt几个基本概念(3)给定一个关系R(X,Z),X和Z为属性
组。当t[X]=x时,x在R中的象集定义为:Zx={t[Z]|t∈R,t[X]=x}它表示R中属性组X上值为x的诸元组在Z上分量的集合。XZx1Z1x2Z2x2Z3x3Z1x3Z3例如:x1在R中的象集Zx1={Z1},x2在R中的象集Zx2={Z2,Z3}x3在R中的象集Zx3=
{Z1,Z3}R设有一个学生—课程数据库学生关系Student学号姓名性别年龄籍贯专业080301王建男18吉林计算机080302田江晨男19长春计算机080303苏畅女18哈尔滨工商080304李学明
男19沈阳机电课程关系Course课程号课程名学分课程类型01大学语文3必修02计算机文化基础4必修03信息理论3必修04C程序设计3选修05艺术鉴赏2选修06网页设计2选修选课关系SC学号课程号成绩080301049208030103850803010188080302
029508030305900803030680(1)选择运算选择又称为限制。它是在关系R中选择满足给定条件的诸元组,记作:σF(R)={t|t∈R∧F(t)=‘真’}。其中σ为选择运算符,F表示选择条件,它是一个逻辑表达式,取逻辑
值‘真’或‘假’。选择运算是一种横向的操作。也称之为行运算。例2-3查询计算机专业全体学生。σ专业=‘计算机’(Student)学号姓名性别年龄籍贯专业080301王建男18吉林计算机080302田江晨男19长春计算机例2-4查询
学分在3分以下的课程。σ学分<3(Course)课程号课程名学分课程类型05艺术鉴赏2选修06网页设计2选修(2)投影运算关系R上的投影是从R中选择出若干属性列组成新的关系。记作:ΠA(R)={t[A]|t∈R}。其中Π为投影运算符,A为R中的属性列。投影运算是一种纵向的操作。业称
之为列运算.例2-5查询每个学生的姓名和籍贯。Π姓名,籍贯(Student)或Π2,5(Student)。姓名籍贯王建吉林田江晨长春苏畅哈尔滨李学明沈阳例2-6查询都开设了哪些专业。Π专业(Student)或Π6(Student)。专业计算机工商机电(3
)连接运算连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:其中A和B分别为R和S上度数相等且可比的属性组。θ是比较运算符。连接运算从R和S的笛卡尔积R×S中选取(R关系)
在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的元组。可实现两个关系的横向合并。例.关系R和S如下,求R∞(B<C)S。关系R关系SABA175A282A490ACDA18185A28270A38390RXS
结果R∞(B<C)S结果R.ABS.ACDA175A18185A175A28270A175A38390A282A38390连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Naturaljoin)。等值连接是θ为“=”的
连接运算。它是从关系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上分量值x的像集Yx包含S在Y上投影的集合。记作:1.在求解R÷S时,对R按X的值的分组,然后检查每一组,如某一组
中的Y包含S在Y上投影,则取该组中的X的值作为关系P中的一个元组,否则不取。2.按照除运算规则,我们不必关注Z。例.RS分析:1.X相当于A;Y相当于B,C;2.R按X可分为三组a1b1c1a2b2c1a3b4c6
a1b2c1a1b2c33.ПB,C(S)包含三个元组:(b1,c1)(b2,c1)(b2,c3)4.取R中的a1的值作为关系P中的一个元组。P=R÷S