数据库原理习题及答案.doc

上传人:文库蛋蛋多 文档编号:4109545 上传时间:2023-04-04 格式:DOC 页数:37 大小:553.50KB
返回 下载 相关 举报
数据库原理习题及答案.doc_第1页
第1页 / 共37页
数据库原理习题及答案.doc_第2页
第2页 / 共37页
数据库原理习题及答案.doc_第3页
第3页 / 共37页
数据库原理习题及答案.doc_第4页
第4页 / 共37页
数据库原理习题及答案.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《数据库原理习题及答案.doc》由会员分享,可在线阅读,更多相关《数据库原理习题及答案.doc(37页珍藏版)》请在三一办公上搜索。

1、绪 论1.1 基本内容分析本部分的重要概念(1)DB、DBMS和DBS的定义(2)数据管理技术的发展阶段人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库技术阶段等各阶段的特点。(3)数据模型数据模型的定义,两类数据模型,概念模型的基本概念以及表示方法ER模型,最常用的数据模型有层次模型、网状模型、关系模型和面向对象模型。关系模型的数据结构以及联系的实现方式。(4)DB的系统结构三级模式结构,两级映像,两级数据独立性,系统结构各个层次中记录的联系。1.2 实例解答1.1 名词解释逻辑数据:指程序员或用户用以操作的数据形式。物理数据:指存储设备上存储的数据。联系的元数:与一个联系有关的实体集

2、个数,称为联系的元数。1:1联系:如果实体集E1中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么E1和E2的联系称为“1:1联系”。1:N联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中一个实体有联系,那么E1和E2的联系是“1:N联系”。M:N联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1和E2的联系称为“M:N联系”。数据模型:能表示实体类型及实体间联系的模型称为“数据模型”。概念数据模型:独立于计算机系统、完全不涉及信息在计算机中的表示、反映企业组织所关心的信息结构

3、的数据模型。结构数据模型(或逻辑数据模型):与DBMS有关的,直接面向DB的逻辑结构、从计算机观点对数据建模的数据模型。层次模型:用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型。网状模型:用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。关系模型:用二维表格表达实体集的数据模型。外模式:是用户用到的那部分数据的描述。概念模式:数据库中全部数据的整体逻辑结构的描述。内模式:DB在物理存储方面的描述。外模式/模式映象:用于定义外模式和概念模式之间数据结构的对应性。模式/内模式映象:用于定义概念模式和内模式之间数据结构的对应性。数据独立性:应用程序和DB的数据结构之间相互

4、独立,不受影响。物理数据独立性:在DB的物理结构改变时,尽量不影响应用程序。逻辑数据独立性:在DB的逻辑结构改变时,尽量不影响应用程序。主语言:编写应用程序的语言(如C一类高级程序设计语言),称为主语言。DDL:定义DB三级结构的语言,称为DDL。DML:对DB进行查询和更新操作的语言,称为DML。过程性语言:用户编程时,不仅需要指出“做什么”,还需要指出“怎么做”的语言。非过程性语言:用户编程时,只需指出“做什么”,不需要指出“怎么做”的语言。DD(数据字典):存放三级结构定义的DB,称为DD。DD系统:管理DD的软件系统,称为DD系统。1.2 试解释DB、DBMS和DBS三个概念。答:DB

5、是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DBMS是位于用户与OS之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法。DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即采用数据库技术的计算机系统。1.3 人工管理阶段和文件系统阶段的数据管理各有哪些特点?答:人工管理阶段主要有四个特点:数据不保存在计算机内;没有专用的软件对数据进行管理;只有程序的概念,没有文件的概念;数据面向程序。文件系统阶段主要有五个特点:数据以“文件”形式长期保存;数据的逻辑结构与物理结构有了区别;文件组织已多样化;数据面向应用;对数据的操作以记

6、录为单位。1.4 文件系统阶段的数据管理有些什么缺陷?试举例说明。答:主要有三个缺陷:数据冗余;数据不一致性;数据联系弱。例如学校里教务处、财务处、保健处建立的文件中都有学生详细资料,譬如联系电话,家庭住址等。这就是“数据”冗余;如果某个学生搬家,就要修改三个部门文件中的数据,否则会引起同一数据在三个部门中不一致;产生上述问题的原因是这三个部门的文件中数据没有联系。1.5 数据管理的数据库阶段产生的标志是哪三件事情?答:进入数据库阶段的标志是20世纪60年代末发生的三件事件:1968年IBM公司研制的IMS系统是一个典型的层次DBS;1969年美国CODASYL组织DBTG报告,提出网状DBS

