头歌实践教学平台--【数据库概论】--第二章关系代数主观题(一)---(五)(含解析)

前言:

由于题目问题比较多知识点重复性比较强,博主打算先详细为大家分析一道题,让大家熟悉解题思路,为了避免篇幅过长,之后类似题型博主将直接给出答案不做过多分析,(注意:所有表达式均未用Markdown语法,如需表示下标,用如下格式)

eg:Π_{Tno} 

(一) 

 (1)【分析】第一个问题是列出工资超过5000的教师的不同年龄。首先,需要从Work表中筛选出Salary > 5000的记录。这里应该用选择操作σ。但之后需要获取对应的教师年龄,所以需要和Teacher表进行自然连接,因为Work表里的Tno对应Teacher的Tno。连接之后,选择年龄属性,并且要去重,所以需要用投影π,并且加上不同的年龄,所以直接用π Tage。

按照这个操作的先后顺序我们可以按步骤写出表达式   σSalary>5000(Work)------>σSalary>5000(Work)⨝ Teacher-------->Π Tage(σ Salary>5000 (Work) ⨝ Teacher)‌

最终结果:Π Tage(σ Salary>5000 (Work) ⨝ Teacher)‌

(2)【分析】第二个问题是查找不在计算机系工作的教师代码。首先我们可以找出所有在计算机系工作的教师,然后用Teacher的Tno减去这些教师。具体步骤可能包括:先选择Dname='计算机系'的Department得到计算机系的Dno,然后和Work表自然连接,得到在计算机系工作的Tno,然后从Teacher的Tno中减去这部分。

按照这个操作的先后顺序我们可以按步骤写出表达式   σ Dname='计算机系' (Department)---> σ Dname='计算机系' (Department) ⨝ Work--->ΠTno (σ Dname='计算机系' (Department) ⨝ Work)‌  --->ΠTno (Teacher) - ΠTno (σ Dname='计算机系' (Department) ⨝ Work)‌ 

最终结果:ΠTno (Teacher) - ΠTno (σ Dname='计算机系' (Department) ⨝ Work)‌ 

(3)【分析】第三个问题是系主任T1管辖范围内的所有教师姓名。系主任T1应该是指Department表中Tno='T1'的系主任所管理的部门。首先,找到Department表中Tno='T1'的Dno,也就是该系主任管理的部门。然后,Work表中这些Dno对应的教师Tno,再连接Teacher表获取姓名。所以表达式是π Tname (σ Tno='T1' (Department) ⨝ Work ⨝ Teacher)‌

按照这个操作的先后顺序我们可以按步骤写出表达式   σ Tno='T1' (Department)--->σ Tno='T1' (Department) ⨝ Work ⨝ Teacher(注意一定要先连接Work再连接Teacher,因为Teacher中没有Dno不能跟Department连接) --->Π Tname (σ Tno='T1' (Department) ⨝ Work ⨝ Teacher)‌

最终结果:Π Tname (σ Tno='T1' (Department) ⨝ Work ⨝ Teacher)‌

(4)【分析】第四个问题比较复杂,要找出比D1系所有教师工资都高的教师工号,首先获取D1系的所有工资,然后找到所有Work中的教师,其工资都大于D1系的每一个工资。(这可以通过双重否定:教师T的工资不存在在D1系中存在一个工资≥T的工资)接着可以用差减去那些存在D1系中工资≥当前工资的教师。这样,得到的是那些工资大于所有D1系工资的教师工号。

按照这个操作的先后顺序我们可以按步骤写出表达式  ρx(Work) × ρy(Work)(这一步是将整张Work表用x和y来表示,这样做的好处是可以很好的区分D1系和非D1系的教师,同时也让我们知道笛卡尔积可表示为一张二维表,我们也可以逆用这个性质当只给出二维表时我们可以将其用笛卡尔积的形式表示)--->Π x.Tno ( σ x.Salary ≤ y.Salary ∧ y.Dno='D1' (ρx(Work) × ρy(Work)) )(这一步是筛选出属于非D1系同时工资比D1系低的教师)--->Π Tno (Work) − Π x.Tno ( σ x.Salary ≤ y.Salary ∧ y.Dno='D1' (ρx(Work) × ρy(Work)) )(通过差排除属于非D1系同时工资比D1系低的教师,最终就得到所求教师的工号了)

最终结果:ΠTno (Work) − Π x.Tno ( σ x.Salary ≤ y.Salary ∧ y.Dno='D1' (ρx(Work) × ρy(Work)) )


(二)

【答案】

(1)ΠSNO(σJNO='J1'(SPJ))

(2)ΠSNO(σJNO='J1'∧PNO='P1'(SPJ))  ((1) (2)直接在 ‌SPJ‌ 表上筛选条件并投影结果‌)

(3)ΠSNO(σJNO='J1'(SPJ)⨝σCOLOR='红'(P))(通过连接 ‌SPJ‌ 和 ‌P‌ 表关联零件颜色与供应记录‌) 

