习题及答案

更新时间:2024-05-09 23:45:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

习题一

1. 什么是数据?数据有什么特征?数据和信息有什么关系? .答:

数据是用于载荷信息的物理符号。

数据的特征是:① 数据有“型”和“值’之分;② 数据受数据类型和取值范围的约束;③ 数据有定性表示和定量表示之分;④数据应具有载体和多种表现形式。

数据与信息的关系为:数据是信息的一种表现形式,数据通过能书写的信息编码表示信息。信息有多种表现形式,它通过手势、眼神、声音或图形等方式表达,但是数据是信息的最佳表现形式。由于数据能够书写,因而它能够被记录、存储和处理,从中挖掘出更深层的信息。但是,数据不等于信息,数据只是信息表达方式中的一种。正确的数据可表达信息,而虚假、错误的数据所表达的是谬误,不是信息。

2. 什么是数据处理?数据处理的目的是什么? 答:

数据处理是指对数据的收集、组织、整理、加工、存储和传播等工作。围绕着数据所做的工作均称为数据处理。

数据处理目的为:通过数据管理,收集信息并将信息用数据表示和保存,在需要的时候,为各种使用和数据处理提供数据;通过数据加工,对数据进行变换、抽取和运算,从而得到更有用的数据,以指导或控制人的行为或事物的变化趋势;通过数据传播,使更多的人得到并理解信息,从而使信息的作用充分发挥出来。

3. 数据管理的功能和目标是什么?

4. 什么是数据库?数据库中的数据有什么特点? 5. 什么是数据库管理系统?它的主要功能是什么? 6. 数据冗余能产生什么问题?

7. 什么是数据的整体性?什么是数据的共享性?为什么要使数据库中的数据具有整体

性和共享性?

8. 信息管理系统与数据库管理系统有什么关系? 9. 用文件系统管理数据有什么缺陷?

10. 数据库系统阶段的数据管理有什么特点? 11. 数据库系统对计算机硬件有什么要求?

12. 数据库系统的软件由哪些部分组成?它们的作用及关系是什么? 13. 试述数据库管理员的职责。

14. 试述数据库系统的三级模式结构及每级模式的作用?

15. 什么是数据的独立性?数据库系统中为什么能具有数据独立性?

16. 试述数据库系统中的二级映像技术及作用。

17. 在下面所列出的条目中 哪些是数据库管理系统的基本功能______。 A. 数据库定义 B. 数据库的建立和维护

C. 数据库存取 D. 数据库和网络中其他软件系统的通信 18. 在数据库的三级模式结构中,内模式有______。

A. 1个 B. 2个 C. 3个 D. 任意多个 19. 下面列出的条目中, 哪些是数据库技术的主要特点______。 A. 数据的结构化 B. 数据的冗余度小 C. 较高的数据独立性 D. 程序的标准化

20. 在数据库管理系统中,下面哪个模块不是数据库存取的功能模块_______。 A. 事务管理程序模块 B. 数据更新程序模块 C. 交互式程序查询模块 D. 查询处理程序模块

习题一 解答

1.答:

数据是用于载荷信息的物理符号。

数据的特征是:① 数据有“型”和“值’之分;② 数据受数据类型和取值范围的约束;③ 数据有定性表示和定量表示之分;④数据应具有载体和多种表现形式。

数据与信息的关系为:数据是信息的一种表现形式,数据通过能书写的信息编码表示信息。信息有多种表现形式,它通过手势、眼神、声音或图形等方式表达,但是数据是信息的最佳表现形式。由于数据能够书写,因而它能够被记录、存储和处理,从中挖掘出更深层的信息。但是,数据不等于信息,数据只是信息表达方式中的一种。正确的数据可表达信息,而虚假、错误的数据所表达的是谬误,不是信息。 2.答:

数据处理是指对数据的收集、组织、整理、加工、存储和传播等工作。围绕着数据所做的工作均称为数据处理。

数据处理目的为:通过数据管理,收集信息并将信息用数据表示和保存,在需要的时候,为各种使用和数据处理提供数据;通过数据加工,对数据进行变换、抽取和运算,从而得到更有用的数据,以指导或控制人的行为或事物的变化趋势;通过数据传播,使更多的人得到并理解信息,从而使信息的作用充分发挥出来。 3.答:

数据管理的功能为:① 组织和保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期地被保存。② 数据维护功能,即根据需要随时进行插入新数据、修改原数据和删除失效数据的操作;③ 数据查询和数据统计功能,即快速地得到需要的正确数据,满足各种使用要求;④ 数据的安全和完整性控制功能,即保证数据的安全性和完整性。

数据管理的目标是:收集完整的信息,将信息用数据表示,按数据结构合理科学地组织并保存数据;为各种使用快速地提供需要的正确数据,并保证数据的安全性和完整性。 4.答:

数据库是数据管理的新方法和技术,它是一个按数据结构来存储和管理数据的计算机软件系统。

数据库中的数据具有的特点是:① 数据库中的数据具有数据整体性,即数据库中的数据要保持自身完整的数据结构;② 数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5.答:

数据库管理系统简称DBMS(Database Management System),它是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。

数据库管理系统的主要功能是数据存储、数据操作和数据控制功能。其数据存储和数据操作是:数据库的定义功能,指为说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指将大批数据录入到数据库的操作,它使得库中含有需要保存的数据记录;数据库维护功能,指对数据的插入、删除和修改操作,其操作能满足库中信息变化或更新的需求;数据查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据泄漏和破坏,即避免数据被人偷看、篡改或搞坏;数据完整性控制功能,指为了保证数据库中数据的正确、有效和相容,以防止不合语义的错误数据被输入或输出。 6.答:

数据冗余度大会造成浪费存储空间的问题,使数据的存储、管理和查询都不容易实现。同时,由于文件系统中相同的数据需要重复存储和各自的管理,数据冗余度大还会给数据的修改和维护带来麻烦和困难,还特别容易造成数据不一致的恶果。数据冗余度大时,由于数据重复出现,还使得数据统计的结果不正确。 7.答:

数据的整体性是指在进行数据库设计时,要站在全局需要的角度进行抽象和组织数据;要完整地、准确地描述数据自身和数据之间联系的情况;要建立适合整体需要的数据模型。

数据的共享性是指由于数据库系统是从整体角度上看待和描述数据的,数据不再是面向某个应用,而是面向整个系统。

数据的整体性高会使得数据库中的数据冗余度变小,从而避免了由于数据冗余度大带来的数据冲突问题,也避免了由此产生的数据维护麻烦和数据统计错误问题。数据共享度高会提高数据的利用率,它使得数据更有价值和更容易、更方便地被使用。 8.答:

数据库管理系统是提供数据库管理的计算机系统软件,它为信息管理系统的设计提供了方法、手段和工具,利用数据库管理系统设计信息管理系统可以达到事半功倍的效果。信息管理系统是实现某种具体事物管理功能的应用软件。信息管理系统的数据存放在数据库中。利用数据库管理系统,信息管理系统可以更快、更好地设计和实施。 9.答:

用文件系统管理数据会有三个缺陷:① 由于文件之间缺乏联系,会造成每个应用程序都有对应的文件,有可能同样的数据在多个文件中重复存储,所以数据冗余度大。② 由于数据冗余,在进行更新操作时,稍不谨慎,就可能使同样的数据在不同的文件中不一样,从而产生数据不一致缺陷。③ 由于文件之间相互独立,缺乏联系,会造成数据联系弱的缺陷。 10.答:

数据库系统阶段的数据管理有5方面的特点:① 采用复杂的数据模型表示数据结构。②有较高的数据独立性。③ 数据库系统为用户提供了方便的用户接口。④ 系统提供有数据库的恢复、并发控制、数据完整性和数据安全性的数据控制功能,以保证数据库中的数据是安全的、正确的和可靠的。⑤ 对数据的操作不一定以记录为单位,也可以以数据项为单位,从而增加了系统的灵活性。 11.答:

由于数据库系统是建立在计算机硬件的基础之上的,它在必需的硬件资源支持下才能工作。支持数据库系统的计算机硬件资源包括CPU、内存、外存及其他外部设备。外部设备主要包括某个具体的数据库系统所需的数据通信设备和数据输入输出设备。

因为数据库系统数据量大、数据结构复杂、软件内容多所以要求其硬件设备能够处理并快速处理数据,这需要硬件的数据存储容量大、数据处理速度和数据输入输出速度快。具体要求为:① 计算机内存要尽量大;② 计算机外存也要尽量大;③ 计算机的数据传输速度要快。 12.答:

数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件和用户数据库。数据库系统中各种软件的作用如下:

① 操作系统或汉字操作系统:操作系统是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法和汉字信息的处理方法。

② 数据库管理系统和主语言系统:数据库管理系统是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。 ③ 应用开发工具软件:应用开发工具是DBMS系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询和视图设计器等,它们为数据库系统的开发和使用提供了良好的环境和帮助。 ④ 应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理和处理操作。 13.答:

数据库管理员(即DBA)的职责为:

① DBA应参与数据库和应用系统的设计。

数据库管理员只有参与数据库及应用程序的设计,才可能使自己对数据库结构及程序设计方法了解得更清楚,为以后管理工作打下基础。同时,由于数据库管理员是用户,他们对系统应用的现实世界非常了解,能够提出更合理的要求和建议,所以有DBA参与系统及数据

库的设计,可以使其设计更合理。

② DBA应参与决定数据库的存储结构和存取策略的工作。

数据库管理员要综合各用户的应用要求,和数据库设计员共同决定数据的存储结构和存取策略,使数据的存储空间利用得更合理,存取效率更高。 ③ DBA要负责定义数据的安全性要求和完整性条件。

数据库管理员的重要职责是保证数据库的安全性和数据完整性。DBA要负责定义各用户的数据使用权限、数据保密级别和数据完整性的约束条件。

④ DBA负责监视和控制数据库系统的运行,负责系统的维护和数据恢复工作。 数据库管理员要负责监视系统的运行,及时处理系统运行过程中出现的问题,排除系统故障,保证系统能够正常工作。在日常工作中,数据库管理员要负责记录数据库使用的“日志文件”,通过日志文件了解数据库的被使用和更改的情况。数据库管理员还要定期对数据作“备份”,为以后的数据使用(即处理历史数据)和数据恢复做准备。当系统由于故障而造成数据库被破坏时,数据库管理员要根据日志文件和数据备份进行数据恢复工作,使数据库能在最短的时间里恢复到正确状态。

