上海建桥学院数据库期末卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.基本概念填充题(共10分)
1.(3分)数据独立性含义是把数据定义从应用程序中分离出来它包括物理独立性和逻辑独立性两个方
面。(书P11)
2.(3分)数据库管理系统的功能概括起来是对数据的定义与操纵和对数据库的运行建立与维护。
3.(1分)关系数据模型的基本结构是数据结构、完整性约束规则和关系运算。
4.(3分)关系数据模型的完整性约束条件是实体完整性和参照完整性。
二.基本概念问答题(共10分)
1.(6分)说明主索引、聚集索引和辅助索引的含义。
答:主索引:定义在有序文件的排序域上,排序域是键。
主索引(Primary Index):是指在指定的索引字段或表达式中不允许出现重复值的索引,检索关键字里包含主关键字。主索引主要用于在永久性关系的父表或被引用表里建立参照完整性,它能确保输入字段值的唯一性,并且由该字段决定处理记录的顺序。一个数据库表只能有一个主索引。
聚簇索引:定义在有序文件的排序域上,排序域不是键
聚集索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。
聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。
辅助索引:所有其他情况
辅助索引时建立在数据文件的非排序域上的索引,即辅助索引域是数据文件的非排序域。
2.(4分)说明关系代数完备性的含义。
关系代数对数据库的数据操作是完备的,利用关系代数可以实现一切数据操作。任何一个优先关系上的关系代数操作结果都不会导致无限关系和无限验证。
三.数据库设计(共40分,每小题10分)
1.(分析5分,图5分)我们被要求为学校设计教师科研管理数据库,经过数据收集和分析,得到如下
的数据需求:
(1)学校分成若干系,每个系的数据有:系名和电话号码。系名唯一。
(2)学校需要记录每个教师的编号、名字、出生日期和职称,每个教师只属于一个系。其中教师的编号唯
一。
(3)科研项目的数据有:项目名、项目编号以及项目经费。项目编号唯一。每个科研项目可以有多个教师
参加,每个教师可以参加多个科研项目。每个科研项目有一个教师负责。
(4)科研管理数据库需要存放每个教师的简历。简历的查看需要通过教师进行。相关数据有:有关教师、
简历编号。该教师历年来主要工作。
试设计相应ER图(可用中文标识)。在ER图上标出函数对应关系和完全性。
2.(10分)假定经过概念设计图,某学校图书馆的ER图如下:
试将此ER图转换成关系数据库模式。
教师(借书证,教师名,系科名)
图书(图书编号,图书名,出版社,分类号)
图书分类(分类号,分类名)
借阅(借书证,图书编号,借阅日期)
3.(共10分)
(1)(6分)试述2NF、3NF和BCNF的定义:
2NF:第二范式是符合第一范式的关系,并且每个非主属性都完全函数依赖于主码。
3NF:满足第一范式和第二范式的关系,并且关系中的所有非主属性都不传递依赖主码。
BCNF:设关系模式R∈1NF,如果对于R的每个函数依赖X→Y,则X必为候选码,那么R∈BCNF。
(2)(4分)说明关系模式
(R(Idn,JobTitle,Salary) , {Idn→JobTitle,JobTitle→Salary} )
是2NF,但不是3NF。试用Berstein算法上述关系模式进行转换,你的结果关系模式是属于哪一范式?答:此关系模式中存在传递函数依赖,例:Idn Salary,不属于3NF。
R1(Idn,Jobtitle)
R2(Jobtitle,Salary)
3NF
4.(10分)
考察关系数据库模式school,其属性语义自明:
dept ( dname:c(30) , dnumber:c(2) )
emp ( cname:c(8) , idn:c(5) ,birthdate:date , salary: n(9,2) , dno:c(2) )
试用SQL 的Create table 语句定义表格dept和emp,要求说明dept和emp的主键和emp引用表格dept 的外键dno。
答:create table dept
(
Dame char(30),
Dnumber char(2) primary key
);
Create table emp
(
Cname char(8),
Idn char(5) primary key,
Birthdate datetime,
Salary numberic(9,2)
Dno char(2) references dept(Dnumber)
)
(30分,每小题6分)关系数据库查询
假定一个数据库SCHOOL的关系数据库模式由如下关系模式组成:
EMP(NAME,IDN,SALARY,DNO)
DEPT(DNAME,DNUMBER,CHAIRID)
PROJ(PNAME,PNUMBER,BUDGET,DNUM)
PARTICIPATES-IN(EIDN,PNO,TOTAL-HOURS)
(注:用中文表示可写成:
职工(职工名,身份证号,工资,所属系科号)
系科(系科名,系科号,系主任身份证号)
项目(项目名,项目号,经费,所属系科号)
参加(身份证号,项目号,每周小时数)
)
试写出下面查询的关系代数表达式和SQL语句:
(1)列出该校职工名,身份证号和工资。
∏NAME,IDN,SALARY(EMP)
select NAME,IDN,SALARY from EMP
(2)列出在系科名和系主任名。
ΠDNAME,NAME(DEPT ∞CHAIRID=IDN EMP)
SELECT DNAME,NAME FROM EMP,DEPT WHERE CHAIRID=IDN
(3)列出在系科名为‘Coins’上工作的职工名单。
σDNAME=’Coins’ (DEPT)∞DNO=DNUMBER EMP)
NAME(
SELECT NAME FROM DEPT,EMP WHERE DNO=DNUMBER AND DNAME=’Coins’
(4)对经费超出5万的科研项目,列出项目编号、所属系科名和参加该科研项目职工名单。
ΠPNUMBER,DNAME,NAME(BUDGET>50000(PROJ)∞PNO=PNUMBER PARTICIPATES-IN∞EIDN=IDN EMP ∞DNO=DNUMBER DEPT)
SELECT PNUMBER,DNAME,NAME FROM PROJ,PARTICIPATES-IN,EMP,DEPT
WHERE BUDGET>50000 AND PNO=PNUMBER AND EIDN=IDN AND DNO=DNUMBER
(5)列出由信息学院(ISI)所有职工都参加的项目名称。
ΠPNAME,DNUM(PROJ)÷ΠDNUMBER(σDNAME=’ISI’(DEPT))
SELECT PNAME FROM PROJ