《数据库原理》试题库2

更新时间:2024-05-31 21:56:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据库原理》试题库

一、 选择题

第一章 数据库的基础知识 数据库系统概述

1. 以下内容中不属数据库所具特点的是( )。 A.数据共享 B.数据完整性 C.存储数据量大 D.最小宂余 2. 下列四项中,不属于关系数据库特点的是( ) A.数据冗余小 B.数据独立性高 C.数据共享性好 D.多用户访问 3. 以下表示数据库管理系统的是( ) A.DBA B.DBMS C.DB D.DATA 4. 数据库系统的核心是( )。 A.数据库 B.软件工具 C.数据模型 D.数据库管理系统 5. 数据库与文件系统的根本区别在于( ) A.提高了系统效率 B.方便了用户使用 C.数据的结构化 D.节省了存储空间 6. 数据管理技术发展阶段中,文件系统阶段与数据库系统阶段的主要区别之一是数据库系统( )

A.数据可共享 B.数据可长期保存

C.采用一定的数据模型组织数据 D.有专门的软件对数据进行管理 7.下面列出的条目中,哪些是数据库技术的主要特点( )。 Ⅰ.数据的结构化 Ⅱ.数据的冗余度小 Ⅲ.较高的数据独立性 Ⅳ.程序的标准化 A.Ⅰ、Ⅱ和Ⅲ B.Ⅰ和Ⅱ C.Ⅰ、Ⅱ和Ⅳ D.都是 8. 在数据库中,下列说法( )是不正确的。 A.数据库避免了一切数据的重复

B.若系统是完全可以控制的,则系统可确保更新时的一致性 C.数据库中的数据可以共享 D.数据库减少了数据冗余

9. 下列四项中说法不正确的是( ) A.数据库减少了数据冗余 B.数据库中的数据可以共享 C.数据库避免了一切数据的重复 D.数据库具有较高的数据独立性 10.数据库系统的最大特点是( )。 A.数据的三级抽象和二级独立性 B.数据共享性 C.数据的结构化 D.数据独立性 11.下列哪个是存储在计算机内有结构的数据的集合。 A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构 12.在以下所列的条目中,哪些是数据库管理员DDA的职责( )

1

① 决定数据库存取结构和存取策略 ② 决定数据库中的内容和结构

③ 定义数据安全性的要求和完整性约束条件 ④ 为用户提供资料和培训方面的帮助

A.①和② B.①、②和③ C.③和④ D.都是 13.在DBS中,DBMS和OS之间的关系是 ( ) A.相互调用 B.DBMS调用OS C.OS调用DBMS D.并发运行 14. 下面列出的条目中,哪些是数据库系统的组成成员?( )

Ⅰ.操作系统 Ⅱ.数据库管理系统 Ⅲ.用户 Ⅳ.数据库管理员 Ⅴ..数据库

A.Ⅱ、Ⅲ、Ⅳ和Ⅴ B.Ⅱ、Ⅳ和Ⅴ C.Ⅰ、Ⅱ、Ⅳ和Ⅴ D.都是 15. 下面列出的数据管理技术发展的三个阶段中,哪个(些)阶段没有专门的软件对数据进行管理( )。 Ⅰ.人工管理阶段 Ⅱ.文件系统阶段 Ⅲ.数据库阶段 A.只有Ⅰ B. 只有Ⅱ C.Ⅰ和Ⅱ D.Ⅱ和Ⅲ

数据模型

16.在数据库技术中,实体—联系模型是一种( ) A.概念模型 B.结构模型 C.物理模型 D.逻辑模型 17.数据库设计中的概念模型独立于( )。 A.现实世界 B.E-R图 C.信息世界 D.具体的机器和DBMS 18.在数据库技术中,独立于计算机系统的模型是( ) A.E-R模型 B.层次模型 C.关系模型 D.面向对象的模型 19.在下面列出的数据模型中,哪一个是概念数据模型( )。 A.关系模型 B.层次模型 C.网状模型 D.实体-联系模型 20. 目前应用最广泛的数据库数据模型是( )。 A.层状模型 B.网状模型 C.混合模型 D.关系模型 21. 下列数据模型中,数据独立性最高的是( ) A.网状数据模型 B.关系数据模型 C.层次数据模型 D.非关系模型 22. 下列四项中,必须进行查询优化的是( ) A.关系数据库 B.网状数据库 C..层次数据库 D.非关系模型 数据库系统结构

23. 数据库系统的体系结构是( )

2

A.两级模式结构和一级映象 B.三级模式结构和一级映象 C.三级模式结构和两级映象 D.三级模式结构和三级映象 24. 在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是( )。 A.外模式 B.内模式 C.存储模式 D.模式 25. 数据库系统的三级模式结构是指( ) A.外模式、模式、子模式 B.子模式、模式、概念模式 C.模式、内模式、存储模式 D.外模式、模式、内模式 26. 保证数据库的数据独立性,需要修改的是( ) A.三层模式之间的两种映射 B.模式与内模式 C.模式与外模式 D.三层模式 27. 在关系数据库中,关系模式是三级模式结构中的( )。 A.外模式 B.模式 C.存储模式 D.内模式 28. 单个用户使用的数据视图的描述称为 ( ) A. 外模式 B. 概念模式 C.内模式 D.存储模式

29. 在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据库的结构被划分成用户级、( )和存储级三个层次。 A.管理员级 B.外部级 C.概念级 D.内部级 30. 以下选项中不属于数据库系统三级模式结构的是( )。 A.外模式 B.模式 C.内模式 D.概念模式

31. 数据库的三级模式结构由外模式、模式和内模式组成,它适合于哪个(些)类型的数据库( )

Ⅰ.关系型数据库 Ⅱ.层次型数据库 Ⅲ.网状型数据库 A. 只有Ⅰ B. Ⅰ和Ⅱ C. Ⅱ和Ⅲ D. 都适合 32.子模式DDL用来描述 ( )

A.数据库的总体逻辑结构 B.数据库的局部逻辑结构 C.数据库的物理存储结构 D.数据库的概念结构 33. 数据库三级模式体系结构的划分,有利于保持数据库的( ) A.数据独立性 B. 数据安全性 C.结构规范化 D.操作可行性 第二章 关系数据库 关系数据结构

34.关系数据模型通常由三部分组成,它们是( ) A.数据结构、数据通信、关数据操作 B.数据结构、数据操作、完整性约束 C.数据通信、数据操作、完整性约束 D.数据结构、数据通信、完整性约束 35.数据模型组成的要素是( ) A.实体、数据、数据依赖

B.数据结构、数据通信、关系操作

C.数据结构、数据操作、数据的完整性约束条件

3

D.数据结构、数据属性、数据依赖

关系数据库与关系代数

36.关系数据模型有许多优点,但下面所列的条目中哪一条不是它的优点( ) A.结构简单 B.适用于集合操作

C.有标准语言 D.可表示复杂的语义 37.用二维表结构表示实体以及实体间联系的数据模型称为( )。

A.网状模型 B.层次模型 C.关系模型 D.面向对象模型 38.同一个关系模型的任两个元组值( )。 A.不能全同 B.可全同 C.必须全同 D.以上都不是 39.一个关系中的各元组( )。

A.前后顺序不能任意颠倒,一定要按照输入的顺序排列 B.前后顺序可以任意颠倒,不影响关系

C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果可能不同 D.前后顺序不能任意颠倒,一定要按照码的属性列顺序排列 40.组成关系模型二维表的最小数据单位是( )。 A.记录 B.数据项 C.字段 D.数据库文件 41.关系数据模型的三个组成部分中,不包括( ) A.完整性规则 B.数据结构 C.恢复 D.数据操作 42.关系数据库中的码是指( )。

A.能唯一关系的属性 B.不能改动的专用保留字

C.关键的很重要的属性 D.能唯一表示元组的属性或属性集合 43.根据关系模式的完整性规则,一个关系中的“主码” 。

A.不能有两个 B.不能成为另外一个关系的外码 C.不允许为空 D.可以取值

44.在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为( )。

A.外码 B.候选码 C.主码 D.超码 45.在关系模型中,一个码是( )。 A.可由多个任意属性组成 B.至多由一个属性组成

C.可由一个或多个其值能唯一标识该关系模式中任意元组的属性组成 D.以上都不是

46.关系数据库管理系统应能实现的专门关系运算包括( )。 A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表 47.在关系代数运算中,五种基本运算为( )。 A.并、差、选择、投影、自然连接 B.并、差、选择、交、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积

4

48.五种基本关系代数运算是 ( ) A.∪,-,×,π和σ B.∪,-,∞,π和σ C.∪,∩,×,π和σ D.∪,∩,∞,π和σ

49.关系代数的五个基本操作可直接转换成元组关系演算表达式,它们是:并、差、投影,选择和( ) A.交 B.笛卡尔积 C.自然连接 D.除法 50.取出关系中的某些列,并消去重复元组的关系代数运算称为( )。 A.取列运算 B.投影运算 C.连接运算 D.选择运算 51.自然连接是构成新关系常用方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的( )。 A.元组 B.行 C.记录 D.属性 52.设有关系R和S,关系代数表达式R-(R-S)表示的是( ) A.R∩S B.R-S C.R∪S D.R÷S

53.在如下2个数据库的表中,若雇员信息表EMP的主键是雇员号,部门信息表DEPT的主健是部门号若执行所列出的操作,哪个操作不能执行( ) EMP DEPT

______________________________ ____________________________ 雇员号 雇员名 部门号 工资 部门号 部门名 主任 001 张 山 02 2000 01 业务部 李 建 010 王宏达 01 1200 02 销售部 应伟东 056 马林生 02 1000 03 服务部 周 垠

101 赵 敏 04 1500 04 财务部 陈力胜 ______________________________ ____________________________

A.从雇员信息表EMP中删除行'010','王宏达','01','1200'. B.在雇员信息表EMP中插入行'102','赵敬','01','1500'. C.将雇员信息表EMP中雇员号='010'的工资改为1600元 D.将雇员信息表EMP中雇员号='101'的部门号改为'05'

54.在上题雇员信息表关系EMP中,哪个属性是外码(foreign key) ( )。 A. 雇员号 B.雇员名 C.部门号 D.工资 55.设关系R和关系S的元素个数分别是3和4,关系T是R与S的笛卡尔积,即:T=R×S,则关系T的元数个数是( ) A.7 B.9 C.12 D.16

56.设有关系R和S,在下列的关系运算中,哪一种运算不要求:“R和S具有相同的元数,且它们对应属性的数据类型也相同”( ) A. R∪S B.R∩S C.R-S D.R×S 57.设有关系R(A,B,C),在下列的等式中,哪一个是不成立的( )

A.σA<2(πA, B(R))=πA, B(σA<2 (R))

5

104.以下有关SELECT子句的叙述中不正确的是( )。 A.SELECT子句中只能包含表中的列及其构成的表达式 B.SELECT子句规定了结果集中的列顺序 C.SELECT子句中可以使用别名

D.如果FROM子句中引用的两个表中有同名的列,则在SELECT子句中引用它们时必须使用表名前缀加以限制。

105.以下有关聚集的叙述中不正确的是( )。

A.聚集将具有一个或多个公共列,并经常一起使用的相关表物理地聚集存储在一起 B.聚集中相同的值只存储一次

C.聚集加快了多个表连接操作速度,但对于单个表则没有什么意义 D.必须首先删除所有聚集表,才能删除聚集

第四章 数据库的安全性

106.在数据系统中,对存取权限的定义称为( )。 A.命令 B.授权 C.定义 D.审计

107.在数据库的安全性控制中,为了保证用户只能存取他有权存取的数据,在授权的定义中,数据对象的___,授权子系统就越灵活. A.范围越小 B.范围越大 C.约束越细致 D.范围越适中 第五章 完整性

108.设属性A是关系R的主属性,则属性A不能取空值(NULL)。这是( )。 A.实体完整性规则 B.参照完整性规则 C.用户定义完整性规则 D.域完整性规则 109.数据库的____是指数据的正确性和相容性。 A.安全性 B.完整性 C.并发控制 D.恢复 110.SQL的全局约束是指基于元组的检查子句和 ( ) A.非空值约束 B.域约束子句 C.断言 D.外键子句 111.在数据库中,产生数据不一致的根本原因是( )。 A.数据存储量太大 B.没有严格保护数据 C.未对数据进行完整性控制 D.数据冗余 112.设有关系:班级(班号,专业,班长);学生(学号,姓名,性别,班级)。学生关系中每个元组的“班级”属性值只能取空值(表示该学生没有分配班级)或者是班级关系中的某一个班号。这个要求属于关系的( ) A.实体完整性 B.参照完整性 C.用户定义的完整性 D.以上都不是 113.SQL的全局约束是指基于元组的检查子句和 (C ) A.非空值约束 B.域约束子句 C.断言 D.外键子句 第六章 关系数据理论

11

114.关系数据库的规范化理论主要解决的问题是( )。 A.如何构造合适的数据逻辑结构 B.如何构造合适的数据物理结构 C.如何构造合适的应用程序界面 D.如何控制不同用户的数据操作权限 115. 关系数据库规范化是为解决关系数据库中( )。 A.插入异常、删除异常、修改异常和数据冗余 B.提高查询速度

C.减少数据操作的复杂性 D.保证数据的安全性和完整性

116.现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。则该关系模式的码是()。 A.书号 B.读者号 C.书号+读者号 D.书号+读者号+借期 117.1NF、2NF、3NF、BCNF、4NF之间的关系是 。

A.1NF≥2NF≥3NF≥BCNF≥4NF

B.1NF?2NF?3NF?BCNF?4NF C.1NF?2NF?BCNF?3NF?4NF D.1NF?2NF?3NF?BCNF?4N 118.关系模式的候选码可以有( )。 A.0个 B.1个 C.1个或多个 D.多个 119.关系模式R中的属性全部是主属性,则R的最高范式必定是( )。 A.1N B.2N C.3N D.BCNF 120.当B属性函数依赖于A属性时,属性A与B的联系是( ) A.1对多 B.多对1 C.多对多 D.以上都不是 121.在关系模式中,如果属性A和B存在1对1的联系,则说( ) A.A→B  B.B→A C.A←→B D.以上都不是 122.在关系DB中,任何二元关系模式的最高范式必定是( ) A.1NF B.2NF C.3NF D.BCNF 123.设有如图所示的关系R,它是( )。 A.1NF B.2NF C.3NF D.4NF

材料号 M1 M2 M3 M4 材料名 线材 型材 板材 型材 生产厂 武汉 武汉 广东 武汉 124.当关系模式R(A,B)已属于3NF,下列说法中哪个是正确的。( ) A.它一定消除了插入和删除异常 B.一定属于BCNF C. 仍存在一定的插入和删除异常 D.A和B都是 125.下列关于函数依赖的叙述中,哪一条是不正确的( )

12

A.由X→y,X→Z,有X→yZ B.由XY→Z,有X→Z Y→Z C.由X→Y,有WY→Z XW→Z D.由X→y及Z ?y,有X→Z

126.当下述哪一条成立时,称X→y为平凡的函数依赖( ) A.X?y B.Y?X C.X∩Y=φ D.X∩Y≠φ

127.设有关系模式R(S,D,M),其函数依赖集F:{S→D,D→M},则关系R的规范化程度至多达到: A.INF B.2NF C.3NF D.BCNF

128.设有关系R(A,B,C,D),其函数依赖集F={A→B,A→C,B→D},则关系R至多满足( ) A.INF B.2NF C.3NF D.BCNF 129.设有关系模式R(S,T,J),其函数依赖集F={(S,J)→T;(S,T)→J;T→J},则关系R至多满足( )。

A.INF B.2NF C.3NF D.BCNF

130.关系模式R(A,B,C,D)的函数依赖集S={A→BC,B→C,C→D },则下列说法中错误的一项是( ) A.{A}={A,B,C,D} B. AB是键码

C. A是键码 D. A→BC中C是无关属性 131.关系模式规范化的最起码的要求是达到第一范式,即满足( ) A.每个非码属性都完全依赖于主码 B.主码属性唯一标识关系中的的元组 C.关系中的元组不可重复 D.每个属性都是不可分解的

132.若关系模式R(U,F)属于3NF,则( )

A.一定属于BCNF B.消除了插入的删除异常 C.仍存在一定的插入和删除异常 D.属于BCNF且消除了插入和删除异常 133.设有关系模式R(A,B,C,D),F是R上成立的FD集,F={AB→C,D→A},则R的关键码为 ( )。 A.AB B.AD C.BC D.DB

134.设有关系模式R (A,B,C,D),F是R上成立的函数依赖集,F = {D→A,D→B},关系模式R的码是( )。 A.AB B.B C.CD D.D 135.有关系模式A(C,T,H,R,S),其中各属性的含义是:

C:课程 T:教员 H:上课时间 R:教室 S:学生 根据语义有如下函数依赖集:

F={C→T,(H,R)→C,(H,T)→R,(H,S)→R} 关系模式A的规范化程度最高达到( )。 A.INF B.2NF C.3NF D.BCNF

136.有关系模式A(C,T,H,R,S),其中各属性的含义是:

13

+

C:课程 T:教员 H:上课时间 R:教室 S:学生 根据语义有如下函数依赖集:

F={C→T,(H,R)→C,(H,T)→R,(H,S)→R} 关系模式A的码是( )。 A. C B. (H,R) C.(H,T) D.(H,S)

137.设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。下面关于多值依赖的叙述中,不正确的是( )。 A.若X→→Y,则X→→Z  B.若X→Y,则X→→Y

 C.若X→→Y,且Y'包含Y,则X→→Y'  D.若Z=φ,则X→→Y

138.在关系数据库中,任何二元关系模式的最高范式必定是 。 A.1NF B.2NF C.3NF D.BCNF 139.下面关于函数依赖的叙述中,不正确的是( )。

 A. 若X→Y,Y→Z,则X→YZ B.若XY→Z,则X→Z,Y→Z  C. 若X→Y,Y→Z,则X→Z D.若X→Y,Y'包含Y,则X→Y'

140.关系R(A,B,C)的函数依赖集F={A→B,C→B}。哪种分解ρ是无损连接的分解。(B)

A. ρ={AB,BC} B. ρ={AC,BC} C. ρ={A,BC} D. ρ={AB, C} 141.设关系模式R (A,B,C),F是R上成立的FD集,F = {B→C},则分解ρ = {AB,BC}相对于F ( )

A. 是无损联接,也是保持FD的分解 B. 是无损联接,但不保持FD的分解 C. 不是无损联接,但保持FD的分解

D. 既不是无损联接,也不保持FD 的分解

142.关系模式R分解成ρ = {R1,…,Rk},F是R上的一个FD集,那么R中满足F的每一个关系r,与其投影联接表达式mρ(r) 间的关系满足 ( ) A. rí mρ(r) B. mρ(r) í r C. r = mρ(r) D. r≠mρ(r) 第七章 数据库设计

143.需求分析阶段得到的结果是( )。 A.数据字典描述的数据需求 B.E-R图表示的概念模型

C.某个DBMS所支持的数据模型

D.包括存储结构和存取方法的物理结构

144.在数据库的概念设计中,最常用的数据模型是( )。 A.形象模型 B.物理模型 C.逻辑模型 D.实体联系模型

145.数据库设计的概念结构设计阶段,表示概念结构的常用方法和描述工具是( ) A.层次分析法和层次结构图

14

B.数据流程分析法和数据流程 C.结构分析法和模块结构图 D.实体---联系方法和E-R图 146.在关系数据库设计中,对关系进行规范化处理,使关系达到一定的范式,例如达到3NF,这是哪个设计阶段的内容( ) A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段

147.在关系数据库设计中,设计关系模式是数据库设计中哪个阶段的任务?( ) A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段

148.在数据库设计中,将E-R图转换成关系数据模型的过程属于( ) A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D. 物理设计阶段

149.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( ) A.多对多 B.一对一 C.多对一 D.一对多 150.一个实体型转换为一个关系模式。关系的码为( )。 A.实体的码 B.二个实体码的组合 C.n端实体的码 D.每个实体的码 151.一个1:n联系可以转换为一个独立的关系模式,关系的码为( )。

A.实体的码 B.各实体码的组合 C.n端实体的码 D.每个实体的码 152.一个m :n联系转换为一个关系模式。关系的码为( )。 A.实体的码 B.各实体码的组合 C.n端实体的码 D.每个实体的码

(数据库管理系统)

153.对数据库中数据可以进行查询、插入、删除、修改,这是因为数据库管理系统提供了( )

A.数据库定义功能 B.数据库操纵功能

C.数据库维护功能 D.数据库控制功能

154. 在下面所列出的条目中,哪些是数据库管理系统的基本功能( )。 Ⅰ.数据库定义  Ⅱ.数据库的建立和维护 Ⅲ.数据库存取 Ⅳ.数据库和网络中其他软件系统的通信 A.Ⅰ和Ⅱ B.Ⅰ、Ⅱ和Ⅲ C.Ⅱ和Ⅲ D.都是 155.从用户来看,下面列出的条目中哪些是数据库管理系统应具有的目标( )

①用户界面友好

②内部结构清晰、层次分明 ③开放性,即符合标准和规范 ④负责管理企业组织的数据库资源

15

27.函数依赖

设 R (U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R (U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同, 而在Y上的属性值不同, 则称\函数确定Y\或\函数依赖于X\,记作X→Y。 28.完全函数依赖和部分函数依赖

在 R(U)中,如果X→Y,并且对于X的任何一个真子集X′,都有Y不函数依赖 X′,则称Y对X完全函数依赖;若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖; 29.传递依赖

在关系模式中,如果X→Y,Y→Z,且X决定Y,和Z不属于Y,那么称Y→Z是传递依赖。

30.1NF(第一范式)

如果关系模式R的所有属性的值域中每一个值都是不可再分解的值,则称R是属于第一范式模式。如果某个数据库模式都是第一范式的,则称该数据库存模式属于第一范式的数据库模式。

第一范式的模式要求属性值不可再分裂成更小部分,即属性项不能是属性组合和组属性组成。

31.2NF(第二范式)

如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称是第二范式模式;如果某个数据库模式中每个关系模式都是第二范式的,则称该数据库模式属于第二范式的数据库模式。 32.3NF(第三范式)

如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。如果某个数据库模式中的每个关系模式都是第三范式,则称为3NF的数据库模式。

33. BCNF (BC范式)

如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式

34. 4NF:第四范式。设R是一个关系模式,D是R上的多值依赖集合。如果D中成立

非平凡多值依赖X→→Y时,X必是R的超键,那么称R是第四范式的模式。 五、 简答题 (本大题共10小题,每小题3分,共30分) 1. 试述文件系统与数据库系统的区别和联系。

答:文件系统与数据库系统的区别:

文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。

数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。

文件系统与数据库系统的联系是:

21

2.

3.

4.

5.

6.

文件系统与数据库系统都是计算机系统中管理数据的软件。 试述数据库系统的特点。

答:数据库系统的主要特点有: 1)数据结构化

数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。

2)数据的共享性高,冗余度低,易扩充

数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。

3)数据独立性高

数据独立性包括数据的物理独立性和数据的逻辑独立性。

数据库管理系统的模式结构和二级映象功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。

4)数据由 DBMS统一管理和控制

数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。为此, DBMS必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制和数据库恢复。 简述逻辑数据的独立性。

答:当对数据库的概念模式进行修改时,内模式尽可能保持不变或尽量少的作修改,即对概念模式的修改尽量不影响外模式和应用程序,称数据库达到了逻辑数据独立性。 数据库管理系统的主要功能有哪些? 答:①数据库定义功能; ②数据存取功能; ③数据库运行管理;

④数据库的建立和维护功能。

试述数据模型的概念、数据模型的作用和数据模型的三个要素。

答:数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。

一般地讲,数据模型是严格定义的概念的集合。这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。

①数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。

②数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。

③数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 试述概念模型的作用。

22

答:概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。

7. 试给出三个实际情况的E-R图,要求实体型之间具有一对一、一对多、多对多各种不同

的联系。

1 1 1 n 零部件 学校 学校 担任 设置 校长 系 n 组装 m 数量 实体内部的多对多联系

8. 试给出一个实际部门的E-R图,要求有三个实体型,而且三个实体型具有多对多的联系。三

个实体型之间的多对多联系和三个实体型两两之间的多对多的联系等价吗?为什么? 答:

旅行社 n 组团 人数 供应商 n 供应 人数 m 景点 p 游客 m 项目 p 零件 三个实体型的多对多的定义:

若对实体集E1, E2, E3??En,存在对实体集中的Ej(j=1,2, ??i-1,i+1, ??En)中给定的实体,可和Ei中多个实体相联系。反过来,对于实体Ei中给定的实体也只与Ej(j=1,2, ??i-1,i+1, ??En)多个相联系,则称三个实体型具有多对多的联系。 9. 试述关系模型的三个组成部分

答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。

10. 数据库的三级模式和两级映象体系结构中,模式/内模式映象存在于概念级和内部级之

间,用于定义概念模式和内模式间的对应性。其主要作用是什么?

答:由于概念模式和内模式的两级的数据结构可能不-致,即记录类型、字段类型的命名、组成可能不一致,用这个映象说明概念记录和内部记录间的对应性。 11. 试述关系数据语言的特点和分类。

答:关系数据语言可以分为三类: 关系代数语言 例如 ISBL

关系演算语言 (元组关系演算语言 例如 APLHA,QUEL 和 域关系演算语言 例如QBE)

具有关系代数和关系演算双重特点的语言 例如 SQL

23

这些关系数据语言的共同特点是,具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。

12. 在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?

答:在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件是该外部码属性不是其所在关系的主属性。 例如,在下面的 “学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空。其语义是,该学生的专业尚未确定。

学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名)

而在下面的 “选修”表中的“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性,所以不能为空。因为关系模型必须满足实体完整性。 课程(课程号,课程名,学分)

选修(学号,课程号,成绩)

13. 试叙述等值连接与自然连接的区别和联系

答:自然连接( Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。 14. 关系代数的其本运算有哪些?

答:基本运算有:并、差、笛卡尔积、选择、投影。 15. 关系模式和关系实例有什么区别?

答:关系模式是型,是对关系的描述,描述元组集合的结构、元组语义以及完整性约束条件和属性间的数据依赖关系集合。

关系实例是值,是某时刻关系的值

16. 什么是基本表?什么是视图?两者的区别和联系是什么?

答:基本表是本身独立存在的表,在 SQL中一个关系就对应一个表。

视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。

17. 两个关系进行外连接时有哪几种类型? 18. 试述视图的优点。

答:视图有以下优点:

(1)视图能够简化用户的操作。

(2)视图使用户能以多种角度看待同一数据。

(3)视图对重构数据库提供了一定程度的逻辑独立性。 (4)视图能够对机密数据提供安全保护。 19. 所有的视图是否都可以更新?为什么?

答:不是。视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,所以,并不

24

是所有的视图都是可更新的。

20. 什么是数据库的逻辑结构设计?试述其设计步骤。

答:数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。 设计步骤为:

(1) 将概念结构转换为一般的关系、网状、层次模型;

(2) 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换; (3) 对数据模型进行优化。 六、 设计题

1.设有描述学校情况的U关系。

U(S#,SD,MN,CN,G)

其中:S#属性表示学生学号,SD表示学生所在系名,MN表示系主任,CN表示课程名,G表示成绩。一个系有若干名学生,一个学生只属于一个系,一个系只有一名系主任,一个学生可选多门课,每个学生选每门课有一个成绩。试写出U关系中的函数依赖,并给每个函数依赖一个简短说明。 答:S#→SD 学生学号,决定其所在系名; SD→MN 系名决定了其所在系的系主任; S#,CN→G学号和课程决定该生此课程的成绩。

2.设有关系:职工关系EMPLOYEE (职工号,职工名,街道,城市)

工作关系WORKS (职工号,公司号,工资) 公司关系COMPANY (公司号,公司名,城市) (1) 假设一个职工可在多个公司兼职,请用关系代数表达式写出至少在公司号为?C2?和?C5?公司兼职的职工的职工号。

(2)试用SQL语句写出下列操作:将所有在“联华公司”工作的职工加薪5﹪。

UPDATE WORKS

SET工资 = 工资 * 1.05 WHERE公司号IN (SELECT公司号 FROM COMPANY

WHERE公司名 =?联华公司?);

3.图书出版管理数据库中有两个基本表:

图书 (书号,书名,作者编号,出版社,出版日期) 作者 (作者编号,作者名,年龄,地址)

试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。

SELECT 作者名,书名,出版社

FROM 图书,作者

WHERE 图书 . 作者编号 = 作者 . 作者编号 AND 年龄 < = (SELECT AVG (年龄)

25

FROM 作者);

4.学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:

学生 (学号,姓名,专业,入学日期) 收费 (学年,学号,学费,书费,总金额)

假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。

试用SQL语句定义上述表的结构。(定义中应包括主键子句和外键子句) CREATE TABLE 学生 (学号 CHAR (8), 姓名 CHAR (8), 专业 CHAR (13), 入学日期 DATE,

PRIMARY KEY (学号)); CREATE TABLE 收费 (学年 CHAR (10), 学号 CHAR (8), 学费 NUMERIC (4), 书费 NUMERIC (5,2), 总金额 NUMERIC (7,2), PRIMARY KEY (学年,学号),

FOREIGN KEY (学号) REFERENCES 学生 (学号));

5.在“学生一选课一课程”数据库中的3个关系如下:

学生(学号,姓名,年龄,性别,班级) 选课(学号,课程号,成绩)

课程(课程号,课程名,学分,学时,任课教师) .

(一)试用关系代数表达式和SQL语言表示下列查询要求。(1) 查询选修了课程名为DB的学生姓名和所在班级。

Π姓名,班级(学生∞选课∞ σ课程名='DB' (课程)) SELECT 姓名,姓名, 班级 FROM 学生

WHERE 学号 IN (SELECT 学号 FROM 选课,课程 WHERE 选课.课程号=课程.课程号 AND 课程名='DB')(2) 查询?刘军?老师所授课程的课程号、课程名。

π课程号,课程名(σ任课教师='刘军'(课程))

26

SELECT 课程号,课程名 FROM 课程 WHERE 任课教师=?LIU? (3) 求选修课程包含“刘军”老师所授课程之一的学生学号 (4) 查询年龄大于23岁的男学生的学号与姓名。 π学号,姓名(σ年龄>'23'∧性别='男'(学生))

SELECT 学号,姓名 FROM S WHERE (年龄>23) AND (性别=?男?) (5) 查询学号为S3学生所学课程的课程名与任课教师名。

π课程名,任课教师(σ学号='S3'∧选课.课程号=C.课程号(选课×课程))

(也可将两个关系自然连接后选择、投影)

π课程名,任课教师(σ学号='S3' ( 学生∞选课))

(6) 查询至少选修LIU老师所授课程中一门课程的女学生的姓名。

π姓名(σ性别='女'∧任课教师='刘军'(学生∞选课∞课程))

SELECT 姓名 FROM 学生 WHERE 性别=?女? AND 学号 IN (SELECT 学号 FROM 选课 WHERE 课程号 IN

(SELECT 课程号 FROM 课程 WHERE 任课教师=?LIU?)

(7) 查询WANG同学不学的课程号。

π课程号(选课)- π课程号(σ姓名='WANG'∧学生.学号=选课.学号(学生×选课))

SELECT 课程号 FROM C WHERE 课程号 NOT IN (SELECT 课程号 FROM 选课 WHERE 学号 IN (SELECT 学号 FROM S WHERE 姓名='WANG'))

(8) 查询至少选修两门课程的学生学号。

π学号(σ1=4∧2≠5(选课×选课)) (选课自乘之后,同一个学号下两个课程号不同的元组)

SELECT 学号 FROM 选课 GROUP BY 学号 HAVING COUNT(课程号)>=2 (9) 查询全部学生都选修的课程的课程号与课程名。

π课程号, 课程名 (选课∞(π学号,课程号(选课)?π学号(学生)))

(涉及到全部值时,应用除法,“除数”是全部量。)

SELECT 课程号,课程名 FROM 课程 WHERE NOT EXISTS (SELECT * FROM 学生 WHERE NOT EXISTS

(SELECT * FROM 选课 WHERE 选课.学号=学生.学号 AND 选课.课程号=课程.课程号))

(10) 查询选修课程包含刘军老师所授课程的学生学号。 π学号(σ任课教师='刘军'(学生∞选课∞课程))

27

SELECT 学号 FROM 学生 WHERE 学号 IN

(SELECT 学号 FROM 选课 WHERE 学生.学号=选课.学号 AND 课程号 IN (SELECT 课程号 FROM 课程 WHERE 任课教师='LIU')) (请讨论一下,本题是否可如此:SELECT DISTINGCT

学号 FROM 选课 WHERE EXISTS (SELECT 课程号 FROM 课程 WHERE 任课教师='LIU'))

(二)试用SQL查询语句表达下列对教学数据库中三个基本表学生、选课、课程的查询要求:

(1)统计有学生选修的课程门数。

SELECT COUNT(DISTINCT 课程号) FROM 选课 (2)求选修C4课程的学生的平均年龄。

SELECT AVG(年龄) FROM 学生 WHERE 学号 IN (SELECT 学号 FROM 选课 WHERE 课程号='C4') (3)求LIU老师所授课程的每门课程的学生平均成绩。

SELECT 课程名,AVG(成绩) FROM 选课 ,课程 WHERE 课程号 IN (SELECT 课程号 FROM 课程 WHERE 任课教师='LIU') GROUP BY 课程号

(4)统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修

人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 SELECT DISTINCT 课程号,COUNT(学号) FROM 选课

GROUP BY 课程号 HAVING COUNT(学号)>10 ORDER BY 2 DEC,课程号 (5)查询学号比WANG同学大,而年龄比他小的学生姓名。

SELCET 姓名 FROM 学生 AS X WHERE X.学号>SOME

(SELECT 学号 FROM 学生 AS Y WHERE Y.姓名='WANG' AND X.年龄

SELECT 姓名,年龄 FROM 学生 WHERE 姓名 LIKE 'WANG%' (7)在选课中检索成绩为空值的学生学号和课程号。

SELECT 学号,课程号 FROM 选课 WHERE 成绩 IS NULL (8)求年龄大于女同学平均年龄的男学生姓名和年龄。

SELECT 姓名,年龄 FROM 学生 AS X

WHERE X.性别='男' AND X.年龄>(SELECT AVG(年龄) FROM 学生 AS Y WHERE Y.性别='女')

(9)求年龄大于所有女同学年龄的男学生姓名和年龄。

SELECT 姓名,年龄 FROM 学生 AS X

WHERE X.性别='男' AND X.年龄>ALL (SELECT 年龄 FROM 学生 AS Y

WHERE Y.性别='女')

(10)查询?刘军?老师所教的所有课程的课号和学时 (11)查询所有学生的基本情况

(12)求在本学期任课的全部教师姓名,担任两门课以上的教师只出现一次。

28

(13)查询23岁以上男生的学号和姓名。

(14)求所有男生的学号、姓名、年龄。要求按年龄递增排序。 (15)求关系S中学生总数

(16)求学习?C2?课的学生总数:

(17)将关系C中课程号为C2的课程任课教师改为?WANG? (18)求任课教师总数. (19)求学生S1的总分数. (20)求学生的最大年龄.

(21)求出年龄等于最大年龄的所有学生的姓名。

SELECT 学号,姓名 FROM 学生

WHERE 年龄=(SELECT MAX(年龄) FROM 学生 )

(22)求选修课程号为“C2”的课程的学生的姓名和专业 (23)求至少选修两门课程的学生学号 (三)试用SQL更新语句表达对教学数据库中三个基本表学生、选课、课程的各个更新操作:

(1)往基本表学生中插入一个学生元组(?S9?,?WU?,18)。 INSERT INTO 学生(学号,姓名,年龄) VALUES('59','WU',18)

(2)在基本表学生中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,

并把检索到的值送往另一个已存在的基本表STUDENT(学号,姓名,性别)。 INSERT INTO STUDENT(学号,姓名,性别)

SELECT 学号,姓名,性别 FROM 学生 WHERE NOT EXISTS

(SELECT * FROM 选课 WHERE 成绩>=80 AND 学生.学号=选课.学号) (3)在基本表选课中删除尚无成绩的选课元组。

DELETE FROM 选课 WHERE 成绩 IS NULL (4)把WANG同学的学习选课和成绩全部删去。

DELETE FROM 选课 WHERE 学号 IN (SELECT 学号 FROM 学生 WHERE 姓名='WANG')

(5)把选修MATHS课不及格的成绩全改为空值。

UPDATE 选课 SET 成绩=NULL WHERE 学号 IN

(SELECT 学号 FROM 课程 WHERE 课程名='MATHS') AND 选课.成绩<60 (6)把低于总平均成绩的女同学成绩提高5%。 UPDATE 选课 SET 成绩=成绩*1.05

WHERE 成绩<(SELECT AVG(成绩) FROM 选课)AND 学号 IN (SELECT 学号 FROM S WHERE 性别='女')

(7)在基本表选课中修改C4课程的成绩,若成绩小于等于75分时提高5%,若成绩

大于75分时提高4%(用两个UPDATE语句实现)。 UPDATE 选课 SET 成绩=成绩*1.05 WHERE 课程号='C4' AND 成绩<=75 UPDATE 选课 SET 成绩=成绩*1.04 WHERE 课程号='C4' AND 成绩>75

29

(四)对于教学数据库中基本表选课,已建立下列视图:

CREATE VIEW S_成绩(学号,课程数,平均成绩) AS SELECT 学号,COUNT(C#),AVG(成绩) FROM 选课 GROUP BY 学号

试判断下列查询和更新是否允许执行。若允许,写出转换到基本表选课上的相应操作。 (1) SELECT * FROM S_成绩

允许:SELECT 学号,COUNT(课程号),AVG(成绩) FROM 选课 GROUP BY S# (2) SELECT S#,C_NUM FROM S_成绩 WHERE AVG_成绩>80

允许:SELECT 学号,COUNT(课程号) FROM 选课 GROUP BY S# HAVING AVG(成绩)>80

(3) SELECT S#,AVG_成绩 FROM S_成绩

WHERE C_NUM>(SELECT C_NUM FROM S_成绩 WHERE S#=

?S4?)

允许:SELECT 学号,AVG(成绩) FROM 选课 AS X

WHERE COUNT(X.课程号)>(SELECT COUNT(Y.课程号) FROM 选课 AS Y

WHERE Y.学号='S4')

(4) UPDATE S_成绩 SET C_NUM=C_NUM+1 WHERE S#=?S4? 不允许

(5) DELETE FROM S_成绩 WHERE C_NUM>4 不允许 (五)

(1) 建立一个视图V—SSC(学号,姓名,课程号,课程名,成绩),并按课程号升序排序; (2) 从视图V—SSC上查询平均成绩在90分以上的学号、课程号和成绩。 (计算题) (1) CREATEVIEWV—SSC(学号,姓名,课程号,课程名,成绩) AS SELECT学号,姓

名,课程号,课程名,成绩FROM 学生,选课 WHERE 学生.学号=选课.学号 ORDER BY 课程号; (2) SELECT 学号,课程号,成绩 FROM V—SSC GROUP BY 学号 HAVING AVG(成

绩)>90;

6. 现有关系数据库如下: 学生(学号,姓名,性别,年龄,专业), 课程(课程号,课程名称,学分), 选修(学号,课程号,成绩) 用关系代数表达式实现下列1—4小题,用SQL语句实现5-8小题:

1.查询“国际贸易”专业的学生的学号、姓名;

2.查询学生成绩得过满分(100分)的课程的课程号、课程名称和学分; 3.查询选修了“数据库原理”这门课程的学生的学号、姓名和专业;

4.查询至少选修了学号为200201001这位学生选修了的课程的学生的学号及姓名; 5.查询“数据库原理”这门课成绩在90分以上的学生人数; 6.查询各个课程号及其相应的选课人数;

7.查询选修了3号课程的学生的学号及其成绩,查询结果按成绩降序排列;

30

8.将所有学生的年龄增加1岁。

1. π学号,姓名(δ专业=?国际贸易?(学生))

2. π课程号,课程名称,学分(δ成绩=100(选修) 课程)

3. π学号,姓名,专业(δ课程名=?数据库原理?(课程) 选课 学生)

4. π学号,姓名((选修?π课程号(δ学号=?200201001?(选修))) 学生)

5. Select Count(*) from 课程,选修 Where 课程.课程名=?数据库原理? AND 选修.

成绩>=90 AND 课程.课程号=选修.课程号

6. Select课程号,Count(*) From 选修 GroupBy 课程号

7. Select 学号,成绩 From 选修 Where 课程号=?3? Order By 成绩 Desc 8. Update 学生 Set 年龄=年龄+1

7. 现有关系数据库如下: 学生(学号,姓名,性别,专业、奖学金) 课程(课程号,名称,学分) 选修(学号,课程号,成绩)

(一)用关系代数表达式实现下列(1)—(7)小题:

① 检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数; ② 检索学生成绩得过满分(100分)的课程的课程号、名称和学分;

③ 检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学

号、姓名和专业;

④ 检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业; ⑤ 查询“计算机”专业的学生的学号、姓名; π学号,姓名(δ专业=?计算机?(学生))

⑥ 查询选修了“数据库原理”这门课程的学生的学号、姓名和专业;

π学号,姓名,专业(δ课程名=?数据库原理?(课程) 选课 学生) ⑦ 查询至少选修了学号为2002003这位学生选修了的课程的学生的学号及姓名; π学号,姓名((选修?π课程号(δ学号=?200201003?(选修))) 学生) (二)用SQL语言实现下列(1)—(6)小题:

① 检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学

号、姓名和专业;

② 检索没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专

业;

③ 对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000

元;

④ 查询“数据库原理”这门课成绩在60分以下的学生人数;

Select Count(*) from 课程,选修 Where 课程.课程名=?数据库原理? AND 选修.成绩< 60 AND 课程.课程号=选修.课程号

⑤ 查询选修了3号课程的学生的学号及其成绩,查询结果按成绩降序排列; Select 学号,成绩 From 选修 Where 课程号=?3? Order By 成绩 Desc

⑥ 定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、名称和学分; 8. 现有图书借阅关系数据库如下:

图书(图书号、书名,作者,单价,库存量)

31

读者(读者号,姓名,工作单位,地址) 借阅(图书号,读者号,借期,还期,备注) 其中:还期为NULL表示该书未还。 (一)用关系代数表达式实现下列1-4小题:

① 检索读者号为R016的读者姓名、工作单位;

π姓名,工作单位(σ读者号=?R016?(读者))

② 检索借阅图书号为B5的读者姓名;

π姓名 ((σ图书号=?B5?(读者))∞借阅)

③ 检索读者“李林”所借图书的书名;

Π姓名,书名((σ姓名='李林'(读者))∞借阅∞书))

④ 检索读者“李林”所借图书中未还的书名;

π姓名,书名((σ姓名='李林'∧还期IS NULL(读者))∞借阅∞书))

⑤ 查询读者“李林”共借多少本图书(已还的不算) (二)用SQL语言实现下列1-6小题:

① 检索读者号为R016的读者姓名、工作单位;

SELECT 姓名,工作单位 FROM 读者 WHERE 读者号=?R016?

② 检索借阅图书号为B5的读者姓名;

SELECT 姓名FROM 读者,借阅 WHERE书号=?B5? AND 读者.读者号=借阅.读者号 ③ 检索读者“李林”所借图书的书名;

SELECT 姓名,书名 FROM 读者,借阅,书

WHERE 姓名=?李林? AND 读者.读者号=借阅.读者号AND书.书号=借阅.书号 ④ 检索读者“李林”所借图书中未还的书名;

SELECT 读者号,书名 FROM 读者,借阅,书

WHERE 姓名=?李林? AND 读者.读者号=借阅.读者号 AND书.书号=借阅.书号AND 还期IS NULL ⑤ 查询读者“李林”共借多少本图书(已还的不算) SELECT COUN(*) FROM FROM 读者,借阅,书

WHERE 姓名=?李林? AND 读者.读者号=借阅.读者号 AND书.书号=借阅.书号AND 还期IS NULL ⑥ 将读者“李林”所借图书的信息从借阅表中删除;

DELETE FROM借阅 WHERE借阅.读者号=(SELECT读者号FROM读者WHERE姓名=?李林?)

⑦ 建立未还图书的读者姓名和单位视图。

32

CREATE VIEW NO-BOOK AS

SELECT姓名, 单位ROM读者,借阅

WHERE读者.读者号=借阅.读者号AND还期IS NULL

七、 综合题

1. 设某单位销售产品所需管理的信息有:订单号、客户号、客户名、客户地址、产品号、

产品名、产品价格、订购数量、定购日期。一个客户可以有多个订单,一个订单可以订多种产品。

(1)请给出销售信息的E-R模型; (2)将E-R模型转换成关系模型。 (1)

1 客户 订货 n 订单 1 订购 m 产品 (2)客户(客户号,客户名,客户地址) 产品(产品号,产品名,产品价格) 订单(订单号,产品号,订购日期) 订购(订单号,产品号,订购数量)

2. 设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号,姓名,地址,性别,年龄,单位。对每本书存有:书号,书名,作者,出版社。对每本被借出的书存有:读者号,借出日期,和应还日期。 (1)给出图书馆数据库的E-R模型;

地址 借出应还读者 借阅 图书 读者号 姓名 性别 年龄 书号 书名 作者

(2)将E-R模型转换成关系模型。

读者 (读者号,姓名,地址,性别,年龄,单位) 书 (书号,书名,作者,出版社)

借阅 (读者号,书号,借出日期,应还日期) 3. 1).用E-R图来表示下列某个工厂物资管理的概念模型,请标明键码和角色名称。涉

及到的数据包括: 实体集:

仓库:仓库号 面积 电话号码

零件:零件号 名称 规格 单价 描述

供应商:供应商号 姓名 地址 电话号码 帐号

33

项目:项目编号 预算 开工日期 职工:职工号 姓名 年龄 职称 联系集:

仓库和零件是多对多的联系;仓库和职工是一对多的联系;职工之间领导与被领导是一对多的联系;供应商、项目、零件是多对多的三元联系 2).将下列E-R图转换成相应的关系模式,并指明其键码。

1)E—R图

34

开工日期 项目编号 预算 供应商号 电话号码 姓名 地址 职工号 被领导领导 领导项目 供应商 姓名 帐号 职工 年龄 供应 职称 管理 仓库 存放 零件 描述 仓库号 面积 电话号码 零件号 名称 规格 单价

2)ER图转换成相应的关系模式为: Press(Pressid, Pres姓名) 键码是Pressid Dept(Pressid,Name) 键码是Pressid+Name

4. 设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属

性顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。试画出ER图,并注明属性和联系类型。 5. 某医院病房计算机管理中需要如下信息: 科室:名称、地址、电话,医生姓名 病房:病房号,床位号,所属科室名称

医生:姓名、职称、所属科室名称、年龄、工作证号 病人:病历号、姓名、性别、诊断、主管医生、病房号

其中一个科室有多个病房、多个医生;一个病房只能属于一个科室;一个医生只属于一

35

本文来源:https://www.bwwdw.com/article/sfs6.html

Top