7、的概念;1970年美国IBM公司的E.F.Codd发表论文,提出关系模型的思想。1.6 数据库阶段的数据管理有哪些特点?答:主要有五个特点:采用数据模型表示复杂的数据结构;有较高的数据独立性;为用户提供了方便的用户接口;提供了四个方面的数据控制功能;对数据的操作以数据项为单位,增加了系统的灵活性。1.7 与“文件”结构相比,“数据库”结构有些什么不同?答:与文件结构相比,数据库结构主要有下面三点不同:数据的结构化。文件由记录组成,但各文件之间缺乏联系。数据库中数据在磁盘中仍以文件形式组织,但这些文件之间有着广泛的联系。数据库的逻辑结构用数据模型来描述,整体结构化。数据模型不仅描述数据本身的特点

8、,还要描述数据之间的联系。数据独立性。文件只有设备独立性,而数据库还具有逻辑独立性和物理独立性。访问数据的单位。访问文件中的数据,以记录为单位。访问数据库中的数据,以数据项(字段)为单位,增加了系统的灵活性。1.8 什么是数据独立性?在数据库中有哪两级独立性?答:数据独立性是指应用程序与DB的数据结构之间相互独立。在物理结构改变时,尽量不影响应用程序,称为物理数据独立性;在逻辑结构改变时,尽量不影响应用程序,称为逻辑数据独立性。1.9 逻辑记录与物理记录,逻辑文件与物理文件有些什么联系和区别?答:逻辑数据是用户用以操作的数据形式,是抽象的概念化数据。物理数据是实际存放在存储设备上的数据。逻辑数

9、据与物理数据在结构上可以差别很大,需通过两级映象来进行数据传输和格式转换。从以上的解释可以看出,逻辑记录和逻辑文件是用户在程序中使用的记录和文件,而物理记录和物理文件是指磁盘上的记录和文件。逻辑记录、文件与物理记录、文件在结构、组成上有很大的差异,而数据管理软件就是通过三级结构两级映象来实现逻辑数据与物理数据之间的转换。1.10 DB的三级模式结构描述了什么问题?试详细解释。答:DB的三级模式结构是对数据的三个抽象级别,分别从外部(用户)级、概念级和内部级去观察数据库。外部级是用户使用的局部数据库的逻辑结构,其描述称为外模式。概念级是DB的整体逻辑结构,其描述称为概念模式。内部级是DB的物理结

10、构,其描述称为内模式。1.11 试述概念模式在数据库结构中的重要地位。答:数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中,而概念模式提供了连接这两级的相对稳定的中间观点,并使得两级的任何一级的改变都不受另一级的牵制。1.12 试叙述用户、DB的三级模式结构、磁盘上的物理文件之间有些什么联系和不同?答:用户、外模式、概念模式、内模式和物理文件中的记录分别称为用户记录、外部记录、概念记录、内部记录和物理记录。用户记录与外部记录的结构是一致的,它们之间只是数据传输问题。而外部记录、概念记录和内部记录之间的结构可能是不一致的,除了数据传输问题,还有格式转换问题。内部记录与物理记录的结构是一致

11、的,它们之间只是数据传输问题。1.13 数据独立性与数据联系这两个概念有什么区别?答:数据独立性是指应用程序和DB的数据之间相互独立,不受影响,对系统的要求是“数据独立性要高”,而数据联系是指记录之间的联系,对系统的要求是“数据联系密切”。1.14“元数据”与“数据”之间有些什么联系与区别?答:元数据(metadata)是指“数据的数据”,即数据的描述。DB中的元数据是指三级模式结构的详细描述。数据(data),一般是指用户使用的具体值。1.3 练习题1.3.1 填空题1数据管理技术的发展,与_、_和_有密切的联系。2文件系统中的数据独立性是指_独立性。3文件系统的缺陷是:_、_和_。4就信息

12、处理的方式而言,在文件系统阶段,_处于主导地位,_只起着服从程序设计需要的作用;而在数据库方式下,_占据了中心位置。5对现实世界进行第一层抽象的模型,称为_模型;对现实世界进行第二层抽象的模型,称为_模型。6层次模型的数据结构是_结构;网状模型的数据结构是_结构;关系模型的数据结构是_结构;面向对象模型的数据结构之间可以_。7在层次、网状模型中,用_导航数据;而在关系模型中,用_导航数据。8数据库的三级模式结构是对_的三个抽象级别。9在DB的三级模式结构中,数据按_的描述提供给用户,按_的描述存储在磁盘中,而_提供了连接这两级的相对稳定的中间观点,并使得两级中的任何一级的改变都不受另一级的牵制

