山东建筑大学数据库期末考试3答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理试题
一、单项选择题(9小题10空,每空1分,请将唯一正确答案选项填在题后括号里)
1、B
2、A
3、A
4、D
5、A,D
6、C
7、C
8、B
9、A
二、填空题(每空1分,共15分)
1.数据库恢复的基本原理就是利用(数据库后备副本)和(日志文件)来重建数据库.
2.设关系模式R是第一范式,且每个属性都不部分函数依赖于R的候选键,则称R是(2)范式。.
3.包含在(候选码)中的属性,叫做主属性。
4.关系演算是用(谓词变元)来表达查询要求的方式。
5.DBMS并发控制的单位是(事务)。
6.关系模型由(关系数据结构),(关系操作集合),(关系完整性约束)三部分组成。
7.关系代数的基本运算是并,差,(选择),(投影),(笛卡儿乘积)。
8.视图是从(基本表)导出的表。
9.1986年,(SQL)被定为关系数据库标准语言。
10.在SQL语言中授权的操作是通过(GRANT)语句实现的。
三、用关系代数或SQL语言完成下列功能(每小题5分,共20分)
设有四个关系
S(SNO,SNAME,ADDRESS,TEL)
SNO:供应商代码SNAME:姓名ADDRESS:地址TEL:电话
J(JNO,JNAME,LEADER,BG)
JNO:工程代码JNAME:工程名LEADER:负责人BG:预算
P(PNO,PNAME,SPEC,CITY,COLOR)
PNO:零件代码PNAME:零件名SPEC:规格CITY:产地COLOR:颜色
SPJ(SNO,JNO,PNO,QTY)
SNO:供应商代码JNO:工程代码PNO:零件代码QTY:数量
1.找出使用供应商代码为S1供应零件的工程号。
∏jno (σsno="s1" (SPJ))
Select jno from spj where sno="s1"
2.找出工程代码为J2的工程使用的所有零件名称、数量。
∏pno, qty (σjno="j2"(spj))
Select pno, qty from spj where jno="j2"
3.找出没有使用天津产的零件的工程号。
∏jno(SPJ) - (∏jno,PNO (SPJ)÷∏PNO (σp.city=’天津’ (P)))
Select distinct jno from spj, p
where p.pno=spj.pno and p.city<>"天津"
4.找出使用供应商S2供应的全部零件的工程号。
(∏jno,PNO (SPJ)÷∏p no (σsno='s2' (spj)))
Select jno from spj spj1 where not exists
(select * from spj spj2 where spj2.sno='s2' and not exists
(select * from spj spj3 where spj3.sno=spj1.sno and spj3.pno=s2.pno))
四、医院需建立一MIS ,管理如下信息:医院有若干科室,科室有科号、科名、主任姓名、位置、电话属性;每个科负责若干病房,每个病房归属一个科,病房有属性:病房号、位置、床位数;一个病房有若干床位,每床有一个床号。一个科有若干大夫,每个大夫归属一个科,由科主任领导,大夫有职工号、姓名、性别、年龄、职称属性;一个大夫负责若干病人,每个病人由若干大夫负责治疗,病人有身份证号、姓名、性别、年龄、职业、单位属性;每个病人都有一个病历,大夫每次治疗一个病人都要填写病历。
1、 画出E-R 图(10分)
2、 转成关系模型,写出关键字(5分)
3、 对于1:M 的联系类型,写出向关系模型转换应遵循的原则(5分)
科室(科号、科名、主任号、位置、电话)
病房(病房号、位置、床位数、所属科号)
床位(床号、病房号)
大夫(职工号、姓名、性别、年龄、职称、所属科号)
病人(身份证号、姓名、性别、年龄、职业、单位)
治疗(职工号、身份证号、病历流水号)
病历(身份证号,流水号,内容)
五、F={AB —E ,AC —H ,AD —B ,B —C ,C —D } G={AD —BEH ,B —C ,C —D}
判断F 与G 是否等价,写出求解步骤。(10分)
1)对于F Y X ∈→,求+G X ,判断+⊆G X Y
+G AB =ABCDEH ,则+⊆G AB E
+G AC =ABCDEH ,则+⊆G AC H
+G AD =ABCDEH ,则+⊆G AD B
+G B =BCD ,则+⊆G B C
+G C =CD ,则+⊆G C D
2)对于
G Y X ∈→,求+F X ,判断+⊆F X Y
+F AD =ABCDEH ,则+⊆F AD BCH
+F B =BCD ,则+⊆F B C +F C =CD ,则+⊆F
C D 因此F 与G 等价
六、对于SC (SNO ,CNO ,GRADE )建立视图
create view s_grade(sno, c_num, avg_grade)
as select sno, count(cno), avg(grade) from sc
group by sno;
试判断下列查询和更新是否允许执行。若不允许,写出理由;若允许,写出转换到 关系SC 上的相应操作。 (10分)
1、select sno, avg_grade from s_grade
where c_num >(select c_num from s_grade where sno=’98001’);
2、delete from s_grade where c_num >4;
1)不允许,不能在where 条件中比较运算符的左恻采用集函数。
2)不允许,因为视图字段含集函数,因此不允许删除。
七、问答题(每小题3分,共15分)
1、 试述事务的概念及事务的四个特性?
事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做。
四个特性:原子性、一致性、隔离性、永久性
2、 试述数据库的设计过程?
需求分析、概念设计、逻辑设计、物理设计、数据库实施、运行与维护
3、 什么是关系的实体完整性规则?
如果属性A 是基本关系R 的主属性,则属性A 不能取空值。
4、 基本的封锁类型有几种?试述它们的含义。
基本的封锁分为3类,一级封锁协议是事务T 在修改R 之前必须对其加X 锁,直到事务结束才释放。二级封锁协议是在一级封锁协议的基础上加事务T 在读取R 之前必须对其加读锁,读完后立即释放。三级封锁协议是在一级封锁协议的基础上加事务T 在读取R 之前必须对其加读锁,事务结束后释放。
5、 数据库的定义?
数据库是长期存储在计算机内的有组织、可共享的数据集合。