《数据库原理与应用》课程考试试卷
班级: 姓名: 学号:
考试成绩
题号 得分 一 二 三 四 五 六 七 总分 一、单项选择题(每题1分,共10分)
1.在数据库中,区分不同实体的依据是_____。( ) A. 名称 B. 属性 C. 对象 D. 概念 2. 下列叙述正确的为_____。( ) A. 主码是一个属性,它能唯一标识一列 B. 主码是一个属性,它能唯一标识一行
C. 主码是一个属性或属性集,它能唯一标识一列 D. 主码是一个属性或属性集,它能唯一标识一行
3. 按指定条件从一个关系中挑选出指定的属性组成一个新关系的运算是 ( ) A.选择 B.投影 C.连接 D.自然连接
4. 一个班级有多个学生,每个学生只能属于一个班级,班级与学生之间是 ( ) A.一对一的联系 B.一对多的联系 C.多对一的联系 D.多对多的联系 5. 一个关系中的主属性 ( ) A.至多一个 B.可多个 C.必须多个 D.可以零个
6. 顾客可到多个商场购物,商场有很多顾客购物,商场与顾客之间的联系方式是( )
A.1:1 B,1:n C, m:n D.m:1
7.关系模型有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。定义外键实现的是_____完整性。( ) A. 实体完整性 B. 参照完整性
C. 用户定义的完整性 D. 实体完整性、参照完整性和用户定义的完整性 8.下列不属于并发操作带来的问题是_____。( ) A. 丢失修改 B. 不可重复读 C. 数据冗余 D. 读脏数据
9.假如采用关系数据库系统来实现应用,在数据库设计的_____阶段,需要将E-R模型转换为关系数据模型( ) A. 概念设计 B. 物理设计 C. 逻辑设计 D. 运行阶段 10.事务的原子性是指( )
A. 事务中包括的所有操作要么都做,要么都不做 B. 事务一旦提交,对数据库的改变是永久的
C. 一个事务内部的操作对并发的其他事务是隔离的
D. 事务必须使数据库从一个一致性状态变到另一个一致性状态
二、填空题(每空1分,共10分)
1. 在关系模型中,若属性A是关系R的主码,则在R的任何元组中,属性A的取值都
不允许为空,这种约束称为________________约束。
2. 已知学生关系S(SNO,SNAME,SSEX,SAGE),要检索姓名包含“张”字的学
生姓名,其SQL语句中WHERE子句的条件表达式是________________。
3. 若关系为1NF,且它的每一非主属性都________________候选码,则该关系为2NF。 4. SQL语言是一个综合性的功能强大的语言,除了具有数据查询和数据操纵功能之外,
还具有数据定义和________________的功能。
5. 数据流图的四个基本成分是 、 、 和 。 6. 数据库系统的数据独立性包括 独立性和 独立性。
三、名词解释(每题5分,共10分)
1、 数据库系统
2、数据库设计
四、简答题(每题5分,共25分)
1.简述数据库的三级模式结构。
2.简述数据库管理系统的主要功能。
3.简述关系数据库中视图的定义,引进视图的概念有什么优点?
4.什么是数据库的安全性和完整性?两者有什么联系和区别?
5. 将E-R图转换为关系模式,主要的转换规则是什么?
五、分析设计题(15分)
某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。
1)根据上述语义画出E-R图,在E-R图中需注明实体的属性、联系的类型及实体的标识符。(6分)
2)将E-R模型转换成关系模型,并指出每个关系模式的主键和外键。(6分) 3)分析每个关系模式已经达到第几范式。(3分)
六、设有关系模式R(学号Sno,课程号Cno,成绩G,任课教师TN,教师专长TS),基于R的函数依赖集F={(Sno,Cno)→G,Cno→TN,TN→TS},判断R为第几范式?若R不为3NF,试将R分解成等价的3NF模式。(15分)
七、 设数据库中有三个关系S(SNO,SNAME,AGE,SEX)、C(CNO,CNAME,TEACHER)、SC(SNO,CNO,GRADE),请用SQL语言表示下列要求:
1)修改姓名为“李勇”的学生姓名为“李咏”;(3分) 2)将选修课程号为“1”的同学成绩加5分; (3分)
3)查询年龄在20~23岁(包括20岁和23岁)之间的学生的学号、姓名、年龄和性别;(3分)
4)查询选修2号课程且成绩在90分以上的所有学生的学号、姓名;(3分) 5)将学生的学号及他的平均成绩定义为一个视图,假设SC表中“成绩”列GRADE为数字型。(3分)
《数据库原理》A卷标准答案及评分标准(按试题顺序排列)
一、单项选择题(每小题1分,共10分) 1.B
2.D
3.B
4.B
5.B
6.C
7.B
8.C
9.C
10.A
二、填空题(每小题1分,共10分) 1. 实体完整性 4. 数据控制 7. 存储
2. SNAME like ‘%张%’ 3. 完全函数依赖于
6. 加工
5. 外部实体
8. 数据流 9. 物理独立性
10. 逻辑独立性
三、名词解释(每题5分,共10分) 1.数据库系统
数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。在不引起混淆的情况下常常把数据库系统简称为数据库。 2.数据库设计
数据库设计是指对于一个给定的应用环境,构造最优的数据库逻辑模式和物理结构,并根据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求(信息管理要求和数据操作要求)
四、简答题(每题5分,共25分)
1.答:
数据库系统的三级模式结构是指数据库系统是由模式、外模式和内模式三级构成的。
(1)模式 模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
(2)外模式 外模式也称用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
(3)内模式 内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式
的描述,是数据在数据库内部的表示方式。 2. 答:
(1)数据定义功能
(2)数据操纵功能:提供数据操纵语言(DML) (3)数据库的运行管理
(4)数据库的建立和维护功能(实用程序)
3. 答:
视图是从一个或几个基本表导出的表,视图本身不独立存储在数据库中, 是一个虚表。引进视图的优点有: (1)能够简化用户的操作。 (2)视图使用户能以多种角度看待同一数据。 (3)视图对重构数据库提供了一定程度的逻辑独立性。(4)视图能够对机密数据提供安全保护。
4. 答:
数据库的完整性和安全性是两个不同的概念,前者是为了防止数据中存在不符合语义的数据,防止错误信息的输入和输出。即所谓“垃圾进垃圾出”所造成的无效操作的错误结果,而后者是保护数据库,防止恶意破坏和非法的存取。
当然,完整性和安全性是密切相关的,特别从系统实现的方法来看,某一机制常常即可用于安全性保护亦可用于完整性保证。
5. 答:
一个实体型转换为一个关系模式。关系的属性:实体型的属性;关系的码:实体型的码。 一个m:n联系转换为一个关系模式。关系的属性:与该联系相连的各实体的码以及联系本身的属性;关系的码:各实体码的组合
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
三个或三个以上实体间的一个多元联系转换为一个关系模式。关系的属性:与该多元联系相连的各实体的码以及联系本身的属性关系的码:各实体码的组合。 五、分析设计题(15分) 1、(8分) 工厂编号 厂名 地址
工厂 M 1 聘期
计划数量 生产 聘用 工资
N N
产品 职工
产品编号 产品名 规格 职工号 姓名
(2) 关系(4分)
工厂(工厂编号,厂名,地址)
职工(职工号,姓名,聘期,工资,工厂编号) 产品(产品编号,产品名,规格) 生产(工厂编号,产品编号,计划数量) 聘用(工厂编号,职工号,聘期,工资)
(3) 范式分析(3分) 六. (15分)
步骤1:判断关系模式R属于第几范式?
1)判断是否符合1NF,因为每个属性不可再分,故属于1NF; (3分) 2)判断是否符合2NF,由函数依赖集和函数依赖图可得出关系R的候选码为:(sno,cno),判断非主属性(G,TN, TS)是否完全函数依赖于主属性 ,因为有Cno→TN ,故存在部分函数依赖;关系模式R不满足2NF的要求; 所以关系模式R属于1NF; (3分) 步骤2:将关系模式R转化为等价的3NF
1)先转化为2NF (3分) 根据投影分解法,可先将R转化为R1(sno,cno,g)和R2(cno,tn,ts); 2)将R1和R2转化为3NF (3分)
因为R1中非主属性完全函数依赖于主属性且不存在传递依赖,故R1属于3NF,不需要继续分解; 关系R2中,候选码为cno,由于存在Cno→TN,TN→TS ,故存在传递函数依赖,应进行
分解,可分解为R3(cno,tn)和R4(tn,ts)经判断,R3和R4满足3NF; 故关系模式R转换为等价的3NF,可分解为 R1(sno,cno,g)、R3(cno,tn)和R4(tn,ts) (3分) 七、综合题(共15分)
1) update s
Set sname = ‘李咏’
Where sname=‘李勇’ 2) update sc
Set grade = grade+5
Where c#=‘1’
(3分)
(3分)
3)SELECT sno,sname,age,sex from s WHERE age BETWEEN 20 and 23
(3分) 4) SELECT s.sno, s.sname FROM s, sc
WHERE s.sno = sc.sno AND sc.cno= ‘2’ AND sc.grade > 90; (3分) 5) CREAT VIEW S_G (Sno,Gavg)
AS
SELECT sno,AVG(grade) FROM sc
GROUP BY sno; (3分)
因篇幅问题不能全部显示,请点此查看更多更全内容