13、。10DBS中存放三级结构定义的DB称为_。1.3.2 单项选择题(在备选答案中选出一个正确答案)1在DBS中,DBMS和OS之间关系是A并发运行B相互调用COS调用DBMSDDBMS调用OS2在数据库方式下,信息处理中占据中心位置的是A磁盘B.程序C.数据D.内存3DB的三级体系结构是对_抽象的三个级别。A.存储器B.数据C.程序D. 外存4DB的三级模式结构中最接近外部存储器的是A.子模式B.外模式C.概念模式D.内模式5DBS具有“数据独立性”特点的原因是因为在DBS中A.采用磁盘作为外存B.采用三级模式结构C.使用OS来访问数据D.用宿主语言编写应用程序6在DBS中,“数据独立性”和“

14、数据联系”这两个概念之间联系是A没有必然的联系B同时成立或不成立C前者蕴涵后者D后者蕴涵前者7数据独立性是指A数据之间相互独立B应用程序与DB的结构之间相互独立C数据的逻辑结构与物理结构相互独立D数据与磁盘之间相互独立8对DB中数据的操作分成两大类:A查询和更新B检索和修改C查询和修改D插入和修改1.3.3 问答题1试对数据管理技术三个发展阶段作一详细的比较。2在用户访问数据库中数据的过程中,DBMS起着什么作用?1.4 练习题答案1.4.1 填空题答案1硬件 软件 计算机应用2设备3数据冗余数据不一致数据联系弱4程序设计数据数据5概念 结构(或逻辑)6树 有向图 二维表 嵌套和递归7指针 关

15、键码(或外键与主键) 8数据9外模式 内模式 概念模式10数据字典(DD)1.4.2 单项选择题答案1D2C3B 4D 5B6A7B8. A1.4.3 问答题答案1.答:数据管理技术三个发展阶段的详细比较见图1.1。人工管理阶段文件系统阶段数据库阶段时 间20世纪50年代60年代70年代环外存纸带、卡片、磁带磁盘大容量磁盘境软件汇编语言3GL、OSDBMS计算机应用科学计算进入企业管理企业管理数据的管理者用户(程序员)文件系统DBS数据的针对者面向某一应用程序面向某一应用面向现实世界数据的共享程度无共享共享性差、冗余度大共享性高、冗余度小数据独立性无独立性,独立性差,有高度的物理独立性,数据完

16、全依赖于程序有设备独立性一定的逻辑独立性数据的结构化无结构记录内有结构,整体结构化,整体结构性差用数据模型描述图1.12答:在用户访问数据的过程中,DBMS起着核心的作用,实现“数据三级结构转换”的工作。关系数据库1.在关系模型中,对关系作了哪些规范性限制?答:对关系作了以下四个限制:属性值不可分解;没有重复元组;没有行序;使用时有列序。2.为什么关系中的元组没有先后顺序,且不允许有重复元组?答:由于关系定义为元组的集合,而集合中的元素是没有顺序的,因此关系中的元组也就没有先后的顺序(对用户而言)。这样既能减少逻辑排序,又便于在关系数据库中引进集合论的理论。每个关系模式都有一个主键,在关系中主

17、键值是不允许重复的。如果关系中有重复元组,那么其主键值肯定相等,起不了惟一标识作用,因此关系中不允许有重复元组。3.笛卡儿积、等值联接、自然联接三者之间有什么区别?答:笛卡尔积是一个基本操作,而等值联接和自然联接是组合操作。设关系R的元数为r,元组个数为m;关系S的元数为s,元组个数为n。那么,RS的元数为r+s,元组个数为mn;ij RS的元数也是r+s,但元组个数小于等于mn;RS的元数小于等于r+s,元组个数也小于等于mn;4. 设有关系R和S:RABCSABC3673 4 5257723723443计算RS,R-S,RS,RS,3,2(S),B5(R),R 22 S, R S。解:RS

