数据库系统模拟试卷--上海交大成人教育 下载本文

内容发布更新时间 : 2024/12/26 8:47:44星期一 下面是文章的全部内容请认真阅读。

模拟试卷

一、 选择题(15分)

1. 关系的主属性不能取空值,属于( )

A. 实体完整性约束 B.参照完整性约束 C. 用户定义完整性约束 D. 动态元组约束 2. .数据库系统的数据独立性体现在( ) 。

A.不会因为数据的变化而影响到应用程序

B.不会因为数据存储结构与数据逻辑结构的变化而影响应用程序 C.不会因为存储策略的变化而影响存储结构 D.不会因为某些存储结构的变化而影响其他的存储结构

3. 概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是( ) 。 A. 层次模型 B. 关系模型 C. 网状模型 D. 实体-关系模型

4. 如果一个关系属于第3范式,则它( )

A. 必然属于2NF B. 必然属于4NF C. 可能不属于2NF D. 必然属于BCNF

5. 数据库系统由数据库、数据库管理系统、应用系统和 ( )组成。 A. 系统分析员 B. 程序员 C. 数据库管理员 D. 操作员

6. 根据DBMS的特点,进行数据库的存取方法和存储方式设置,形成了关系数据库的

( )

A. 外模式 B. 模式 C. 子模式 D. 内模式 7. 关系数据库中的投影操作是指从关系中( ) 。 A. 抽出特定记录 B. 抽出特定字段 C. 建立相应的影像 D. 建立相应的图形 8. 全码是指( )

A. 每个属性都是独立的主码 B. 每个属性都是独立的候选码 C. 所有属性组合为关系的候选码 D. 所有属性组合为关系的外码 9. 关系代数中的连接操作是由( )操作组合而成 。 A. 选择和投影 B. 选择和笛卡尔积 C. 投影、选择、笛卡尔积 D. 投影和笛卡尔积

10. 假设有关系R和S,关系代数表达式R-(R-S)表示的是()。 A. R∩S B. R∪S C. R-S D. R×S

11. 在SQL语言中的视图VIEW是数据库的( )。 A. 外模式 B. 模式 C. 内模式 D. 存储模式 12. 在概念模型中事物称为( )

A. 实体 B. 对象 C. 纪录 D. 节点 13. 下列不属于并发操作带来的一致性问题是( )。 A. 丢失修改 B. 不可重复读

C. 死锁 D. 脏读

14. 在关系R中选择若干属性列,形成新的关系,这叫做( )

A. 选取 B. 投影 C. 连接 D. 除法 15. 两张表,一张表有2条记录;另一张表记录数为5。这两张表的广义笛卡尔积有( )

条记录 A. 5 B. 2 C. 7 D. 10

二、 填空题(16分,每空2分)

1. 在 网状 模型中一个结点可以有多个双亲,结点之间可以有多种联系。

2. 现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位),医疗(患

者编号,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是_患者编号______ 3. 数据库的故障可分为事务内部故障、系统故障以及_介质故障 ___和计算机病毒。 4. 数据库设计中,确定数据库存储结构,即确定关系、索引、聚簇、日志、备份等数据的存储安排和存储结构,这是数据库设计的 物理设计 __ _阶段。 5. SQL语言中用 commit 语句实现事务的提交。

6. 关系数据模型是目前最重要的一种数据模型,它的三个要素分别是 数据结构、关系操作、完整性约束。 7. 已知关系模式R(A,B,C,D,E)及其上的函数依赖集合F={A→D,A→B ,A→

E,B→C },该关系模式的主码是 A __ 。 8. 设有两个事务T1、T2,其并发操作会出现 死锁 问题。

T1 T2 1) 2) 3) 4) 5)

LOCK R1 - LOCK R2 等待 等待 - LOCK R2 - LOCK R1 等待 三、 判断题(12分,每题3分) 1. 一个关系可以有多个主码

2. 已知关系R的一个非主属性传递依赖于关系R的主键,则该关系肯定违反了

第二范式。

