数据库原理 关系运算 习题答案

合集下载

数据库原理 第四章关系数据库理论期末习题与答案

数据库原理 第四章关系数据库理论期末习题与答案

1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()。

A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑正确答案:A2、下列关于规范化理论各项中正确的是()。

A.对于一个关系模式来说,规范化越深越好B.满足第二范式的关系模式一定满足第一范式C.第一范式要求---非主码属性完全函数依赖关键字D.规范化一般是通过分解各个关系模式实现的,但有时也有合并正确答案:B3、X→Y能从推理规则导出的充分必要条件是()。

A.B.C.D.正确答案:D4、两个函数依赖集F和G等价的充分必要条件是()。

A.B.C.D.5、设有关系模式R(A,B,C,D,E),函数依赖集F={A→B,B→C,C→D,D→A},ρ={AB,BC,AD}是R上的一个分解,那么分解ρ相对于F()。

A.既是无损连接分解,又是保持函数依赖的分解B.是无损连接分解,但不是保持函数依赖的分解C.不是无损连接分解,但是保持函数依赖的分解D.既不是无损连接分解,也不是保持函数依赖的分解正确答案:D6、关系模式中,满足2NF的模式()。

A.可能是1NFB.必定是1NFC.必定是3NFD.必定是BCNF正确答案:B7、不能使一个关系从第一范式转化为第二范式的条件是()。

A.每一个非主属性都完全函数依赖于主码B.每一个非主属性都部分函数依赖于主码C.关系中没有非主属性D.主码由一个属性构成正确答案:B二、判断题1、关系模式的分解是唯一的。

(错)2、一个关系模式属于BC范式,它一定属于第三范式。

(对)3、在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,称函数依赖X→Y为完全函数依赖。

(错)4、函数依赖集F={A→B,B→C,C→A,C→B,A→C,BC→A},它的最小函数依赖集Fmin={A→B,B→C,A→C}。

(错)三、填空题1、被函数依赖集F逻辑蕴涵的函数依赖的全体构成的集合,称为。

正确答案:函数依赖集F的闭包2、设有关系模式R(A,B,C,D,M,N),函数依赖集F={N→D,M→D,D→B,BC→D,DC→N},R的候选码为。

数据库原理习题及答案

数据库原理习题及答案

1.从程序和数据之间的关系分析文件系统和数据库系统之间的区别和联系。

区别:文件系统:用文件将数据长期保存在外存上,程序和数据有一定的联系,用操作系统中的存取方法对数据进行管理,实现以文件为单位的数据共享。

数据库系统:用数据库统一存储数据,程序和数据分离,用DBMS统一管理和控制数据,实现以记录和字段为单位的数据共享。

联系:均为数据组织的管理技术;均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;数据库系统是在文件系统的基础上发展而来的。

2.什么是数据库?数据库是长期存储在计算机内、有组织的、可共享的数据集合。

数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。

因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。

3.什么是数据冗余?数据库系统与文件系统相比怎样减少冗余?在文件管理系统中,数据被组织在一个个独立的数据文件中,每个文件都有完整的体系结构,对数据的操作是按文件名访问的。

数据文件之间没有联系,数据文件是面向应用程序的。

每个应用都拥有并使用自己的数据文件,各数据文件中难免有许多数据相互重复,数据的冗余度比较大。

数据库系统以数据库方式管理大量共享的数据。

数据库系统由许多单独文件组成,文件内部具有完整的结构,但它更注重文件之间的联系。

数据库系统中的数据具有共享性。

数据库系统是面向整个系统的数据共享而建立的,各个应用的数据集中存储,共同使用,数据库文件之间联系密切,因而尽可能地避免了数据的重复存储,减少和控制了数据的冗余。

4.使用数据库系统有什么好处?查询迅速、准确,而且可以节约大量纸面文件;数据结构化,并由DBMS统一管理;数据冗余度小;具有较高的数据独立性;数据的共享性好;DBMS还提供了数据的控制功能。