⑤ DBA负责数据库的改进和重组。

数据库管理员负责监视和分析系统的性能,使系统的空间利用率和处理效率总是处于较高的水平。当发现系统出现问题或由于长期的数据插入、删除操作造成系统性能降低时,数据库管理员要按一定策略对数据库进行改造或重组工作。当数据库的数据模型发生变化时,系统的改造工作也由数据库管理负责进行。 14.答:

数据库的三级模式是指逻辑模式、外模式(子模式)、内模式(物理模式)。逻辑模式是对数据库中数据的整体逻辑结构和特征的描述。外模式是对各个用户或程序所涉及到的数据的逻辑结构和数据特征的描述。内模式是数据的内部表示或底层描述。

逻辑模式是系统为了减小数据冗余、实现数据共享的目标,并对所有用户的数据进行综合抽象而得到的统一的全局数据视图。通过外模式,可以方便用户使用和增强数据的安全性。通过设计内模式,可以将系统的模式(全局逻辑模式)组织成最优的物理模式,以提高数据的存取效率。改善系统的性能指标。 15.答:

数据独立性是指应用程序和数据之间的依赖程度低,相互影响小。数据独立性分成物理数据独立性和逻辑数据独立性两级。数据的物理独立性是指应用程序对数据存储结构的依赖程度。数据物理独立性高是指当数据的物理结构发生变化时,应用程序不需要修改也可以正常工作。数据的逻辑独立性是指应用程序对数据全局逻辑结构的依赖程度。数据逻辑独立性高是指当数据库系统的数据全局逻辑结构改变时,它们对应的应用程序不需要改变仍可以正常运行。

数据库系统之所以具有数据物理独立性高的特点,是因为数据库管理系统能够提供数据的物理结构与逻辑结构之间的映像或转换功能。这种数据映像功能使得应用程序可以根据数据的逻辑结构进行设计,并且一旦数据的存储结构发生变化,系统可以通过修改其映像来适应变化。所以数据物理结构的变化不会影响到应用程序的正确执行。

数据库系统之所以具有较高的数据逻辑独立性,是由于数据库系统能够提供数据的全局逻辑结构和局部逻辑结构之间的映像和转换功能。这种数据映像功能使得数据库可以按数据全局逻辑结构设计,而应用程序可以按数据局部逻辑结构进行设计。这样,当全局逻辑结构中的部分数据结构改变时,即使那些与变化相关的数据局部逻辑结构受到了影响,也可以通过修改与全局逻辑结构的映像而减小其受影响的程度,使数据局部逻辑结构基本上保持不变。由于数据库系统中的程序是按局部数据逻辑结构进行设计的,并且当全局数据逻辑结构变换时可以使局部数据逻辑结构基本保持不变,所以数据库系统的数据逻辑独立性高。 16.答:

数据库系统的二级映像技术是指外模式与模式之间的映像、模式与内模式之间的映象技术,这二级映像技术不仅在三级数据模式之间建立了联系,同时也保证了数据的独立性。

外模式/模式之间的映像,定义并保证了外模式与数据模式之间的对应关系。当模式变化时,DBA可以通过修改映像的方法使外模式不变,由于应用程序是根据外模式进行设计的,

只要外模式不改变,应用程序就不需要修改,保证了数据的逻辑独立性。

模式/内模式之间的映像,定义并保证了数据的逻辑模式与内模式之间的对应关系。当数据库的存储结构改变时,DBA可以通过修改模式/内模式之间的映像使数据模式不变化。由于用户或程序是按数据的逻辑模式使用数据的,所以只要数据模式不变,用户仍可以按原来的方式使用数据,程序也不需要修改,从而保证了数据的物理独立性。 17.答: A,B,C 18.答: A

19.答: A,B,C 20.答: C

习题二

1.定义并解释下列术语。

实体、实体型、实体集、属性、码、实体联系图(E-R图)、数据模型。 2.试述数据模型的概念、数据模型的作用和数据模型的三个要素。 3.试述概念模型的作用。

4.试给出三个实际部门的E-R图,要求实体型之间具有一对一,一对多,多对多各种不同的联系。

5.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教师,其中一些教授和副教授每人各带若干研究生。每个班有若干学主,每个学生选修若干课程,每门课可由若干学生选修。用E-R图画出此学校的概念模型。

6. 试述层次模型的概念,举出三个层次模型的实例。 7. 试述网状模型的概念,举出三个网状模型的实例。 8. 下述哪一条不属于概念模型应具备的性质_______。 A. 有丰富的语义表达能力 B. 易于交流和理解

C. 易于变动 D. 在计算机中实现的效率高 9. 用二维表结构表示实体以及实体间联系的数据模型称为_______。 A. 网状模型 B. 层次模型 C. 关系模型 D. 面向对象模型

习题二 解答

1.答:

① 实体:现实世界中存在的可以相互区分的事物或概念称为实体。例如,一个学生、一个工人、一台机器、一部汽车等是具体的事物实体,一门课、一个班级等称为概念实体。 ② 实体型:现实世界中,对具有相同性质、服从相同规则的一类事物(或概念,即实体)的抽象称为实体型。实体型是实体集数据化的结果,实体型中的每一个具体的事物(实体)为它的实例。

③实体集:具有相同特征或能用同样特征描述的实体的集合称为实体集。例如,学生、工人、汽车等都是实体集。

④属性:属性为实体的某一方面特征的抽象表示。如学生,可以通过学生的“姓名”、“学号”、“性别”、“年龄”及“政治面貌”等特征来描述,此时,“姓名”、“学号”、“性别”、“年龄”及“政治面貌”等就是学生的属性。

⑤ 码:码也称关键字,它能够惟一标识一个实体。例如,在学生的属性集中,学号确定后,学生的其他属性值也都确定了,学生记录也就确定了 由于学号可以惟一地标识一个学生,所以学号为码。

⑥ 实体联系图(E-R图):实体-联系方法(Entity-Relationship Approach,即E-R图法)是用来描述现实世界中概念模型的一种著名方法。E-R图法提供了表示实体集、属性和

设计时,必须适应所在的计算机硬件环境.选择合适的DBMS,了解并提高数据库用户的技术水平和管理水平。

③数据库系统设计时应使结构特性设计和行为特性设计紧密结合。数据库设计时,结构设计和行为设计应分离设计、相互参照、反复探寻,共同达到设计目标。 5 答:

需求分析阶段的设计目标是:弄清现实世界要处理的对象及相互关系,清楚原系统的概况和发展前景,明确用户对系统的各种需求,得到系统的基础数据及其处理方法,确定新系统的功能和边界。

需求分析调查的具体内容有3方面:

①数据库中的信息内容:数据库中需存储哪些数据,它包括用户将从数据库中直接获得或者间接导出的信息的内容和性质。

②数据处理内容:用户要完成什么数据处理功能;用户对数据处理响应时间的要求;数据处理的工作方式。

③数据安全性和完整性要求:数据的保密措施和存取控制要求;数据自身的或数据间的约束限制。 6答:

数据字典是各类数据描述的集合,它是进行详细的数据收集和数据分析后所获得的主要成果。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。 7答;

概念结构设计是将系统需求分析得到的用户需求抽象为信息结构过程。概念结构设计的结果是数据库的概念模型。

概念结构独立于数据库逻辑结构和支持数据库的DBMS.其主要特点是:

①概念模型是现实世界的一个真实模型:概念模型应能真实、充分地反映现实世界能满足用户对数据的处理要求。

②概念模型应当易于理解:概念模型只有被用户理解后 才可以与设计者交换意见参与数据库的设计。

③概念模型应当易于更改:由于现实世界(应用环境和应用要求)会发生变化,这就需要改变概念模型,易于更改的概念模型有利于修改和扩充。

④概念模型应易于向数据模型转换:概念模型最终要转换为数据模型。设计概念模型 时应当注意.使其有利于向特定的数据模型转换。 8 答.

抽象就是抽取现实世界的共同特性.忽略非本质的细节.井把这些共同特性用各种概念 精确地加以描述,形成某种模型。 例子如下.

①使用分类法抽象“职工”类:在企业环境中 张小英是职工中的一员,她具有职工们共有的特性和行为:在某个部门工作,参与某个工程的设计或施工:与张小英属同一对象的还有王丽平等其他职工,如图2所示:

图2 职工分类示意图

②使用聚集法抽象“职工”属性:把实体集“职工”的“职工号”、“姓名”等属性聚集为实体型“职工”,如图3所示

图3 职工属性聚集实例

③使用概括法将“职工”的子类合并:职工是个实体集,技术人员、干部也是实体集,但技术人员、干部均是职工的子集,如图4所示:

图4 概括表示实例

9.答:

概念结构设计是将系统需求分析得到的用户需求抽象为信息结构过程、概念结构设计的结果是数据库的概念模型。概念结构能转化为机器世界中的数据模型,并用DBMS实现这些需求。

概念结构的设计可分为两步:第一步是抽象数据并设计局部视图;第二步是集成局部视图,得到全局的概念结构。 10.答:

E-R图是描述现实世界的概念模型的图形,E-R图也称为实体一联系图,它提供了表示实体集、属性和联系的方法。构成E-R图的基本要素是实体集、属性和联系。 11.答:

视图集成就是把设计好的各于系统的分E-R图综合成一个系统的总E-R图,同时消除属性冲突、命名冲突、结构冲突,为关系数据库逻辑结构设计做准备。

视图的集成可以有两种方法:一种方法是多个分E-R图一次集成.如图5-a所示:另一种方法是逐步集成,用累加的方法一次集成两个分E-R图,如图5-b所示。

图5 视图集成的两种方法

12.答:

逻辑结构设计是把概念模型结构转换成某个具体的DBMS所支持的数据模型。逻辑结构设计步骤为:

①把概念模型转换成一般的数据模型。

②将一般的数据模型转换成特定的DBMS所支持的数据模型。 ③通过优化方法将其转化为优化的数据模型。 13.答:

l)E-R图转换为网状模型的方法为: ①每个实体集转换成一个记录。

②每个1:n的二元联系转换成一个系,系的方向由1方实体记录指向n方实体记录: ③每个m:n的二元联系,在转换时要引入一个连结记录,并形成两个系,系的方向由实体记录方指向连结记录方。