(4)ΠJNO(J) − ΠJNO(σCITY='天津'(S) ⨝ SPJ ⨝ σCOLOR='红'(P))(结合 ‌S‌、‌P‌、‌SPJ‌ 表筛选特定条件,再通过差集排除不符合的工程号‌)

(5)ΠJNO,PNO(SPJ) ÷ ΠPNO(σSNO='S1'(SPJ))  (关系代数中处理“所有”,"全部"通常用除法)


(三) 

【答案】

(1) ∏姓名,工作单位(σ读者号=‘R016’(读者))
(2) ∏姓名(σ图书号=‘B5’(读者⨝ 借阅))
(3) ∏书名(σ姓名=‘李林’(读者⨝ 借阅⨝  图书))
(4) ∏书名(σ姓名 =‘李林’∧ 还期 = NULL(读者 ⨝ 借阅⨝ 图书))


(四)

【答案】

(1) ∏Sno(σCno=‘2’(SC))
(2) ∏Sno,Sname (σSno=‘03’(S))
(3) ∏Sno,Sname(σSage >20 ∧ Ssex=‘男’(S))
(4) ∏Sno,Sname (S⨝ SC )
(5) ∏Cno,Cname (C ⨝ SC)
(6) ∏Sname,Grade (S ⨝ (σCno=‘5’ (SC ) )
(7) ∏Sno,Sname (σCname=‘数据库原理’(S ⨝ SC⨝ C)

(五)

【答案】

(1)ΠSno, Grade(σCno='1137'(SC))
(2)ΠSname, Grade(σSsex='女'(S) ⋈ SC)
(3)ΠSno, Sname( (σCname='管理学'(C) ⋈ SC) ⋈ S )
(4)ΠSno, Sname, Sdept(S) − ΠSno, Sname, Sdept(σCno='1168'(SC) ⋈ S)
(5)ΠSname( (ΠSno, Cno(SC) ÷ ΠCno(C)) ⋈ S )

数据库概论习题参考答案 第1章 绪论 习题参考答案 1、试述数据、数据库数据库管理系统、数据库系统的概念。(参见P3、4、5页) 参考答案: 描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于用户与操作系统之间的层数据管理软件; 数据库系统是指在计算机系统中引入数据库后的系统,般由数据库数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。 2.使用数据库系统有什么好处(参见P12页) 参考答案: 数据库系统使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的阶段,这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。 3.试述文件系统与数据库系统的区别和联系。(8、9、10页) 参考答案: 1)数据结构化是数据库与文件系统的根本区别。 数据库概论习题参考答案全文共18页,当前为第1页。在文件系统中,相互独立的文件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。数据库系统实现整体数据的结构化,是数据库的主要特征之数据库概论习题参考答案全文共18页,当前为第1页。 2)在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某个数据项、组数据项个记录或或组记录。 3)文件系统中的文件是为某特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加些新的应用会很困难,系统不容易扩充。而在数据库系统中数据不再针对某应用,而是面向全组织,具有整体的结构化。 5.试述数据库系统的特点。(9、10、11页) 参考答案: 数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS统管理和控制。 6.数据库管理系统的主要功能有哪些 (4页) 参考答案:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。 7.试述数据模型的概念(13页)、数据模型的作用、数据模型的三个要素。(14、15页) 参考答案: 数据模型(Data Model)也是种模型,它是现实世界数据特征的抽象。 数据库概论习题参考答案全文共18页,当前为第2页。作用:在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟,现有的数据库系统均是基于某种数据模型的。 数据库概论习题参考答案全文共18页,当前为第2页。 三个要素:数据模型由数据结构、数据操作和完整性约束三部分组成。 8、概念模型的作用(14页) 参考答案: 概念模型用于信息世界的建模,是现实世界到信息世界的第层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另方面它还应该简单、清晰、易于用户理解。 9、定义并解释概念模型中以下术语(P14-15页)。 实体、实体型、实体集、属性、码、实体联系图(E-R图) 实体:客观存在并可以相互区分的事物叫实体。 实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。 实体集:同型实体的集合称为实体集。 属性:实体所具有的某特性,个实体可由若干个属性来刻画。 码:唯标识实体的属性集称为码。 实体联系图:E-R图提供了表示实体型、属性和联系的方法 实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 数据库概论习题参考答案全文共18页,当前为第3页。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。 数据库概论习题参考答案全文共18页,当前为第3页。 10.试给出三个实际部门的E_R图,要求实体型之间具有对多,多对多各种不同的联系。 :学员和座位的关系.(满员) 座位学员联系1 1 座位 学员 联系 对多 : 值班医生和病人的关系. 值班医生病人联系1 n 值班医生 病人 联系 多对多: m n联系值班医生病人 联系 值班医生 病人 11.试给出个实际部门的E-R图,要求有三个实体型,而且三个实体型之间有多对多联系。三个实体型之间的多对多联系和三个实体型两两之间的三个多对多联系等价吗为什么 (17页) 课程联系学生 课程 联系 学生 联系联系 联系 联系 教室 教室 课程联系学生教室 课程 联系 学生 教室 mn m n l l 语义不同 12.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值