5.什么是数据库的数据独立性?数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。

逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。

数据库原理答案

数据库原理答案

第二章计算R ∪S ,R-S ,R ∩S ,R ×S ,π3,2(S ),σB<’5’(R), R R S 。

解: R ∪S A B C R -S A B CR ∩S A B C3 6 7 3 6 7 7 2 32 5 7 2 5 7 7 234 4 34 4 3 3 4 5R ×S R.A R.B R.C S.A S.B S.C π3,2(S )C B 3 6 7 3 4 5 5 4 3 6 7 7 2 33 22 5 7345 2 5 7 7 2 3 7 2 3 3 4 5 7 2 3 7 2 3 4 4 3 3 4 5 4 4 3 7 2 3 σB<’5’(R )A B C R ⋈SR.A R.B R.C S.A S.B S.C 7 2 37 2 3 3 45443R ⋈S A B C7232.7 设有关系R 和S : R A BS B C a b b c c b e a d eb d计算R ⋈ S ,R ⋈ S ,σA=C (R ×S),S ⋉ R 。

2<2B<C解:R⋈S A B C R⋈S R.A R.B S.B Ca b c a b b ca b d a b b dc b c c b b cc bd c b b dd e aS ⋉R B Cb cb d2.17 设有4个关系:S(S#,SNAME,AGE,SEX)SC(S#,C#,SCORE)C(C#,CNAME,T#)T(T#,TNAME,TITLE)试用关系代数表达式表示下列查询语句:①检索年龄小于17岁的女学生的学号和姓名。

②检索男学生所学课程的课程号和课程名。

③检索男学生所学课程的任课教师的工号和姓名。

④检索至少选修两门课程的学生学号。

⑤检索至少有学号为S2和S4学生选修的课程的课程号。

⑥检索WANG同学不学的课程的课程号。

⑦检索全部学生都选修的课程的课程号与课程名。

⑧检索选修课程包含LIU老师所授全部课程的学生学号。

数据库原理课后答案

数据库原理课后答案

5、五种基本关系代数运算是∪、-、×、π和σ
பைடு நூலகம்
6、关系代数中的θ联接操作由σ和×操作组合而成。
7、在关系数据模型中,把记录类型 称为关系模式。
8、对一个关系做投影操作后,新关系的基数个数小于或等于原来关系的基数个数。
9、有关系:R(A,B,C)主键=A,S(D,A)主键=D,外键=A,参照R的属性A,系R和S的元组如下:指出关系S中违反关系完整性规则的元组是(3,3)
2、关系代数中专门的关系运算包括:选择、投影、连接和除法,主要实现_查询_类操作。
3、关系数据库的关系演算语言是以_谓词演算_为基础的DML语言。
4、关系数据库中,关系称为_表__,元组亦称为__行__,属性亦称为_列__。
5、数据库描述语言的作用是_定义数据库_。
6、一个关系模式可以形式化地表示为_R(U,D,dom,F)_。
第2章关系数据库
一、单项选择题
1、设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个数为(r+s )
2、在基本的关系中,下列说法正确的是(任意两个元组不允许重复)
3、有关系R和S,R∩S的运算等价于R-(R-S)
4、设关系R(A,B,C)和S(A,D),与自然连接R ∞ S等价的关系代数表达式是∏B,C,S.A,D(σR.A=S.A(R×S))
10、将两个关系中满足一定条件的元组连接到一起构成新表的操作称为_θ-连接_操作。
7、关系数据库操作的特点是__一次一集合_式操作。
8.数据库的所有关系模式的集合构成_关系数据库模型_,所有的关系集合构成_关系数据库_。
9、在关系数据模型中,两个关系R1与R2之间存在1:m的联系,可以通过在一个关系R2中的_外键或外码或外部关键字_在相关联的另一个关系R1中检索相对应的记录。

数据库原理 第二章 关系数据库期末习题与答案

数据库原理 第二章 关系数据库期末习题与答案

1、一个关系只能有一个()。

A.超码B.外码C.候选码D.主码正确答案:D2、在教务管理数据库中,关系数据库模式为S(SNO,SN,Sex,Age,Dept),SC(SNO,CNO,SCORE),S为学生关系,SC为选课关系,则分数大于等于60分的学生学号的关系代数为()A.B.C.D.正确答案:C3、有两个关系R和S,分别含有15个和10各元组,则在RUS,R-S,RnS中不可能出现的元组情况是()A.15,5,10B.18,7,7C.21,11,4D.25,15,0正确答案:B4、关系运算中花费时间可能最长的是()A.选取B.投影D.差正确答案:C二、填空题1、传统集合运算执行交、并、差运算的时候,参与运算的关系必须是()的关系。

正确答案:相容2、当对两个关系R和S进行自然连接运算时,要求R和S含有一个或多个共有的()。

正确答案:域或属性3、实体的完整性是对()的约束。

正确答案:主码或主键4、参照完整性规则是对()的约束。

正确答案:外键或外码5、根据关系规范化的要求,关系模式的任何属性()。

正确答案:不可再分或唯一三、判断题1、关系代数的运算对象和运算结果都是关系。

(对)2、关系R中有n条元组,关系S中有m条元组,则关系R和关系S的广义笛卡尔乘积上有n+m条元组。

(错)3、从关系规范化的角度,籍贯可以作为关系模式的属性。

(错)4、关系表中的元组是可以交换顺序的。

(对)5、“并”操作在实际应用中可用于删除关系中的元组。

(错)。

数据库原理教程习题答案解析(全)

数据库原理教程习题答案解析(全)

0000000000第1章数据库系统概述习题参考答案税务局使用数据库存储纳税人(个人或公司)信息、纳税人缴纳税款信息等。

典型的数据处理包括纳税、退税处理、统计各类纳税人纳税情况等。

银行使用数据库存储客户基本信息、客户存贷款信息等。

典型的数据处理包括处理客户存取款等。

超市使用数据库存储商品的基本信息、会员客户基本信息、客户每次购物的详细清单。

典型的数据处理包括收银台记录客户每次购物的清单并计算应交货款。

1.2 DBMS是数据库管理系统的简称,是一种重要的程序设计系统。

它由一个相互关联的数据集合和一组访问这些数据的程序组成。

数据库是持久储存在计算机中、有组织的、可共享的大量数据的集合。

数据库中的数据按一定的数据模型组织、描述和存储,可以被各种用户共享,具有较小的冗余度、较高的数据独立性,并且易于扩展。

数据库系统由数据库、DBMS(及其开发工具)、应用系统和数据库管理员组成。

数据模型是一种形式机制,用于数据建模,描述数据、数据之间的联系、数据的语义、数据上的操作和数据的完整性约束条件。

数据库模式是数据库中使用数据模型对数据建模所产生设计结果。

对于关系数据库而言,数据库模式由一组关系模式构成。

数据字典是DBMS维护的一系列内部表,用来存放元数据。

所谓元数据是关于数据的数据。

1.3 DBMS提供如下功能:(1)数据定义:提供数据定义语言DDL,用于定义数据库中的数据对象和它们的结构。

(2)数据操纵:提供数据操纵语言DML,用于操纵数据,实现对数据库的基本操作(查询、插入、删除和修改)。

(3)事务管理和运行管理:统一管理数据、控制对数据的并发访问,保证数据的安全性、完整性,确保故障时数据库中数据不被破坏,并且能够恢复到一致状态。

(4)数据存储和查询处理:确定数据的物理组织和存取方式,提供数据的持久存储和有效访问;确定查询处理方法,优化查询处理过程。

(5)数据库的建立和维护:提供实用程序,完成数据库数据批量装载、数据库转储、介质故障恢复、数据库的重组和性能监测等。

数据库原理关系运算习题答案

数据库原理关系运算习题答案

数据库原理关系运算习题答案数据库系统原理第四章关系运算课后习题答案4.1 名词解释(1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。

(2)关系模式:关系模式实际上就是记录类型。

它的定义包括:模式名,属性名,值域名以及模式的主键。

关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。

(3)关系实例:元组的集合称为关系和实例,一个关系即一张二维表格。

(4)属性:实体的一个特征。

在关系模型中,字段称为属性。

(5)域:在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。

(6)元组:在关系中,记录称为元组。

元组对应表中的一行;表示一个实体。

(7)超键:在关系中能唯一标识元组的属性集称为关系模式的超键。

(8)候选键:不含有多余属性的超键称为候选键。

(9)主键:用户选作元组标识的一个候选键为主键。

(单独出现,要先解释“候选键”)(10)外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC 的外键。

(11)实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。

如果出现空值,那么主键值就起不了唯一标识元组的作用。

(12)参照完整性规则:这条规则要求“不引用不存在的实体”。

其形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中, K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。

这条规则在使用时有三点应注意:1)外键和相应的主键可以不同名,只要定义在相同值域上即可。

2)R1和R2也可以是同一个关系模式,表示了属性之间的联系。