④K(≧3)个实体型之间的多元联系,在转换时也引入一个连结记录,并将联系转换成K个实体记录型和连结记录型之间的K个系,系的方向均为实体型指向连结记录。 2)E-R图转换为关系模型的方法为:

①一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。

②一个1:1联系可以转换为一个独立的关系,也可以与任意一端实体集所对应的关系合并。如果将1:1联系转换为一个独立的关系,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。如果将1:l联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。

③实体间的1:n联系可以有两种转换方法:一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成.而该关系的码为n端实体集的码;另一种方法是在n端实体集中增加新属性.新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。

④一个m:n联系转换为一个关系:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合。 14.答:

数据库物理设计的内容主要是选择存取方法和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。 数据库的物理设计可以分为两步进行:

①确定数据的物理结构,即确定数据库的存取方法和存储结构: ②对物理结构进行评价。 15.答:

数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏降 低了数据的存取效率,数据库的性能也下降、这时,数据库管理员就要对数据库进行重组织或部分重组织。

重组织按原数据库设计要求重新安排有储位置、回收垃圾、减少指针链等,以提高系统性能。重构造通过部分修改数据库的模式和内模式,使数据库适应新的应用环境。 16. 答:

转换后的关系模型如图6所示。 出版社(出版社名,地址,邮政编码); 作者(姓名,性别,年龄,证件号码,单位); 出版(出版社名,作者姓名,出书数量,联系方式)。

图6

17.答:

该图书馆数据库的E-R图如图7

图7

其中:

读者:读者号,姓名,地址,性别,年龄,单位; 图书.书号,书名,作者,出版社。 转换后的关系模型为:

借阅者(读者号,姓名,地址,性别,年龄,单位); 书籍(书号,书名,作者,出版社);

借阅(读者号,书号,借出日期,应还日期)。 18 答:

转换后的关系模型如下:

Student(SNO,SN,SD,SA); Teacher(TNO,TN,TD,TG); Course(CNO,CN,PCNO); ST(SNO,TNO); SC(SNO,CNO,G); TC(TNO,CNO)。 19.答:

转换后的关系模型如下 工厂(厂名,厂长,地址); 产品(编号,型号,单价); 用户(姓名,地址,电话);

工厂-产品-用户(厂名,编号,姓名)。 20.答:

概念模型如图8所示。 关系模型为:

职工(职工号,姓名,住址,工作商品部);

商品部(商品部号,名称,经理职工号,经理名); 商品(商品代号,价格,型号,出厂价格);

生产厂家(厂名,地址); 销售(商品代号,商品部号); 生产(厂名,商品代号)。

图8 百货商店E-R图模型 图中:

职工:职工号,姓名,住址; 商品部:商品部号,名称;

商品:商品代号,价格,型号,出厂价格; 生产厂家:厂名,地址。 21.答:D

习题四

1.试述关系模型的三个组成部分。 2.试述关系数据语言的特点和分类。

3.定义并解释下列术语,说明它们之间的联系与区别。 1)主码、候选码、外码。

2)笛卡尔积、关系、元组、属性、域。 3)关系、关系模式、关系数据库。

4. 试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空?

5. 试述等值连接与自然连接的区别和联系。 6. 对于学生选课关系,其关系模式为: 学生(学号,姓名,年龄,所在系); 课程(课程名,课程号,先行课); 选课(学号,课程号 成绩)。 用关系代数完成如下查询。

1)求学过数据库课程的学生的姓名和学号。 2)求学过数据库和数据结构的学生姓名和学号。 3)求没学过数据库课程的学生学号。 4)求学过数据库的先行课的学生学号。

7. 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT);

J(JNO,JNANE,CITY); SPJ(SNO,PNO,JNO,QTY)。

其中:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量组成(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。

试用关系代数完成如下查询:

1)求供应工程J1 零件的供应商号码SNO。 2)求供应工程J1 零件P1的供应商号码SNO。 3)求供应工程J1 零件为红色的供应商号码SNO。 4)求没有使用天津供应商生产的红色零件的工程号。 5)求至少用了供应商S1所供应的全部零件的工程号。

8. 设属性A 是关系R 的主属性,则属性A 不能取空值小(NULL),这是_______。 A. 实体完整性规则 B. 参照完整性规则 C. 用户定义完整性规则 D. 域完整性规则 9. 下面对于关系的叙述中,不正确的是_______。

A. 关系中的每个属性是不可分解的 B. 在关系中元组的顺序是无关紧要的 C. 任意的一个二维表都是一个关系 D. 每一个关系只有一种记录类型

10. 设关系R和S的元组个数分别为100和300,关系T是R与S的笛卡尔积 则T的元组个数是________。

A. 400 B. 10000 C. 30000 D. 90000 11. 设关系R与关系S具有相同的目(或称度),且相对应的属性的值取自同一个域,则R-(R-S)等于________。

A. R∪S B. R∩S C. R╳S D. R-S

习题四解答

1.答:

关系模型的三个组成部分为关系结构、关系操作和关系完整性约束。

在关系模型中,无论是实体集,还是实体集之间的联系均由单一的关系表示。关系模式可以形式化地表示为:R(U,D,Dom,F),其中R为关系名,U为组成该关系的属性集合,D为属性组U中属性所来自的域,Dom为属性向域的映像的集合,F为属性间数据的依赖关系集合。

关系操作语言包括关系代数、关系演算和基于映像的语言。关系操作语言灵活方便.表达能力和功能都非常强大。其主要特点是:关系操作语言操作一体化;关系操作的方式是一次一集合方式;关系操作语言是高度非过程化的语言。

关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。 2 答:

关系操作语言灵活方便,表达能力和功能都非常强大,其主要特点是:关系操作语言操作一体化;关系操作的方式是一次一集合方式;关系操作语言是高度非过程化的语言。关系操作语言包括关系代数、关系演算和基于映像的语言。关系代数语言是用对关系的运算来表

达查询要求的语言。关系演算语言是用查询得到的元组应满足的谓词条件来表达查询要求的语言。基于映像的语言是具有关系代数和关系演算双重特点的语言。 3.答:

1)若关系中的某一属性组(或单个属性)的值能惟一标识一个元组,则称该属性组(或属性)为候选码。当一个关系有多个候选码时,应选定其中的一个候选码为主码;而如果关系中只有一个候选码,这个惟一的候选码就是主码。

设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)。如果F与基本关系s的主码KS相对应,则称厅是基本关系R的外码。

2)给定一组域D1,D2,?, Dn.这些域中可以有相同的部分,则D1,D2,?, Dn的笛卡地积为:D1×D2×?×Dn﹦{(dl,d2,?,dn)∣di∈Di,i=1,2, ?,n}。

D1×D2×?×Dn的子集称作在域D1,D2,?, Dn上的关系,表示为:R(D1,D2,?, Dn)。其中,R表示关系的名字,n是关系的目。

笛卡儿积集合中的每一个元素(dl,d2,?,dn)称为一个元组。 关系中的每一列称为一个属性。 域为数据集合,属性值来源于域。

3)关系是留卡儿积的有限子集,所以关系也是一个二维表。

关系的描述称为关系模式。关系模式可以形式化地表示为:R(U,D,Dom,F)。其中R为关系名,它是关系的形式化表示;U为组成该关系的属性集合;D为属性组U中属性所来自的域;Dom为属性向域的映像的集合;F为属性问数据的依赖关系集合。

在某一应用领域中,所有实体集及实体之间联系所形成关系的集合就构成了一个关系数据库。 4.答:

关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。 关系的实体完整性规则为:若属性A是基本关系R的主属性,则属性A的值不能为空值。关系的参照完整性规则为:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对干R中每个元组在F上的值必须取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。

由于外码在被参考关系A中,是非主属性,其值为空,不影响关系的实体完整性。当外码值不清楚或不确定时,可以设为空值,此时参照表中没有对应的记录与之匹配。 5.答:

等值连接是从关系R和S的广义笛卡儿积中选取A和B属性值相等的那些元组。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。 6.答:

7.答:

8.答:A 9.答:D 10.答:C 11.答:B

习题五

1. 试述SQL语言的特点。

2. 设职工社团数据库有三个基本表: 职工(职工号,姓名,年龄,性别); 社会团体(编号,名称,负责人,活动地点); 参加(职工号,编号,参加日期)。 其中:

1)职工表的主码为职工号。

2)社会团体表的主码为编号;外码为负责人,被参照表为职工表,对应属性为职工号。 3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。 试用SQL语句表达下列操作:

l)定义职工表、社会团体表和参加表,并说明其主码和参照关系。 2)建立下列两个视图。

社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别); 参加人情况(职工号,姓名,社团编号,社团名称,参加日期) 3)查找参加唱歌队或篮球队的职工号和姓名。 4)查找没有参加任何社会团体的职工情况。 5)查找参加了全部社会团体的职工情况。

6)查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。 7)求每个社会团体的参加人数。

8)求参加人数最多的社会团体的名称和参加人数。 9)求参加人数超过100人的社会团体的名称和负责人。

10)把对社会团体和参加两个表的数据查看、插入和删除数据的权力赋给用户李平,并允许他再将此权力授予其他用户。

3. 设工程_零件数据库中有四个基本表:

供应商(供应商代码,姓名,所在城市,联系电话); 工程(工程代码,工程名,负责人,预算); 零件(零件代码,零件名,规格,产地,颜色);

供应零件(供应商代码,工程代码,零件代码,数量) 试用SQL语句完成下列操作.

l)找出天津市供应商的姓名和电话。

2)查找预算在50000-100000元之间的工程的信息,并将结果按预算降序排列。 3)找出使用供应商S1所供零件的工程号码。

4)找出工程项目J2使用的各种零件名称及其数量。 5)找出上海厂商供应的所有零件号码。 6)找出使用上海产的零件的工程名称。 7)找出没有使用天津产零件的工程号码。 8)把全部红色零件的颜色改成蓝色。 9)将由供应商S5供给工程代码为J4的零件P6改为由S3供应,并作其他必要的修改。 10)从供应商关系中删除S2的记录,并从供应零件关系中删除相应的记录。 4. 在嵌入式SQL中,如何区分SQL语句和主语言语句?

5. 在嵌入式SQL中,如何解决数据库工作单元与源程序工作单元之间的通信?

