数据库原理与技术-习题答案_第1页
数据库原理与技术-习题答案_第2页
数据库原理与技术-习题答案_第3页
数据库原理与技术-习题答案_第4页
数据库原理与技术-习题答案_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、习题11 .数据与信息有何区别有何联系数据的概念:数字、文字、图画、声音和活动图象信息的概念:信息是对人有用的数据(1)数据与信息的区别:数据包含信息数据处理之后产生结果为信息信息具有相对性,时效性(2)数据与信息的联系:信息是客观事物属性的反映.是经过加工处理并对人类客观行为产生影响的数据表现形式.数据是反映客观事物属性的记录,是信息的具体表现形式.数据经过加工处理之后,成为信息.而信息必须通过数据才能传播,才能对人类有影响.2 .简述数据库、数据库治理系统、数据库系统的概念.(1)数据库(DataBase,简称DB):数据库是长期储存在计算机内的、有组织的、可共享的数据集合.数据库中的数据

2、按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享.(2)数据库治理系统(DataBaseManagementsytem,简称DBMs):数据库治理系统是位于用户与操作系统之间的一层数据治理软件,用于科学地组织和存储数据、高效地获取和维护数据.DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行治理功能、数据库的建立和维护功能.DBMS是一个大型的复杂的软件系统,是计算机中的根底软件.目前,专门研制DBMS的厂商及其研制的DBMS产品很多.著名的有美国旧M公司的DB2关系数据库治理系统和IMS层次数据库治理系统、美国Oracle公司的o

3、racle关系数据库治理系统、美国微软公司的SQLServer关系数据库治理系统等.(3)数据库系统(DataBaseSystem,简称DBS):数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库治理系统(及其开发工具)、应用系统、数据库治理员构成.数据库系统是一个人一机系统,数据库是数据库系统的一个组成局部.但是在日常工作中人们常常把数据库系统简称为数据库.3 .数据治理技术经历了哪几个阶段各阶段的主要特点是什么(1)人工治理阶段.特点:数据的治理者:人数据面向的对象:某一应用程序数据的共享程度:无共享,冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构

4、数据限制水平:应用程序自己限制(2)文件系统阶段.特点:数据的治理者:文件系统数据面向的对象:某一应用程序数据的共享程度:共享性差,冗余度大数据的独立性:独立性差数据的结构化:记录内有结构,整体无结构数据限制水平:应用程序自己限制(3)数据库系统阶段.特点:数据的治理者:数据库治理系统数据面向的对象:整个应用系统数据的共享程度:共享性高,冗余度小数据的独立性:具有高度的物理独立性和逻辑独立性数据的结构化:整体结构化,用数据模型描述数据限制水平:由数据库治理系统提供数据平安性、完整性、并发限制和恢复水平4 .文件系统与数据库系统有什么本质的区别文件系统把数据组织成相互独立的数据文件,实现了记录内

5、的结构性,但整体无结构;而数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别.5 .简述数据库系统的特点.数据库系统的主要特点有:(1)数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别.在数据库系统中,数据不再针对某一个应用,而是面向全组织,具有整体的结构化.不仅数据是结构化的,而且数据的存取单位即一次可以存取数据的大小也很灵活,可以小到某一个数据项(如一个学生的姓名),大到一组记录(成千上万个学生记录).而在文件系统中,数据的存取单位只有一个:记录,如一个完整的服装订单记录.(2)数据的共享性高,冗余度低,

6、易扩充,数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用以多种不同的语言共享使用.由于数据面向整个系统,是有结构的数据,不仅可以被多个应用程序共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充.数据共享可以大大减少数据冗余,节约存储空间,同时还能够预防数据之间的不相容性与不一致性.(3)数据独立性高,数据独立性包括数据的物理独立性和数据的逻辑独立性.数据库治理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性.(4)数据由DBMS统一治理和限制,数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取