3)外键值是否允许空应视具体问题而定。

(13)过程性语言:在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。

如Pascal和C语言等。

(14)非过程性语言:编程时只须指出需要什么信息,不必给出具体的操作步骤。

数据库原理及应用 练习题及参考答案

数据库原理及应用 练习题及参考答案

数据库原理与应用练习题及参考答案一、选择题1.一下关于关系的说法正确的是(A)A.一个关系就是一张二维表B.在关系所对应的二维表中,行对应属性,列对应元组。

C.关系中各属性不允许有相同的域。

D.关系的各属性名必须与对应的域同名。

2.关系数据表的关键字可由(D)属性组成。

A.一个B.两个C.多个D.一个或多个3.进行自然连接运算的两个关系(A)A.至少存在一个相同的属性名B.可不存在任何相同的属性名C.不可存在个相同的属性名D.所有属性名必须完全相同4.概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的(B)。

A.数据模型B.概念模型C.层次模型D.关系模型5.Access 2010 数据库具有很多特点,下列叙述中,正确的是(B)。

A. Access 2010数据表可以保存多种数据类型,但是不包括多媒体数B. Access 2010可以通过编写应用程序来操作数据库中的数据C. Access 不能支持Internet/Intranet 应用D. Access 2010 使用切换面板窗体管理数据库对象6.数据表的基本对象是(A)A.表B.查询C.报表D.窗体7.利用Access 2010 创建数据库文件,其扩展名是(B)A.mdbB.accdbC.xlsxD. acc8.启动Access 2010 后,最先显示的是什么界面(C)A.数据库工作界面B.“打开”窗口C. Backstage D导航窗格9.在Access 数据库对象中,不包括的是(B)A.表B.向导C.窗体D.模块10.表的组成内容包括(C)A.查询和字段B.报表和字段C.字段和记录D.记录和窗体11.在Access 2010 数据库的表设计视图中,不能进行的操作是(A)A.修改字段类型B.设置索引C.增加字段D.删除记录12.某数据库的表中要添加Internet 站点的网址,应该采用的字段类型是(B)A.OLE对象B.超级链接C.查阅向导D.自动编号13.对数据表进行筛选操作,结果是(D)A.显示满足条件的记录,并将这些记录保存在一个新表中B.只显示满足条件的记录,将不满足条件的记录从表中删除C.将满足条件的记录和不满足条件的记录分为两个表进行显示D.只显示满足条件的记录,不满足条件的记录被隐藏14.在Access的数据表中删除一条记录,被删除的记录(A)A.不能恢复B.可恢复为第一条记录C.可恢复为最后一条记录D.可恢复到原来位置15.假设某数据库表中有一个姓名字段,查找姓名为张三或李四的记录的准则是(B)A. NotIn(“张三”,“李四”)B. “张三”Or“李四”C. Like(“张三”,“李四”)D. “张三”And“李四”16.假设某一个数据库表中有一个姓名字段,查找不姓王的记录的准则是(A)A. Not“王*”B. Not“王”C. NotLike“王”D. “王*”17.假设某数据库表中有一个工作时间字段,查找15天前参加工作的记录的准则是(B)A. =Date ()-15B. <Date()-15C.>Date () -15D. <=Date()-1518.除了从表中选择数据外,还可以对表中数据进行修改的查询是(C)A.选择查询B.参数查询C.操作查询D.生成表查询19.关于删除查询,下面叙述正确的是(D)A.每次操作只能删除一条记录B.每次只能删除单个表中的记录C.删除过的记录只能用“撤消”命令恢复D.每次删除整个记录,并非是指定字段中的记录20.在查询“设计视图”窗口,什么不是字段列表框中的选项(C)A.排序B.显示C.类型D. 准则21.操作查询不包括(B)A.更新查询B. 参数查询C.生成表查询D.删除查询22. SQL能够创建(C)A.更新查询B.追加查询C.各类查询D. 选择查询23. SQL语句中的DROP关键字的功能是(C)A.创建表B.在表中增加新字段C.从数据库中删除表D.删除表中记录24.年龄在18~21岁之间的男生的设置条件可以设置为(B)A. “>18 0r <21”B. “>18 And <21”C. “>18 Not <21”D. “>18 Like <2”25.表中存有学生姓名、性别、班级、成绩等数据,若想统计各个班各个分数段的人数最好的查询方式是(B)A.选择查询B.交叉表查询C.参数查询D.操作查询26.利用一个或多个表中的全部或部分数据建立新表的是(A)A.生成表查询B.删除查询C. 更新查询D.追加查询二、填空题1.表是由行和列组成的,行也称___元组___,列也称为__属性___或字段。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库系统原理第四章关系运算课后习题答案4.1 名词解释(1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。

(2)关系模式:关系模式实际上就是记录类型。

它的定义包括:模式名,属性名,值域名以及模式的主键。

关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。

(3)关系实例:元组的集合称为关系和实例,一个关系即一张二维表格。

(4)属性:实体的一个特征。

在关系模型中,字段称为属性。

(5)域:在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。

(6)元组:在关系中,记录称为元组。

元组对应表中的一行;表示一个实体。

(7)超键:在关系中能唯一标识元组的属性集称为关系模式的超键。

(8)候选键:不含有多余属性的超键称为候选键。

(9)主键:用户选作元组标识的一个候选键为主键。

(单独出现,要先解释“候选键”)(10)外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。

(11)实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。

如果出现空值,那么主键值就起不了唯一标识元组的作用。

(12)参照完整性规则:这条规则要求“不引用不存在的实体”。

其形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中, K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。

这条规则在使用时有三点应注意: 1)外键和相应的主键可以不同名,只要定义在相同值域上即可。