6. 在嵌入式SQL中,如何协调SQL语言的集合处理方式和主语言的单记录处理方式? 7. SQL 语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATA实现下列哪类功________。

A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制

8. 下面列出的关于视图(View)的条目中,不正确的是________。 A. 视图是外模式

B. 视图是虚表

C. 使用视图可以加快查询语句的执行速度 D. 使用视图可以简化查询语句的编写

9. 在SQL语言的SELECT语句中,能实现投影操作的是________。

A. SELECT B. FROM

C. WHERE D. GROUP BY

10. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句ALTER TABLE实现哪类功能_______。

A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制

11. 在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建_______。

A. 另一个表 B. 游标 C. 视图 D. 索引

习题五解答

1.答:

SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体.它除了具有一般关系数据库语言的特点外, 还具有3个特点:①SQL具有自含式和嵌入式两种形式:②SQL具有语言简洁、易学易用的特点③SQL支持三级模式结构。

2.答:

1)CREAT TABLE职工(职工号CHAR(l0)NOT NULL UNIQUE,

姓名CHAR(8)NOT NULL, 年龄SMALLINT, 性别CHAR(2),

CONSTRAINT C1 CHECK(性别 IN(‘男’,‘女’)));

CREAT TABLE社会团体(编号CHAR(8)NOT NULL UNIQUE,

名称CHAR(12)NOT NULL, 负责人 CHAR(8), 活动地点 VARCHAR(50),

CONSTRAINT C2 FOREIGN KEY(负责人)REFERENCES职工(职工号));

CREAT TABLE参加(职工号CHAR(8),

编号CHAR(8), 参加日期 DATE

CONSTRAINT C3 PRIMARY KEY(职工号,编号),

CONSTRAIN C3 FOREIGN KEY (职工号)REFERENCES职工(职工号));

2)CREAT VIEW社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别)

AS SELECT编号,名称,负责人,姓名,性别 FROM社会团体,职工

WHERE社会团体,负责人=职工.职工号;

CREAT VIEW参加人情况(职工号,姓名,社团编号,社团名称,参加日期)

AS SELECT参加.职工号,姓名,社会团体编号,名称,参加日期

FROM职工,社会团体,参加

WHERE职工.职工号=参加.职工号AND参加.编号=社会团体.编号;

3)SELECT职工号,姓名 FROM 职工,社会团体,参加

WHERE职工.职工号=参加.职工号AND参加.编号=社会团体.编号

AND社会团体.名称IN(‘唱歌队’,‘篮球队’)

4)SELECT* FROM 职工

WHERE NOT EXISTS(SELECT*

FROM参加

WHERE参加.职工号=职工.职工号);

5)SELECT* FROM职工

WHERE NOT EXISTS(SELECT*

FROM参加

WHERE NOT EXISTS (SELECT* FROM社会团体

WHERE参加.职工号=职工.职工号AND

参加.编号=社会团体.编号));

6)SELECT职工号 FROM职工

WHERE NOT EXISTS(SELECT*

FROM参加 参加1

WHERE参加1.职工号=‘1001’AND NOT EXISTS

(SELECT*

FROM参加 参加 2

WHERE 参加2.编号=参加1.编号AND

参加2.职工号一职工.职工号));

7)SELECT TCOUNT(职工号) FROM 参加 GROUP BY编号;

8)SELECT社会团体.名称,COUNT(参加.职工号)

FROM社会团体 参加

8)UPDATE 零件 SET颜色=‘蓝色’ WHERE颜色=‘红色’; 9)UPDATE 供应零件 SET供应商代码=‘S3’

WHERE供应商代码=‘S5’ AND工程代码=‘J4’AND零件代码=‘P6’; 10)DELETE

FROM供应零件

WHERE供应商代码=‘S2’; DELETE FROM供应商

WHERE供应商代码=‘S2’ 4.答:

在嵌入方式下 ,SQL语句在嵌入主语言的程序时其前缀加 EXEC SQL ;其结束处用EN D_EXEC或用分号“;”。

5.答:

数据库的工作单元和程序工作单元之间通信的主要方式有:主语言通过主变量向SQL语句提供参数;SQL语旬的当前工作状态和运行环境数据要返馈给应用程序。

6.答:

使用游标解决SQL一次一集合的操作与主语言一次一记录操作的矛盾。游标是系统为用户开设的一个数据缓冲区 存放SQL语句的执行结果。用户可以通过游标逐一获取记录.并将记录赋给主变量.交给主语言做进一步处理。

7.答:B 8.答:C 9.答:A 10.答:C 11.答:C

WHERE 所在城市=‘天津’));

习题六

1. 客户机/服务器体系结构的特点是什么?SQL Server2000客户机/服务器的结构特点是什么?

2. 简述SQL Server2000客户机/服务器的体系结构和软件结构。

3. SQL Server2000的物理数据库有哪些文件构成?逻辑数据库有哪些内容构成?

4. SQL Server2000的数据库中有哪些数据库对象?这些数据库对象在数据库系统中分别起什么作用。

5. 简述SQL Server2000的4个最主要的系统数据库及作用。 6. 简述SQL Server2000的主要管理功能。

7. 简述SQL Server2000提供的主要管理工具及功能。

8. Transact-SQL与标准SQL相比,数据查询语句有什么不同之处?

9. 设要建立学生选课数据库,库中包括学生、课程和选课3个表,其表结构为: 学生(学号,姓名,性别,年龄,所在系); 课程(课程号,课程名,先行课), 选课(学号,课程号,成绩)。 用 Transact-SQL完成下列操作。 l)建立学生选课库。

2)建立学生、课程和选课表。

3)建立各表以主码为索引项的索引。

4)建立学生性别只能为“男”或“女”的规则,性别为“男”的缺省,并将它们绑定在学生表上。

5)建立在对选课表输入或更改数据时,必须服从参照完整性约束的INSERT和UPDATE触发器。

6)建立在删除学生记录时,同时也要把相应的选课记录删除的触发器。 7)查询各系及学生数,最后来出共有多少系和多少学生。 8)将学生表和选课表进行内连接、左外连接和右外连接。

9)列出学生学号、姓名及学习情况。学习情况用好、较好、一般或较差表示。当平均成绩大于85分时,学习情况为好;当平均成绩在70~85分之间,学习情况为较好;当平均成绩在60~70分之间,学习成绩为一般;平均成绩在60分以下的为学习情况较差。

习题六解答

1.答:

客户机/服务器(Client/Server)是分布式数据库与网络技术相结合的产物,C/S系统

可以通过网络连接产品将多台计算机连接为企业内部网,能够与Internet相连并发布网页。

网络中的一台或多台计算机称为服务器(Server),其他的计算机称为客户机(Client)。在C/S系统中,应用程序安装在客户机端,客户机端实现用户界面和前端处理功能;数据库服务器程序安装在服务器端,由服务器实现分布事务的协调和数据访问控制。

SQL Server 2000的客户机/服务器体系是N层结构的,其中N可以是2、3、4或更大值。2层客户机/服务器数据库系统的结构最简单,它包括一个数据库服务器和多个SQL客户机。多层客户机/服务器数据库系统结构可以简单地分为:后端服务器、中间端服务器和客户机,其中,中间端服务器可以是多层的。中间端服务器可以管理一个或多个独立的数据库,每个中间服务器都是一个独立的实体,能够为客户机或前级服务器提供与自己数据库相关的事务服务和数据预处理工作。后端服务器是中间服务器的后台,它能够管理多个中问服务器,并能够提供整个数据库系统的事务管理功能。

2.答:

SQL Server 2000的数据库系统结构采用多层客户/服务器系统结构。其软件结构为客户软件、网络软件和服务器软件。客户软件包括客户应用程序软件、服务器的数据库应用程序、编程接口 API和网络资源库;网络软件包括网络传输协议及网络资源库; SQL服务器软件由网络链接库、开放式数据服务、SQLServer代理服务程序、SQLServer服务器服务以及分布事务管理服务5部分构成。 3.答:

SQL Server的物理数据库由两个或多个物理文件组成,一个物理数据库中至少有一个数 据库数据文件和一个数据库事务日志文件。 逻辑数据库中有表、视图、图表等数据库对象。 4.答:

SQL Server的数据库对象包括表、视图、用户、角色、索引、数据类型、默认值、存储 过程、触发器和约束等。

①表和视图;表,即基本表,它是在数据库中存放的实际关系;视图是为了用户查询 方便或根据数据安全的需要而建立的虚表。 ②用户和角色;用户是数据库系统的合法使用者;角色是由一个或多个用户组成的单元,角色也称职能组。

③素引:索引是用来加速数据访问和保证表的实体完整性的数据库对象。SQL Serve中的索引有群聚和非群聚索引两种:群聚京引会使表的物理顺序与索引顺序一致,一个表只能有一个群聚索引;非群聚索引与表的物理顺序无关,一个表可以建立多个非群聚索引。

④存储过程:存储过程是通过Trantact-SQL编写的程序。存储过程包括系统存储过程和用户存储过程;系统存储过程是由SQL Server提供的,其过程名均以SP开头;用户过程是由用户编写的,它可以自动执行过程中安排的任务。

⑤触发器:触发器是一种特殊类型的存储过程.当表中发生特殊事件时执行。触发器主要用于保证数据的完整性。

⑥约束:约束规则用于加强数据完整性。 5.答:

系统数据库是由 SQL Server内部创建和提供的一组数据库。其中最主要的数据库有 4个。它们分别是Master、Msdb、Model和Tempdb。

① Master数据库:用于记录所有SQL Server系统级别的信息,这些信息用于控制用户数据库和数据操作。

②Msdb数据库:由 Enterprise Manager和Agent使用,记录着任务计划信息、事件处理信息、数据备份及恢复信息、警告及异常信息。

③Model数据库:SQL Server为用户数据库提供的样板,新的用户数据库都以 model数据库为基础。每次创建一个新数据库时,SQL Server先制作一个model数据库的拷贝,然后再将这个拷贝扩展成要求的规模。

④tempdb数据库:一个共享的工作空间,SQL Server中的所有数据库都可以使用它。它为临时表和其他临时工作提供了一个存储区。 6.答:

①SQL服务器的安装、配置和管理:为了使用SQL服务器,必须先对它们进行安装和配置。当系统中有多台SQL服务器时,还需要将它们链接.使它们协同工作。

