1数据库原理与应用教程―SQLServer习题解答第1章习题1.数据库的发展历史分哪几个阶段?各有什么特点?答:数据库技术经历了人工管理阶段、文件系统阶段和数据库系统三个阶段。1)人工管理阶段这个时期数据管理的特点是:数据由计算或处理它的程序自行携带,数据和应用程序一一对应,应用程序依赖于数据的物理组织,因此数据的独立性差,数据不能被长期保存,数据的冗余度大等给数据的维护带来许多问题。2)文件系统阶段在此阶段,数据以文件的形式进行组织,并能长期保留在外存储器上,用户能对数据文件进行查询、修改、插入和删除等操作。程序与数据有了一定的独立性,程序和数据分开存储,然而依旧存在数据的冗余度大及数据的不一致性等缺点。3)数据库系统阶段数据库系统的特点如下:(1)数据结构化(2)较高的数据共享性(3)较高的数据独立性(4)数据由DBMS统一管理和控制2.简述数据、数据库、数据库管理系统、数据库应用系统的概念。答:数据是描述事物的符号记录,是信息的载体,是信息的具体表现形式。数据库就是存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能够自动进行查询和修改的数据集合。数据库管理系统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。它建立在操作系统的基础上,位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制等。数据库应用系统:凡使用数据库技术管理其数据的系统都称为数据库应用系统。3.简述数据库管理系统的功能。答:数据库管理系统是数据库系统的核心软件,一般说来,其功能主要包括以下5个方面。(1)数据定义和操纵功能(2)数据库运行控制功能(3)数据库的组织、存储和管理(4)建立和维护数据库…2(5)数据通信接口4.简述数据库的三级模式和两级映像。答:为了保障数据与程序之间的独立性,使用户能以简单的逻辑结构操作数据而无需考虑数据的物理结构,简化了应用程序的编制和程序员的负担,增强系统的可靠性。通常DBMS将数据库的体系结构分为三级模式:外模式、模式和内模式。模式也称概念模式或逻辑模式,是对数据库中全部数据的逻辑结构和特征的描述,是所有用户的公共数据视图。外模式也称子模式或用户模式,它是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。内模式也称存储模式或物理模式,是对数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,一个数据库只有一个内模式。三级模式结构之间差别往往很大,为了实现这3个抽象级别的联系和转换,DBMS在三级模式结构之间提供了两级映像:外模式/模式映像,模式/内模式映像。5.简述数据库的逻辑独立性和物理独立性。答:当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,因而应用程序不必修改,保证了数据与程序的逻辑独立性,简称逻辑数据独立性。当数据库的存储结构改变了(如选用了另一种存储结构),由数据库管理员对模式/内模式映像作相应改变,可以保证模式保持小变,因而应用程序也不必改变。保证了数据与程序的物理独立性,简称物理数据独立性。6.信息有哪三种世界,它们各有什么特点,它们之间有什么联系?答:现实世界、信息世界和机器世界现实世界就是存在于人脑之外的客观世界,客观事物及其相互联系就处于现实世界中。信息世界就是现实世界在人们头脑中的反映,又称概念世界。客观事物在信息世界中称为实体,反映事物间联系的是实体模型或概念模型。数据世界就是信息世界中的信息数据化后对应的产物。现实世界中的客观事物及其联系,在数据世界中以数据模型描述。计算机信息处理的对象是现实生活中的客观事物,在对客观事物实施处理的过程中,首先要经历了解、熟悉的过程,从观测中抽象出大量描述客观事物的信息,再对这些信息进行整理、分类和规范,进而将规范化的信息数据化,最终由数据库系统存储、处理。7.什么是概念模型,什么是数据模型?答:概念模型是现实世界的抽象反映,它表示实体类型及实体间的联系,是独立于计算机系统的模型,是现实世界到机器世界的一个中间层次。数据模型是对客观事物及联系的数据描述,是概念模型的数据化,即数据模型提供表示和组织数据的方法。38.什么是实体、属性、码、联系?实体的联系有哪三种?答:客观存在并可以相互区分的事物叫实体。属性是实体所具有的某些特性,通过属性对实体进行描述。一个实体往往有多个属性,这些属性之间是有关系的,它们构成该实体的属性集合。如果其中有一个属性或属性集能够唯一标识整个属性集合,则称该属性或属性集为该实体的码。现实世界的事物之间是有联系的,即各实体型之间是有联系的。就两个实体型的联系来说,主要有以下3种情况:一对一联系(1:1)、一对多联系(1:M)和多对多联系(M:N)。9.分析层次模型、网状模型和关系模型的特点。答:层次模型用树形结构来表示各类实体以及实体间的联系。每个结点表示一个记录类型,结点之间的连线表示记录类型间的联系,这种联系只能是父子联系。层次模型存在如下特点:(1)只有一个结点没有双亲结点,称为根结点。(2)根结点以外的其他结点有且只有一个双亲结点。网状数据模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,也允许一个结点有多个双亲结点。因此,网状模型可以方便地表示各种类型的联系。网状模型是一种较为通用的模型,从图论的观点看,它是一个不加任何条件的无向图。用二维表格结构表示实体以及实体之间的联系的数据模型称为关系模型。关系模型在用户看来是一个二维表格。10.解释关系模型的基本概念:关系、元组、属性、域、关系模式、候选关键字、主键、外键、主属性。答:关系:一个关系就是一张二维表。元组:二维表中的行称为元组,每一行是一个元组。属性:二维表的列称为属性,每一列有一个属性名,属性值是属性的具体值。域:是属性的取值范围。关系模式:对关系的信息结构及语义限制的描述称为关系模式,用关系名和包含的属性名的集合表示。候选关键字:如果在一个关系中,存在多个属性(或属性组合)都能用来唯一标识该关系中的元组,这些属性(或属性组合)都称为该关系的候选关键字或候选码,候选码可以有多个。主键:在一个关系的若干候选关键字中,被指定作为关键字的候选关键字称为该关的主键或主码。主属性:在一个关系中,包含在任何候选关键字中的各个属性称为主属性。外键:一个关系的某个属性(或属性组合)不是该关系的主键或只是主键的一部分,却是另一个关系的主码,则称这样的属性为该关系的外键或外码。11.设某工厂数据库中有四个实体集。一是“仓库”实体集,属性有仓库号、仓库面积4等;二是“零件”实体集,属性有零件号、零件名、规格、单价等;三是“供应商”实体集,属性有供应商号、供应商名、地址等;四是“保管员”实体集,属性有职工号、姓名等。设仓库与零件之间有“存放”联系,每个仓库可存放多种零件,每种零件可存放于若干仓库中,每个仓库存放每种零件要记录库存量;供应商与零件之间有“供应”联系,一个供应商可供应多种零件,每种零件也可由多个供应商提供,每个供应商每提供一种零件要记录供应量;仓库与保管员之间有“工作”联系,一个仓库可以有多名保管员,但一名保管员只能在一个仓库工作。试为该工厂的数据库设计一个ER模型,要求标注联系类型,可省略实体属性。答:ER模型12.某网上订书系统,涉及如下信息:(1)客户:客户号、姓名、地址、联系电话。(2)图书:书号、书名、出版社、单价。(3)订单:订单号、日期、付款方式、总金额。其中:一份订单可订购多种图书,每种图书可订购多本;一位客户可有多份订单,一份订单仅对应一位客户。根据以上叙述,建立E-R模型,要求标注联系类型。答:第2章习题1.关系数据模型由哪三个要素组成。答:关系数据模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。2.简述关系的性质。M1MNNM保管员仓库工作零件存放供应商供应仓库面积仓库号供应商号地址供应商名零件号零件名规格职工号姓名库存量供应量单价出版社1NMM客户订单拥有图书订购联系电话地址书号书名订单号日期付款方式客户号姓名数量总金额单价5答:(1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。(2)在同一个关系中,不同的列的数据可以是同一种数据类型,但各属性的名称都必须是互不相同。(3)同一个关系中,任意两个元组都不能完全相同。(4)在一个关系中,列的次序无关紧要。即列的排列顺序是不分先后的。(5)在一个关系中,元组的位置无关紧要。即排行不分先后,可以任意交换两行的位置。(6)关系中的每个属性必须是单值,即不可再分,这就要求关系的结构不能嵌套。这是关系应满足的最基本的条件。3.简述关系的完整性。答:关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户自定义的完整性约束。实体完整性规则要求关系中元组在组成主码的属性上不能有空值。参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S可能是相同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。用户定义的完整性规则由用户根据实际情况对数据库中数据的内容进行的规定,也称为域完整性规则。4.传统的集合运算和专门的关系运算都有哪些。答:(1)传统的集合操作:并、差、交、笛卡儿积。(2)专门的关系操作:投影(对关系进行垂直分割)、选择(水平分割)、连接(关系的结合)、除法(笛卡儿积的逆运算)等。5.解释下列术语的含义:函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、范式。答:函数依赖:指在关系R中,X、Y为R的两个属性或属性组,如果对于R的所有关系r都存在:对于X的每一个具体值,Y都只有一个具体值与之对应,则称属性Y函数依赖于属性X。记作X→Y。当Y不函数依赖于X时,记作:XY。当X→Y且Y→X时,则记作:X↔Y。平凡函数依赖:设关系模式R(U),U是R上的属性集,X、Y⊆U;如果X→Y,且Y⊆X,则称X→Y为平凡的函数依赖。非平凡函数依赖、如果X→Y,且Y不是X的子集,则称X→Y为非平凡的函数依赖。完全函数依赖:设关系模式R(U),U是R上的属性集,X、Y⊆U;如果X→Y,并且对于X的任何一个真子集Z,Z→Y都不成立,则称Y完全函数依赖于X;部分函数依赖:如果X→Y,但对于X的某一个真子集Z,有Z→Y成立,则称Y部分函数依赖于X。传递函数依赖:设关系模式R(U),X⊆U,Y⊆U,Z⊆U;如果X→Y,Y→Z成立,6但Y→X不成立,且Z-X、Z-Y和Y-X均不空,则称X→Z为传递函数依赖。范式:范式(NormalForm)是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准,达到的关系才是规范化的。6.简述非规范化的关系中存在哪些问题。答:①数据冗余②更新异常③插入异常④删除异常7.简述关系模式规范化的目的。答:关系模式规范化的目的是解决关系模式中存在的数据冗余、插入和删除异常以及更新异常等问题。其基本思想是消除数据依赖中的不合适部分,使各关系模式达到某种程度的分离,使一个关系描述一个概念、一个实体或实体间的一种联系。因此,规范化的实质是概念的单一化。8.根据给定的关系模式进行查询。设有学生-课程关系数据库,它由三个关系组成,它们的模式是:学生S(学号S#,姓名SN,所在系SD,年龄SA)、课程C(课程号C#,课程名CN,先修课号PC#)、SC(学号S#,课程号C#,成绩G)。请用关系代数分别写出下列查询:(1)检索学生年龄大于等于20岁的学生姓名。∏SN(σSA≥20(S))(2)检索先修课号为C2的课程号。∏C#(σPC#=’C2’(C))(3)检索课程号C1的成绩为90分以上的所有学生姓名。∏SN(σC#=’C1’∧G=90(S∞SC))(4)检索001号学生修读的所有课程名及先修课号。∏CN,PC#(σS#=’001’(C∞SC))(5)检索年龄为19岁