2)R1和R2也可以是同一个关系模式,表示了属性之间的联系。

3)外键值是否允许空应视具体问题而定。

(13)过程性语言:在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。

如Pascal和C语言等。

(14)非过程性语言:编程时只须指出需要什么信息,不必给出具体的操作步骤。

各种关系查询语言均属于非过程性语言。

(15)无限关系:当一个关系中存在无穷多个元组时,此关系为无限关系。

如元组表达式{t|┐R(t)}表示所有不在关系R中的元组的集合,这是一个无限关系。

(16)无穷验证:在验证公式时需对无穷多个元组进行验证就是无穷验证。

如验证公式(u)(P(u))的真假时需对所有的元组u进行验证,这是一个无穷验证的问题。

4.2 为什么关系中的元组没有先后顺序?因为关系是一个元组的集合,而元组在集合中的顺序无关紧要。

因此不考虑元组间的顺序,即没有行序。

4.3 为什么关系中不允许有重复元组?因为关系是一个元组的集合,而集合中的元素不允许重复出现,因此在关系模型中对关系作了限制,关系中的元组不能重复,可以用键来标识唯一的元组。

4.4 关系与普通的表格、文件有什么区别?关系是一种规范化了的二维表格,在关系模型中,对关系作了下列规范性限制:1)关系中每一个属性值都是不可分解的。