②服务管理:在SQL客户机安装相应的软件并正确配置它们。

③数据库管理:包括数据库的创建、修改、删除以及备份和恢复等。

④数据库对象的管理:管理数据库中的表、视图、存储过程、触发器、规则、缺省值等。 ⑤数据管理:实现记录的添加、删除和修改以及数据的传递与复制等。 ⑥安全性管理:包括用户管理和权限管理两方面的内容。 ⑦作业管理:包括警报管理、操作员管理和任务管理。

⑧集成操作:SQL Server与电子邮件系统和Web服务器的交互操作。 7.答:

①查询分析器:编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出 来或进行存储。

②导人和导出数据:通过向导实现SQL Serve与任何 OLE DB、ODBC、JDBC或文本文件等多种不同类型的数据库之间实现数据传递。

③服务管理器:用于开启、暂停和停止SQL服务工作,同时.也可以通过它设置服务是否自动启动。

④客户机网络连接工具和服务器网络连接工具:客户机网络连接工具用于设置本机作为服务器或客户机所使用的缺省网络链接库,井可为不支持缺省网络库的 SQL服务器设置连接方式。服务器网络连接工具用于设置本机作为服务器时允许的连接协议,以支持不同配置的客户端。

⑤联机丛书:SQL Server2000为用户提供在线帮助功能。

⑥企业管理器;实现对管理对象的定义、改动、删除等各种操作。

⑦事件探查器:服务器活动跟踪程序,用于监视与分析SQL Server活动、SQL Server服务器的网络进出流量或发出在 SQL S_上的事件。

⑧在IIS中配置SQLXh4L支持:设置井管理IIS虚拟目录。

⑨分析管理器:管理分析服务器;创建数据库和指定数据源;生成并处理多线数据集;创建并处理数据挖掘模型;指定存储选项并优化查询性能.管理安全性.浏览数据源、共享维度、安全角色和其他对象。

⑩英语查询工具:为用户提供了用英语询问,而不是用SQL语句进行数据查询的方式。 8.答:

①新增加INTO、COMPUTE和COMPUTE BY三种子句:INTO子句用于创建一个表,并将查询结果添加到该表中;COMPUTE子句的作用是产生汇总值,并在结果集中后将汇总值放入摘要列,COMPUTE与BY配合,将起到换行控制和分段小计的作用。

②SELECT中增加了[TOP〈数值〉[PERCENT]短语,增加了〈列名或表达式〉[AS]〈列别名〉及〈列别名〉=〈表达式〉的列组表示方法。

③FROM子句中新增加了连接表类型及连接表示,数据源中可以使用嵌套的SELECT语句。

④TSQL用GO表示语句结束,标准SQL用分号‘:’表示结束。 9.答:

l)CREATE DATABASE学生选课库

ON PRIMARY(NANE=学生选课库,

FILENAME=‘C:\msSQL\\data\\学生选课.mdf’, SIZE=4MB,

MAXSIZE=6MB, FILEROWHT=2MB) GO

2)CREAT TABLE学生(学号 CHAR10)PRIMARY KEY CLUSTERED,

姓名CHAR(8), 性别 CHAR(2), 年龄SMALLINT

所在系VARCHAR(50))

GO

CREAT TABLE课程(课程号CHAR(10)PRIMARY KEY CLUSTERED,

课程名VARCHAR(50), 先行课VARCHAR(50))

GO

CREATE TABLE选课(学号 CHAR(10),

课程号VARCHAR(50), 成绩SMALLINT,

CONSTRAINT C1 PRIMARY KEY(学号,课程号),

CONSTRAINT C2 FOREIGN KEY(学号)REFRENCES学生(学号), CONSTRAINT FOREIGN KEY(课程号)REFERENCES课程(课程号))

GO

3)CREATE INDEX student_ind ON学生(学号) GO

REATEI**巨class_ind ON课程(课程号) GO

CREATE INDEX select_ind ON选课(学号,课程号) GO

4)CREAT RULE value_rule AS @VALUE IN(‘男’,‘女’) GO

CREAT DEFAULE性别缺省AS‘男’ GO

EXEC sp_bindrule ‘value_rule’,‘学生.性别’ GO

EXEC Sp_binddefault ‘性别缺省’,‘学生.性别’ GO

5)CREATE TRIGGER sc_insert ON选课 FOR INSERT

AS IF(SELECT COLJNT(*)

FROM 学生,inserted,课程

WHERE学生.学号=inserted.学号AND课程.课程号=inserted.课程号)=0

ROLLBACK TRANSACTION GO

CREATE TRIGGER sc_updat6 ON选课 FOR UPDATE

AS IF(SELECT COUNT(*) FROM 学生,updated,课程

WHERE学生.学号=updated.学号 AND课程.课程号=updated.课程号)=0 ROLLBACK TRANSACTION GO

6)CREATE TRIGGER delete_all ON 学生 FOR DELETE AS DELETE FROM选课

WHERE选课.学号=deleted.学号 GO

7)SELECT所在系,COUNT(学号) FROM学生

GROUP BY学生.所在系

COMPUTE COUNT(DISTINCT(所在系)) COMPUTE COUNT学号)BY所在系 GO

8)SELECT*

FROM学生INNER JOIN课程 GO

SELECT*

FROM学生LEFT OUTER JOIN课程 GO

SELECT*

FROM学生RIGHT OUTER JOIN课程 GO

9)SELECT选课.学号,学生.姓名,

学习情况=CASE

WHEN AVG(成绩)>=85 THEN‘好’

WHEN AVG(成绩)>=75 AND AVG(成绩)< 85 THEN‘较好’

WHEN AVG(成绩)<60 THEN‘较差’ END

FROM学生选课

WHERE学生.学号=选课.学号 GROUP BY选课.学号

GO

习题七

1. 给出下列术语的定义,并加以理解。

函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、候选关键字、主关键字、全关键字、1NF、2NF、3NF、BCNF、多值依赖、4NF、连接依赖、5NF。

2. 现在要建立关于系、学生、班级、学会诸信息的一个关系数据库。语义为:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会有若干学生。

描述学生的属性有:学号、姓名、出生日期、系名、班号、宿舍区; 描述班级的属性有:班号、专业名、系名、人数、入校年份; 描述系的属性有:系名、系号、系办公室地点、人数;

描述学会的属性有:学会名、成立年份、地点、人数、学生参加某会有一个入会年份。 l)请写出关系模式。

2)写出每个关系模式的最小函数依赖集,指出是否存在传递依赖。在函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分函数依赖。

3)指出各个关系模式的候选关键字,外部关键字,以及有没有全关键字。

3. 设关系模式R,函数依赖集F={A→C,C→A, B→AC,D→AC,BD→A}。 1)求出R的候选码。

2)求出F的最小函数依赖集。

3)将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性。

4)设关系模式R,函数依赖集F={AB→E,AC→F,AD→B,B→C,C→D}。

1)证明AB、AC、AD均是候选关键宇。

2)证明主属性C部分依赖于关键字AB,传递依赖于AD。同时证明主属性D部分依赖于关键字AC,传递依赖于关键字AB。

5. 设关系模式R,函数依赖集F={AB→E,BC→D,BE→C,CD→B,CE→AF,CF→BD,C→A,D→EF},求F的最小函数依赖集。 6 判断下面的关系模式是不是BCNF,为什么? 1)任何一个二元关系。

2)关系模式选课(学号,课程号,成绩),函数依赖集F={(学号,课程号)→成绩}。 3)关系模式R(A,B,C,D,E,F),函数依赖集F={A→BC,BC→A,BCD→EF,E→C}。 7. 设关系模式R(A,B,C,D,E,F),函数依赖集F={A→B,C→F,E→A,CE→A},将R分解为P={ABE,CDEF}。判断p是否是无损连接。 8. 设关系模式R{B,O,I,S,Q.D},函数依赖集F={S→D,I→S,IS→Q,B→Q}。 l)找出R的主码。

2)把R分解为BCNF,且具有无损连接性。 9. 在关系模式选课(学号,课程号,成绩)中,“学号→→课程号”正确吗?为什么? 10. 设有关系模式R(A,B,C),数据依赖集F={AB→C,C→→A},R属于第几范式?为什么?

11. 设有关系模式R(A,B,C,D),数据依赖集F={A→B,B→A,AC→D,BC→D, AD→C,BD→C,A→→CD,B→→CD}。 1)求R的主码。

2)R是否为第4范式?为什么? 3)R是否是BCNF?为什么? 4)R是否是3NF?为什么?

12. 下面的结论哪些是正确的?哪些是错误的?对于错误的请给出一个反例说明。 1)任何一个二目关系是属于3NF的。 2)任何一个二目关系是属于BCNF的。 3)任何一个二目关系是属于4NF的。

4)当月仅当函数依赖A→B在R上成立,关系R(A,B,C)等于投影R1(A,B)和R2(A,C)的连接。

5)若R.A→R.B,R.B→R.C,则R.A →R.C 。 6)若R.A→R.B,R.A→R.C,则R.A →R.(B,C)。 7)若R.B→R.A,R.C→R.A,则R.(B,C)→R.A。 8)若R.(B,C)→R.A,则R.B→R.A ,R.C →R.A。 13. 试述查询优化的一般步骤。 14. 试述查询优化的一般准则。

15. 有关系模式A(C,T,H,R,S),其中各属性的含义是:C,课程;T,教员;H,上课时间;R,教室;S,学生。根据语义有如下函数依赖集:F={C→T,(H,R)→C,(H,T)→R,(H,S)→R}。现将关系模式A分解为两个关系模式A1(C,T),A2(H,R,S),则其中A1的规范化程度达到_________。

A. 1NF B. 2NF C. 3NF D. BCNF 16. 有关系模式A(C,T,H,R,S),其中各属性的含义是:C,课程;T,教员;H,上课时间;R,教室;S,学生、。根据语义有如下函数依赖集:F={C→T,(H,R)→C,(H,T)→R,(H,S)→R}。关系模式A的规范化程度最高达到_________。

A. 1NF B. 2NF C. 3NF D. BCNF 17. 有关系模式A(C,T,H,R,S),其中各属性的含义是:C,课程;T,教员;H,上课时间;R,教室;S,学生、。根据语义有如下函数依赖集:F={C→T,(H,R)→C,(H,T)→R,(H.S)→R}。关系模式A的码是_________。

