1习题答案习题1答案1.什么是数据库?数据库是长期储存在计算机内的(存储在磁盘等外部直接存取设备上)、有组织的(按一定的数据结构组织起来的)、可共享的数据集合。2.简要概述数据库、数据库管理系统和数据库系统各自的含义。数据库、数据库管理系统和数据库系统是三个不同的概念,数据库强调的是相互关联的数据,数据库管理系统是管理数据库的系统软件,而数据库系统强调的是基于数据库的计算机应用系统。3.数据独立性的含义是什么?数据独立性是指数据的组织和存储方法与应用程序互不依赖、彼此独立的特性,从而大大降低应用程序的开发代价和维护代价。4.数据完整性的含义是什么?保证数据正确的特性在数据库中称之为数据完整性。5.简要概述数据库管理员的职责。数据库管理员的职责可以概括如下:首先在数据库规划阶段要参与选择和评价与数据库有关的计算机软件和硬件,要与数据库用户共同确定数据库系统的目标和数据库应用需求,要确定数据库的开发计划;(1)在数据库设计阶段要负责数据库标准的制定和共用数据字典的研制,要负责各级数据库模式的设计,负责数据库安全、可靠方面的设计;(2)在数据库运行阶段首先要负责对用户进行数据库方面的培训;负责数据库的转储和恢复;负责对数据库中的数据进行维护;负责监视数据库的性能,并调整、改善数据库的性能,提高系统的效率;继续负责数据库安全系统的管理;在运行过程中发现问题、解决问题。6.文件系统用于数据管理存在哪些明显的缺陷?文件系统用于数据管理明显存在如下缺陷:(1)数据冗余大。这是因为每个文件都是为特定的用途设计的,因此就会造成同样的数据在多个文件中重复存储。(2)数据不一致性。这往往是由数据冗余造成的,在进行更新时,稍不谨慎就会造成同一数据在不同文件中的不一致。(3)程序和数据之间的独立性差。应用程序依赖于文件的存储结构,使得若修改文件的存储结构则必须修改程序。(4)数据联系弱。文件与文件之间是独立的,文件之间的联系必须通过程序来构造。因此,文件系统是一个不具有弹性的、无结构的数据集合,不能反映现实世界事物之间的联系。习题2答案1.数据的三种范畴的含义是什么?数据需要我们的认识、理解、整理、规范和加工,然后才能存放到数据库中。数据从现实生活进入到数据库实际经历了现实世界阶段(认识、理解)、信息世界阶段(规范、提升)和机器世界阶段(管理),我们称为数据的三种范畴,数据在三种范畴中的概念、术语都有些不同。2.试述为什么要讨论实体之间的联系类型?实体之间的联系类型决定了数据库设计时的结果,与数据库的设计质量密切相关。3.多对多联系如何转换成一对多联系?并举例说明。通过引入一个表示联系的实体,将原来两个实体之间的一个多对多的联系转换成分别与2表示联系的实体之间的两个一对多的联系。例如,仓库和材料两个实体之间存在着多对多的联系,即一个仓库可以存放多种材料,一种材料可以存放在多个仓库;通过引入一个库存实体转换为仓库与库存之间的一对多联系和材料与库存之间的一对多联系。4.传统的三大数据模型是哪些?它们分别是如何表示实体之间的联系的?传统的三大数据模型是层次模型、网状模型和关系模型。层次模型用层次结构表示联系,它的典型代表IMS用层次型表示联系;网状模型用网状结构表示联系,它的典型代表CODASYL用系表示联系;关系模型用关系表示联系。5.解释物理独立性和逻辑独立性的区别。物理数据独立性强调的是应用程序与数据的存储结构相互独立的特性,即修改数据的存储方法或数据结构时不影响应用程序;而逻辑数据独立性强调的是应用程序与数据的概念结构相互独立的特性,即修改概念结构中的字段时不影响应用程序。6.说明在DBMS中存储模式、概念模式和外部模式的作用。存储模式描述了数据库的存储结构,它包括对存储数据库中每个文件以及字段的描述,包括用于实现辅助关键字或存储文件间联系的指针字段的细节。存储数据库利用存储模式组织和存取存储数据库中的文件。如果要修改存储数据库的结构(例如,用倒排文件代替多链表),那么仅仅需要把这些修改反映在存储模式中,以使数据库存储系统能够操作新的存储数据库。按这种方法,数据库管理系统可以提供存储(物理)数据独立性。概念模式是对概念数据库的描述,它包括对概念文件及概念文件之间联系的描述。概念数据库不包含真正的数据,一切都是由存储数据库决定的。外部模式则是对外部数据库的描述,它需要说明外部文件、构成外部文件的字段及这些外部文件之间的联系。数据库管理系统提供了外部模式与概念模式之间的映象以及概念模式与存储模式之间的映象,使用户通过外部数据库或概念数据库来操作存储数据库。习题3答案一.问答题1.答:1)①主键和候选键:若关系中的某一属性组(或单个属性)的值能惟一标识一个元组,则称该属性组(或属性)为候选键。当一个关系有多个候选键时,应选定其中的一个候选键为主键;而如果关系中只有一个候选键,这个惟一的候选键就是主键。②外键:关系模式R1中的某一属性(或属性组)F与关系模式R2的主键相对应,但不是R1的超键,则称F是关系模式R1的外键。2)①笛卡尔积:给定一组域Dl,D2,…,Dn,这些域中可以有相同的部分,则D1,D2,…,Dn的笛卡儿积为:Dl×D2×…×Dn={(d1,d2,…,dn){di∈Di,i=1,2,…,n}.②关系:D1×D2×…×Dn的子集称作在域D1,D2,…,Dn上的关系,表示为:R(D1,D2,…,Dn)。其中,R表示关系的名字,n是关系的目。③元组:笛卡儿积集合中的每一个元素(d1,d2,…,dn)称为一个元组。④属性:关系中的每一列称为一个属性。⑤域:域为数据集合,属性值来源于域。3)①关系:关系是笛卡儿积的有限子集,所以关系也是一个二维表。②关系模式:关系的描述称为关系模式。关系模式可以形式化地表示为:R(U,D,Dom,F)。其中:R为关系名,它是关系的形式化表示;U为组成该关系的属性集合;D为属性组U中属性所来自的域;Dom为属性向域的映像的集合;F为属性间数据的依赖关系集合。③关系数据库:在某一应用领域中,所有实体集及实体之间联系所形成关系的集合就构成了一个关系数据库。32.答:关系模型中有3类完整性约束:实体完整性、参照完整性和用户定义的完整性。关系的实体完整性规则为:若属性A是基本关系R的主属性,则属性A的值不能为空值。关系的参照完整性规则为:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。由于外码在被参考关系A中,是非主属性,其值为空,不影响关系的实体完整性。当外码值不清楚或不确定时,可以设为空值,此时参照表中没有对应的记录与之匹配。3.答:等值连接是从关系R和S的广义笛卡儿积中选取A和B属性值相等的那些元组。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。4.答:由于关系定义为元组的集合,而集合中的元素是没有顺序的,因此关系中的元组对用户而言没有先后顺序,在关系中区分哪一个元组依据的主码的值而不是行的顺序。关系代数运算是以关系为运算对象,由并、差、笛卡儿积、投影、选择5个基本操作进行有限次的复合运算。关系演算运算是以元组或域为运算对象,由数理逻辑的谓词进行有限次的演算。二.计算题1.解:ABC123378178134237(1)R1=R∪S(2)R2=R∩SABC123178(3)R3=R-SR.AR.BR.CS.AS.BS.C123134378134178134123237378237178237123378378378178378(4)R4=R×S2.解:(1)R1=AB(R)ABCbadABC3784(2)R2=∏A,C(R)ACacbdcedg3.解:(1)R1=R×SAR.BR.CS.BS.CD123234378234978234178234123237378237978237178237123786378786978786178786(2)R2=R÷SA1(3)R3=RR.A=S.CSAR.BR.CS.BS.CD378234378237(4)R4=RSABCD123412373786978617864.解:1)∏SNO(JNO=′J1′(SPJ))2)∏SNO(JNO=′J1′∧PNO=′P1′(SPJ))3)∏SNO(JNO=′J1′∧COLOR=′红色′(SPJ⋈P))4)∏JNO(J)-∏JNO(CITY=′天津′∧COLOR=′红色′(S⋈SPJ⋈P))55)∏JNO,PNO(SPJ)÷∏PNO(SNO=′S1′(S⋈SPJ))5.解:1)∏S#,CNAME(AGE21∧SEX=′男′(S))2)∏C#,CNAME(C⋈(∏S#,C#(SC)÷∏S#(S)))3)∏2,6,7(籍贯=′上海′(S⋈SC))4)∏2,3(S⋈(∏1,2(SC)÷∏1(C)))6.解:(1)查询男学生的情况。R1=(t|(S(t)∧t[3]='男')(2)查询学号为“110201”的学生选修课程中成绩为80分以上的所有课程号。R2={t(1)|(u)(SC(u)∧t[1]=u[2]∧u[1]='110201'∧u[3]≥80))(3)查询选修课程号为“2”的所有学生的学号和姓名。R3={t(2)|(u)(v)(S(u)∧SC(v)∧t[1]=u[1]∧t[2]=u[2]∧u[1]=v[1]∧v[2]='2'))7.解:(1)查询男学生的情况。R1={t1t2t3t4t5|(S(t1t2t3t4t5)∧t3=′男′)(2)查询学号为“110201”的学生选修课程中成绩为80分以上的所有课程号。R2={t2|(t1)(t3)(SC(tlt2t3)∧t1=′110201′∧t3≥80))(3)查询选修课程号为“2”的所有学生的学号和姓名。R3={tlt2|(t3)(t4)(t5)(ul)(u2)(u3)(S(t1t2t3t4t5)∧SC(u1u2u3)∧t1=u1∧u2=′2′)}习题4答案1.简述SQL的版本标准有哪些?答:1976年11月的IBMJournalofR&D上公布新版本的SQL(叫SEQUEL/2),1980年改名为SQL。1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2和SQL/DS数据库系统中也实现了SQL。1986年10月,美国ANSI采用SQL作为关系数据库管理系统的标准语言(ANSIX3.135-1986),后为国际标准化组织(ISO)采纳为国际标准。1989年,美国ANSI采纳在ANSIX3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为ANSISQL89,该标准替代ANSIX3.135-1986版本。1992年,ISO和IEC发布了SQL国际标准,称为SQL-92。ANSI随之发布的相应标准是ANSISQL-92。ANSISQL-92有时被称为ANSISQL。尽管不同的关系数据库使用的SQL版本有一些差异,但大多数都遵循ANSISQL标准。SQLServer使用ANSISQL-92的扩展集,称为T-SQL,其遵循ANSI制定的SQL-92标准。2.简述SQL的特点及主要包含的内容?答:SQL的特点:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。SQL包含:数据定义语言、数据操纵语言、数据控制语言和数据查询语言。3.数据定义语言的作用是什么?6答:数据定义语言是SQL中负责数据结构定义与数据库对象定义的语言,用于执行数据库的任务,对数据库以及数据库中的各种对象进行创建、删除、修改等操作。4.简述SQL的体系结构?答:SQL数据库的体系结构基本上也是三级模式结构,外模式对应于视图,模式对应于基本表,元组称为行,属性称为列。内模式对应于存储文件。5.当对字符串进行模式匹配时,通常要用到like操作符。LIKE操作符涉及哪些特殊字符?各自的含义是什么?