2)关系中不允许出现相同的元组(没有重复元组)。

3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。

4)元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。

4.5 笛卡尔积、等值联接、自然联接三者之间有什么区别?笛卡尔积对两个关系R和S进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。

等值联接则是在笛卡尔积的结果上再进行选择操作,从关系R和S的笛卡儿积中选择对应属性值相等的元组;自然连接则是在等值联接(以所有公共属性值相等为条件)的基础上再行投影操作,并去掉重复的公共属性列。

当两个关系没有公共属性时,自然连接就转化我笛卡尔积。

4.6 设有关系R和S(如下:)计算:4.7 设有关系R和S(如下:)计算:4.8 如果R是二元关系,那么下列元组表达式的结果是什么?{t|(u)(R(t)∧R(u)∧(t[1]≠u[1]∨t[2]≠u[2]))}这个表达式的意思是:从关系R中选择元组,该元组满足:第1分量值或第2分量值至少有一个不等于其他某元组。

由于R是二元关系,只有两个分量,由于没有重复元组,上述条件显然满足。

所以,这个表达式结果就是关系R。

4.9 假设R和S分别是三元和二元关系,试把表达式π1,5(σ2=4∨3=4(R×S))转换成等价的:(1)汉语查询句子;(2)元组表达式;(3)域表达式。