18、ABCRSABCRSABC367367723257257723443443345RSR.A R.B R.C S.A S.B S.C3,2(S)CB 36734554 36772332 257345 257723 723345 723723 443345 44372322B5(R)ABCRSR.A R.B R.C S.A S.B S.C723723345443RSABC7235.设有三个关系:S(S#,SNAME,AGE,SEX)SC(S#,C#,CNAME)C(C#,CNAME,TEACHER)试用关系代数表达式表示下列查询语句: 检索LIU老师所授课程的课程号和课程名。 检索年龄大于23岁的

19、男学生的学号和姓名。 检索学号为S3学生所学课程的课程名与任课教师名。 检索至少选修LIU老师所授课程中一门课的女学生姓名。 检索WANG同学不学的课程的课程号。 检索至少选修两门课的学生学号。 检索全部学生都选修的课程的课程号与课程名。 检索选修课程包含LIU老师所授全部课程的学生学号。解:C#,CNAME(TNAME=LIU(C)S#,SNAME(AGE23 SEX=M(SC)CNAME,TNAME(S#=S3(SCC)SNAME(SEX=F TNAME=LIU(SSCC)C#(C)C#(SNAME=WANG(SSC)1(1=4 25(SCSC)C#,CNAME(C(S#,C#(SC)S#

20、(S)S#,C#(SC)C#(TNAME=LIU(C)6 填空题1关系中没有行序的原因是_。2.关系模型的基本数据结构是_,其数据库存储时的基本组织方式是_。3实体完整性规则是对_的约束,参照完整性规则是对_的约束。4关系代数的理论基础是_。5关系代数的基本操作是_。6等式RS = RS成立的条件是_。7关系的并、差、交操作,要求两个关系具有_。8一般,在关系代数运算中,当查询涉及到“否定”时,就要用到_操作;当查询涉及到“全部值”时,就要用到_操作。9如果关系R和S做自然联接时,只把R中原该舍去的元组放到新关系中,那么这种操作称为_操作。7. 单项选择题(在备选答案中选出一个正确答案)1在关

21、系中,“元数”(arity)是指A行数 B元组个数 C关系个数 D列数2在关系中,“基数”(cardinality)是指A行数 B属性个数 C关系个数 D列数3设关系R、S、W各有10个元组,那么这三个关系的自然联接的元组个数为A10 B30 C1000 D不确定(与计算结果有关)ij4设W = R S,且W、R、S的元组个数分别为p、m、n,那么三者之间满足Ap(m+n) Bp(m+n) Cp(mn) Dp(mn)5设关系R和S的结构相同,且各有10个元组,那么这两个关系的并操作结果的元组个数为A10 B小于等于10 C20 D小于等于20126设关系R和S的属性个数分别为2和3,那么 R

22、S等价于A12(RS)B14(RS)C12(R S)D123 AND SEX=M;SELECT CNAME,TEACHERFROM SC, CWHERE SC.C#=C.C# AND S#=S3;SELECT SNAME(联接查询方式)FROM S, SC, CWHERE S.S#=SC.S#AND SC.C#=C.C# AND SEX=FAND TNAME=LIU;或:SELECT SNAME(嵌套查询方式)FROM SWHERE SEX=FAND S# IN (SELECT S#FROM SCWHERE C# IN (SELECT C#FROM CWHERE TNAME=LIU);或:SE

23、LECT SNAME(存在量词方式)FROM SWHERE SEX=FAND EXISTS (SELECT *FROM SCWHERE SC.S#=S.S#AND EXISTS (SELECT * FROM C WHERE C.C#=SC.C#AND TNAME=LIU);SELECT C#FROM CWHERE NOT EXISTS(SELECT * FROM S, SC WHERE S.S#=SC.S# AND SC.C#=C.C#AND SNAME=WANG); SELECT DISTINCT X.S#FROM SC AS X, SC AS YWHERE X.S#=Y.S# AND X.

24、C#!=Y.C#; SELECT C#, CNAMEFROM CWHERE NOT EXISTS(SELECT *FROM SWHERE NOT EXISTS(SELECT * FROM SC WHERE S#=S.S# AND C#=C.C#); SELECT DISTINCT S#FROM SC AS XWHERE NOT EXISTS(SELECT * FROM C WHERE TNAME=LIUAND NOT EXISTS(SELECT * FROM SC AS Y WHERE Y.S#=X.S# AND Y.C#=C.C#);2. 试用SQL查询语句表达下列对1题中三个基本表S、SC

25、、C的查询: 在表C中统计开设课程的教师人数。 求选修C4课程的女学生的平均年龄。 求LIU老师所授课程的每门课程的平均成绩。 统计每个学生选修课程的门数(超过5门的学生才统计)。要求输出学生学号和选修门数,查询结果按门数降序排列,若门数相同,按学号升序排列。 检索学号比WANG同学大,而年龄比他小的学生姓名。 在表SC中检索成绩为空值的学生学号和课程号。 检索姓名以L打头的所有学生的姓名和年龄。 求年龄大于女同学平均年龄的男学生姓名和年龄。 求年龄大于所有女同学年龄的男学生姓名和年龄。解:SELECT COUNT(DISTINCT TEACHER)FROM C;SELECT AVG(AGE)

26、FROM S, SCWHERE S.S#=SC.S# AND C#=C4 AND SEX=F;SELECT C.C#,AVG(GRADE)FROM SC,CWHERE SC.C#=C.C# AND TEACHER=LIUGROUP BY C.C#;SELECT S#, COUNT(C#)FROM SCGROUP BY S#HAVING COUNT(*)5ORDER BY 2 DESC, 1;SELECT SNAMEFROM SWHERE S#ALL(SELECT S# FROM S WHERE SNAME=WANG) AND AGE(SELECT AVG(AGE)FROM SWHERE SEX

27、=F);SELECT SNAME, AGEFROM SWHERE SEX=M AND AGEALL(SELECT AGEFROM SWHERE SEX=F);3.试用SQL更新语句表达对1题教学数据库中关系S、SC、C的更新操作: 往关系C中插一个课程元组(C8,VC+,BAO)。 检索所授每门课程平均成绩均大于80分的教师姓名,并把检索到的值送往另一个已存在的表FACULTY(TNAME)。 在SC中删除尚无成绩的选课元组。 把选修LIU老师课程的女同学选课元组全部删去。 把MATHS课不及格的成绩全改为60分。 把低于所有课程总平均成绩的女同学成绩提高5。 在表SC中修改C4课程的成绩,若

28、成绩小于等于70分时提高5,若成绩大于70分时提高4(用两种方法实现,一种方法是用两个UPDATE语句实现,另一种方法是用带CASE操作的一个UPDATE语句实现)。 在表SC中,当某个成绩低于全部课程的平均成绩时,提高5%。解: INSERT INTO CVALUES(C8,VC+,BAO); INSERT INTO FACULTY(TNAME)SELECT DISTINCT TEACHERFROM (SELECT TEACHER, C.C#, AVG(GRADE)FROM S, SCWHERE SC.C#=C.C#GROUP BY TEACHER, C.C#)AS RESULT(TEACH

29、ER, C#, AVG_GRADE) AS XWHERE 80=ALL(SELECT AVG_GRADEFROM RESULT AS YWHERE Y.TEACHER=X.TEACHER); DELETE FROM SCWHERE GRADE IS NULL; DELETE FROM SCWHERE S# IN(SELECT S# FROM S WHERE SEX=F)AND C# IN(SELECT C# FROM C WHERE TEACHER=LIU); UPDATE SCSET GRADE=60WHERE GRADE60AND C# IN(SELECT C# FROM C WHERE

30、CNAME=MATHS); UPDATE SCSET GRADE=GRADE*1.05WHERE S# IN(SELECT S# FROM S WHERE SEX=F)AND GRADE70;UPDATE SCSET GRADE=GRADE*1.05WHERE C#=C4 AND GRADE70 THEN 1.04ELSE 1.05ENDWHERE C#=C4; UPDATE SCSET GRADE=GRADE*1.05WHERE GRADE50 AND SEX=M;SELECT EMP.E#, ENAMEFROM EMP, WORKSWHERE EMP.E#=WORKS.E# AND SAL

31、ARY1000;SELECT A.E#, A.ENAMEFROM EMP A, WORKS B, WORKS CWHERE A.E#=B.E# AND B.E#=C.E#AND B.C#=C4 AND C.C#=C8;SELECT A.E#, A.ENAMEFROM EMP A, WORKS B, COMP CWHERE A.E#=B.E# AND B.C#=C.C#AND CNAME=联华公司 AND SALARY1000AND SEX=M;SELECT E#, COUNT(C#) AS NUM, SUM(SALARY) AS SUM_SALARYFROM WORKS GROUP BY E#;SELECT X.E#FROM WORKS XWHERE NOT

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号