7、数据库中同一个数据.DBMS提供了统一的数据控制功能,包括数据的平安性保护、数据的完整性检查、并发限制和数据库恢复.DBMS数据限制功能包括四个方面:数据的平安性保护;数据的完整性检查;并发限制;数据库恢复.6.简述数据库治理系统的主要功能.(1)数据库定义功能:提供数据定义语言(DataDefinitionLanguage,DDL),让用户能够方便地定义数据库的逻辑结构、存储结构和存取路径,描述对数据的完整性和平安性等要求;(2)数据存取功能:提供数据操纵语言(DataManipulationLanguage,DML),在保证数据的完整性和平安性根底上,方便、高效地实现数据的查找、插入、修改

8、和删除等操作;(3)数据组织与存储功能:提供数据在外围存储设备上的物理组织和存储方式;(4)事务运行治理功能:提供事务运行治理及运行日志,事务运行的平安性监控和数据完整性检查,事务的并发限制及系统恢复等功能;(5)数据库建立维护功能:提供了数据平安限制、完整性保证、数据库备份、数据库重组和性能监控等维护工具软件,用于提升系统运行效率;(6)通信接口:提供与其他类型数据库系统或软件之间的格式转换和网络通信功能,实现异构数据库互访和互操作.7 .简述数据库系统的三级模式结构.这种结构的优点是什么如何实现模式间的转换1数据库系统的三级模式结构由外模式、模式和内模式组成.参见书上图1.29外模式,亦称

9、子模式或用户模式,是数据库用户包括应用程序员和最终用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示.模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图.模式描述的是数据的全局逻辑结构.外模式涉及的是数据的局部逻辑结构,通常是模式的子集.内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述.2特点:数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS治理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储.3为了能够在内部实现这三个

10、抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像.正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性.8 .什么是数据独立性为什么数据库系统具有数据独立性数据独立性包括数据的物理独立性和数据的逻辑独立性.数据与程序的逻辑独立性表现在当模式改变时例如增加新的关系、新的属性、改变属性的数据类型等,由数据库治理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变.应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性.数据与程序的物理独立性表现在当数据库的存储结构改变了

11、,由数据库治理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性.数据库治理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性.9.简述数据库系统的组成.数据库系统一般由数据库、数据库治理系统及其开发工具、应用系统、数据库治理员和用户构成.10 .数据库治理员、系统分析员、数据库设计人员、应用程序员的责任分别是什么数据库治理员:负责全面地治理和限制数据库系统.具体责任包括:决定数据库的信息内容和结构;决定数据库的存储结构和存取策略;定义数据的平安性要求和完整性约束条件;监督和限

12、制数据库的使用和运行;改良和重组数据库系统.系统分析员:负责系统的需求分析和标准说明,需要与用户以及数据库治理员相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计.数据库设计员:负责数据库中数据确实定以及数据库各级模式的设计.应用程序员:负责设计和编写应用系统的程序模块,并进行调试和安装.11 .观察和分析一个实际的数据库治理系统.它支持三级模式结构吗两层之间的映像是如何定义的是否有完整性和平安性机制是否具有分布式处理功能有哪些特色功能12 .1990年高级程序员测试试题从以下关于数据库系统特点的表达中选出5条正确的表达.数据库预防了一切数据重复.数据库减少了数据冗余.各类用户程序均可

13、随意地使用数据库中的各种数据.用户程序按所对应的子模式使用数据库中的数据.数据库数据可经DBA认可的各用户所共享.数据库系统中如概念模式有所改变,那么需将与其有关的子模式做相应改变,否那么用户程序需改写.数据库系统中概念模式如有改变,子模式不必变,因而用户程序亦不必改写.数据库系统的存储模式如有改变,那么概念模式应予调整,否那么用户程序会在执行中出错.数据库系统的存储模式如有所改变,概念模式不需改动.数据一致性是指数据库中数据类型一致.习题21 .答:数据模型通常由数据结构、数据操作和完整性约束三局部组成:数据结构是所研究的对象类型的集合,刻画对象和对象间的联系,是对数据库系统静态特性的描述.

