




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理与应用第二章关系数据库(习题课),基本知识点,需要知道的:关系数据库理论产生和发展的过程。需要牢牢把握的是:关系模型的三个组成部分以及每个组成部分包含的主要内容;关系数据结构及其形式定义;三种关系完整性的终结概念。有必要从其他方面进行推论:关系代数(包括抽象语言和具体语言);关系代数的各种运算(包括并、交、差、选择、投影、连接、除法和广义笛卡尔乘积等)。);可以使用这些语言来完成各种数据操作。困难:关系代数。因为关系代数是抽象的,所以在学习过程中有必要用具体的例子来学习。1.尝试描述关系模型的三个组件。答:关系模型由关系数据结构、关系操作和关系完整性约束组成。2.描述关系数据语言的特
2、征和分类。答:有三种类型的关系数据语言:关系代数语言,比如ISBL。关系演算语言:包括元组关系演算语言(如ALPHA)和领域关系演算语言(如QBE)。一种具有关系代数和关系演算双重特征的语言,如SQL。这些关系数据语言的共同特征是:完整的表达能力;它是一种非过程化的集合运算语言;功能强大;可以嵌入高级语言中使用。3.定义和理解下列术语,并解释它们之间的联系和区别:问题解决和分析、领域、笛卡儿积、关系、元组、属性A:领域:领域是一组具有相同数据类型的值。给定一组字段D1、D2和dn,这些字段可以是相同的。D2 D1的笛卡儿积是d1d2dn=(D2 D1)Didi,I=1,2,n.关系:笛卡儿积的
3、子集,D1,D2,dn,域D1,D2,Dn。表示为r (D1、D2、dn)。元组:关系中的每个元素。属性:关系是一个二维表,其中的每一行对应一个元组,每一列对应一个字段。因为字段可以是相同的,为了区分它们,必须给每个列一个名为属性的名称。主代码、候选代码和外部代码答:候选代码:可以唯一标识关系中元组的属性组。主代码:如果一个关系中有多个候选代码,则选择其中一个作为主代码。外部代码:让f是关系R的一个属性或一组属性,但不是关系R的代码。如果f对应于关系s的主代码Ks,那么f被称为关系R的外部代码.r是引用关系,s是被引用关系或目标关系。关系模式,关系,关系数据库A:关系模式是关系的描述,表示为R
4、(U,D,dom,F),其中R是关系名,U是组成关系的属性名的集合,D是属性组U中的属性来自的域,dom是属性到域的映射的集合,F是属性之间的数据依赖的集合。关系:笛卡儿积的子集,D1,D2,dn,域D1,D2,Dn。表示为r (D1、D2、dn)。关系模式是对关系的描述,是静态和稳定的。关系是关系模式在某一时刻的状态或内容,它是动态的,并随着时间而变化。关系数据库分为类型和值。关系数据库的类型,也称为关系数据库模式,是对关系数据库的描述,包括几个域的定义和在这些域上定义的几个关系模式。关系数据库的值是在某个时间对应于这些关系模式的一组关系,通常简称为关系数据库。4.解释关系模型的完整性规则。
5、在引用完整性中,为什么外部代码属性值可以为空?在什么情况下它可以是空的?答:关系模型的完整性规则是对关系的某种约束。关系模型可以有三种完整性约束:实体完整性、引用完整性和用户定义的完整性。其中,实体完整性和引用完整性是关系模型必须满足的完整性约束,它们被称为关系的两个不变量,应该由关系系统自动支持。实体完整性规则:如果在,参照完整性规则:如果属性(或属性组)f是基本关系r的外部代码,对应于基本关系S的主代码Ks,则f上r中每个元组的值必须为null(f的每个属性值为null)或等于S中元组的主代码值.用户定义的完整性:它是特定关系数据库的约束条件,反映了特定应用程序中涉及的数据必须满足的语义要
6、求。在参照完整性中,外部代码属性的值可以为空,这意味着属性的值尚未确定,但前提条件是外部代码属性不是其关系的主要属性。例如,在学生表中,主要数字是外部代码,它不是学生表的主要属性。它可以是空的,它的语义是学生的专业还没有确定。选修表中的学生(学号、姓名、性别、专业号、年龄)、专业(专业号、专业名)和课程号也是一个外部代码,但它是选修表的主要属性,所以不能为空,因为关系模型必须满足实体完整性。选修课(课程编号、课程编号、年级),5。建立一个SPJ数据库,包括四种关系模式:S (SnO,SNAME,Status,City) P (PNO,PNAME,Color,Weight) J (JNO),QT
7、Y)供应商表S由供应商代码SnO、供应商名称Sname、供应商状态和供应商城市名称组成。零件清单p由零件代码PNO、零件名称PNAME、颜色和重量wetht组成。工程项目表j由工程项目代码JNO、工程项目名称JNAME和工程项目所在的城市组成。SPJ供货情况表由供应商代码SNO、零件代码PNO、工程项目代码JNO和供货数据QUITY组成,表示某个供应商向工程项目提供的某个零件的数量为QUITY。尝试使用关系代数、ALPHA和QBE语言完成以下操作:在供应工程中找到J1零件的供应商编号SNO。答:关系代数SNO(JNO=J1(SPJ)用于查找供应工程J1部分P1的供应商编号SNO。答:关系代数S
8、NO(JNO=J1PNO=P1(SPJ)用于查找供应工程J1红色部分的供应商编号SNO。答:没有使用关系代数SnO (SnO,pno (JNO=J1 (spj) pno(颜色=红色(p),以及天津供应商生产的红色零件的工程编号JNO。答:关系代数分析JNO(J) JNO(SNO(城市=天津(S)、SNO、PNO、JNO(SPJ) PNO(COLOR=Red (P):减法部分使用天津供应商生产的所有红色零件的工程编号,JNO(J)是所有项目的工程编号,因此将其相减,至少寻找S1供应商提供的所有零件的工程编号JNO。答:关系代数分析JNO、PNO(SPJ)、PNO(SNO=S1(SPJ):分部前的
9、部分为本项目所用的全部工程和零件,分部后的部分均为S1提供的零件号。对于SPJ的JNO表,如果本项目中使用的所有零件都包括S1提供的所有零件号,则JNO满足本主题的要求,并添加结果。6.试着描述平等和自然之间的区别和联系。答:带有连接运算符=的连接操作称为等连接。它从关系R和S的广义笛卡尔乘积中选择具有相等属性值A和B的元组.自然连接是一种特殊的等价连接,它要求两个关系中要比较的组件必须是同一个属性组,并且从结果中删除重复的属性列。7.关系代数的基本运算是什么?如何使用这些基本操作来表示其他操作?答:在八个关系代数运算中,差笛卡儿积选择投影五个运算作为基本运算,其他三个运算可以用这五个基本运算
10、来表示。交集运算:RS=R(RS)连接运算:R S=AB(RS)除运算:R (X,Y) S (Y,Z)=X (R) X (X (R) Y (S) R),2.5关系代数。目前,我们已经讨论了用于定义关系数据库的结构和约束的一些概念。现在我们将注意力转向关系代数,它是对关系的一些运算。它们包括一些集合操作和专门为关系数据库定义的操作。对于集合运算,包括并、交、差和笛卡尔乘积的关系;对关系的特殊操作包括选择、投影和连接操作。关系代数是关系理论的主要组成部分,关系理论是关系数据库的理论基础。在关系理论出现之前,数据库至多是一种技术。然而,关系理论出现后,关系数据库以关系理论为基础,有着严格的数学基础。
11、数据库已经从一门技术升级为一门科学。这就像引入数学后炼金术变成了化学和科学一样。关系代数是以关系的概念为基础的,它的运算,即函数是在关系中定义的变换,即它的域是关系,它的值域也是关系。当对一个关系执行操作时,无论得到什么结果,它都是一个关系。没有结果就是关系;获取一个元组,这是一个关系;当获得多个元组时,这也是一种关系。(2)关系数据库模式示例在图2.4中,给出了一个名为“公司”的关系数据库模式示例:员工、部门、项目、从属、从属地点、工作地点。在图2.4中,一个公司的关系数据库模式使用相同的名称来表示不同关系中客观世界中相同事物的概念。例如,在DEPARTMENT和DEPT-LOCATION的
12、关系中,DNUMBER用于表示部门编号。在不同的关系中,不同的名字被用来表达客观世界中同一事物的概念。例如,在关系EMPLOYEE中使用DNO,而在关系PROJECT中使用DNUM来表示客观世界中的部门编号。在不同的关系中,同一个名字被用来表达客观世界中不同事物的概念。例如,我们可以在DEPARTMENT关系和PROJECT关系中使用NAME,分别表示部门名称和项目名称。在关系模型的早期版本中,假设通过属性表达客观世界的概念在所有关系中都应该有相同的名称。这有时会引起问题。当同一件事在同一段关系中扮演不同的角色时,就很难表达出来。例如,社会保障代码的概念在EMPLOYER关系中出现了两次,一次
13、针对员工,另一次针对经理。(3)关系数据库示例,图2.5关系数据库示例,部门位置、部门、工作、员工、项目、从属、2.5.1选择操作,(1)选择操作概念和表示概念以及表示选择操作选择给定关系元组的子集,并且该子集内的所有元组满足指定的选择条件。例如,如果我们要选择在员工关系中的第4号部门工作的所有员工,那么:DNO=4(EMPLOYER)如果我们要选择年薪大于$30,000的员工,则有一个SALARY 30000(EMPLOYER)选择操作的一般表示:(RELARY NAME),其中的符号发音为sigma,表示选择运算符或选择操作。选择条件是关于关系属性的布尔表达式。布尔条件表达式指定的布尔表达
14、式可以由以下形式的子句组成:和。中指定的属性名。是关系运算符、是取自相应属性域的值。布尔表达式可以通过将上述关系表达式与布尔运算符“非”、“与”或“或”连接起来而形成。(2)示例查询在部门4工作,年薪在40,000美元以上,或者在部门5工作,年薪在30,000美元以上。我们可以指定以下选择操作:(DNO=4,工资40,000)或(DNO=5,工资30,000)(员工)查询结果如下:图2。结果关系的模式与操作数关系的模式相同。也就是说,它们具有相同的属性集。结果关系是操作数关系的水平子集,结果关系中的元组是操作数关系中满足选择条件的所有元组。(4)选择运算的法则交换法则(r)=(r)将级联选择运
15、算转换为单个选择运算:(R )=AND。上述公式的左端表示从内到外的选择操作,右端是带有多个连词的选择操作。2.5.2投影操作,(1)概念投影操作选择(2)表示:例如,我们想要检索部门的dname(部门名称),它可以表示为:DNAME(部门)。对于一般的投影操作,在:(RELATION NAME)中指定的属性必须是关系模式的属性集的子集。中指定的属性顺序可以不同于原始关系中的顺序。(3)投影操作结果的模式是中指定的属性。结果的值是原始关系中属性表中指定属性的值,原始值的顺序保持不变。上述具体示例的值如图2.8 (a)所示。如果关键字属性不包含在属性表中,此操作可能会产生重复的元组。由于关系的集
16、合性质,应该进一步消除重复的元组。例如,在图2.8(b)中显示了雇员关系的SEX和DNO属性的投影,SEX,DNO(雇员)。对于投影操作,当时有以下规则: (R) )=(R),(a)结果中没有重复的元组,以及(b)结果中没有重复的元组。图2.8是投影操作结果图。参见幻灯片67,2.5.3,操作结果关系及其属性的命名。目前,我们注意到图2.7和图2.8中的关系没有名字。一般来说,几个代数运算可以连续应用或写入一个代数表达式。如果我们能够命名中间结果关系,那么每次为查询问题实现一个操作将会更容易。例如,检索在第5部门工作的员工的姓名和年薪。(1)编写一个关系代数表达式如下:fname,lname,工资(dno=5 (employee),结果如图2.9(a)所示。(2)使用多个操作并命名中间关系:tempdno=5(雇员)结果fname,lname,薪资(临时)。该操作的结果如图2.9(b)所示。(3)重命名属性tempdno=5 (employee) r (firs
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品制造合同样本
- 二手车合同样本
- 个人加工高端设备合同样本
- 2009版合同标准文本
- 共享加盟合同标准文本
- 买卖儿童农村房屋合同样本
- 公司中途入股合同标准文本
- 业主订制家具合同样本
- 优惠仓库租赁服务合同样本
- 买抵押车合同样本
- 电动葫芦的安全操作措施
- 河南省绿色建筑评价表(建筑专业)
- 2022-2023学年山东省济南市市中区八年级(下)期中语文试卷-普通用卷
- 江铃系列维修手册
- 造价咨询公司组织机构及人员岗位职责
- 中国文化科举制度的等级
- GB/T 700-2006碳素结构钢
- 多发性骨髓瘤NCCN患者指南中文版2022
- GB/T 13441.4-2012机械振动与冲击人体暴露于全身振动的评价第4部分:振动和旋转运动对固定导轨运输系统中的乘客及乘务员舒适影响的评价指南
- 教科版科学五年级下册全册全套课件【最新版】
- 中绿的制度课
评论
0/150
提交评论