A. C B.(H,R) C.(H,T) D.(H,S) 18. 下面关于函数依赖的叙述中,不正确的是__________。

A. 若X→Y,Y→Z,则X→YZ B. 若XY→Z,则X→Z,Y→Z

C. 若X→Y,Y→Z,则X→Z D. 若X→Y,Y'包含Y,则X—Y' 19. 下面关于函数依赖的叙述中,不正确的是__________。

A. 若X→Y,X→Z,则X→YZ B. 若XY→Z,则X→Z,Y→Z C. 若X→Y,WY→Z,则XW→Z D. 若X→Y,则XZ→YZ

习题七解答

1.答:

①函数依赖:设R〈U〉是属性集U上的关系模式,X、Y是U的子集。若对于R〈U〉的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而Y上的属性值不等,则称X函数确定Y函数,或Y函数依赖于X函数,记作X→Y。例如,在学生(学号,姓名,年龄,年级)表中:学号→姓名,学号→年龄,学号→年级。

②部分函数依赖和完全函数依赖:在R〈U〉中,如果X→Y,并且对于X的任何一个

真子集X’,都有

??Y;若X→Y,但Y,则称Y对X完全函数依赖.记作:X?PF??Y。 不完全函数依赖于X.则称Y对X部分函数依赖.记作.X?例如 在教学关系模式中,学号和课程名为主码。(学号,课程名)→成绩,(学号 课程

??姓名。 名)?③传递函数依赖:在R〈U〉中, 如果X→Y,

, Y→Z,称Z对

传递P??Z。 X传递函数依赖。递函数依赖记作X????例如,在教学模式中,因为存在:学号→系名,系名→系主任;所以也存在;学号??系主任。

④候选关键字,主关键字,全关键字:设R〈A1,A2,?An〉为一关系模式,F为R所满足的一组函数依赖,X为{A1,A2,?An}的子集,如果X满足:l)X→A,A2,?

An∈F。2)不存在X的真子集Y,Y?X,Y →A1,A2,?An∈F则称X是关系模式的码(候选关键字)。在候选关键宇中选择一个为主码(主关键字)。如果关系模式中不存在函数依赖,则全部属性构成码,即为全码(全关键字)。

⑤1NF,2NF,3NF,BCNF:果关系模式R,其所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式;若R∈1NF,且每一个非主属性完全依赖于码,则R∈2NF;关系模式R〈U,F〉中若不存在这样的码X、属性组Y及非主属性使得X→Y、、Y→Z成立,则称R〈U,F〉∈E3NF;系模式R〈U,F〉∈1NF。若X→Y且,X必含有码.则R〈U,F〉∈BCNF。

⑥多值依赖,4NF:设有关系模式R〈U〉,U是属性集,X、Y是U的子集。如果R的任一关系,对于X的一个确定值,都存在Y的一组值与之对应,且Y的这组值又与Z=U-X-Y中的属性值不相关,此时称Y多值依赖于X,或X多值决定Y,记为X→→Y。关系模式R〈U,F〉∈1NF,如果对于R的每个非平凡多值依赖X→→Y,X必含有码,则称 R〈U,F〉∈4NF。

?传递?⑦连接依赖,5NF:设R〈U〉是属性集U上的关系模式X1、X2、X3、?、Xn是U

i?1的子集,并且=U。如果对R=的一切关系均成立,则称R在X1、

X2、?、Xn上具有n目连接依赖,记作:。如果关系模式R中的每一个连接依赖均由R的候选码所隐含,则称R∈5NF。 2.答:

(1)学生(学号,姓名,出生日期,班号);

班级(班级编码,专业名,系号,人数.入校年份); 教学系(系名,系号,办公室地点,人数,宿舍区); 学会(学会名,成立年份,地点,人数); 参加(学号,学会名,入去年份)。 (2)={班级编码→专业名,班级→系号,班级→人数.班级→入校年份};

={学号→姓名,学号→出生日期,学号→班号);

={系号→系名,系号→办公室地点,系号→人数,系号→宿舍区}; ={学会名→成立年份,学会名→地点,学会名→人数}; ={(学号,学会名)→入会年份}。

(3)学生表中,码为学号。班级表中,码为班级编码。教学系表中,码为系号。学会表中,码为学会名。参加表中:码为(学号,学会名);外码为学号,参照属性为学生(学号);外码为学会名,参照属性为学会(学会名)。 3.答:

1)R的候选码为BD。

2)①将F中的函数依赖都分解为右部为单属性的函数依赖。

F={A→C,C→A, B→A,B→C,D→A,D→C,BD→A} ②去掉F中冗余的函数依赖。

i??Xin判断A→C是否冗余。

设:G1={C→A,B→A,B→C,D→A,D→C,BD→A},得:(A)=A ∵C?(A) ∴A→C不冗余

G1?G1?判断C→A是不冗余。

设:G2={A→C,B→A,B→C,D→A,D→C,BD→A},得: (C)=C ∵A?(C) ∴C→A不冗余

G2?G1?判断B→A是否冗余。

设:G3={A→C,C→A,B→C,D→A,D→C,BD→A},得:(B)=BCA ∵A?(B) ∴B→A冗余 判断B→C是否冗余。

设:G4={A→C,C→A, D→A,D→C,BD→A}, 得:(B)=B

G3?G3??G4∵C?(B)G4 ∴B→C不冗余 判断D→A是否冗余。

设:G5={A→C,C→A, B→C,D→C,BD→A}, 得:(D)G5=DCA ∵A?(D)G5 ∴D→A不冗余 判断D→C是否冗余。

设:G6={A→C,C→A, B→C,BD→A}, 得:(D)∵C?(D)??G6???=D

∴D→C不冗余 判断BD→A是否冗余。

G6设:G7={A→C,C→A, B→C,D→C}, 得:(BD) ∴BD→A冗余 F={A→C,C→A,B→C,D→C} ③由于各函数依赖在部都为单属性.故: Fm={A→C,C→A,B→C,D→C}。 3)T={AC,BC,DC,BD} 4. 答:

G7?G7=BDCA

∵A?(BD)?1)∵(AB)?F= ABECDF ABCDEF∈(AB)?F ∴AB为码

∵(AC)F= ABECDF ABCDEF∈(AC)F ∴AC为码 ∵(AD)F= ABECDF ABCDEF∈(AD)F ∴AD为码

??????C 2)∵ B→C ∴AB??部分??C ∵ AD→B,B→C ∴AD????C ∵ C→D ∴AC??部分传递??C ∵ B→C,C→D ∴AB??5.答:

①将F中的函数依赖都分解为右部为单属性的函数依赖。

F={AB→E,BC→D,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A, D→E,D→F}

②去掉F中冗余的函数依赖。 判断AB→E是否冗余。

设:G1={ BC→D,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,

传递 D→E,D→F} 得:(AB)?G1=AB

? ∵ E?(A)G1 ∴AB→E不冗余

判断BC-D是否冗余。

设:G2={ AB→E,BE→C,CD→B ,CE→A,CE→F,CF→B,CF→D,C→A, D→E,D→F} 得:(BC)G2=BCAEFD

∴BC→D冗余

判断BE→C是否冗余。

设:G3={ AB→E,CD→B,CE→A ,CE→F,CF→B,CF→D,C→A,D→E,D→F}

G2? ∵ D∈(BC)?得:(BE)G3=BE

∵ C?(BE)G3 ∴BE→C不冗余 判断CD-B是否冗余。

设:G4={ AB→E,BE→C,CE→A ,CE→F,CF→B,CF→D,C→A,D→E,D→F} 得:(CD)?G4??=CDAEFB

? ∵ B∈(CD)G4 ∴CD→B冗余 判断CE-A是否冗余。

设:G5={ AB→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E,D→F} 得:(CE)?G5=CEFBDA

? ∵ A∈(CE)G5 ∴CE→A冗余 判断CE→F是否冗余。

设:G6={ AB→E,BE→C,CF→B,CF→D,C→A,D→E,D→F} 得:(CE)=CEA

G6?∵ F?(CE)G6 ∴CE→F不冗余 判断CF-B是否冗余。

设:G7={ AB→E,BE→C,CE→F,CF→D,C→A,D→E,D→F} 得:(CF)=CFDEF

G7?? ∴CF→B不冗余

判断CF→D是否冗余。

设:G8={ AB→E,BE→C,CE→F,CF→B,C→A,D→E,D→F}

G7∵ B?(CF)?得:(CF)G8=CFABE

∵ D?(CF) ∴CF→D不冗余

G8??判断C→A是否冗余。

设:G9={ AB→E,BE→C,CE→F,CF→B,CF→D,D→E,D→F} 得:(C)?G9=C

?G9∵ A?(C) ∴C→A不冗余

判断D-E是否冗余。

设:G10={ AB→E,BE→C,CE→F,CF→B,CF→D,C→A,D→F} 得:(D)?G10=DF

?G10 ∴D→E不冗余

判断D-F是否冗余。

设:G11={ AB→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E} 得:(D)?G11∵ E?(D)=DE

?G11 ∴D→F不冗余

∴F={ AB→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E,D→F} 求得.FF=F

?D?FF ?不能以F→D代替CF→D 在决定因素中去掉F。 求得:CF=CA

?D?Cp ?不能以C→D代替CF→D ?不能以CF→D不冗余

?F={ AB→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E,D→F} 6 答:

l)是BCNF。二元关系中或为全码,或为一个单属性码候选码。 2)是BCNF。关系模式中只有一个候选码。 3)不是BCNF、因为模式中存在候选码为AD、BCD和BE。显然C对AD是部分依赖。 7 答:

∵ E?(D)?U1?U2=E U1-U2=AB

U1?U2→U1-U2={E→AB}={E→A,E→B}

U1?U2→U1-U2?F ?该分解具备无损连接。 8 答:

l)R的主码为IBO。

2)F={S→D,I→S,1→Q.B→Q} 令P=BOISQD

①由于R的码为IBO.选择S→D分解。 得出:?={S1,S2}

其中 S1=SD,F1={S→D};

S2=BOISQ,F2={I→S,I→Q,B→Q}。 显然S2不服从BCNF,需要继续分解:

②对S1分解,S2的码为IBO,选择I→S分解。 得出:?={S1,S2,S3} 其中:S3=IS.F3={I→S}