(1)汉语表达式:从R×S关系中选择满足下列条件的元组:第2分量(R中第2分量)与第4分量(S中第1分量)值相等,或第3分量(R中第3分量)与第4分量(S中第1分量)值相等;并取第1列与第5列组成的新关系。

(2)元组表达式:{t|(u)(v)(R(u)∧S(v)∧(u[2]=v[1]∨u[3]=v[1])∧t[1]=u[1]∧t[2]=v[2])} (3)域表达式:{xv|(y)(z)(u)(R(xyz)∧S(uv)∧(y=u∨z=u))}4.10 假设R和S都是二元关系,试把元组表达式{t|R(t)∧(u)(S(u)∧u[1]≠t[2])}转换成等价的: (1)汉语查询句子;(2)域表达式:(3)关系代数表达式。

(1)汉语表达式:选择R关系中元组第2分量值不等于S关系中某元组第1分量值的元组。

(2)域表达式:{xy|(u) (v)(R(xy)∧S(uv)∧(u≠y))}(3)关系代数表达式:π1,2(σ2≠3(R×S))4.11 试把域表达式{ab|R(ab)∧R(ba)}转换成等价的:(1)汉语查询句子;(2)关系代数表达式;(3)元组表达式。

(1)汉语查询句子:选择R中元组第1分量值与第2分量值互换后仍存在于R 中的元组。

(2)关系代数表达式:π1,2(σ1=4∧2=3(R×R));(3)元组表达式:{t|(u)(R(t)∧R(u)∧t[1]=u[2]∧t[2]=u[1])}4.12 设有两个关系R(A,B,C)和S(D,E,F),试把下列关系代数表达式转换成等价的元组表达式:(1)πA (R);(2)σB='17'(R);(3)R×S;(4)πA,F(σC=D(R×S))(1){t|(u)(R(u)∧t[1]=u[1])}(2){t|R(t)∧t[2]='17')}(3){t|(u)(v)(R(u)∧S(v)∧t[1]=u[1]∧t[2]=u[2]∧t[3]=u[3]∧t[4]=v[1]∧t[5]=v[ 2]∧t[6]=v[3])}(4){t|(u)(v)((R(u)∧S(v)∧u[3]=v[1]∧t[1]=u[1]∧t[2]=v[3])}4.13 设有三个关系:S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)试用关系代数表达式表示下列查询语句。