14、如对象的类型、性质、对象之间的参照、所属关系等.数据操作是指对数据库中各种对象的值允许执行的操作的集合,包括有关的操作要求,是对数据库系统动态特性的描述.数据库主要有查询和更新增加、删除和修改操作.数据模型中需要定义这些操作的具体含义、操作符号、操作规那么和实现操作的语句.完整性约束即数据和数据间应该满足的条件,是一组完整性规那么的集合,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确性、有效性和相容性.2 .答:略3 .答:可参加本章图2-2所示的1:1、1:n、n:m三种实体与实体的联系.4 .答:UML中主要的图有:Usecasediagram用例图、Classdiagr

15、am类图、Sequencediagram顺序图、Collaborationdiagram协作图、Activitydiagram活动图.功能如下:用例图:说明的是谁要使用系统以及使用该系统可以做些什么.UML9种图中一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖.类图:类图是一种模型类型,确切的说,是一种静态模型类型.一个类图根据系统中的类以及各个类之间的关系描述系统的静态视图.顺序图:用来展示对象之间是如何进行交互的.顺序图将显示的重点放在消息序列上,即消息是如何在对象之间被发送和接收的.协作图:可以看成类图和顺序图的交集,协作图建模对

16、象或者角色,以及它们彼此的通信方式.活动图:活动图能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求.5 .答:在层次模型中,实体之间联系用树形结构指针来实现.在网状模型中,实体之间联系用指针实现.在关系模型中,实体之间联系用关键码外键或关系运算来实现.6.答:7.答:8.答:ABCDE9.答:ABCDE习题35.(1)o专业=,通信工程(学生)(2)n程号,学分(课程)(3) H程号,成绩(0姓名=张珊(学生)选修)(4) IB号,课程号(选修)课程6 .A:,B:,C:,D:,E:7 .C,D习题43. (1)Select服装ID,

