您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 数据库原理与应用示范系统(第三版)习题与答案
习题一1.试回答下列问题(1)什么是数据库?(2)什么是数据库管理系统?(3)什么是数据库系统?答:(1)数据库是被长期存放在计算机内,有组织的,统一管理的相关数据的集合。(2)数据库管理系统(DataBaseManagementSystem,简称DBMS),是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。(3)数据库系统(DBS)通常是指带有数据库的计算机应用系统。DBS是一个实际可运行的,按照数据库方法存储、维护和向应用系统提供数据支持的系统,它是数据库、硬件、软件和数据库管理员(DBA)的集合体。2.计算机数据管理经历了哪几个阶段?答:数据管理技术的发展经历了三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。3.试述文件系统的缺点。答:(1)数据共享性差,冗余度大。(2)数据不一致性。(3)数据联系弱。4.试述数据库系统的特点。答:(1)采用复杂的数据模型表示数据结构。(2)有较高的数据独立性。(3)数据的共享性高,冗余度低,易扩充。(4)数据由DBMS统一控制和管理。5.试述概念模型的作用。答:概念模型是独立于计算机系统的数据模型,它完全不涉及信息在计算机系统中的表示,只是用来描述某个特定组织所关系的信息结构。概念模型用于建立信息世界的数据模型,强调其语义表达能力,概念应该简单、清晰、易于用户理解,它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具。这一模型中最著名的是“实体联系模型”。6.解释下列概念:内模式、模式、外模式、DDL、DML答:内模式也称存储模式(StorageSchema)。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层。外模式也称子模式(Subschema)或用户模式,它是用户与数据库系统的接口,是用户用到的那部分数据的逻辑结构和特征的描述,是数据库用户的数据视图。DDL是数据定义语言(DataDefinitionLanguage-DDL),用户通过它可以方便地对数据库中的数据对象进行定义。DML是数据操纵语言(DataManipulationLanguage-DML),实现对数据库中数据的操作。7.试述数据库系统三级模式结构,这种结构的优点是什么?答:数据库系统的体系结构分成三级:内部级(internal),概念级(conceptual)和外部级(external)。这个三级结构也称数据库系统的“三级模式结构”。内部级也称“内模式”,概念级也称“模式”,外部级也称“外模式”,故数据库系统是由外模式、模式和内模式三级构成,如下图所示:8.试述数据库的物理独立性和逻辑独立性。答:数据的独立性包括数据的物理独立性和数据的逻辑独立性。数据的物理独立性是指当数据在计算机存储设备上的物理存储改变时,应用程序可以不用改动,而由DBMS来处理这种改变。数据逻辑独立性是指当数据的整体逻辑结构改变时,不影响用户的逻辑结构以及应用程序。9.DBS由哪几部分组成?DBA的职责是什么?答:DBS一般由数据库(即实际存储在计算机中的数据)、数据库管理系统、相应的硬件、软件和各类人员构成。数据库系统是一个有使用人员及维护人员、加工设备和数据资源的完整的计算机应用系统。DBA是数据资源管理机构的一组人员。总的来说,负责全面地管理和控制数据库系统。具体职责包括:(a)决定数据库的信息内容和结构(b)决定数据库的存储结构和存取策略(c)定义数据的安全性要求和完整性的约束条件(d)监督和控制数据库的使用和运行(e)数据库的改进和重组10.数据库管理系统的主要功能有哪些?答:DBMS的主要功能包括以下几个方面:①数据定义功能②数据操纵功能③数据库的运行管理④数据库的建立和维护功能11.试述DBMS在用户访问数据库过程中所起的作用。模式/内模式映象外模式2外模式3外模式/模式映象应用A应用B外模式1应用D应用E模式应用C内模式数据库答:应用程序通过DBMS读取数据库中记录,DBMS为程序开辟一个数据库的系统缓冲区,用于数据的传输和格式的转换。12.试写出用户访问数据库的过程。答:(1)用户在应用程序中安排一条读记录的DML语句。该语句给出涉及的外模式中记录类型名及键值。当计算机执行该DML语句时,立即启动DBMS,并把读记录的命令传给DBMS。(2)DBMS接到命令后,加以分析,并调出程序A对应的外模式,检查该操作的合法权限,决定是否执行该命令。(3)在决定执行A的命令后,DBMS调出相应的模式描述,并从外模式映象到模式,决定应读入哪些模式记录。(4)DBMS调出相应的内模式描述,并将模式映象成为模式的内部记录模式,确定应读入哪些物理记录。(5)DBMS向操作系统(OS)发出从指定地址读取物理记录的命令。(6)OS执行该命令,按指定地址从数据库把记录读入OS的系统缓冲区,进而读入数据库的系统缓冲区,并在操作结束后向DBMS作出回答。(7)DBMS收到OS的回答后,将读入缓冲区中的数据转换成模式记录,外部记录。(8)DBMS把导出的外部记录从系统缓冲区送到应用程序A的工作区中。(9)DBMS向运行日志数据库中写入读一条记录的信息。(10)DBMS将读记录成功与否信息返回给程序A。(11)程序A决定是否使用工作区中的数据。习题二1.试述关系模型的3个组成部分。答:关系模型是由关系数据结构、关系操作集合和关系完整性约束三部分组成。这是关系模型的三要素。2.定义并理解下列术语。(1)域,笛卡尔积,关系,元组,属性(2)主键,候选键,外键答:(1)域:一组具有相同数据类型的值的集合。给定一组域D1,D2,…,Dn,其笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n},其中每一元素(d1,d2,…,dn)叫做一个元组(Tuple)。D1×D2×…×Dn的子集叫做域D1,D2,…,Dn上的关系。关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每一行表示一个元组,表的每一列对应一个域。对每列起一个名字,称为属性(Attribute)。(2)如果一个属性集能唯一标识元组,又不含有多余属性,那么这个属性集称为候选键。主键(primarykey):用户选作元组标识的一个候选键称为主键。注意:若一个关系有多个候选键,只能指定其中一个为主键。如果关系中的属性或属性组不是本关系的主键,而是引用另一个关系的主键,则称这一属性或属性组为外键。3.试回答下列问题:(1)可以表示任何关系代数操作的五种基本代数操作是什么?(2)连接、等值连接、自然连接、外连接、半连接的区别是什么?(3)元组关系演算表达式和域关系演算表达式的区别是什么?(4)域关系演算表达式的安全性定义是什么?答:(1)关系代数操作的五种基本代数操作是并、差、笛卡尔积、投影、选择。(2)连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。θ为“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组。自然连接(Naturaljoin)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。如果在R和S做自然连接时,保留被舍弃的元组,其空缺的另一关系的属性的值用空值(mull)填充,那么这种操作称为“外连接”操作。关系R和S的半连接操作记为RS,定义为R和S的自然连接在关系R的属性集上的投影,(3)在元组关系演算系统中,我们称{t|P(t)}型表达式为元组演算表达式,其中P(t)是元组关系演算公式,t是元组变量。一个元组演算表达式表示一个关系。域关系演算类似于元组关系演算,不同的是用域变量代替元组变量。域关系演算的变量在域中取值,故称为域变量,每个自由变量对应一个列或一个属性。(4)如果域关系演算表达式满足以下三个条件则是安全的:(1)每一个关系代数表达式有一个等价的、安全的元组演算表达式。(2)每一个安全的元组演算表达式有一个等价的安全域演算表达式。(3)每一个安全的域演算表达式有一个等价的关系代数表达式。4.设有关系R和S,如图2-9所示,试计算:R∪S、R∩S、R-S、R×S。ABCABCabcbgadacdcdcbd(b)Sdcd(a)R答:R∪S:ABCabcdaccbddcdbgaR∩S:ABCdcdR-S:ABCabcdaccbdR×S:R.AR.BR.CS.AS.BS.Caaddccddbbaabbccccccddddbdbdbdbdgcgcgcgcadadadad5.设有关系R和S,如图2-10所示。计算:R×S,RS,σA=C(R×S)。BCABBCabbccbeadebd关系R关系S答:R×S:R.AR.BS.BS.CaaacccdddbbbbbbeeebebbebbebcadcadcadRS:ABCaaccdbbbbecdcdaσA=C(R×S):R.AR.BS.BS.CacdbbeEbbacd6.如果R是二目关系,那么下列元组表达式的结果是什么?{t∣(u)(R(t)∧R(u)∧(t[1]≠u[1]∨t[2]≠u[2]))}答:当R的元组数≥2时,R中每个元组都存在与之不相同的元组,因此表达式的结果为关系R;当R的元组数为0或1时,表达式的结果为空关系R。7.设有两个关系R(A,B,C)和S(D,E,F)。试表下列关系代数表达式转换成等价的元组表达式:(1)πA(R)(2)σB=’19’(R)(3)R×S(4)πA,F(σC=D(R×S))答:(1)πA(R)转换成{t∣(u)(R(u)∧t[1]=u[1])}(2)σB=’19’(R)转换成{t∣R(t)∧t[2]=‘19’)}(3)R×S转换成{t∣(u)(v)(R(u)∧S(v)∧t[1]=u[1]∧t[2]=u[2]∧t[3]=u[3]∧t[4]=v[1]∧t[5]=v[2]∧t[6]=v[3])}(4)πA,F(σC=D(R×S))转换成{t∣(u)(v)(R(u)∧S(v)∧t[1]=u[1]∧t[2]=v[3]∧u[3]=v[1])}8.已知学生一课程数据库的三个关系。S(学生关系),C(课程关系),SC(学生选课关系)。S(S#,SN,SD,SA)SC(S#,C#,GS)C(C#,CN,PC#)试用关系代数表达式表示下列查询要求:(1)取出所有学生的全部细节答:πS#,SN,SD,SA(S)(2)取出选修课程号为‘C2’的学生姓名及所属的系。答:πSN,SD(sπS#(σc#=‘C2’(SC)))(3)取出同时选修课程号为‘C1’和‘C2’两门课程的学生名字。答:πSN(πS#,c#(SC)÷πc#(σc#=’C1’∨c#=’c2’(C))S)(4)取出选修“BASIC”语言这门课程的学生姓名。答:πSN(sπS#(σcN=‘BASIC’(C)SC))(5)取出年龄大于23岁的计算机系的学生姓名。答:πSN(σAge23∧SD=‘计算机‘(S))(6)取出不选“操作系统”课程的学生姓名及年龄。答:πSN,SA-πSN,SA(sπS#(σcN=‘操作系统’(C)SC))(7)取出学号为‘S1’的学生选修的课程号、课程名及成绩。答:πC#,CN,GS(CπC#,GS(σS#=‘S1’(SC)))(8)取出全部学生都选修的课程号与课程名。πS#,c#(SC)÷πS#(S)πC#,CN(C)9.试用元组关系演算表达式表示第8题的各个查询语句。(1)取出所有学生的全部细节答:{t∣S(t)}(2)取出选修课程号为‘C2’的学生姓名及所属的系。答:{t∣(u)(v)(S(u)∧SC(v)∧v[2]=‘C2’∧u[1]=v[1]∧t[1]=u[2]∧t[2]=u[3])}(3)取出同时选修课程号为‘C1’和‘C2’两门课程的学生名字。答:{t∣(w)(u)(v)(S(w)∧
本文标题:数据库原理与应用示范系统(第三版)习题与答案
链接地址:https://www.777doc.com/doc-2428145 .html