S4=BOIQ.F4={I→Q,B→Q} 显然.S4不服从BCNF,还需要继续分解。

③对S4分解。S4的码为IBO,选择I→Q分解。 得出:?={S1,S3,S5,S6}。 其中 S5=IQ,F5={I→Q}; S6=BIO,F6=?。

④最后的分解为:?={ SD,IS.IQ.BIO }。 9 答:

正确。因为学号能够多值决定课程号。

10 答:

BCNF。由于A多值依赖于动 而C不是码.故不服从4NF。但在函数依赖式中C依赖于码AB.故该模式服从BCNF。 11 答:

l)候选码为AC,BC.AD,BD、可选其中之一为主码。 2)不服从4NF。在多值依赖中 泱定因素中不包含码。 3)不服从BCNF。在函数依赖中决定因素中不包含码。 4)服从3NF。该模式中不存在非主属性。 12 答:

1)正确。 2) 正确。 3) 正确。 4) 正确。 5) 正确。 6) 正确。 7) 正确。

8)不正确。例如(学号 课程号)→成绩,则不存在:学号→成绩,课程号→成绩 13 答:

①把查询转换成语法树表示。

②把语法树转换成标准(优化)形式。 ③选择低层的存取路径。

④生成查询计划 选择代价最小的查询计划。 14 答:

①选择运算尽可能先做。

②在执行连接前对关系适当地预处理 即在连接属性上建立索引和对关系进行排序。

③把投影运算和选择运算同时进行。

④把投影同其前或其后的双目运算结合起来。

⑤把某些选择同在它前面要执行的笛卡儿科结合起来成为一个连接运算。 ③找出公共子表达式。 15 答. D 16 答: B 17 答: D 18 答. B 19 答: B

习题八

1.什么是数据库的安全性?

2.数据库安全性和计算机系统的安全性有什么关系? 3.试述实现数据库安全性控制的常用方法和技术。

4.SQL 语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。

5.今有两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号); 部门(部门号,名称,经理名,地址,电话)。

请田SQL 的GRANT和REVOKE语句(加上视图机制),完成以下授权定义或存取控制功能。

1)用户王明对两个表有SELECT权力。

2)用户李勇对两个表有INSERT和DELETE权力。

3)用户刘星对职工表有SELECT权利,对工资字段具有更新权力。 4)用户张新具有修改这两个表的结构的权力。

5)用户周平具有对两个表的所有权力(读、插、改、删数据),并具有给其他用户授权的权利。

6)用户杨兰具有从每个部门职工中SELECT最高工资,最低工资,平均工资的权力,他不能查看每个人的工资。

6.把习题8.5中1)~6)的每个用户所授予的权力予以撤消。 7.什么是数据库的完整性?

8.数据库的完整性概念与数据库的安全性概念有什么区别和联系? 9.什么是数据库的完整性约束条件?可分为哪几类? 10.DBMS的完整性控制应具有哪些功能?

11.RDBMS在实现参照完整性时需要考虑哪些方面? 12.假设有下面两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码; 部门(部门号,名称,经理名,电话),其中部门号为主码.

用SQL语言定义这两个关系模式.要求在模式中完成以下完整性约束条件的定义: 1)定义每个模式的主码。 2)定义参照完整性。

3)定义职工年龄不得超过60岁。 13.在数据库中为什么要并发控制?

14.并发操作可能会产生哪几类数据不一致?用什么方法能避免这些不一致的情况? 15.什么是封锁?

16.基本的封锁类型有几种?试述它们的含义。 17.如何用封锁机制保证数据的一致性?

18.什么是封锁协议?不同级别的封锁协议的主要区别是什么? 19.不同封锁协议与系统一致性级别的关系是什么? 20.什么是活锁?什么是死锁?

21.试述活锁的产生原因和解决方法。 22.请给出预防死锁的若干方法。

23.请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁? 24.什么样的并发调度是正确的调度? 25.试述两段锁协议的概念。

26.为什么要引进意向锁?意向锁的含义是什么?

27.理解并解释下列术语的含义:封锁、活锁、死锁、排它锁、共享锁、并发事务的调度、可串行化的调度、两段锁协议。

习题八解答

1 答:

数据库的安全性是指保护数据库.以防止不合法的使用数据泄密、更改或破坏。 2 答:

数据库安全性是计算机系统的安全性的一个部分.数据库系统不仅要利用计算机系

统的安全性保证自己系统的安全性.同时还会提供专门的手段和方法,使安全性能更好。例如在用户要求进入计算机系统时.系统首先根据用户输入的用户标识进行身份鉴定,只有合法的用户才准许进入计算机系统:对已进入的用户 ***S还要进行存取控制,只允许用户执行合法操作:操作系统也会提供相应的保护措施;数据最后还可以以密码形式存储到数据库中。

3 答.

①用户标识与鉴别:②存取控制:③自主存取控制方法.④强制存取控制方法:⑤视图机制;③审计.o数据加密。

4 答.

①GRANT(授权)语句

例:GRANT SELECTINSRRT ON学生 TO张勇

WITH GRANT OPTION; ②REVOKE(收回)语句

例:REVOKE INSERT ON学生 FROM张勇; 5 答:

l)GRANT SELECT ON职工,部门 TO王明

WITH GRANT OPTION;

2)GRANT INSERT, DELETE ON职工, 部门 TO李勇

WITH GRANT OPTION;

3) GRANT SELECT,UPDATE(工资)ON职工 TO刘星

WITH GRANT OPTION; 4) GRANT ALTE TABLE TO张新

WITH GRANT OPTION

5)GRANT ALL PRIVILIGES ON职工, 部门 TO周平

WITH GRANT OPTION

6)CREM VIEW部门工资统计(最高工资,最低工资.平均工资) AS SELECTMAX(工资),MIN(工资),AVG(工资) FROM职工

GROUP BY部门号. GRANT SELECT ON部门工资统计 TO杨兰. 6 答:

1)REVOKE SELECT ON职工,部门 FROM王明;

2)REVOKE INSERT,DELETE ON职工, 部门 FROM李勇;

3)REVOKE SELECT,UPDATE(工资)ON职工 FROM刘星

4)REVOKE ALTER TABLE FROM张新

5)REVOKE ALL PRIVILGESON职工,部门 FROM周平

6)REVOKE SELECT ON部门统计 TO杨兰;

7 答:

数据库的完整性是指数据的正确性和相容性。 8 答:

数据库的完整性是指数据的正确性和相容性、数据库的安全性是指保护数据库.以防止不合法的使用造成的数据泄密、更改或破坏。其相同点是两者都是对数据库中的数据进行控制.各自所实现的功能目标不同。

9 答:

数据完整性约束是为了保证进入数据库中的数据的有效性而定义的数据规则、它可以分为以下两类.

①针对不同的对象可以分为表级约束、元塑级约束和属性级约束(也称列约束);表级约束是若干元组间、关系中及关系之间的约束:元组级约束则是元组中的字段组和字段间联系的约束;属性级约束主要是针对列的类型、取值范围、精度、排序等而制定的约束条件。

②针对数据对象的状态可以分为静态约束和动态约束:静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件.它是反映数据库状态稳定时的约束.动态约束是指数据库从一种状态转变为另一种状态时.新、旧值之间所应满足的约束条件.它是反映数据库状态变迁的约束。

10 答;

①定义和存储完整性功能.②检查完整性功能;③控制完整性功能。 11 答:

①外码能够接受空值的问题. ②在被参照关系中删除元组时.采用级联删除、受限删除或置生值删除的方法处理参照关系;

③在参照关系中插入元组时.可以使用受限插入、递归插入两种方法处理参照关系. ④修改关系的主码时 可以采用不允许修改主码、或允许修改关系主码.但必须保证主码的惟一性和非空性方法处理参照关系;

⑤修改被参照关系时,可以采用级联修改、拒绝修改和置空值修改方法处理参照关系。

12 答:

CREATE TABLE职工(职工号 CHAR(5)PRIMARY KEY, 姓名CHAR(8)NOT NULL, 年龄SMALLINT. 职务CHAR(10),

工资DECIMAL(7,2), 部门号CHAR(5)。

CONSTRAINT CI CHECK(年龄 <60). CONSTRAIN C2 FOREIGN KEY(部门号) REFEENCES部门(部门号)); CREAT TABLE部门(部门号CHAR(5)PRIMARY KEY. 名称CHAR(l). 经理名 CHAR(8). 电话 CHAR(8).

CONSTRAINT C3 FOREIGN KEY(经理名) REFERECES职工(姓名)); 13 答;

数据库的井发控制就是为了控制数据库,防止多用户并发使用数据库时造成数据错误和程序运行错误,保证数据的完整性。

14 答.

井发操作可能会产生丢失修改、不可重复读和读“脏”数据的数据不一致问题。用封锁的方法能避免这些不一致的情况。

15 答.

封锁是使事务对它要操作的数据有一定的控制能力。封锁具有三个环节.第一个环节是申请加锁.第二个环节是获得锁;第三个环节是释放锁。

16 答.

基本的封锁类型有两种:排它锁(简称X锁)和共享锁(简称S锁)。

排它锁也称为独占或写锁、一旦事务T对数据对象A加上排它锁.则只允许T读取和修改A.其他任何事务既不能读取和修改A,也不能再对A加任何类型的锁 直到T释放A上的锁为止。

共享锁又称读锁、如果事务T对数据对象A加上共享锁,其他事务只能再对A加S锁,不能加X锁,知道事务T释放A上的S锁为止。

17 答:

封锁机制作为井发控制的重要手段.利用封锁的特性和封锁协议,它在井发操作保证事务的隔离性.用正确的方式调度并发操作.是一个用户事务的执行不受其他事务的干扰.从而避免造成数据的不一致性。

18 答.

在对数据对象加锁时,还需要约定一些规则 这些规则称为封锁协议。

一级封锁协议:是事务T在修改数据之前必须先对其加X锁.直到事务结束才释放。一级封锁协议可有效地防止丢失修改 并能够保证事务T的可恢复性、一级封锁由于没有对数据进行加锁,所以不能保证可重复读和不读“赃”数据。

二级封锁协议;是事务T对要修改的数据必须先加X锁.直到事务结束才释放X锁;要读取的数据必须先加S锁.读完后即可释放S锁。M级封锁协议不但能够防止丢失修改,还可进一步防止读“脏”数据。