17、型号,颜色,价格from服装关系where品牌=佐丹奴;(2) select姓名, from顾客关系where顾客IDin(select顾客IDfrom购置记录关系where服装IDin(select服装IDfrom服装关系where品牌=美津浓);(3) select*from顾客关系where顾客编号notin(select顾客编号from购置记录关系);(4) select*from顾客关系wherenotexist(select*from服装关系where品牌=佐丹奴andnotexist(select*from购置记录关系where购置记录关系.服装编号=服装关系.服装编号and购置

18、记录关系.顾客编号=顾客关系顾客编号)4. (1)select*from学生where专业=通信工程;(2) select课程号,学分from课程;(3) select课程号,成绩from选彳where学号=(select学号from学生where姓名=张珊);(4) SELECT姓名FROM学生WHERENOTEXISTS(SELECT*FROM课程WHERENOTEXISTS(SELECT*FROM选修WHERE学号=学生.学号AND课程号=课程.课程号);select*from学生where学号notin(select学号from选修);(6) select学号from选彳where课程

19、号in(select课程号from课程课程Iwhere课程1 .先行课课程号=(select课程号from课程课程2where课程2.课程名=数据库原理);(7) deletefrom选彳%where学号=9501;(8) update选彳%set成绩=89where学号=(select学号from学生where姓名=张林)and课程号=(select课程号from课程where课程名=数据库原理);(9) createviewv1asselect学号,姓名,成绩from学生,选修,课程where学生.学号=选彳.学号and选彳.课程号=课程.课程号and课程名=数据库原理;(10) sele

20、ct*fromv1wheregrade90;习题52. (1)学生(学号,姓名,出生日期,班号,宿舍区),候选码:学号.外码:班号班级(班号,专业名,系名,人数,入校年份),候选码:班号.外码:系名系(系号,系名,系办公室地点,人数),候选码:系号学会(学会名,成立年份,地点,人数),候选码:学会名学生-学会(学号,学会名,入会年份),候选码:(学号,学会名),外码:学号,学会名(2)学生关系的最小依赖集为学号-姓名,学号-出生日期,学号-班号,学号-宿舍区班级关系的最小依赖集为班号-专业名,班号-系名,班号-人数,班号-入校年份系关系的最小依赖集为系号-系名,系号f系办公室地点,系号-人数学

21、会关系的最小依赖集为学会名-成立年份,学会名-地点,学会名-人数学生-学会关系的最小依赖集为(学号,学会名)入会年份以上依赖集均无传递依赖,局部依赖.(3)各关系模式的候选码、外码已在(1)中注明.无全码.3. (1)最小依赖集为AfC,C-A,B-C,D-0(2)候选码:BD3 3)AC,BC,DC,BD4 .F是最小依赖集.(1) (AB)+=U,A+=A,B+=BCD.故AB是候选码.同理可证AC,AD均是候选码.(2)因B-C,故C局部依赖于AR因AAB,BfC,故C传递依赖于AD因gD,故D局部依赖于AG因ABC,C-D,故D传递依赖于AB=5 .AB-E,BEfC,CEF,CFfB

22、,CFfD,C-A,D-E,D-F6.(1)是.按BCNF的定义,假设XY,且丫不是X的子集时,每个决定因素都包含码,对于二元关系决定因素必然包含码.(2)是.唯一的决定因素(学号,课程号)就是码.(3) F是最小依赖集.把所有属性分类:L类:D,N类:无,LR类:A,B,C,E,R类:无(DA)+=U,(DB)+=DB,(DC)+=DC,(DE)+=DEC,故DA是唯一候选码.并非所有决定因素都包含码,该关系模式不是BCNFo7 .由于ABEnCDEF=E,ABE-CDEF=AB,E-ABCF+,故该分解是无损连结分解.8 .F的最小依赖集为SfD,I-S,I-Q,B-Q.把所有属性分类:L

23、类:I、B,N类:O,LR类:S,R类:DQ(IBO)+=U,故旧O为码.具有无损连接性的BCNF分解为:SD,IS,IQ,BQ,IBO9.不正确.不符合多值依赖定义.10.BCNF.由于C-A是非平凡且非函数依赖的多值依赖.11.(1)候选码:ACAD,BC,BD(2)不是4NF.存在非平凡且非函数依赖的多值依赖.(3)不是BCNF决定因素A、B都不包含码.(4)是3NE所有属性都是主属性,不存在非主属性到码的局部函数依赖或传递函数依赖.习题614.A:B:C:D:E:15.【问题11nm)1(4) n,或m(5) m(6) n其中,(1)、(2)的答案可互换,(5)、(6)的答案可互换【问

24、题2】(a)读者ID,图书ID(b)读者ID,ISBN号【问题3】关系模式主键夕卜键读者ID/书目ISBN号/图书图书IDISBN号借还记录读者ID,图书ID,借书时间读者ID,图书ID预约登记读者ID,ISBN号,预约时间读者ID,ISBN号,图书ID习题71 .简述查询优化的必要性.答:查询优化使得用户不必考虑如何最好地表达查询,简化了用户的工作.同时,同一个查询可以有不同的查询方案,而不同的查询方案执行的效率也不一样,因而对提升RDBMS的查询效率是非常必要的,是影响RDBMS性能的关键因素.2 .简述查询优化的一般准那么.答:(1)选择运算应尽可能先做.选择运算一般使计算的中间结果大大

25、变小,提前处理常常可使查询代价降低几个数量级.(2)在执行连接前对关系适当地预处理.如执行连接前事先在连接属性上建立索引,可以减少对表的扫描次数,从而大大减少连接处理的时间.(3)投影运算和选择运算同时进行.如有假设干投影和选择运算,并且它们都对同一个关系操作,那么可以在扫描此关系的同时完成所有的这些运算以预防重复扫描关系.(4)把投影同其前或其后的双目运算结合起来.没有必要为了去掉某些字段而扫描一遍关系.(5)把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算,连接特别是等值连接运算要比同样关系上的笛卡尔积省很多时间.(6)找出公共子表达式.对那些重复出现且结果不是很大的子表达式,

26、可以先计算一次并把结果写入中间文件,需要时从外存中读入.3.简述查询优化的处理步骤.答:(1)将查询转换成某种内部表示(2)根据一定的等价变换规那么把语法树转换成标准(优化)形式(3)选择低层的操作算法(4)生成查询方案习题81 .试述事务的概念及事务的四个特性.答:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(DurabiHty)2 .并发操作可能产生哪几类数据不一致用什么方法可以预防各种不一致的情况.答:并发操作可能产生丧失修改、不可重复读、读“脏数据.为预防不一致的情况,一般采用封锁技术,一级封锁协议可预防丧失修改,二级封锁协议可预

27、防丧失修改和读“脏数据,三级封锁协议可预防丧失修改、不可重复读、读“脏数据.3 .试述死锁的处理方法并说明各方法的优缺点.答:对于死锁处理,可以采用预防的策略,如一次封锁法和顺序封锁法,但实际中很难操作,因此,实际中一般允许死锁,但必须提供死锁的诊断和解除方法.4 .数据库运行中可能产生的故障有哪几类答:事务内部的故障、系统故障、介质故障、计算机病毒.5 .数据库的恢复技术有哪些答:数据转储和登录日志文件.习题91 .答:数据库完整性是指数据库中数据的正确性和相容性.数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计.数据库完整性约束可以通过DBM做

28、应用程序来实现,基于DBMS勺完整性约束作为模式的一局部存入数据库中.2 .答:数据库的平安机制主要包括用户标识和鉴别、存取限制策略、视图机制和数据加密审计跟踪等技术构成.3 .答:数据的完整性和平安性是两个不同的概念,但是有一定的联系.数据库完整性是为了预防数据库中存在不符合语义的数据,也就是预防数据库中存在不正确的数据.因此完整性检查和限制的防范对象是不合语义、不正确的数据,预防它们进入数据库.数据库的平安性是保护数据库,预防恶意的破坏和非法的存取.因此平安性举措的防范对象是非法用户和非法操作.4 .答:完整性约束条件是指数据库中的数据应该满足的语义约束条件.一般可以分为六类:静态列级约束

29、、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束.静态列级约束是对一个列的取值域的说明,包括以下几个方面:(l)对数据类型的约束,包括数据的类型、长度、单位、精度等;(2)对数据格式的约束;(3)对取值范围或取值集合的约束;(4)对空值的约束;(5)其他约束.静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上.静态关系约束是在一个关系的各个元组之间或者假设干关系之间常常存在各种联系或约束.常见的静态关系约束有:(l)实体完整性约束;(2)参照完整性约束;(3)函数依赖约束.动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面

30、:(l)修改列定义时的约束;(2)修改列值时的约束.动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件.动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件.5 .答:CREATETABLEDEPT(DeptnoNUMBER(6),DeptnameVARCHAR(30),ManagernameVARCHAR(20),PhoneNumberChar(11)CONSTRAINTPK_SCRIMARYKEY(Deptno);CREATETABLEEMPLOYEES(EmpnoNUMBER(6),EnameVARCHAR(20),AgeNU

31、MBER(2),CONSTRAINTCONS1CHECK(Aage=55),JobVARCHAR(20),SalalryNUMBER(8,2),DeptnoNUMBER(6),CONSTRAINTFK_DEPTNOFOREIGNKEY(Deptno)REFFERENCESDEPT(Deptno);6 .答:对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理.而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性.7 .答:Windows身份验证模式是SQLServer中的默认身份验证模式.在Windows身份验证模

32、式下,SQLServer仅依赖用户操作系统Windows的身份验证.然后,授予Windows用户或组对SQLServer的访问权限.如果用户在登录时提供了SQLServer登录ID,那么系统将使用SQLServer身份验证对其进行验证.然后提供相应的访问权限,对数据库系统进行访问.8 .答:触发器是一种特殊的存储过程,是用户定义的关系表上的一类事件驱动的特殊过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发的,类似于数据表中参照完整性约束,主要功能是监视用户对数据的修改、更新和删除.根据对表的插入、删除、更新操作提供了三类触发器:插入触发器、删除触发器、更新触发器.在一个单独的数据

33、表上,最多只能创立与之关联的这三类触发器.9 .答:实现数据库平安性限制的常用方法和技术有:(l)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份.每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权.(2)存取限制:通过用户权限定义和合法权检查保证只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据.例如CZ级中的自主存取限制(DAC),Bl级中的强制存取限制(MAC).(3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的平安保护.(4)审计:建立审计日志,把用户对数据库的所有操作

34、自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等.(5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容.10 .答:自主存取限制方法:定义各个用户对不同数据对象的存取权限.当用户对数据库访问时首先检查用户的存取权限.预防不合法用户对数据库的存取.强制存取限制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证.系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象.11 .答:审计功能是指DBMS的审计模块在用户对数据库执行

35、操作的同时把所有操作自动记录到系统的审计日志中.由于任何系统的平安保护举措都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在.利用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等.12 .B13 D14 .(1)A(2)D习题10习题111 .答:1996年,万维网协会W3c开始设计一种可以扩展的标记语言,使其能够将SGML勺灵活性和强大功能与已经被广泛采用的HTML吉合起来.1998年,W3CJ定了扩展标记语言XMLextensibleMarkupLanguage标准.XML是一种文档格式和标准,用于不同组织间的数据交换.X

36、ML是一种界定文本数据的统一标准,被称为“Web上的ASCII码.这就像某用户使用自己喜爱的编程语言创立一种数据结构后,其他用户也可以在其他计算机平台上使用他自己喜欢的语言来访问该数据结构一样.XML的标记可以说明用户所描述的概念,而使用其属性来限制它们的结构,从而使用户可以定义自己所设计出的语法并同其他人共享.至今XML已经成为一种存储和交换数据的通用格式,是那些带标记的如文本一类带有标示文档结构和重点的标记、结构化嵌套对象或半结构化异类数据信息的常用选择.XML也逐渐成为一种在网络中不同应用程序之间相互交换数据的重要标准.2 .答:DO防口SAX是针对XML文档的两种不同的应用程序编程接口

37、.DOMDocumentObjectModel,文档对象模型是一种应用程序接口API的应用,它将文档如XML*HTM及:档等看成是一个文档对象,然后通过程序语言如JavaScript等脚本语言,C+考调用该文档对象,对文档中的数据进行存取,并利用程序对获取的数据进行跟进一步的处理.XMLDOM!将XML文档以DOM式封装,通过DO峨术,应用程序即可很容易地提取XML文档中的数据.SAX是SimpleAPIforXML的缩写.它不像DOMIB样是W3c勺推荐标准.SAX的工作原理简单地说就是对文档进行顺序扫描,当扫描到文档document开始与结束、元素element开始与结束、文档docume

38、nt结束等地方时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束.SAX解析器是边读入边解析,带有一定的实时性,特别适合于XML流数据的处理.3 .答:学术界和工业界存在大量的XML数据库原型系统和商用产品.目前约有近40种XML数据库产品,大致上可分为三大类型:1 .商业类commercial:如Ipedo、Tamino、Natix、Xyleme等.其中,美国Ipedo公司的IpedoXMLDatabase和德国SoftwareAG公司的Tamin.是其中的佼佼者,成为目前市场上的主流产品.2 .研究类research:如Stanford大学早期开发的Lore等.

39、3 .开放源码类(opensource):其中影响较大的是BerkeleyDBXMLdbXMLXDB和Xindice.在学术界,真正受到关注的XML数据库原型系统有三家:密歇根大学安阿伯分校的Timber、西雅图华盛顿大学的Tukwila和威斯康星大学麦迪逊分校的Niagara.4 .答:XMLSchema与DTD-样,也是对一类XML文档进行约束、确定其结构,元素、属性、及数据类型,以及XML文档中所使用的元素,实体,元素的属性,元素与实体之间的关系的约束.XMLSchema首先由微软提出,已经被W3C受成为一个标准.自XMLSchema1.0标准于2001年成为W3C推荐标准以来,开发人员

40、社区一直在讨论该语言的优缺点.W3CXMLSchemaX作组已经开始研究该语言的下一个版本.随着该标准被业界广泛采用并被整合到许多其他标准(包括XSLTXQuery和WSDL中,在2005年,W3C举行了一场研讨会,仔细研究了用户体验并收集了大量反应,以帮助指导改良该语言.这场研讨会以及社区中其他用户提出的要求帮助XMLSchemaX作组确定了XMLSchema1.1版的范围.5 .答:在SQLServer2021中,我们可以直接用关键字XML用于定义XML数据类型的字段或者定义XML数据类型的变量.DOCUMENT键字指定xml_column_name中每个数据类型为XML的实例都只能包含一

41、个顶级元素.CONTEN关键字指定xml_column_name中每个数据类型为XML的实例都可包含多个顶级元素习题121 .定义并解释面向对象模型中的根本概念.类(Class)是对共享同样属性和方法的所有对象的抽象描述,每个对象称为类的实例,不同对象的变量值可以不同,在面向对象数据库中,类是“型,而对象是某一类的一个“值.例如,衣服品牌是一个类,“佐丹奴、“李宁等是衣服品牌类中的对象.对象(Object)是对客观世界中存在实例的抽象描述,是由一组数据和在这组数据上操作的程序代码封装而成的根本单位.一般来说,对象包括以下三局部.继承:继承性是面向对象技术中一个重要而根本的概念,是一个类自动继承

42、其他类所有属性和方法的机制.多重继承:一个类有多个超类,这种继承被称为多重继承.对象标识:在类中,每个对象都对应于现实世界中的实体,而现实世界中的实体其根本特征是可区别的,即每个实体是不同于其他实体的存在.因此,对应于实体的对象也要有一个唯一不变的标识用以区别其他对象,这个标识应该是永久性的,在全系统内是唯一的,不随对象的属性值和方法的改变而改变.我们称这种独立于值的、系统全局唯一的标识为对象标识(ObjectIdentfier,OID).例如,对象标识可以是一串数字,由对象的存储位置和一些其他信息构成.对象包含:对象包含又称为对象嵌套,即一个对象的属性也是一个对象.它是对象之间静态联系的一种

43、关系,通过对象之间的引用实现对现实世界不同概念的描述和建模.这种包含其他对象的对象称为复杂对象(ComplexObject)或复合对象(CompositeObject),对象之间存在多层次的包含.2 .举例说明多重继承中潜在的二义性,及如何解决二义性问题.当从多个超类中继承的属性或方法有相同的名字,且该属性或方法不是共享超类所定义的,就会引发二义性问题.例如,从超类A和B中继承属性或方法P,且P不是共享超类所定义的,此时就会引发二义性.不同的系统,对二义性的解决方法也不同,一般有以下4种解决方法.(1)重命名:将P分成两个变量,一个命名为A.P,另一个命名为B.P.(2)系统根据类创立的顺序,

44、选择其中一个作为子类的属性变量.(3)用户根据自己的需要,自己选择属性值.(4)系统将这种情况作为错误处理,说明该系统不支持多重继承.3 .对象标识都有哪些特征它与关系数据库中的关键字都有哪些区别对象标识具有以下特征:唯一性:OID在对象的整个生命周期中是保持不变的.不可重用性:OID一旦产生,将随着对象的删除而删除,不能重用.独立于对象状态:OID不随对象中属性值和方法的改变而改变.独立于对象的物理存储位置:OID不随对象物理存储位置的改变而改变.关系数据库中关键字和面向对象中对象标识的区别可以参见书中表12-1:4 .嵌套关系与非嵌套关系的区别是什么嵌套关系有哪些好处在嵌套关系数据库中,数

45、据库中域的值可以是原子的也可以是关系的.嵌套关系模型是关系模型的一个扩展.这样,元组在一个属性上的取值可以是集合或者关系,也就是说,关系可以存储在关系中,一个复杂对象就可以用嵌套关系的一个元组来表示.这样,嵌套关系模型中的数据项就可以和用户认为的对象一一对应起来.嵌套的表比非嵌套的表更简洁明了,并减少了不少数据冗余,更贴近现实,非嵌套的表在查询的时候(尤其是查地址时)语句复杂,且按第四范式(4NF)分解时产生大量的连接,使得实现更加复杂.5 .复杂类型都有哪些介绍其各自的特点.(1)集合类型一组相同类型元素组成的满足一定要求的有序集合被称为集合类型,又称为聚集类型.集合元素是由多个相同类型元素

46、组成的集合,可以直接用来描述多值属性.有序的元素集合可以用列表集合和数组集合来表示,无序的元素集合可以用集合类型和多重集合类型来表示.(2)结构类型由于结构类型是存储在数据库中的,因此对数据库进行访问时是可以直接使用结构类型的.结构类型不像程序语言定义的类型,程序语言定义的类型是存放在数据库外的,这种类型只对那些包含文本文件的程序是可见的.(3)大对象类型大对象一般用于外部的应用,外部应用程序在操作大对象类型数据时,用LOB定位器(LOBlocator)来提取LOB数据.大局部大对象类型的数据是存储在数据库中,由DBMS维护,因此大对象类型可以像其他类型数据一样被查询、提取、插入和更新.6 .

47、引用类型有哪些好处什么情况下使用引用类型引用类型又叫参照类型,简称REF类型,它具有面向对象程序设计语言提供的对对象的引用功能,即对象的属性可以是对指定类型对象的引用,这种引用作用于元组上,因此有一定的作用域,可以解决类型之间具有的相互参照的联系.7 .表继承是要遵守哪些约束在表继承中,超表和子表存在着一些完整性约束又被称为是继承的一致性约束:(1)超表中的每个元组可以对应子表中至多一个元组;(2)子表中的每个元组在超表中有且只有一个对应元组,即超表和子表中对于所有的继承的属性都有相同的属性值.(3)当查询一个超表时,查找的范围不仅只是这个表中的元组,还包括这个表的所有子表中的元组,但是只有超

48、表中具有的属性才可以被访问.如果只查找超表中的元组,不需要查询子表中的元组时,可以使用关键字ONLY.8 .关系模型与对象关系模型各有什么优点和缺点关系模型是一种简单清楚的模型,但是它采用的数据模型要求数据有较高的结构化,是面向机器的语法数据模型.由于它只能存放离散的数据和有限的关系,缺少数据抽象,语义表示水平较弱,因此无法准确地描述现实世界中复杂的对象实例,从而无法处理类似图像、音频、视频以及用户自定义的复杂对象.由于关系模型满足1NF,因此关系模型只能处理非嵌套事务,对于嵌套的属性要转换成非嵌套的属性才能处理,造成了数据的大量冗余,且不利于事务的查询和更新.对表进行访问时,不同表之间的连接只能通过逻辑连接,由外码执行;由于连接不同的关联表,造成操作时间较长,而且在事务发生故障时,数据库的恢复比拟困难.关系模型一般采用二维表作为存储数据的模型.关系模型能提供一个简单的应用开发商的接口.对象-关系模型是在关系模型上添加了面向对象的特性,因此可以处理现实世界中的复杂对象,允许用户根据自己的需要定义属性和方法,这些属性和方法存放在数据库中,与系统定义的类型有同样的操作方法,因此保持了操作的一致性.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论