数据库系统模拟试卷1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京理工大学成人教育学院
数据库系统模拟试卷1
一、选择题(20分,每小题2分)
1.关于联系的多重性,下面哪种说法不正确?
A.一个多对多的联系中允许多对一的情形。
B.一个多对多的联系中允许一对一的情形。
C.一个多对一的联系中允许一对一的情形。
D.一个多对一的联系中允许多对多的情形。
2.某关系R(A, B, C, D)有函数依赖A→B, BC→D, D→A,R有几个键?
A.1
B.2
C.3
D.4
3. 有关系R和S,R∩S的运算等价于
A.S-(R-S)
B.R-(R-S)
C.(R-S)∪S
D.R∪(R-S)
4. 为了使索引键的值在基本表中唯一,在建立索引的语句中应使用保留字为:
A.UNIQUE
B.COUNT
C.DISTINCT
D.UNION
5. 由函数依赖A→B和C B,有A→C。此规则是:
A.合并规则
B.平凡依赖规则
C.传递规则
D.分解规则
6. 对数据库并发操作有可能带来的问题包括:
A.未被授权的用户非法存取数据
B.带来数据的冗余
C.破坏数据独立性
D.读出“脏数据”
7. 关系Starsin(StarName,MovieName,MovieYear,StarAddress)描述影星姓名、电影名称、电影拍摄的年份和影星居住的地址。假设一位影星可有多个地址且可拍摄多部电影,那么该关系满足最大范式是:
A.2NF
B.3NF
C.BCNF
D.4NF
8. SQL的全局约束是指基于元组的检查子句和
A.非空值约束
B.断言
C.域约束子句
D.外键子句
9. SQL中,下列叙述中不正确的是
A.SELECT语句查询结果中不允许有重复元组
B.在FROM子句中可嵌有一个SELECT语句
C.在WHERE子句中可嵌入有一个SELECT子句
D.“NOT IN”操作与“<>ALL”操作等价
10. 设关系模式R(A,B,C),F是R上的函数依赖集,F={A→B,B→C}那么F在模式AB 上的投影πAB(F)为
A.{ A→B,B→C}
B.{ A→B}
C.{ AB→C }
D.Φ(即不存在非平凡的函数依赖集)
二、填空题(10分,每小题2分)
1. 数据操作是指对DB的查询和___________两大类操作。
2. 实体完整性约束规则是对______________约束。
3. SQL语言有两种使用方式:交互式和__________。
4. 函数依赖完备的推理规则集包括:自反律、________、传递律。
5. 事务的原子性是有DBMS的_________实现的。
三、名词解释(10分,每小题2分)
1. 弱实体集
2. 非平凡多值依赖
3. 参照完整性约束
4. 授权
5. 事务的原子性
四、简答题(20分,每小题4分)
1. 设有关系R(A,B,C)和S(C,D,E),其元组如下所示:
2. 简述将违背BCNF的函数依赖分解成满足BCNF函数依赖的算法。
3. 设教学数据库中有三个基本表:
S(SNO,SNAME, AGE, SEX),其属性分别表示学号、学生姓名、年龄、性别。
C(CNO, CNAME, TEACHER),其属性分别表示课程号、课程名、上课教师名。
SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。
有如下SQL查询语句:
SELECT SNO
FROM S
WHERE NOT EXISTS
(SELECT *
FROM SC SC1,C
WHERE O=O AND SC1.SNO='S3' AND NOT EXISTS
(SELECT *
FROM SC
WHERE S.SNO=SC.SNO
AND O=O
))
请完成下列问题:用汉语句子描述出该SQL语句所表示的查询。
4.设有关系模式R(A,B,C,D,E),F是R上成立的函数依赖集,F={ABC→DE, BC→D,D→E},试问R达到第几范式,并说明理由。
5. 举例说明ER模型中实体之间M:N联系转换成关系数据模型的方法是什么?
五、设计题(24分,每小题3分)
现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)
课程(课程号,名称,学分)
学习(学号,课程号,分数)
用关系代数表达式实现下列1—4小题:
1.检索获得奖学金的所有学生所学课程的信息,包括学号、姓名、课程名和分数;
2.检索学生“黎明”所学课程中有不及格课程的课程号、名称和分数;
3.检索获得奖学金、同时又有不及格成绩的学生信息,包括学号、姓名和专业;
4.检索没有任何一门课程成绩超过90分的所有学生的信息,包括学号、姓名和专业。
用SQL语言实现下列5—8小题:
5.检索获得奖学金的所有学生所学课程的信息,包括学号、姓名、课程名和分数;
6.检索没有任何一门课程成绩超过90分的所有学生的信息,包括学号、姓名和专业;
7.对成绩有过不及格的学生,如果已经获得奖学金的,将奖学金减半;
8.定义获得奖学金、同时只有一门课程不及格成绩的学生信息视图AAA,包括学号、姓名、专业。
六、综合题(16分,第1题4分,第2题3分,后面每小题3分)
为某大型销售公司构作一个简单的销售业务数据库系统,该系统至少应管理以下内容:1.该公司分为多个下属部门(Department),如“江苏销售部”,“上海销售部”等。每个部门有若干销售员(Salesmen),每个销售员有唯一的员工号(如“S0025”)和身份证号,也包含性别、出生年月、电话等信息。一个销售员仅属于一个部门,且每个部门有一个销售员担任部门经理。
2.该系统应管理一组客户(Customer):名称、省、市、单位名称、电话等。
3.系统应管理所有销售的商品:制造商(如“春兰”、“海尔”等)、种类(如“摩托车”、“空调机”等)、规格(如“MT125”摩托车、“RE1500”型空调等)、功能及性能描述。
4.该系统用销售订单(Sales order)表示销售业务。每个订单有一个订单号和签订日期,且对应一个客户和一个销售员。一个订单至少销售一种产品,并可销售多种产品,每种产品应确定其销售数量和单价,并计算销售金额。
回答下列问题:
1. 用若干E-R图建立该系统的数据库模型。
2. 由数据库模型建立该系统的关系模式,并确定每个关系的主键和可能的外键。注意各关系中的函数依赖和多值依赖,并使你的关系能符合更高的范式。
3. 使用SQL语言完成下面计算:
⑴求销售金额最大的订单号及其销售金额。(注意利用已有查询定义视图)
⑵求每个销售的员工号、姓名及其销售金额。(注意外连接的使用)
⑶求员工号为“S0025”的销售员的部门经理的员工号及其姓名。