三级封锁协议:是事务T在读取数据之前必须先对其加S锁.在要修改数据之前必须先对其加X锁.直到事务结束后才释放所有锁、由于三级封锁协议强调即使事务读完数据A之后也不释放S锁 从而使得别的事务无法更改数据A、三级封锁协议不但防止了丢失修改和不读“脏”数据,而且防止了不可重复的队

19 答:

一级封锁协议可有效地防止丢失修改,并能够保证事务T的可恢复性。一级封锁由于没有对数据进行加锁,所以不能保证可重复读和不读“脏’数据。

二级封锁协议不但能够防止丢失修改.还可进一步防u读“脏”数据。

由于三级封锁协议强调即使事务读完数据A之后也不释放S锁,从而使别的事务无法更改数据A。三级封锁协议不但防止了丢失修改和不读“胜数据.而且防u了不可重复读。

20 答;

在多个事务请求对同一数据封锁时,总是使某一用户等待的情况称为活锁;多事务交错等待的僵持局面称为死锁。

21 答;

活锁是封锁的无序造成的、解决方法是采用先来先服务的方法,即对要求封锁数据的事务排队.使前面的事务先获得数据的封锁权。

22 答:

预防死锁通常有以下两种方法; ①一次封锁法.就是要求每个事务必须一次将所有要使用的数据全部加锁.否则该事务不能继续执行.

②顺序封锁法.是预先对数据对象规定一个封锁顺序.所有事务都按这个顺序实行封锁。

23 答:

检测死锁发生的一种方法是选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁.使其他事务得以继续运行下去。

解除死锁问题有两类方法:一类方法是采用一定措施来预防死锁的发生.另一类方法是允许发生死锁.然后采用一定手段定期诊断系统中有无死锁.若有则解除之。

24 答.

如果一个事务运行过程中没有其他事务同时运行,即没有受到其他事务的干扰,那

么就可以认为该事务的运行结果是正常的,可串行性是井发事务正确性的准则 为了保证并发操作的正确性.DBMS的并发控制机制必须提供一定的手段来保证调度是可串行化的。

25 答:

所谓两段锁协议是指所有事务必须分两个阶段对数据项进行加锁和解锁. ①在对任何数据进行读、写操作之前.首先要申请并获得对该数据的封锁. ②在释放一个封锁之后,事务不再申请并获得对该数据的封锁。

即每个事务分成两个阶段,第一阶段是申请和获得封锁,也称为扩展阶段。在这阶段.事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放到锁.也称为收缩阶段。在这阶段,事务可以释放任何数据项上的任何类型的锁。但是不能再申请任何锁。

26 答:

事务 T要对关系 RI加 X锁时,系统只需检查根结点数据库和关系 RI是否已加了不相容的锁.而不再需要搜索和检查RI中的每一个元组是否加了X锁.对任一元组加锁.必须先对它所在的关系加意向锁。

意向锁的含义是.如果对一个结点加意向锁。则说明该给点的下层结点正在被加销:对任何一结加锁时.必须先对它的上层结点加意向锁。

27 答:

①封锁.封锁是使事务对它要操作的数据有一定的控制能力。 ③活锁:这种在多个事务请求对同一数据封锁时.总是使某一用户等待的情况称为活锁。

③死锁.这种多事务交错等待的僵持局面称为死锁。

④排它锁.排名锁也称为独占或写锁、一旦事务T对数据对象A加上排它锁,则只允许T读取和修改A.其他任何事务既不能读取和修改A.也不能再对A加任何类型的锁.直到T释放A上的锁为止。

⑤共享锁:共享锁又称读锁、如果事务T对数据对象A加上共享锁.其他事务只能再对A加S锁.不能加X锁.知道事务T释放A上的S锁为上。

③井发事务的调度.多个事务并发执行调度策略称为并发事务的调度。

①可串行化的调度:如果多个事务并发执行的结果与按串行执行的结果相同 这种调度策略称为可串行化的调度。

③两段锁协议.所谓两段锁协议是指所有事务必须分两个阶段对数据项进行加锁和解锁。

数据库综合练习一

一、选择题

1.描述事物的符号记录称为________。 A、信息 B、数据 C、记录 D、记录集合

2. ____是长期存储在计算机内的有组织,可共享的数据集合。 A、数据库管理系统 B、数据库系统 C、数据库 D、文件组织 3._____是位于用户与操作系统之间的一层数据管理软件。

A、数据库系统 B、数据库管理系统 C、数据库 D、数据库应用系统 4.数据库系统不仅包括数据库本身,还要包括相应的硬件、软件和_____。 A、数据库管理系统 B、数据库应用系统

C、数据库应用系统; D、各类相关人员

5.在人工管理阶段,数据是_____。 A、有结构的 B、无结构的

C、整体无结构,记录内有结构 D、整体结构化的

6.在数据库系统阶段,数据是_____。

A、有结构的 B、无结构的 C、整体无结构,记录内有结构 D、整体结构化的 7.在文件系统阶段,数据_____

A、无独立性 B、独立性差 C、具有物理独立性 D、具有逻辑独立性 8.数据库系统阶段,数据_____。 A、具有物理独立性,没有逻辑独立性 B、具有物理独立性和逻辑独立性 C、独立性差

D、具有高度的物理独立性和一定程度的逻辑独立性

9.非关系模型中数据结构的基本单位是_____。

A、两个记录型间的联系 B、记录 C、基本层次联系 D、实体间多对多的联系 10.数据的正确、有效和相容称之为数据的_____。 A、安全性 B、一致性 C、独立性 D、完整性

11.在数据模型的三要素中,数据的约束条件规定数据及其联系的_____。 A、动态特性 B、制约和依存规则 C、静态特性 D、数据结构

12._____属于信息世界的模型,实际上是现实世界到机器世界的一个中间层次。 A、数据模型 B、概念模型 C、E-R图 D、关系模型

13.在对层次数据库进行操作时,如果删除双亲结点,则相应的子女结点值也被同时删除。这是由层次模型的_____决定的。

A、数据结构 B、数据操作 C、完整性约束 D、缺陷

14.客户/服务器结构与其它数据库体系结构的根本区别在于_____。 A、数据共享 B、数据分布 C、网络开销小 D、DBMS和应用分开

15.由于进程数目少,内存开销和进程通讯开销小,因此_____是较优的一种。 A、N方案 B、2N方案 C、M+N方案 D、N+1方案 16.数据库系统软件包括_____和_____。

? 数据库 ? DBMS ? OS、DBMS和高级语言 ? DBMS和OS ?数据库应用系统和开发工具 A、(1)和(2) B、(2)和(5) C、(3) D、(4)

17.数据管理技术经历了人工管理,_____和_____。 ? DBMS ? 文件系统 ? 网状系统 ? 数据库系统 ? 关系系统

A、(3)和(5) B、(2)和(3) C、(1)和(4) D、(2)和(4)

18.数据库系统包括_____、_____和_____。 ? 数据库 ? DBMS ? 硬件,

? 数据库、相应的硬件、软件 ? 各类相关人员

A、(1)、(2)和(3) B、(1)、(2)和(5) C、(2)、(3)和(4) D、(2)、(3)和(5) 19.在数据库系统中,我们把满足以下两个条件的基本层次联系的集合称为层次模型:

(1)有一个结点无双亲 (2)其它结点无双亲 (3)有且仅有一个结点无双亲 (4)其它结点有且仅有一个双亲 (5)允许其它结点有多个双亲 A、(1)和(2) B、((3)和(4) C、(3)和(5) D、(2)和(5)

20.在数据库系统中,将满足以下两个条件的基本层次联系集合称为网状模型:?_____,?_____。

(1)允许一个以上的结点无双亲 (2)仅有一个结点无双亲 (3)一个结点可以有多于一个双亲 (4)每个结点仅有一个双亲 (5)每个结点的双亲是唯一的

A、(3)和(4) B、(2)和(3) C、(3)和(4) D、(1)和(3)

21.数据库的完整性是指数据的_____和_____。

(1)正确性 (2)合法性 (3)不被非法存取 (4)相容性 (5)不被恶意破坏 A、(1)和(3) B、(2)和(5) C、(1)和(4) D、(2)和(4)

22.数据库系统的数据独立性是指_____。 A、不会因为数据的变化而影响应用程序

B、不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序 C、(不会因为存储策略的变化而影响存储结构

D、不会因为某些存储结构的变化而影响其他的存储结构

23.当数据库的_____改变了,由数据库管理员对_____映象作相应改变,可以使_____保持不变,从而保证了数据的物理独立性 (1)模式 (2) 存储结构 (3)外模式/模式

(4)用户模式 (5)模式/内模式 A、(3)、(1)、(4) B、(1)、(5)、(3) C、(2)、(5)、(1) D、(1)、(2)、(4) 二、填空题

1.经过处理和加工提炼而用于决策或其他应用活动的数据称为____。 2.数据管理技术经历了①、②、和③三个阶段。 3.数据库系统一般是由①、②、③、④、和⑤组成。 4.数据库是长期存储在计算机内、有①的、可②的数据集合。

5.DBMS是指①它是位于②和③之间的一层管理软件。 6.DBMS管理的是____的数据。

7.数据库管理系统的主要功能有①、②、数据库的运行管理和数据库的建立以及维护等4个方面。

8.数据库管理系统包含的主要程序有①、②、和③。

9.数据库语言包括①和②两大部分,前者负责描述和定义数据库的各种特性,后者用于说明对数据进行的各种操作。 10.指出下列缩写的含义: (1)DML (2)DBMS (3)DDL (4)DBS (5)SQL (6)DB (7)DD (8)DBA (9)SDDL (l0)PDDL

11.数据库系统包括数据库①、②、和③三个方面。

12.开发、管理和使用数据库的人员主要有①、②、③和最终用户四类相关人员。 13.由____负责全面管理和控制数据库系统。 14.数据库系统与文件系统的本质区别在于____。 15.数据独立性是指①与②是相互独立的。 16.数据独立性又可分为①和②。

17.当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数的____。

18.数据模型质量的高低不会影响数据库性能的好坏,这句话正确否?____。 19.根据数据模型的应用目的不同,数据模型分为①和②。 20.数据模型是由①、②、和③三部分组成的。

21.按照数据结构的类型来命名,数据模型分为①、②、和③。

本文来源:https://www.bwwdw.com/article/l88g.html

Top