(见下一题)4.14 试用元组表达式表示上题中各个查询语句。

(1)检索LIU老师所授课程的课程号、课程名。

πC#,CNAME(σTEACHER='LIU'(C)){t|(u)(C(u)∧C[3]='LIU'∧t[1]=u[1]∧t[2]=u[2])}(2)检索年龄大于23岁的男学生的学号与姓名。

πS#,SNAME(σAGE>'23'∧SEX='男'(S)){t|(u)(S(u)∧u[3]>'23'∧u[4]='男'∧t[1]=u[1]∧t[2]=u[2])}(3)检索学号为S3学生所学课程的课程名与任课教师名。

πCNAME,TEACHER(σS#='S3'(SC C)){t|(u)(v)(SC(u)∧C(v)∧u[1]='S3'∧v[1]=u[2]∧t[1]=v[2]∧t[2]=v[3])}(4)检索至少选修LIU老师所授课程中一门课程的女学生的姓名。

πSNAME(σSEX='女'∧TEACHER='LIU'(S SC C)){t|(u)(v)(w)(S(u)∧SC(v)∧C(w)∧u[4]='女'∧v[1]=u[1]∧v[2]=w[1]∧w[3]='LIU'∧t[1]=u[2])}(5)检索WANG同学不学的课程号。

πC#(C)-πC#(σSNAME='WANG'(S SC))或者,πC#(SC)-πC#(σSNAME='WANG'(S SC)) (全部课程号减去WANG同学所学的课程号){t|(u)(v)(C(u)∧SC(v)∧(u[1]=v[2]=>(w)(s(w)∧w[1]=v[1]∧W[2]≠'wang'))∧t[1]=u[1])}(从C中选择满足条件的元组:SC中的所有元组,如果学号与C中所选元组相同的话,其在S 中对应的姓名肯定不是'wang'。

)Notice:"p1=>p2"的含义是:如果p1为真,则p2为真。

(6)检索至少选修两门课程的学生学号。

πS#(σ1=4∧2≠5(SC×SC))SC自乘之后,再选择(同一个学号中两个课程号不同的元组),投影。

{t|(u)(v)(SC(u)∧SC(v)∧u[1]=v[1]∧u[2]≠v[2])∧t[1]=u[1]}(7)检索全部学生都选修的课程的课程号与课程名。

πC#,CNAME(C(πS#,C#(SC)÷πS#(S))) (涉及到全部值时,应用除法,“除数”是"全部"){t|(u)(v)(w)(S(u)∧SC(v)∧C(w)∧u[1]=v[1]∧v[2]=w[1]∧t[1]=v[1]∧t[2]=V[2])}(8)检索选修课程包含LIU老师所授课程的学生学号。

πS#(σTEACHER='LIU'(SC C)){t|(u)(v)(SC(u)∧C(v)∧u[2]=v[1]∧v[3]='LIU'∧t[1]=u[1])}如果LIU老师有多门课程,则选修课程包含LIU老师所授全部课程的学生学号为:πS#,C#(SC)÷πC#(σTEACHER='LIU'(C))4.15 在教学数据库S、SC、C中,用户有一查询语句:检索女同学选修课程的课程名和任课教师名。

(1)试写出该查询的关系代数表达式;(2)试写出查询优化的关系代数表达式。

(1)πCNAME,TEACHER(σSEX='女'(S SC C))(2)优化为:πCNAME,TEACHER(CπC#(πS#,C#(SC)πS#(σSEX='女'(S))))(基本思路:尽量提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值。

相关文档
最新文档