数据库系统概论(第四版)萨师煊编--习题答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1章绪论5.试述数据库系统的特点。答:数据库系统的主要特点有:(l)数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。解析注意这里的“整体’夕两个字。在数据库系统中,数据不再针对某一个应用,而是面向全组织,具有整体的结构化。不仅数据是结构化的,而且数据的存取单位即一次可以存取数据的大小也很灵活,可以小到某一个数据项(如一个学生的姓名),大到一组记录(成千上万个学生记录)。而在文件系统中,数据的存取单位只有一个:记录,如一个学生的完整记录。(2)数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用以多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。解析数据共享可以大大减少数据冗余,节约存储空间,同时还能够避免数据之间的不相容性与不一致性。所谓“数据面向某个应用”是指数据结构是针对某个应用设计的,只被这个应用程序或应用系统使用,可以说数据是某个应用的“私有资源”。所谓“弹性大”是指系统容易扩充也容易收缩,即应用增加或减少时不必修改整个数据库的结构,只需做很少的改动。可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据,便可以满足新的需求。(3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。数据库管理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。(4)数据由DBMS统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。为此,DBMS必须提供统一的数据控制功能,包括数据的安全性保护、数据的完整性检查、并发控制和数据库恢复。解析DBMS数据控制功能包括四个方面:数据的安全性保护:保护数据以防止不合法的使用造成的数据的泄密和破坏;数据的完整性检查:将数据控制在有效的范围内,或保证数据之间满足一定的关系;并发控制:对多用户的并发操作加以控制和协调,保证并发操作的正确性;数据库恢复:当计算机系统发生硬件故障、软件故障,或者由于操作员的失误以及故意的破坏影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失时,能将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)。下面可以得到“什么是数据库”的一个定义:数据库是长期存储在计算机内有组织的大量的共享的数据集合,它可以供各种用户共享,具有最小冗余度和较高的数据独立性。DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。6.数据库管理系统的主要功能有哪些?答:(l)数据库定义功能;(2)数据存取功能;(3)数据库运行管理;(4)数据库的建立和维护功能。7.试述数据模型的概念、数据模型的作用和数据模型的三个要素。答:数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。(l)数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。(2)数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。(3)数据的约束条件:是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。解析数据模型是数据库系统中最重要的概念之一。必须通过《概论》的学习真正掌握数据模型的概念和作用。数据模型是数据库系统的基础。任何一个DBMS都以某一个数据模型为基础,或者说支持某一个数据模型。数据库系统中,模型有不同的层次。根据模型应用的不同目的,可以将模型分成两类或者说两个层次:一类是概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能力,概念简单清晰;另一类是数据模型,是按计算机系统的观点对数据建模,用于机器世界,人们可以用它定义、操纵数据库中的数据,一般需要有严格的形式化定义和一组严格定义了语法和语义的语言,并有一些规定和限制,便于在机器上实现。8.试述概念模型的作用。答:概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。12.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用E一R图画出此学校的概念模型。答:13.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E一R图画出此工厂产品、零件、材料、仓库的概念模型。答:20.试述数据库系统三级模式结构,这种结构的优点是什么?答:数据库系统的三级模式结构由外模式、模式和内模式组成。(参见书上图1.29)外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMs管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。21.定义并解释以下术语:模式、外模式、内模式、DDL、DML模式、外模式、内模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。DDL:数据定义语言,用来定义数据库模式、外模式、内模式的语言。DML:数据操纵语言,用来对数据库中的数据进行查询、插入、删除和修改的语句。第2章关系数据库1.试述关系模型的三个组成部分。答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。2.试述关系数据语言的特点和分类。答:关系数据语言可以分为三类:关系代数语言。关系演算语言:元组关系演算语言和域关系演算语言。SQL:具有关系代数和关系演算双重特点的语言。这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。4.试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。7.关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算?答:并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。第3章关系数据库标准语言SQL3.用sQL语句建立第二章习题5中的4个表。答:对于S表:S(SNO,SNAME,STATUS,CITY);建S表:CREATETABLES(SnoC(2)UNIQUE,SnameC(6),StatusC(2),CityC(4));对于P表:P(PNO,PNAME,COLOR,WEIGHT);建P表:CREATETABLEP(PnoC(2)UNIQUE,PnameC(6),COLORC(2),WEIGHTINT);对于J表:J(JNO,JNAME,CITY);建J表:CREATETABLEJ(JnoC(2)UNlQUE,JNAMEC(8),CITYC(4))对于sPJ表:sPJ(sNo,PNo,JNo,QTY);建SPJ表:SPJ(SNO,PNO,JNO,QTY)CREATETABLESPJ(SnoC(2),PnoC(2),JNOC(2),QTYINT))4.针对上题中建立的4个表试用sQL语言完成第二章习题5中的查询。(l)求供应工程Jl零件的供应商号码SNO;SELECTDISTSNOFROMSPJWHEREJNO=’J1’(2)求供应工程Jl零件Pl的供应商号码SNO;SELECTDISTSNOFROMSPJWHEREJNO='J1'ANDPNO='P1'(3)求供应工程Jl零件为红色的供应商号码SNO;SELECTSNOFROMSPJ,PWHEREJNO='J1'ANDSPJ.PNO=P.PNOANDCOLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO;SELECTDISTJNOFROMSPJWHEREJNONOTIN(SELEJNOFROMSPJ,P,SWHERES.CITY='天津'ANDCOLOR='红'ANDS.SNO=SPJ.SNOANDP.PNO=SPJ.PNO)。(5)求至少用了供应商Sl所供应的全部零件的工程号JNO;由于VFP不允许子查询嵌套太深,将查询分为两步A、查询S1供应商供应的零件号SELECTDISTPNOFROMSPJWHERESNO='S1'结果是(P1,P2)B、查询哪一个工程既使用P1零件又使用P2零件。SELECTJNOFROMSPJWHEREPNO='P1'ANDJNOIN(SELECTJNOFROMSPJWHEREPNO='P2')5.针对习题3中的四个表试用SQL语言完成以下各项操作:(1)找出所有供应商的姓名和所在城市。SELECTSNAME,CITYFROMS(2)找出所有零件的名称、颜色、重量。SELECTPNAME,COLOR,WEIGHTFROMP(3)找出使用供应商S1所供应零件的工程号码。SELECTDISTJNOFROMSPJWHERESNO='S1'(4)找出工程项目J2使用的各种零件的名称及其数量。SELECTPNAME,QTYFROMSPJ,PWHEREP.PNO=SPJ.PNOANDSPJ.JNO='J2'(5)找出上海厂商供应的所有零件号码。SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='上海'(6)出使用上海产的零件的工程名称。SELECTJNAMEFROMSPJ,S,JWHERES.SNO=SPJ.SNOANDS.CITY='上海'ANDJ.JNO=SPJ.JNO(7)找出没有使用天津产的零件的工程号码。注意:SELECTDISPJNOFROMSPJWHEREJNONOTIN(SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY='

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功