数据库复习题答案版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库复习题答案版
数据库技术及应⽤复习题
⼀,问答题
1、据独⽴性的含义。
(指数据不依赖于⼦程序)
2、据库系统中的三级模式是什么?(外模式模式和内模式)
3、状数据库中记录与纪录之间是通过什么联系的?(指针)
4、次数据库中记录与纪录之间是通过什么联系的?(指针)
5、系数据库中表与表之间是通过什么联系的?(公共属性或外码)
6、数据得存储结构改变时,数据的逻辑结构可以不变,从⽽应⽤程序也不⽤改变这就是数据与程序的什么独⽴性?(物理独⽴性)
7、数据的全局逻辑结构改变时,数据的局部逻辑结构可以不变,从⽽应⽤程序也不⽤改变这就是数据与程序的什么独⽴性?(逻辑⽴性)
8、关系模型中,任何关系必须满⾜哪三类完整性约束?(实体完整性,参照完整性和⽤户⾃定义完整性)
9、两个实体集之间的联系有哪三种?(⼀对⼀联系⼀对多联系和多对多联系)
10、模型(E-R模型)属于哪种类模型?(概念模型)
11、结构数据模型有哪三类?(关系数据模型,层次数据模型和⽹络数据模型)
12、关系中的选择运算和投影运算的含义是什么?(选择出满⾜条件的⾏和选择出满⾜条
件的列构成新的关系)
13、概念模型数据模型和物理模型与DBMS和硬件的关系?(独⽴于DBMS)
14、事务的提交命令和滚命令是什么?(COMMIT、ROLLBACK)
15、数据库中常见故障的种类有哪些?(事务内部故障、系统故障、介质故障、计算机
病毒)
16、SQL Sever中的对象权限的含义及内容。
(对象权限的含义:针对数据库对象设置,
由数据库对象拥有者授予或撤消。
对象权限的内容:包括SELECT、UPDATE、INSERT、DELETE、EXECUTE等)
17、SQL Sever 中的语句权限的含义及内容(语句权限的含义:针对数据库设置,由数
据库管理员或数据库拥有者授予或撤消。
语句权限的内容:包括CREATE DATABASE、CREATE DEFAULT、CREATE PROCEDURE、CREATE RULE、CREATE TABLE、CREATE VIEW等)
18、SQL Sever 中的数据库完整性及实现⽅法。
(数据库完整性种类有3种:域完整性、
实体完整性、参照完整性。
数据库完整性实现⽅法有2种:声明数据完整性和过程数据完整性)
19、SQL Sever 中的实现数据库完整性的4种⽅法。
(约束:通过限制表、⾏和列中的沪
剧来保证数据完整性,在创建和修改表时定义。
默认和规则:数据库对象,创建后可以绑定到⼀列或⼏列上,可反复使⽤。
触发器:维护⾏级数据的完整性,是特殊的存储过程。
)
20、SQL Sever 中数据库和应⽤的安全机制有那四种?(安全机制有4种。
WINDOW NT
操作系统的登陆安全措施、SQL SERVER登陆安全措施、SQL SERVER数据库的安全措施、SQL SERVER数据库对象的安全措施。
)
21、分布式数据库的特点。
(数据独⽴性:集中与⾃治共享结合的控制能⼒:适当增加数
据冗余度;全局的⼀致性、可串⾏性和可恢复性)
22、数据库中封锁的概念及环节(封锁:对所要操作的数据的控制能⼒。
3个环节:社请
加锁、获得锁、释放锁)
23、⽇志⽂件的作⽤和登记⽇志⽂件的两条原则。
(⽇志⽂件的作⽤:⽤于数据恢复。
登
记⽇志⽂件的两条原则:严格按照并发事务执⾏的时间次序,先写⽇志⽂件,后写数据
库的更新操作)
24、事务故障的恢复⽅法(反向扫描⽇志⽂件,查找事务的更新操作,对事务的更新操作执⾏逆向操作,重复上述步骤,直接读到该事务的开始标记)
25、数据库中系统故障的恢复⽅法(正向扫描⽇志⽂件,对事务标记为重做或撤消;对标记为重点的事务进⾏重做处理;对标记为撤消的事务进⾏撤消处理)
26、E-R图设计中,合并分E-R图时可能产⽣的冲突及解决⽅法(可能的冲突类型有3种:属性冲突,命名冲突和结构冲突。
解决属性冲突和命名冲突:主要采⽤协商⽅法。
解决结构冲突:主要采⽤技术⼿段)
27、事务的四个性质是什么?(原⼦性、⼀致性、永久性、隔离性)
28、有两个实体集,若它们之间存在着⼀个M:N联系,1:M 联系和 1:1联系,根据E-R
模型转换成关系数据库的规则,这个E-R结构转换成表的个数分别是多少?(3、2、2)29、关系与笛卡⼉集的联系?关系代数包括哪些运算?(关系是笛卡尔积的⼦集,关系代数包括传统的运算和专门的关系运算)
30、SQL Sever 中锁的类型(有基本锁和特殊锁两类。
其中共享锁(S锁)和排它锁(X 锁)属于基本锁,意向锁、修改锁和模式锁属于特殊锁锁)
⼆、填空题
1、现实中事物之间的联系有三种,分别是(⼀对⼀)联系,(⼀对多)联系和(多对多)联系,这反映了(实体集)之间的联系。
2、班级和学⽣之间的联系是(⼀对多)联系,班级和班长之间的联系是(⼀对⼀)联系,学⽣和课程之间的联系是(多对多)联系。
3、数据库的三级模式结构中,外模式有(任意多个),模式和内模式只有(1个)。
4、DB的含义是(数据库),DBS的含义是(数据库系统)DBMS的含义是(数据库管理系统)。
5、⽀持数据库中数据的逻辑独⽴性和物理独⽴性的机制是(三级模型、⼆级模型)
6、⽤⼆维表结构表⽰实体与实体之间的联系的数据模型是(关系模型),⽤树形结构表⽰记录与记录之间的联系的数据模型是(层次模型),⽤图形的是(⽹状模型或⽹络模型)
7、在关系理论中称为“元组”的概念,在关系数据库中称为(记录),在⼆维表中称为(⾏),在现实世界中称为(实体)。
8、在关系理论中称为“属性”的概念,在关系数据库中称为(字段),在⼆维表中称为(列),在现实世界中称为(属性)。
9、在概念模型中,⼀个实体相对于关系数据库中⼀个关系的⼀个(元组),⼀个属性相对于关系数据库中的⼀个关系中的⼀个(字段)。
10、在关系数据库中,实现“表中任意两⾏不能相同”的约束是靠(主码)实现的,实现“表与表中的⾃然连接”的约束是靠(外码)。
11、关系数据库中,实现表与表之间的联系是通过(参照完整性规则)实现的,实现“表中任意两⾏不能相同”的约束是靠(实体完整性规则)实现的。
12、数据流图和数据字典,属于数据库系统设计的(系统分析)阶段,把E-R图转换成关系模型的过程,属于数据库设计系统设计的(逻辑设计)阶段,把ER转换成关系模型的过程,数据数据库设计的(概念设计)阶段,存取⽅法和存储结构的选择,属于数据库系统设计中的(物理结构设计)阶段。
13、“关系”这个术语来⾃于数学中的(集合)概念,因此,关系中任意两个元组不能(相等),关系中元组和属性的顺序有(⽆关性)的性质。
14、两个关系R和S的差运算结果是由(属于R⽽不属于S)的元组构成的新关系,并运算结果是由(属于R⽽属于S)的元组构成的新关系,交运算结果是由(属于R也属于S)的元组构成的新关系。
15、规范的关系范式中,元组的每个属性都是(最⼩的或不可分解的),数据函数依赖指的是,数据库中的(⼀切或所有)关系均满⾜的性质,将关系模式R分解为3NF,必须是(每个)⼦模式都要达到3NF。
16、在标准SQL中,建⽴数据库结构(CREATE SCHEMA)的命令为(CREA TE TABLE)、简历数据库表结构的命令为(DROP TABLE)、从数据库中删除表的命令为(DROP INDEX)、索引的撤销命令为,建⽴试图⽤(CREATE VIEW)命令,实现数据存取的安全性控制命令是(GRANT和REVOKE)。
17、在标准SQL中,段整型数据类型⽤(SMALLINT)⼦句、⼗进制数据类型⽤(NUMERIC)⼦句。
18、在SQL语⾔的查询语句中,实现投影操作的是(SELECT)⼦句、实现选择操作的是(WHERE)⼦句,实现链接操作的是(FROM)⼦句。
19、⼤型数据库的设计通常是MIS系统分析与设计的重要组成部分,数据库设计的⽅法应该属于(系统设计)的范畴。
20、SQL的GRANT语句实现(⽤户授权)、CREATE TABLE语句的ON DELETE RESTRICT ⼦句实现(删除限制)功能、ON DELETE SET NULL⼦句实现(删除空置)功能、ON INSERT RESTRICT ⼦句实现(插⼊限制)功能。
21、实现数据库中笔法控制的⽅法是(封琐)机制、实现数据库中回复控制的⽅法是(数据备份)技术、实现数据备份的关键技术是(数据转换和登陆⽇志⽂件)。
22、将关系模式R分解为3NF ,⼀定可以满⾜既具有(⽆损连接性)⼜保持(函数依赖性)。
将关系模式R分解为BCNF ,⼀定可以满⾜(⽆损连接性),但不⼀定保持(函数依赖性)。
23、在关系袋⿏运算中,从关系中取出满⾜条件的元组的运算称为(选择),取出满⾜条件的列的运算称为(投影)。
24、SQL的(集合)处理⽅式与宿主语⾔的(单记录)处理⽅式之间的协调⽤(游标)机制实现。
25、如果X→Y和X→Z成⽴,那么X→YZ也成⽴,这个推理规则称为(合并规则),如果X →Y且有Y∈X,那么X→Y称为(⾮平凡的函数依赖)。
26、判断⼀个并发调度是否正确,可以⽤(可串⾏化)概念来解决。
27、设关系模式R(A,B,C),F是R上成⽴的PD集,F={B→A,B→C},则分解P={AB,AC},丢失的FD是(B-C)
28、分布式数据库中定义数据分⽚时,必须满⾜三个条件:(完备性)条件、(重构条件)和(不相交)条件
29、DB 并发操作通常会带来三类问题,他们是(丢失更新),(不可重复读)和(读脏数据)。
30、分布式数据库系统具有两个特征:(数据分布性)和(逻辑整体性)。
ORDB系统是在传统的关系数据库技术中引⼊(⾯向对象)技术。
三、单选题
1、具有数据冗余度⼩,数据共享,以及较⾼数据独⽴性特征的关系是(B)
A、⽂件系统
B、数据库系统
C、管理系统
D、⾼级程序
2、数据库系统中,逻辑数据与物理数据之间可相互转换,执⾏该功能的是(C )
A、操作喜⽤
B、信息管理系统
C、数据库管理系统
D、⽂件系统
3、下⾯哪个不是数据库技术的主要特点(D )
A、数据的结构化
B、数据的冗余度⼩
C、较⾼的数据独⽴性
D、程序的标准化
4、下列叙述正确的是(C )
A、关系中元组没有先后顺序,属性有先后顺序
B、关系中元组有先后顺序,属性没有先后顺序
C、关系中元组没有先后顺序,属性也没有先后顺序
D、关系中元组有先后顺序,属性也有先后顺序
5、SQL中的试图提⾼了数据库系统的(D )
A、完整性
B、并发控制
C、隔离性
D、安全性
6、下列叙述正确的是(D)
A、关系中允许有重复的元组,也允许有重复的属性名
B、关系中允许有重复的元组,不允许有重复的属性名
C、关系中不允许有重复的元组,允许有重复的属性名
D、关系中不允许有重复的元组,也不允许有重复的属性名
7、夏磊叙述正确的是(D)
A、主码是⼀个属性,它能唯⼀标识⼀列
B、主码是⼀个属性,它能唯⼀标识⼀⾏
C、主码是⼀个属性或多个属性的组合,它能唯⼀标识⼀列
D、主码是⼀个属性或多个属性的组合,,它能唯⼀标识⼀列
8、如果两个实体之间的关系是1:M,则实现!:Mlianxi的⽅法是(D)
A、将两个实体转换成⼀个关系
B、将两实体转换的关系中,分别加⼊另⼀个关系的主码
C、将“1“端实体转换的关系的主码,放⼊”M“端实体转化的关系中
D、将“M”端实体转换的关系的主码,放⼊“1”端实体转换的关系中
9、如果链各个实体之间的饿关系是M:N,则实现M:N联系的⽅法是(D)
A、将两个实体转换成两个关系。
B、将两个实体转换的关系中,分别加⼊另⼀个关系的主码
C、将“M”端实体转换的关系的主码,放⼊“N”端实体转换的关系中
D、将联系单独转换成⼀个关系
10、如果两个实体之间的关系是1:1,则实现1:1联系的⽅法是(C)
A、将两个实体转换成⼀个关系
B、将两个实体转换的关系中,分别加⼊另⼀个是关系的主码
C、将⼀个“1”端实体转换的关系的主码,放⼊另⼀个“1”端实体转换的关系中
11、超类实体与⼦类实体间的关系是(B)
A、超类实体继承⼦类实体的所有属性
B ⼦类试题继承超类实体的所有属性
C 超类实体继承⼦类实体的主码
D 字类实体继承超类实体的主码
12SQL 语⾔是关系型数据系统的典型的数据库语⾔,它是(B)
A 过程化的
B ⾮过程化
C 格式化的
D 导航式的
13SQL 的标准库函数COUNT ,SUM,A VG, MAX,与MIN等,不允许出现在(D)中
A SELECT
B HA VING
C GROUP HA VING
D WHERE
14下列叙述正确的是(D)
A、SQL只允许拷贝表的全部,不能有选择的拷贝
B、新表的列名必须与被拷贝表的列名相同
C、新表的列数必须与被拷贝的列数相同
D、新表的列名和列数可以与被拷贝表不同,但是对应列的数据类型必须⼀致
15现要查找缺少学习成绩(G)的学⽣学好(S#)和课程号(C#),相应的SQL 语句是:SELECT S#,C#
FROM SC
WHERE (D)
A G=0
B G<=0
C G=NULL
D G IS NULL
16已知关系S(S#,SNAME,AGE,SEX), SC(S#,C#,GRADE),统计每⼀年龄段选修课程的学⽣⼈数的操作如下:SELECT AGE,COUNT(*)
FROM S,SC
WHERE S.S#=SC.S#
GROUP BY(C)
A S. S#, SC.S#
B DISTINCT S.S#,SC.S#
C DISTINCT S.S#,AGE
D S.S#,AGE
17已知SC(S#,C#,GRADE),统⼀每⼀个学⽣选修的课程门数操作如下:SELECT S#,COUNT(*) FROM SC
GROUP BY(A)
A S#
B DISTINCT S.S#,SC.S#
C C#
D DISTINCT C#
18已知SC(S#,C#,GRADE),统⼀每门课程选修的学⽣⼈数操作如下:SELECT S#,COUNT(*) FROM SC
GROUP BY(C)
A S#
B DISTINCT S.S#,SC.S#
C C#
D DISTINCT C#
19DBA监视数据库中数据安全性的⼯具是(D)
A 数据流程图
B 程序流程图
C 数据流图
D 数据字典
20 在登录⽇志⽂件时应该(D)
A、将更新数据库与登录⽇志⽂件两个操作同时完成
B、将更新数据库与登录⽇志⽂件两个操作按随机的先后顺序完成
C、先写数据库的更新,后登录⽇志⽂件
D、先登录⽇志⽂件,后写数据库的更新
20SQL 的主码字句和外码字句属于DBS的(A)
A 完整性措施
B 安全性措施
C 恢复措施
D 并发控制措施
22后备副本的⽤途是(A)
A 数据转储
B ⼀致性控制
C 安全性保证
D 并发控制
23利⽤⽇志⽂件恢复事务时,对尚未结束的事务,应(A)
A 进⾏UNDO处理B进⾏REDO处理
C 执⾏COMMIT操作
D 重新执⾏已登记的操作
24在第⼀个事务以排它锁⽅式读写数据A 时,其他事务对数据A 可以是(D)
A 实现排它锁的读B实现共享锁的读
C 不加封锁的读
D 读写等待
25在第⼀个事务以共享锁的⽅式读数据A 时,其他事务对数据A 可以是(B)
A 实现排它锁的读B实现共享锁的读
C 不加封锁的读
D 读写等待
26事务⽇志⽤于保存(D)
A 程序运⾏过程B数据操作
C 程序的执⾏过程
D 对数据的更新
27⼀个事务中所有对DB操作是⼀个不可分割的操作序列,这个性质称为事务的(D)
A 隔离性
B 串⾏性
C 永久性
D 原⼦性
28在数据库系统中死锁属于(C)
A 系统故障B程序故障
C事务故障 D 介质故障
29数据库系统中,“分⽚”概念是指(B)
A 对磁盘分⽚
B 对数据分⽚
C对内存分⽚ D 对外存分⽚
30为了使检索引键的值在基本表中唯⼀,在建⽴索引的语句中应使⽤保留字(A)
A UNIQUE
B COUNT
C DISTINCT
D UNION
四问答题
1、数据冗余的含义并举例说明数据冗余可能产⽣的后果(在两个或更多⽂件中重复出现的数据称为数据冗余,数据冗余可能导致的错误有:插⼊数据异常、删除数据异常、更新数据复杂)
2、举说明参照完整性规则中对外码有何要求(外码必须是另⼀个表的相应的主码的有效值或者是空值)
3、举例说明SQL Sever 中有哪三类触发器(3类触发器:INSERT触发器、UODATE触发器、DELETE触发器)
4、举例说明SQL Sever 中完整性约束的静态约束和动态约束(静态约束含义:数据库每⼀确定状态时,数据对象所应满⾜的约束条件。
动态约束含义:数据库从⼀种状态转变到另⼀种状态时,新、旧值之间所满⾜的约束条件)
5、解释分布式数据库中分布透明性的3个层次(分⽚透明性、位置透明性、局部数据模型透明性)
6、解释⾯向对象数据模型的基本概念(对象与对象标识、封装、类、类层次、消息)
7、解释⾯向对象数据库模型结构的主要因素(类的概念、类的层次结构、类的继承性、滞后联编、对象的嵌套)
8、举例说明事务并发操作可能产⽣的数据不⼀致问题(丢失修改、不可重复读、读不正确的数据)
9、解释概念模型向关系模型的转换规则(实体集的转换规则、实体集间联系的转换规则、⼀对⼀的联系的转换、⼀对多的联系的转换、多对多的联系的转换)
10、设关系R(A,B,C) 和S(D,E,A),A 是R的主键和S的外键,为了不破坏参照完整性约束,对R中的A的更新操作可采取哪两种措施?(RESTRICT⽅式(或ON UPDA TE RESTRICT)、CASCADE⽅式(或ON UPDATE CASCADE)、SET NULL⽅式(或ON UPDATE SET NULL))
11、设关系R(A,B,C) 和S(D,E,A),A 是R的主键和S的外键,为了不破坏参照完整性约束,对R中的A的插⼊操作可采取哪两种措施?(受限插⼊RESTRICT⽅式(或ON INSERT RESTRICT)、递归插⼊)
12、设关系R(A,B,C) 和S(D,E,A),A 是R的主键和S的外键,为了不破坏参照完整性约束,对R中的A的插⼊删除可采取哪两种措施?(RESTRICT⽅式(或ON UPDA TE RESTRICT)、CASCADE⽅式(或ON UPDATE CASCADE)、SET NULL⽅式(或ON UPDATE SET NULL))
13、设关系R(A,B,C) P={ (A,B)->C,C->A} 如果将R分解成R1=(B,C)和R2=(A,C),检查分解
是否具有⽆损连接性和保持函数依赖(检查⽆损连接:因为R1∩R2=C,R2-R1=A,C-A∈F,所以分解具有⽆损连接性;检查保持函数依赖:因为∏R1(F)=φ,∏R2(F)=(C-A),∏R1(F)∪∏R2(F)=(C-A)≠F,所以分解不保持函数依赖)
14、设关系R(A,B,C)P={ A->B,B->C}如果将R分解成R1=(B,C)和R2=(A,C),检查分解是否具有⽆损连接性和保持函数依赖(检查⽆损连接:因为R1∩R2=C,R1-R2=B,R2-R1=A,不存在C-A∈F和C-B∈F,所以分解具有⽆损连接性;检查保持函数依赖:因为∏R1(F)=B-C,∏R2(F)=A-C,∏R1(F)∪∏R2(F)=(B-C,A-C)丢失A-B∈F,所以分解不保持函数依赖)
15、设关系R(A,B,C,D,E)和P={ AB->CDEF,B->C,E->F}.试求R的主键,并将R转换成满⾜3NF的模式集(R的主键:因为AB-CDEF,B-C,E-F,AB=ABCDEF,所以AB为主键(唯⼀候选键)。
满⾜3NF的模式集:R1(A,B,D,E)、
R2(B,C),R3(E,F))
16.若要在图书-读者数据库中建⽴⼀个读者-借阅-图书关系的数据库关联表,要求该表包括图书、读者和借阅3个表,并满
⾜“图书.书号=借阅.书号AND 借阅.读者书证号=读者.书正号”,通过使⽤SQL Server2000的企业管理器⼯具,给出利⽤向导建⽴关联表的步骤(通过填写关联对话框,建⽴表之间的关联;在对话框中,选择外码和被参照表的主码,建⽴关联线:⽤⿏标右键,单击表中的列,进⾏相应的操作:⽤⿏标右键,单击对话框的空⽩处,进⾏相应的操作:⽐阿吉完毕后,关闭编辑窗⼝、输⼊图标名并保存。
)
17.在学⽣-课程数据库中,为选课表中建⽴⼀个名为ins_xh的INSERT触发器,其作⽤是当在选课表中添加学⽣的选课记录时,查看该⽣是否学⽣表中的合法学⽣。
给出使⽤SQLServer2000的企业管理器⼯具,创建该触发器的步骤。
(启动SQLServer2000的企业管理器,选中需要创建触发器的表:单击右键,选中“所有任务”项中的“管理触发器”;在触发器属性对话框中,输⼊新建触发器名,在⽂本框中输⼊Transact-SQL语句:检查后,单击“确定”。
)
18.设有两个关系R(A,B,C)和S(C,D,E),试⽤SQl查询语句表达下列关系代数表达式ΠA,E(σ(R∞S)).(SELECT A,FROM R,S WHERE B=D AND R.C=S.C)
19、系模式R(A,B,C,D),F是R上成⽴的 FD集,F={D->A,D->B}试写出关系模式R的后选键,并说明理由(R的候选键是CD;理由:从已知的F,可导出D-ABD,再根据增⼴律,可得出CD-ABCD,即CD值可决定全部属性值)
20、两个函数信赖集P和G等价的充分必要条件是什么?(F中每个FD在G中,并且G中每个FD也在F中)
五、设计题
设有如下三个关系模式,⽤SQL语句完成:
学⽣(学号,姓名,性别,年龄,专业)
课程(课程号,课程名,学分,先⾏课)
选课(学号,课程号,任课教师,成绩)
1、创建电⼦商务专业学⽣成绩视图,属性包括学号、姓名、课程名和成绩。
CREATE VIEW 学⽣成绩(学号,姓名,课程名,成绩)
AS SELECT 学⽣,学号,姓名,课程名,成绩
FROM 学⽣,课程,选课
WHERE 学⽣.学号=选课.学号AND课程.课程号=选课.课程号AND专业=‘电⼦商务’2、创建计算机应⽤专业的学⽣成绩统计视图,属性包括学号、姓名、总成绩和平均成绩。
CREATE VIEW 学⽣成绩统计(学号,姓名,总成绩,平均成绩)
AS SELECT 学⽣,学号,姓名,SUM(成绩),A VG(成绩)
FROM学⽣,课程,选课
WHERE学⽣.学号=选课.学号AND课程.课程号=选课.课程号AND专业=‘计算机应⽤’GROUP BY学号
3、查询没有成绩的学⽣的学号、姓名和课程号:
SELECT 学号,姓名,MAX(成绩)
FROM选课,学⽣
WHERE学⽣.学号=选课.学号AND成绩IS NULL
4、查询选修课程号为001且成绩为最好的学⽣的学号、姓名和成绩。
SELECT学号,姓名,MAX(成绩)
FROM选课,学⽣
WHERE学⽣.学号=选课.学号AND课程号=‘001’
5、查询数据库原理课程的间接先⾏课(即先⾏课的先⾏课)。
SELECT A .课程名,A.课程名,B.先⾏课间接先⾏课
FROM 课程A,课程B
WHERE A.先⾏课=B.课程号AND A.课程名=‘数据库原理’
6、查询⾄少选修了⼆门及⼆门以上课程的学⽣的学号。
SELECT A 学号
FROM 课程A,课程B
WHERE A.学号=B.学号AND A.课程名<>B.课程名
设有如下三个关系模式:
职⼯(职⼯号,姓名,性别,出⽣年⽉)
⼯程(⼯程编号,⼯程名,预算费⽤)
报酬(职⼯号,⼯程编号,劳务费)
根据要求,⽤SQL语句完成:
7、创建职⼯承担⼯程的视图VPS,其属性包括职⼯号、姓名,⼯程名和劳务费。
CREATE VIEW VPS(职⼯号,姓名,⼯程名,劳务费)
AS SELECT 职⼯.职⼯号,姓名,⼯程名,劳务费
FROM职⼯,⼯程,报酬
WHERE职⼯.职⼯号=报酬.职⼯号AND⼯程.⼯程编号=报酬.⼯程编号
8、创建职⼯承担⼯程劳务费的视图VPS1,其属性包括职⼯号,姓名,总劳务费。
CREATE VIEW VPS1(职⼯号,姓名,总劳务费)
AS SELECT 职⼯.职⼯号,姓名,SUM(劳务费)
FROM职⼯,报酬
WHERE职⼯.职⼯号=报酬.职⼯号
GROUP BY 职⼯号
9、查询参加⼯程编号为200606且劳务费为最低的职⼯的职⼯号、职⼯姓名和劳务费。
SELECT 职⼯号,姓名,MIN(劳务费)
FROM 报酬
WHERE职⼯.职⼯号=报酬.职⼯号AND⼯程编号=‘200606’
10、查询希望⼯程的预算费⽤和总劳务费。
SELECT ⼯程.⼯程编号,⼯程名.预算费⽤,SUM(劳务费)
FROM ⼯程,报酬
WHERE⼯程.⼯程编号=报酬.⼯程编号AND⼯程名=‘希望⼯程’
设有如下三个关系模式,⽤SQL server2000的t-sql语句完成:
图书(书号,书名,类别,出版社,作者,定价)
读者(编号,姓名,性别,单位)
借阅(书号,读者编号,借阅⽇期)
11、将⽂学类的图书存⼊永久的计算机图书表。
SELECT*
INTO 计算机图书
FROM图书
WHERE类别=‘⽂学’
12、将借书⽇期在2005年4⽉以来的借阅记录存⼊临时的超期借阅表。
SELECT*
INTO #超期借阅
FROM借阅
WHERE 借阅⽇期>‘2005-03-31’
13、该书号降序列出计算机类图书的书号,名称及定价,最后求出总册数和总价格。
SELECT 书号,书名,定价
FROM 图书
WHERE 类⽐安=‘计算机’
ORDER BY 书号DESC
COMPUTE COUNT(*),SUM(定价)
14、按出版社升序列出计算机类图书的书号,名称及定价,并求出总册数和总价格。
SELECT 书号,书名,定价
FROM 图书
WHERE 类别=‘计算机’
ORDER BY 书号ASC
COMPUTE COUNT(*),SUM(定价)BY出版社
15、求只包括电⼦⼯业出版社出版的各类图书的平均定价
SELECT 类别,A VG(定价)平均价
FROM 图书
WHERE 出版社=‘电⼦⼯业出版社’
GROUP BY 类别
ORDER BY 类别ASC
六、应⽤题
1、某医院住院部业务如下:
(1)⼀个病⼈只有⼀位主治医⽣,每⼀位主治医⽣可以治疗多为病⼈;
(2)⼀个病房可多为患者,⼀个患者可以多次住院;
(3)病⼈的属性有患者编号、姓名、性别、年龄,医⽣的属性有医⽣编号、姓名、职务、病房的属性有病房编号、科室。
试根据上述业务规则:①设计E-R模型。
②将E-R模型转换成关系模式集。
设计E-R模型:
关系模式:(略)
2、某商店的业务描述如下:
(1)每⼀张发票有唯⼀的发票编号;
(2)⼀张发票可以购买多种商品,不同的发票可以购买同⼀种商品;
(3)⼀个⼚商可以供应多种商品,⼀个商品可以有多家⼚商供应;
(4)每⼀个⼚商和每⼀种商品均有唯⼀的编号。
根据上述业务规则得到商品商品发票关系模式R:
R(发票编号,⽇期,⼚商编号,⼚商名称,商品编号,商品名称,定价,数量)
试求:①写出R的基本函数依赖集F,求R的候选键,判断R的规范化范式级别。
②将R规范到BCNF范式。
(1)函数依赖集F={发票编号⽇期,⼚商编号⼚商名称,商品编号商品名称,定价,发票编号,商品编号,⼚商编号数量}R 的候选键:(订单编号,商品编号,⼚商编号)因为存在⾮主属性对候选键的部分依赖R∈INF。
(2)将R分解为:
R1(发票编号,⽇期)∈BCNF
R2(⼚商编号,⼚商名称)∈BCNF
R3(商品编号,商品,定价)∈BCNF
R4(订单编号,商品编号,⼚商编号,数量)∈BCNF
3、某企业集团有若⼲⼯⼚,每个⼯⼚⽣产多种产品,且每⼀种产品可以在多个⼯⼚⽣产,每个⼯⼚按照固定的计划数量⽣产产品;每个⼯⼚聘⽤多名职⼯,且每名职⼯只能在⼀个⼯⼚⼯作,⼯⼚聘⽤职⼯有聘期和⼯资。
⼯⼚的属性有⼯⼚编号、⼚名、地址,产品的属性有产品编号、产品名、规格,职⼯的属性有职⼯号、姓名。
(1)根据上述语义画出ER图,在ER图中需注明实体的属性、联系的类型及实体的标识符。
(2)将ER模型转换成关系模型,并指出每个关系模式的主键和外键。
(3)分析每个关系模式已经达到第⼏范式。
(答案略)
4、某连锁商店数据库中有三个实体集。
“商店”实体集;“职⼯”实体集;“商品”实体集。
业务规则如下:⼀个商店有若⼲职⼯,每个职⼯只能在⼀个商店⼯作;职⼯在商店⼯作有聘⽤⽇期、⽉薪等属性;商店可以销售多种商品,统计⽉商品销售量。
(⾃定义属性)
试根据业务规则:①设计E-R模型。
②将E-R模型转换成关系模式集,并指出主码和外码。
设计E-R模型:
关系模式集(略)
5、某书店的业务描述如下:
(1)每⼀个订单有唯⼀的订单编号;
(2)⼀个订单可以订购多种图书,不同的订单可以订购同⼀种图书;
(3)⼀个订单只对应⼀个客户,⼀个客户可以有多个订单;
(4)每⼀个客户和每⼀种图书均有唯⼀的编号。
根据上述业务规则得到商品订单关系模式R:
R(订单编号,⽇期,客户编号,客户名称,客户电话,图书编号,图书名称,定价,数量)试求:①写出R的基本函数依赖集F,并求出R的候选题。
②判断R的规范化范式级别。
③若R不满⾜3NF范式,将R规范到3NF范式。
(1)订单编号⽇期,客户编号
客户编号客户名称,客户电话
图书编号图书名称,定价
订单编号,图书编号数量
R的候选键:(订单编号,图书编号)
(2)R∈1NF 因为存在⾮主属性对候选键的部分依赖
(3)将R分解为:
R1(订单编号,⽇期,客户名称)∈3NF
R2(图书编号,图书名称,定价)∈3NF
R3(客户编号,客户名称,客户电话)∈3NF
R4(订单编号,图书编号,数量)∈3NF
6、设物资管理数据库中有两个实体集。
⼀是“仓库”实体集”,具有仓库号、地址、电话等属
性;另⼀个是“零件”实体集,具有零件号、零件名称、规格、单价等属性。
如果规定:⼀种零件可以存放在多个仓库中,⼀个仓库可以存放多种零件。
存放在仓库中的零件有存放⽇期、库存量。
(1)试画出E-R图。
(2)将E-R图转换成关系模型,并注明每个表的主码与外码。
(答案略)
7、假设某商业集团数据库中有⼀关系模式R如下:
R(商店编号,商品编号,数量,部门编号,负责⼈)
如果规定:(1)每个商店的每种商品只在⼀个部门销售;
(2)每个商店的每个部门只有⼀个负责⼈;
(3)每个商店的每种商品只有⼀个库存数量。
试回答下列问题:
(1)根据上述规定,写出关系模式R的基本函数依赖;
(2)找出关系模式R的候选码
(3)试问关系模式R最⾼已经到到第⼏范式?为什么?
(4)如果R不属于3NF,请将R分解成3NF模式集。
有三个函数依赖:(商店编号,商品编号)部门编号
(商店编号,部门编号)负责⼈
(商店编号,商品编号)数量。