3. 为了保证数据库中的数据总是正确的,一个事务必须具有原子性、一致性、

隔离性、可读性四个特性。

4. 数据库的并发可能造成丢失更新、读脏数据以及不可重复读等数据库不一致

问题,我们可以使用三级封锁协议协议防止这些情况的发生。 四、 分析设计题(57分)

(一).设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: S( SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY);

SPJ(SNO,PNO,JNO,QTY);

供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、

供应商状态(STATUS)、供应商所在城市(CITY)组成;

零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;

工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。 今有若干数据如下:

S供应商表:

SNO S1 S2 S3 S4 S5

P零件表:

PNO P1 P2 P3 P4 P5 P6

J工程项目表:

JNO J1 J2 J3 J4 J5 J6 J7 JNAME 三 建 一 汽 弹簧厂 造船厂 机车厂 无线电厂 半导体厂 CITY 北京 长春 天津 天津 唐山 常州 南京 PNAME 螺母 螺栓 螺丝刀 螺丝刀 凸轮 齿轮 COLOR 红 绿 蓝 红 蓝 红 WEIGHT 12 17 14 14 40 30 SNAME 精 益 盛 锡 东方红 丰泰盛 为 民 STATUS 20 10 30 20 30 CITY 天津 北京 北京 天津 上海

SPJ供应情况表:

SNO S1 S1 S1 S1 S2 S2 S2 S2 S2 S2 S3 S3 S4 S4 S4 S5 S5 S5 S5 PNO P1 P1 P1 P2 P3 P3 P3 P3 P5 P5 P1 P3 P5 P6 P6 P2 P3 P6 P6 JNO J1 J3 J4 J2 J1 J2 J4 J5 J1 J2 J1 J1 J1 J3 J4 J4 J1 J2 J4 QTY 200 100 700 100 400 200 500 400 400 100 200 200 100 300 200 100 200 200 500

针对数据库中4个表S、P、J、SPJ,用SQL语句进行以下操作: (1) 找出所有供应商的姓名和所在城市,并写出关系代数表达式

SELECT SNAME , CITY FROM s;

关系代数表达式:πSNAME , CITY (S)

(2) 找出工程项目J2使用的各种零件的名称及其数量。

SELECT PNAME,SUM(QTY) FROM P,SPJ

WHERE P.PNO=SPJ.PNO AND JNO=’J2’ GROUP BY PNAME;

(3) 找出上海厂商供应的所有零件号码,并写出关系代数表达式。

SELECT PNO FROM S, SPJ

WHERE S.SNO=SPJ.SNO AND S.CITY=‘上海’; 关系代数表达式:πpno(σcity = ‘上海’ (spj∞s)) 选择 , 等值连接, 投影

(4) 找出没有使用天津产的零件的工程号码。 SELECT JNO FROM J

WHERE JNO NOT IN(SELECT DISTINCT SPJ.JNO FROM SPJ, S WHERE SPJ.SNO = S.SNO AND S.CITY ='天津') (5) 把全部红色零件的颜色改成蓝色。

UPDATE P SET COLOR='蓝' WHERE COLOR='红';

(二)、设有供应商实体集S由供应商代码(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成;零件P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)组成;一个供应商可以提供多种零件,一种零件也可以由多个供应商供应,试写出供应商与零件之间关系的ER图,并将该ER图转换为关系模型。

ER图: m n S P 供应 Sno sname CITY QTY PNAME COLOR PNO

关系模式:

S( SNO,SNAME, CITY); P(PNO,PNAME,COLOR); SPJ(SNO,PNO,QTY);

(三)、下列关系模式是属于几范式的,为什么?将它拆分为符合3NF的多个关系模式: 学生(学号,系名,学生住址,课程名,成绩)

其中每个系的学生住在同一个地方,一个学生可以选多门课,一门课程可以被多个学生选。 答:

属于一范式。存在的函数依赖有: (学号,课程名) F 成绩, 学号 F 系名, 系名 F 学生住址

此关系的主码是学号、课程名,由于: