文档库 最新最全的文档下载
当前位置:文档库 › 数据库基础与应用复习题及参考答案

数据库基础与应用复习题及参考答案

中南大学网络教育课程考试(专科)复习题及参考答案

数据库基础与应用

一、选择题:

1.现实世界中客观存在并能相互区别的事物称为()

A)实体 B)实体集 C)字段 D)记录

2.现实世界中事物的特性在信息世界中称为()

A)实体 B)实体标识符 C)属性 D)关键码

3.下列实体类型的联系中,属于一对一联系的是()

A)教研室对教师的所属联系 B)父亲对孩子的亲生联系

C)省对省会的所属联系 D)供应商与工程项目的供货联系

4.采用二维表格结构表达实体类型及实体间联系的数据模型是()

A)层次模型 B)网状模型 C)关系模型 D)实体联系模型

5.数据库(DB)、DBMS、DBS三者之间的关系()

A)DB包括DBMS和DBS B)DBS包括DB和DBMS

C)DBMS包括DB和DBS D)DBS与DB和DBMS无关

6.在数据库技术中,反映现实世界中事物的存在方式或运动状态的是()

A)信息 B)数据 C)消息 D)命令

7.下列关于关系数据模型的术语中,哪一个术语所表达的概念与二维表中的“行”的概念最接近?

A)属性 B)关系 C)域 D)元组

8.在关系数据中,视图(view)是三级模式结构中的()

A)内模式 B)模式 C)存储模式 D)外模式

9.数据库系统中,用()描述全部数据的整体逻辑结构

A)外模式 B)存储模式 C)内模式 D)概念模式

10.数据库系统中,用户使用的数据视图用()描述,它是用户与数据库之间的接口。

A)外模式 B)存储模式 C)内模式 D)概念模式

11.数据库系统达到了数据独立性是因为采用了()

A)层次模型 B)网状模型 C)关系模型 D)三级模式结构

12.在关系数据库系统中,当关系的型改变时,用户程序也可以不变。这是

A)数据的物理独立性 B)数据的逻辑独立性

C)数据的位置独立性 D)数据的存储独立性

13.逻辑数据独立性是指()

A)概念模式改变,外模式和应用程序不变 B)概念模式改变,内模式不变

C)内模式改变,概念模式不变 D)内模式改变,外模式和应用程序不变

14.物理数据独立性是指()

A)概念模式改变,外模式和应用程序不变 B)概念模式改变,内模式不变

C)内模式改变,概念模式不变 D)内模式改变,外模式和应用程序不变

15.在一个数据库中,模式与内模式的映像个数是

A)1个 B)与用户个数相同 C)由设置的系统参数决定 D)任意多个

16.下列关于模式的术语中,哪一个不是指数据库三级模式结构中的外模式?

A)子模式 B)用户模式 C)存储模式 D)用户视图

17.下列关于数据库三级模式结构的说法中,哪一个是不正确的?

A)一个数据库中可以有多个外模式但只有一个内模式

B)一个数据库中可以有多个外模式但只有一个模式

C)一个数据库中只有一个外模式也只有一个内模式

D)一个数据库中只有一个模式也只有一个内模式

18.在数据库三级模式中,外模式的个数()

A)只有一个 B)可以有任意多个

C)与用户个数相同 D)由设置的系统参数决定

19.在数据库系统中,负责监控数据库系统的运行情况,及时处理运行过程中出现的问题,这是()人员的职责。

A)数据库管理员 B)系统分析员 C)数据库设计员 D)应用程序员

20.下面给出的关于数据库的三级模式结构的说法中,()是不正确的。

I.数据库中只有一个模式 II.外模式与模式之间的映像实现数据的逻辑独立性

III.外模式与内模式之间的映像实现数据的物理独立性

A)仅I B)仅II C)仅III D)都不正确

21. 设关系R和S的元组个数分别为100和300,关系T是R与S的笛卡尔积,则T的元组个数为()A)400 B)10000 C)30000 D)90000

22. 下面对于关系的叙述中,哪个是不正确的?()

A)关系中的每个属性是不可分解的 B)在关系中元组的顺序是无关紧要的

C)任意的一个二维表都是一个关系 D)每一个关系只有一种记录类型

23. 设关系R和S具有相同的目,且它们相对应的属性的值取自同一个域,则R-(R-S)等于()A)R∪S B)R∩S C)R×S D)R÷S

24. 在关系代数中,()操作称为从两个关系的笛卡尔积中,选取它们属性间满足一定条件的元组。A)投影 B)选择 C)自然连接 D)θ连接

25. 关系数据模型的三个要素是()

A)关系数据结构、关系操作集合和关系规范化理论

B)关系数据结构、关系规范化理论和关系的完整性约束

C)关系规范化理论、关系操作集合和关系的完整性约束

D)关系数据结构、关系操作集合和关系的完整性约束

26. 下列叙述中,哪一条是不正确的?()

A)一个二维表就是一个关系,二维表的名就是关系的名

B)关系中的列称为属性,属性的个数称为关系的元或度

C)关系中的行称为元组,对关系的描述称为关系模式

D)属性的取值范围称为值域,元组中的一个属性值称为分量

27. 设关系R的度为20,关系S的度为30。如果关系T是R与S的广义笛卡尔积,即:T=R×S,则关系T的度为()

A)10 B)20 C)30 D)50

28. 设关系R和S具有相同的度,且相应的属性取自同一个域。下列哪一个关系代数的运算的结果集

合为{ t|t ∈ R ∧ t ? S}?()

A)R∪S B)R-S C)R×S D)R∩S

29. 在关系代数的连接操作中,哪一种连接操作需要取消重复列?()

A)自然连接 B)笛卡尔积 C)等值连接 D)θ连接

30. 下列哪一种关系运算不要求:“R和S具有相同的度数,且它们对应属性的数据类型也相同”?A)R∪S B)R∩S C)R-S D)R×S

(31) SQL语言是( )的语言,易学习。

A.过程化B.非过程化C.格式化D.导航式

(32) SQL语言具有( )的功能。

A.关系规范化、数据操纵、数据控制

B.数据定义、数据操纵、数据控制

C.数据定义、关系规范化、数据控制

D.数据定义、关系规范化、数据操纵

(33) SQL语言的数据操作语句包括SELECT、INSERT、UPDATE和DELETE等。其中最重要的,也是使用

最频繁的语句是( )。

A.SELECT B.INSERT C.UPDATE D.DELETE

(34) 在下列SQL语句中,修改表结构的语句是( )。

A.ALTER B.CREATE C.UPDATE D.INSERT

(35) 设有关系R(A,B,C)和S(C,D),与关系代数表达式πA,B,D(σR.C=S.C(R×S))等价的SQL语句是( )。

A.SELECT * FROM R,S WHERE R.C=S.C

B.SELECT A,B,D FROM R,S WHERE R.C=S.C

C.SELECT A,B,D FROM R,S WHERE R=S

D.SELECT A,B FROM R WHERE(SELECT D FROM S WHERE R.C=S.C.

(36) SQL语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句CREATE、DROP、ALTER

实现哪类功能?( )

A.数据查询B.数据操作C.数据定义D.数据控制

(37) 设关系R(A,B,C),与SQL语句“SELECT DISTINCT A FROM R WHERE B=17”等价的关系代数表

达式是( )。

A.πA(σB=17(R)) B.σB=17(πA(R))

C.σB=17(πA,C(R)) D.πA,C(σB=17(R))

下面第(38)~(42)题,基于“学生-选课-课程”数据库中的3个关系:

S(S#,SNAME,SEX,DEPARTMENT),主码是S#

C(C#,CNAME,TEACHER),主码是C#

SC(S#,C#,GRADE),主码是(S#,C#)

(38) 在下列关于保持数据库完整性的叙述中,哪一个是不正确的?( )

A.向关系SC插入元组时,S#和C#都不能是空值(NULL)

B.可以任意删除关系SC中的元组

C.向任何一个关系插入元组时,必须保证该关系主码值的唯一性

D.可以任意删除关系C中的元组

(39) 查找每个学生的学号、姓名、选修的课程名和成绩,将使用关系( )

A.只有S,SC B.只有SC,C C.只有S,C D.S,SC,C

(40) 若要查找姓名中第一个字为“王”的学生的学号和姓名,则下面列出的SQL语句中,哪个(些)

是正确的?( )

Ⅰ.SELECT S#,SNAME FROM S WHERES NAME='王%'

Ⅱ.SELECT S#,SNAME FROM S WHERE SNAME LIKE '王%'

Ⅲ.SELECT S#,SNAME FROM S WHERESNAME LIKE '王_'

A.ⅠB.ⅡC.ⅢD.全部

(41) 若要“查询选修了3门以上课程的学生的学号”,则正确的SQL语句是( )。

A.SELECT S# FROM SC GROUP BY S# WHERE COUNT(*)> 3

B.SELECT S# FROM SC GROUP BY S# HAVING COUNT(*)> 3

C.SELECT S# FROM SC ORDER BY S# WHERE COUNT(*)> 3

D.SELECT S# FROM SC ORDER BY S# HAVING COUNT(*)> 3

(42) 若要查找“由张劲老师执教的数据库课程的平均成绩、最高成绩和最低成绩”,则将使用关系

( )。

A.S和SC B.SC和C C.S和C D.S、SC和C

下面第(43)~(46)题基于这样的3个表,即学生表S、课程表C和学生选课表SC,它们的关系模式如下:

S(S#,SN,SEX,AGE,DEPT)(学号,姓名,性别,年龄,系别)

C(C#,CN)(课程号,课程名称)

SC(S#,C#,GRADE)(学号,课程号,成绩)

(43) 检索所有比“王华”年龄大的学生姓名、年龄和性别。下面正确的SELECT语句是( )。

A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN='王华')

B.SELECT SN,AGE,SEX FROM S WHERE SN='王华'

C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN='王华')

D.SELECT SN,AGE,SEX FROM S WHERE SGE>王华.AGE

(44) 检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是( )。

A.SELECT S# FROM SC WHERE C#='C2' AND GRADE>=

(SELECT GRADE FROM SC WHERE C#='C2')

B.SELECT S# FROM SC WHERE C#='C2' AND GRADE IN

(SELECT GRADE FROM SC WHERE C#='C2')

C.SELECT S# FROM SC WHERE C#='C2' AND GRADE NOT IN

(SELECT GRADE GORM SC WHERE C#='C2')

D.SELECT S# FROM SC WHERE C#='C2' AND GRADE>=

(SELECT GRADE FROM SC WHERE C#='C2')

(45) 检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是( )。

A.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S#

B.SELECT S.SN, SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.GRADE

C.SELECT S.SN,SC.C#,SC.GRADE FROM S, SC WHERE S.S#=SC.S#

D.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC

(46) 检索4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正

确的SELECT语句是( )。

A.SELECT S#,SUM(GRAGE) FROM SC WHERE GRADE>=60 GROUP BY S#

ORDER BY S# HAVING COUNT(*)>=4

B.SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC

C.SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 HAVING COUNT(*)<=4 GROUP BY S# ORDER BY 2 DESC

D.SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S# ORDER BY 2

(47) 如下面的数据库的表所示,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操

作( )不能执行。

A.从职工表中删除行('025','王芳','03',720)

B.将行('005','乔兴', '04',720)插入到职工表中

C.将职工号为'001'的工资改为700

D.将职工号为'038'的部门号改为'03'

(48) 若用如下的SQL 语句创建一个STUDENT 表: CREATE TABLE STUDENT (NO CHAR(4) NOT NULL, NAME CHAR(8) NOT NULL, SEX CHAR(2),AGE INT(2))

可以插入到STUDENT 表中的是( )。

A .('1031', '曾华',男,23)

B .('1031', '曾华',NULL,NULL) B .(NULL, '曾华', '男', '23') D .('1031',NULL, '男',23)

(49) 有关系S(S#,SNAME ,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL 语句是“SELECT SNAME FROM S,C ,SC WHERE 子句”。这里的WHERE 子句的内容是( )。

A .S.S#=SC.S# AND C.C#=SC.C# AND SAGE>=20 AND CNAME='ACCESS'

B .S.S#=SC.S# AND C.C#=SC.C# AND SAGE IN >=20 AND CNAME IN 'ACCESS'

C .SAGE>=20 AN

D CNAME='ACCESS' D .SAGE>=20 AND CNAME='ACCESS'

(50) 若要在基本表S 中增加一列CN(课程名),可用( )。

A .ADD TABLE S(CN CHAR(8))

B .ADD TABLE S ALTER(CN CHAR(8))

C .ALTER TABLE S ADD(CN CHAR(8))

D .ALTER TABL

E S(ADD CN CHAR(8))

(51) 学生关系模式S(S#,SNAME ,AGE ,SEX),S 的属性分别表示学生的学号、姓名、年龄、性别。要在表S 中删除一个属性“年龄”,可选用的SQL 语句是( )。

A .DELETE AGE FROM S

B .ALTER TABLE S DROP COLUMN AGE

C .UPDATE S AGE

D .ALTER TABL

E S 'AGE'

(52) 设关系数据库中有一个表S 的关系模式为S(SN ,CN ,GRADE),其中SN 为学生名,CN 为课程名,二者为字符型;GRADE 为成绩,数值型,取值范围0~100。若要更正“王二”的化学成绩为85分,则可用( )。

A .UPDATE S SET GRADE=85 WHERE SN='王二' AND CN='化学'

B .UPDATE S SET GRADE='85' WHERE SN='王二' AND CN='化学'

C .UPDATE GRADE=85 WHERE SN='王二' AN

D CN='化学' D .UPDAT

E GRADE='85' WHERE SN='王二' AND CN='化学' (53) 在SQL 语言中,子查询是( )。

A .返回单表中数据子集的查询语句

B .选取多表中字段子集的查询语句

C .选取单表中字段子集的查询语句

D .嵌入到另一个查询语句之中的查询语句

(54) 在SQL语言中,条件“年龄BETWEEN 20 AND 30”表示年龄在20~30之间,且( )。

A.包括20岁和30岁B.不包括20岁和30岁

C.包括20岁但不包括30岁D.包括30岁但不包括20岁

(55) 下列聚合函数不忽略空值(NULL)的是( )。

A.SUM(列名) B.MAX(列名) C.COUNT(*) D.AVG(列名)

(56).规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须

满足:其每一个属性都是()

A)互不相关的 B)不可分解的 C)长度可变的 D)互相关联的

(57).关系数据库规范化是为解决关系数据库中()问题而引入的。

A)插入、删除和数据冗余 B)提高查询速度

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

(58).规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常以及()的缺陷。

A)数据的不一致性 B)结构不合理 C)冗余度大 D)数据丢失

(59).关系模型中的关系模式至少是()

A)1NF B)2NF C)3NF D)BCNF

(60).以下哪一条属于关系数据库的规范化理论要解决的问题?()

A)如何构造合适的数据库逻辑结构 B)如何构造合适的数据库物理结构

C)如何构造合适的应用程序界面 D)如何控制不同用户的数据操作权限

(61).下列关于关系数据库的规范化理论的叙述中,哪一条是不正确的?()

A)规范化理论提供了判断关系模式优劣的理论标准

B)规范化理论提供了判断关系数据库管理系统优劣的理论标准

C)规范化理论对于关系数据库设计具有重要指导意义

D)规范化理论对于其它模型的数据库的设计也有重要指导意义

(62).下列哪一条不是由于关系模式设计不当所引起的问题?

A)数据冗余 B)插入异常 C)删除异常 D)丢失修改

(63).下列关于部分函数依赖的叙述中,哪一条是正确的?()

A)若X→Y,且存在属性集Z,Z∩Y≠Φ,X→Z,则称Y对X部分函数依赖

B)若X→Y,且存在属性集Z,Z∩Y=Φ,X→Z,则称Y对X部分函数依赖

C)若X→Y,且存在X的真子集X′,X′Y,则称Y对X部分函数依赖

D)若X→Y,且存在X的真子集X′,X′→Y,则称Y对X部分函数依赖

(64).下列关于关系模式的码的叙述中,哪一项是不正确的?()

A)当候选码多于一个时,选定其中一个作为主码

B)主码可以是单个属性,也可以是属性组

C)不包含在主码中的属性称为非主属性

D)若一个关系模式中的所有属性构成码,则称为全码

(65).在关系模式中,如果属性A和B存在1对1的联系,则()

A)A→B B)B→A C)A B D)以上都不是

(66).候选关键字中的属性称为()

A)非主属性 B)主属性 C)复合属性 D)关键属性

(67).由于关系模式设计不当所引起的插入异常指的是()

A)两个事务并发地对同一关系进行插入而造成数据库不一致

B)由于码值的一部分为空而不能将有用的信息作为一个元组插入到关系中

C)未经授权的用户对关系进行了插入

D)插入操作因为违反完整性约束条件而遭到拒绝

(68).X→Ai成立是X→A1A2…Ak成立的()

A)充分条件 B)必要条件 C)充要条件 D)既不充分也不必要

(69).任何一个满足2NF但不满足3NF的关系模式都存在()

A)主属性对候选码的部分依赖 B)非主属性对候选码的部分依赖

C)主属性对候选码的传递依赖 D)非主属性对候选码的传递依赖

(70).设有关系模式R(A,B,C,D),其函数依赖集F={(A,B)→C,C→D},则关系模式R的规范

化程度最高达到()。

A)BCNF B)3NF C)2NF D)1NF

(71).设有关系模式R(A,B,C),根据语义有如下函数依赖集:F={A→B,(B,C)→A}。关系模

式R的规范化程度最高达到()

A)1NF B)2NF C)3NF D)4NF

(72).在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是()。A)1NF B)2NF C)3NF D)BCNF

(73).关系模式中,满足2NF的模式,()。

A)可能是1NF B)必定是1NF C)必定是3NF D)必定是BCNF

(74).消除了部分函数依赖的1NF的关系模式,必定是()。

A)1NF B)2NF C)3NF D)4NF

(75).已知关系模式R(A,B,C,D,E)及其上的函数依赖集F={A→D,B→C,E→A},该关系模式

的候选码是()。

A)AB B)BE C)CD D)DE

(76).E-R方法的三要素是()。

A)实体、属性、实体集 B)实体、键、联系

C)实体、属性、联系 D)实体、域、候选键

(77).如果采用关系数据库实现应用,在数据库的逻辑设计阶段需将()转换为关系数据模型。A)E-R模型 B)层次模型 C)关系模型 D)网状模型。

(78).在数据库设计的需求分析阶段,业务流程一般采用()表示。

A)E-R模型 B)数据流图 C)程序结构图 D)程序框图

(79).概念设计的结果是()。

A)一个与DBMS相关的概念模式 B)一个与DBMS无关的概念模式

C)数据库系统的公用视图 D)数据库系统的数据词典

(80).在设计数据库系统的概念结构时,常用的数据抽象方法是()。

A)合并与优化 B)分析和处理 C)聚集和概括 D)分类和层次

(81).如果采用关系数据库来实现应用,在数据库设计的()阶段将关系模式进行规范化处理。A)需求分析 B)概念设计 C)逻辑设计 D)物理设计

(82).在数据库的物理结构中,将具有相同值的元组集中存放在连续的物理块称为()存储方法。A)HASH B)B+树索引 C)聚簇 D)其它

(83).在数据库设计中,当合并局部E-R图时,学生在某一局部应用中被当作实体,而另一局部应用中被当作属性,那么被称之为()冲突。

A)属性冲突 B)命名冲突 C)联系冲突 D)结构冲突

(84).在数据库设计中,E-R模型是进行()的一个主要工具。

A)需求分析 B)概念设计 C)逻辑设计 D)物理设计

(85).在数据库设计中,学生的学号在某一局部应用中被定义为字符型,而另一局部应用中被定义为整型,那么被称之为()冲突。

A)属性冲突 B)命名冲突 C)联系冲突 D)结构冲突

(86).下列关于数据库运行和维护的叙述中,()是正确的。

A)只要数据库正式投入运行,标志着数据库设计工作的结束

B)数据库的维护工作就是维护数据库系统的正常运行

C)数据库的维护工作就是发现错误,修改错误

D)数据库正式投入运行标志着数据库运行和维护工作的开始

(87). 下面有关E-R模型向关系模型转换的叙述中,不正确的是()。

A)一个实体类型转换为一个关系模式

B)一个1:1联系可以转换为一个独立的关系模式合并的关系模式,也可以与联系的任意一端实体所对应

C)一个1:n联系可以转换为一个独立的关系模式合并的关系模式,也可以与联系的任意一端实体所对应

D)一个m:n联系转换为一个关系模式

(88). 在数据库逻辑结构设计中,将E-R模型转换为关系模型应遵循相应原则。对于三个不同实体集

和它们之间的一个多对多联系,最少应转换为多少个关系模式?()

A)2 B)3 C)4 D)5

(89). 存取方法设计是数据库设计的()阶段的任务。

A)需求分析 B)概念结构设计 C)逻辑结构设计 D)物理结构设计

(90). 下列关于E-R模型的叙述中,哪一条是不正确的?()

A)在E-R图中,实体类型用矩形表示,属性用椭圆形表示,联系类型用菱形表示

B)实体类型之间的联系通常可以分为1:1,1:n和m:n三类

C)1:1联系是1:n联系的特例,1:n联系是m:n联系的特例

D)联系只能存在于两个实体类型之间

二、填空题:

1.数据管理经历了________、_______、________三个发展阶段。

2._______是指数据库的物理结构改变时,尽量不影响整体逻辑结构、用户的逻辑结构以及应用程序。

3._______是数据库的整体逻辑结构改变时,尽量不影响用户的逻辑结构以及应用程序。

4.用户与操作系统之间的数据管理软件是_________。

5.根据不同的数据模型,数据库管理系统可以分为_________、_________、_________和面向对象型。

6.数据模型由__________、__________和___________三要素组成。

7.现实世界的事物反映到人的头脑中经过思维加工成数据,这一过程要经过三个领域,依次是_________、__________和__________。

8.现实世界中,事物的个体在信息世界中称为________,在机器世界中称为_______。

9.能唯一标识实体的属性集,称为_________。

10.属性的取值范围称为该属性的_________。

11.两个不同实体集的实体间有_________、_________和_________三种情况联系。

12.表示实体类型和实体间联系的模型,称为_________。

13.最著名、最为常用的概念模型是_________。

14.数据库的体系结构分为_________、_________和_________三部分。

15.在数据库的三级模型中,单个用户使用的数据视图的描述,称为_________;全局数据视图的描述,称为_________,物理存储数据视图的描述,称为_________。

16.数据独立性是指_________和_________之间相互独立,不受影响。

17.数据独立性分成_________独立性和_________独立性两级。

18.DBS中最重要的软件是_________;最重要的用户是_________。

19.采用了_________技术的计算机系统称为DBS。

20.在三大传统的数据模型中,具有严格的数学理论基础的是_________。

21.关系模式规范化需要考虑数据产生的依赖关系,人们已经提出了多种类型的数据依赖,其中最主要的是函数依赖和___________。

22.在关系模式R中,如果X→Y,且对于X的任意真子集X’,都有X’Y,则称Y对X______函数依赖。

23.在关系A(S,SN,D)和B(D,CN,NM)中,A的主键是S,B的主键是D,则D在S中称为________。

24.设有关系模式R(B,C,M,T,A,G),根据语义有如下函数依赖集:F={B→C,(M,T)→B,(M,C)→T,(M,A)→T,(A,B)→G}。则关系模式R的候选码是_______。

25.关系数据库规范化理论的研究中,在函数依赖的范畴内,_______达到了最高的规范化程度。

26.用户关系模式R中所有的属性都是主属性,则R的规范化程度至少达到________。

27.在函数依赖中,平凡的函数依赖根据Armstrong推理规则中的________律就可推出。

28.在一个关系R中,若每个数据项都是不可分割的,那么R一定属于________。

29.如果X→Y且有Y是X的子集,那么X→Y称为_________。

30.若关系模式R的规范化程度达到4NF,则R的属性之间不存在非平凡且非______的多值依赖。

三、简答题:

1.简述数据库管理系统的主要功能有哪些?

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

3.试述数据库系统的特点。

4.试述关系模型的三个组成部分。

5.定义并理解主码,候选码,外部码术语,说明它们之间的联系与区别:

6. 定义并理解关系模式,关系,关系数据库术语,说明它们之间的联系与区别:

7.试述关系模型的三类完整性规则。

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

9.理解并给出函数依赖、部分函数依赖术语的定义:

10.试述数据库设计过程。

11.试述关系数据库系统中视图(VIEW)的定义,引进VIEW的概念有什么优点?

12.数据字典的内容和作用是什么?

13.试述事务的概念及事务的四个特性。

14.为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。

15.数据库中为什么要有恢复子系统?它的功能是什么?

16.什么是E-R图?构成E-R图的基本要素是什么?

四、综合题:

(一)SQL 练习题

1.假设学生——课程数据库关系模式如下:

S(Sno,Sname,Sage,Ssex)

C(Cno,Cname,Teacher)

SC(Sno,Cno,Grade)

用SQL语句表达下列查询:

(1)找出刘老师所授课程的课程号和课程名;

(2)找出年龄小于22岁的女学生的学号和姓名。

2.用SQL的有关语句定义:

(1)学生关系Student,包括学号Sno、姓名SN、年龄SA;

(2)课程关系Course,包括课程号Cno、课程名CN、任课教师CT;

(3)学生选课关系SC,包括Sno,Cno和成绩G。

3.按题1的学生关系模式,用SQL的有关语句。

(1)授予赵华对学生关系Student的插入和修改权限;

(2)插入任意3个学生的完整信息;

(3)修改所有学生的年龄。

4.结合题1定义的学生选课数据库,用SQL语句查询学生数据库课程的成绩,输出学生姓名和成绩,按成绩排序(降序);若成绩相同,再按学号排序(升序)。

(二)、SQL设计题,用SQL语句完成下面的要求

1、请创建如下的四个表,各表的结构如下:

学生表:包括如下字段:学号,姓名,性别,出生日期,班级号。

老师表:包括如下字段:老师编号,姓名,性别,出生日期,职称,所在系名。

课程表:包括如下字段:课程编号,课程名称,所任课老师编号

成绩表:包括如下字段:学生学号,课程号,成绩。

2、在上面创建的四个表中各插入1条记录。其中学生的姓名为“曾华”。老师的姓名为“李诚”。课程名

称为“数据库”。

3、将上面表中课程的名称改为“大型数据库”。)

4、完成如下查询:

1)、显示教师所有的单位即不重复的depart列。

2)、显示student表中“95031”班或性别为“女”的同学记录。

3)、以cno升序、degree降序显示score表的所有记录。

4)、显示“98031”班的学生人数。

5)、显示score表中的最高分的学生学号和课程号。

6)、显示“3-105”号课程的平均分。

7)、显示score表中至少有5名学生选修的并以3开头的课程号的平均分数。

8)、显示最低分大于70,最高分小于90 的sno列。

9)、显示所有学生的 sname、cname和degree列。

10)、列出“95033”班所选课程的平均分。

11)、显示score中选修多门课程的同学中分数为非最高分成绩的记录。

12)、显示成绩高于学号为“109”、课程号为“3-105”的成绩=的所有记录。

4、删除成绩表中所有的记录。

(三) 关系范式

. 1 假设某公司销售业务中使用的订单格式如下:

公司的业务规定:

(1)订单号是唯一的,每张订单对应一个订单号;

(2)一张订单可以订购多种产品,每一种产品可以在多个订单中出现;

(3)一张订单有一个客户,且一个客户可以有多张订单;

(4)每一个产品编号对应一种产品的品名和价格;

(5)每一个客户有一个确定的名称和电话号码。

设有人设计出了如下的关系模式:

R(订单号,订货日期,客户名称,客户电话,产品编号,品名,价格,数量)问:

(1)找出R的候选码。

(2)写出R的基本函数依赖集。

(3)判断R最高可达到第几范式?为什么?

(4)给出一个可能的3NF分解。

(四) SQL

对于教学数据库的三个基本表

学生 S(S#,SNAME,AGE,SEX)

学习 S C(S#,C#,GRADE)

课程 C(C#,CNAME,TEAC HER)

(1)试用关系代数表达式和SQL语句表示:检索WANG同学不学的课程号。

(2)试用SQL语句完成:在基本表S中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,并把检索到的值送往另一个已存在的基本表STUDENT(S#,SNAME,SEX)。

(3)试用SQL语句完成:检索选修课程包含LIU老师所授课的学生学号。

(4)有如下关系代数表达式:

πc#,CNAME (C(πS#,C#(SC))÷πS#(S))))

请指出其汉语含义。

(五) 数据库设计

东方货运公司数据库的样本数据如下。

根据数据库的表结构和内容,求:

(1)指出每个表的主码和外码。如果没有外码,则写“无”。

(2)卡车表存在实体完整性和参照完整性吗?请详细说明。

(3)具体说明卡车表与运货站表之间存在着什么关系?

(4)卡车表中包含多少个实体?

(六) SQL设计

今有如下关系数据库: S(SNO,SN,STATUS,CITY) P(PNO,PN,COLOR,WEIGHT) (JNO,JN,CITY) SPJ(SNO,PNO,JNO,QTY) 其中,S为供应单位,P为零件,J为工程项目,SPJ为工程订购零件的订单,其语义为:某供应单位供应某种零件给某个工程,请用SQL完成下列操作。

(1)求为工程J1提供红色零件的供应商代号。

(2)求使用S1供应的零件的工程名称。

(3)求供应商与工程所在城市相同的供应商提供的零件代号。

(4)求至少有一个和工程不在同一城市的供应商提供零件的工程代号。

参考答案

一、选择题

二、填空题

(1)人工管理、文件系统、数据库系统(2)模式/内模式的映象(3)模式/外模式的映象(4)数据库管理系统(DBMS)(5)层次、网状、关系

(6)数据结构、数据操作、数据约束条件

(7)现实世界、信息世界、数据世界(机器世界)

(8)实体、记录(9)码(10)域

(11)一对一(1:1)、一对多(1:n)、多对多(m:n)

(12)概念模型(13)E/R模型(14)外部、概念、内部

(15)外模式(子模式或用户模式)、模式(概念模式或逻辑模式)、内模式(存储模式或物理模式) (16)程序、数据(17)逻辑、物理

(18)数据库管理系统(DBMS)、数据库管理员(DBA)

(19)数据库(20)关系模型

(21)多值依赖(22)完全(23)外码(24)MA (25)BCNF

(26)3NF (27)自反(28)1NF (29)平凡的函数依赖(30)函数依赖

三、简述题

1.简述数据库管理系统的主要功能有哪些?

答:①数据库定义功能;

②数据存取功能;

③数据库运行管理;

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

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

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

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

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

②数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关

的操作规则,是对系统动态特性的描述。

③数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制

约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。

3.试述数据库系统的特点。

答:数据库系统的主要特点有:

一、数据结构化

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

二、数据的共享性高,冗余度低,易扩充

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

三、数据独立性高

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

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

四、数据由 DBMS统一管理和控制

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

4.试述关系模型的三个组成部分。

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

5. 定义并理解主码,候选码,外部码术语,说明它们之间的联系与区别:

答:

候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码( Candidate key)。

主码:若一个关系有多个候选码,则选定其中一个为主码( Primary key)。

外部码:设 F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码(Foreign key),简称外码。

基本关系 R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。关系R和S可以是相同的关系。

6. 定义并理解关系模式,关系,关系数据库术语,说明它们之间的联系与区别:

答:关系模式:关系的描述称为关系模式( Relation Schema)。它可以形式化地表示为:R(U,D,dom,F)

其中 R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。

关系:在域 D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)

关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。

关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。

7.试述关系模型的三类完整性规则。

答:

关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性,即主属性不能为空、参照完整性即外码要么取值为空,要么为对应主码某个元组的取值和用户定义的完整性。

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

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

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

9.理解并给出函数依赖、部分函数依赖术语的定义:

答:函数依赖:设 R (U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R (U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称"X函数确定Y"或"Y函数依赖于X",记作X→Y。完全函数依赖、部分函数依赖:在 R(U)中,如果X →Y,并且对于X的任何一个真子集X,都有X′→Y,则称Y对X完全函数依赖;若X→Y,但Y不完全函数

依赖于X,则称Y对X部分函数依赖;

10. 试述数据库设计过程。

1) 需求分析

2) 概念结构设计

3) 逻辑结构设计

4) 数据库物理设计

5) 数据库实施

6) 数据库运行和维护

这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、数据库运行和维护。

设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。

11. 试述关系数据库系统中视图(VIEW)的定义,引进VIEW的概念有什么优点。

答案视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。引进VIEW的优点有: (1)视图能够简化用户的操作。 (2)视图使用户能以多种角度看待同一数据。 (3)视图对重构数据库提供了一定程度的逻辑独立性。 (4)视图能够对机密数据提供安全保护。

12. 数据字典的内容和作用是什么?

答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:数据项、数据结构、数据流、数据存储、处理过程五个部分

其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。

数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。

13.试述事务的概念及事务的四个特性。

答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做 ,是一个不可分割的工作单位。

事务具有四个特性:原子性( Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID特性。

原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。

一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持续性:持续性也称永久性( Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。

14.为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。

答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。

例如某工厂的库存管理系统中,要把数量为 Q的某种零件从仓库1移到仓库2存放。

则可以定义一个事务 T,T包括两个操作;Q1=Q1-Q,Q2=Q2+Q。如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。

15.数据库中为什么要有恢复子系统?它的功能是什么?

答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。

恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。

16.什么是E-R图?构成E-R图的基本要素是什么?

答:

E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R 图的基本要素是实体型、属性和联系,其表示方法为: ? 实体型:用矩形表示,矩形框内写明实体名; ? 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来; ? 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。

四、综合题

(一)SQL 练习题

1.假设学生——课程数据库关系模式如下:

S(Sno,Sname,Sage,Ssex)

C(Cno,Cname,Teacher)

SC(Sno,Cno,Grade)

用SQL语句表达下列查询:

(1)找出刘老师所授课程的课程号和课程名;

SELECT Cno,Cname

FROM C

WHERE Teacher LIKE‘刘%’;

(2)找出年龄小于22岁的女学生的学号和姓名。

SELECT Sno,Sname

FROM S

WHERE Sage 22 AND Ssex=‘F'

2.用SQL的有关语句定义:

(1)学生关系Student,包括学号Sno、姓名SN、年龄SA;

CREATE TABLE Student(

Sno INT PRIMARY KEY

SN CHAR(30),

SA INT

);

(2)课程关系Course,包括课程号Cno、课程名CN、任课教师CT;

CREATE TABLE Course(

Cno INT PRIMARY KEY,

CN CNAR(30),

CT CHAR(30)

);

(3)学生选课关系SC,包括Sno,Cno和成绩G。

CREATE TABLE SC(

Sno INT,

Cno INT,

G INT,

PRIMARY KEY(Sno,Cno),

FOREIGN KEY(Sno)REFERENCES Student(Sno),

FOREIGN KEY(Cno)REFERENCES Course(Cno)

);

3.按题1的学生关系模式,用SQL的有关语句。

(1)授予赵华对学生关系Student的插入和修改权限;

GRANT INSERT,UPDATE ON Student TO‘赵华’;

(2)插入任意3个学生的完整信息;

INSERT INTO Student

(TABLE (01001,‘赵华’,19),

(01002,‘李芳’,18),

(01003,‘刘红’,20),

);

(3)修改所有学生的年龄。

UPDATE Student

SET SA=SA+1;

4.结合题1定义的学生选课数据库,用SQL语句查询学生数据库课程的成绩,输出学生姓名和成绩,按成绩排序(降序);若成绩相同,再按学号排序(升序)。

SELECT SN,G

FROM Student,Course,SC

WHERE Student. Sno=SC.Sno AND Course. Cno=https://www.wendangku.net/doc/2513655442.html,o

AND Course. CN=‘数据库’

ORDER BY G DESC,Sno;

(二)、SQL设计题,用SQL语句完成下面的要求

1创建表

create table student(sno int,sname char(12),sex char(4),birthday datetime,class char(10) ) create table teacher(tno int ,tname char(12),sex char(4),birthday datetime,proff char(10),depart char(20) );

create table course(cno char(8) ,cname char(12),tno int);

create table score(sno int,cno char(8), degree int);

2插入记录

insert into student values(108,'曾化','男','77/09/01','95033');

insert into teacher values(804,'李诚','男','70/09/01','副教授','计算机系');

insert into course values('3_105','数据库',825);

insert into score values(103,'3_245',86);

3、修改表

update course set cname=’大型数据库’ where cno=’3_245’;

4查询

1、Select distinct depart from teacher;

2、Select * from student where class=98031 or sex=‘女’;

3、Select * from score order by cno, degree desc;

4、Select count(*) from student where class=98031;

5、 select sno,cno,degree as 最高分from score where degree=

(select max(degree) from score)

6、Select avg(degree) as 课程平均分from score where cno=‘3-105’

7、Select cno,avg(degree) from score where cno like ‘3%’Group by cno having count(*) >=5;

8、Select sno from score group by sno Having min(degree)>70 and max(degree)<90;

9、Select sname, cname, degree from course , student,score Where student.sno=score.sno and

https://www.wendangku.net/doc/2513655442.html,o=https://www.wendangku.net/doc/2513655442.html,o;

10、S elect cno,avg(degree) from student , score where student.sno=score.sno and

student.class=‘95033’group by cno;

11、S elect a.sno, a.degree, https://www.wendangku.net/doc/2513655442.html,o from score a, score bWhere a.sno=b.sno and a.degree

12、S elect https://www.wendangku.net/doc/2513655442.html,o, x.sno, x.degree from score x, score y Where x.degree>y.degree and y.sno=109

and https://www.wendangku.net/doc/2513655442.html,o=‘3-105’;

4 删除数据

Delete from score;

(三) 关系范式 (.注:答案不唯一)

(1)R的候选码为((订单号,产品编号)

(2)函数依赖集有(订单号,产品编号)→其它所有属性;客户名称→客户电话;产品编号→品名;

产品编号→价格

(3)RR最高可达到第1范式,因为它的非主属性对码有部分函数依赖;

(4)R1(订单号,产品编号,数量),R2(客户名称,客户电话),R3(产品编号,品名,价格); R4(订单号,客户名称,订货日期)

(四) SQL

1.(1)πC#(C)-πC#(σSNAME='WANG'S SC) 或者

πC#(SC)-πC#(σSNAME='WANG'S SC)(全部课程号减去WANG同学所学的课程号)

SELECT C#

FROM C

WHERE C# NOT IN

(SELECT C#

FROM SC

WHERE S# IN

SELECT S#

FROM S

WHERE SNAME=‘WANG’)

(2)INSERT INTO STUDENT(S#,SNAME,SEX)

SELECT S#,SNAME,SEX

FROM S WHERE NOT EXISTS

(SELECT * FROM SC WHERE

GRADE<80 AND S.S#=SC.S#)

(3)SELECT DISTINCT S#

FROM SC

WHERE C# IN

(SELECT C#

FROM C

WHERE TEACHER='LIU'))

(4)汉语含义:检索全部学生都选修的课程的课程号与课程名。

(五) 数据库设计

(2)卡车表中存在实体完整性和参照完整性。

实体完整性:在主码车号的这列中不存在空值;

参照完整性:外码“货运站编号”这列中的值都是货运站表中“货运站编号”这列中的值,外码“类型”这列中的值都是型号表中“型号”这列中的值。

(3)货运站表和卡车表之间存在着一对多的关系,即每一个货运站可以有多辆车。如,样本数据中货运站501有两辆车:车号为1001和1003;货运站502有两辆车:车号为1002和1004。

(4)卡车表中包括4个实体,即表中每个元组(行)对应一个实体,每个实体就是一辆车。

(六) SQL设计

答案

(1) SELECT DISnNCT SPJ.SNO FROM SPJ,P WHERE P.PNO二SPJ.PNO AND SPJ.JNO=‘J1’AND P.COLOR=‘红’;

(2) SELECTJ.JN FROM J,SPJ WHERE J.JNO=SPJ.JNOAND SPJ.SNO=‘S1’;

(3) SELECT DISTINCT SPJ.PNO FROM S,J,SPJ WHERE S.SNO=SPJ.SNO AND).JNO=SPJ.JNO AND S.CITY=J.CITY;

(4) SELECT DISTINCT SPJ.JNO FROM S,J,SPJ WHERE S.SNO=SPJ.SNO AND J.JNO=SPJ.JNO AND S.CITY<>J.CITY;

相关文档
相关文档 最新文档