资源描述
数据库原理及应用基本知识点与习题 目 录第1章数据库系统概述11.1 基本知识点11.2 习题11第2章数据模型42.1 基本知识点42.2 习题24第3章 数据库系统的体系结构73.1 基本知识点73.2 习题37第4章关系数据库方法104.1 基本知识点104.2 习题410第5章 关系数据库的结构化查询语言SQL145.1 基本知识点145.2 习题515第6章 关系模式的规范化理论196.1 基本知识点196.2 习题619第7章 数据库设计227.1 基本知识点227.2 习题722第8章 数据库保护268.1 基本知识点268.2 习题826第9章 Microsoft SQL SERVER 2000299.1 基本知识点299.2 习题929第10章 ASP.NET和ADO.NET数据库开发技术3110.1 基本知识点3110.2 习题1031第11章 分布式数据库系统3211.1 基本知识点3211.2 习题1132第12章数据仓库与数据挖掘3312.1 基本知识点3312.2 习题1233第13章XML数据库3413.1 基本知识点3413.2 习题1334第1章数据库系统概述1.1 基本知识点本章先介绍数据库技术的产生与发展,然后介绍数据库的基本概念和数据库系统的特点。本章的学习重点是数据库的基本概念和基本知识的把握,为后续各章节的学习打下扎实的基础。(1)数据库技术的产生与发展人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库技术阶段等各阶段的特点。(2)数据库系统基本概念DB、DBMS和DBS的定义。(3)数据库系统的特点了解:数据、数据处理技术、数据管理技术的基本概念,数据处理技术发展的三个阶段与数据管理技术发展的三个阶段。理解:冗余度、一致性、共享性、独立性和数据库保护等一系列有关数据库系统的特点。掌握:数据库、数据库系统的有关概念,两者间的联系以及区别。1.2 习题1一、单项选择题1. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是(A)阶段。A. 数据库系统 B. 文件系统 C. 人工管理 D.数据项管理2. 数据库系统与文件系统的主要区别是(B)。 A. 数据库系统复杂,而文件系统简单 B. 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决 C. 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 D. 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量3. 在数据库中存储的是(C)。 A. 数据 B. 数据模型 C. 数据及数据之间的联系 D. 信息4. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指(D)。 A. 同一个应用中的多个程序共享一个数据集合 B. 多个用户、同一种语言共享数据 C. 多个用户共享一个数据文件 D. 多种应用、多种语言、多个用户相互覆盖地使用数据集合5. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是(A )。A. DBS包括DB和DBMS B. DBMS包括DB和DBS C. DB包括DBS和DBMS D. DBS就是DB,也就是DBMS6. 数据库管理系统(DBMS)是(C)。 A. 一个完整的数据库应用系统 B.一组硬件 C. 一组系统软件 D.既有硬件,也有软件7. 数据库是在计算机系统中按照一定的数据模型组织、存储和应用的(B)。 A. 文件的集合 B. 数据的集合 C. 命令的集合 D. 程序的集合8. 支持数据库各种操作的软件系统是(B)。 A. 命令系统 B. 数据库管理系统 C. 数据库系统 D. 操作系统9. 由计算机硬件、DBMS、数据库、应用程序及用户等组成的一个整体叫(B)。 A. 文件系统 B. 数据库系统 C. 软件系统 D. 数据库管理系统10. 数据库系统中应用程序与数据库的接口是(B)。A. 数据库集合 B. 数据库管理系统DBMSC. 操作系统OS D. 计算机中的存储介质11. 在DBS中,DBMS和OS之间关系是(D)。A. 并发运行 B. 相互调用C. OS调用DBMS D. DBMS调用OS12. 在数据库方式下,信息处理中占据中心位置的是(C)。A. 磁盘 B. 程序 C. 数据 D. 内存13. 文件系统与数据库系统对数据处理方式的主要区别体现在(A)。A. 数据集成化 B. 数据共享 C. 冗余度 D. 容量14. DBMS通常可以向下述哪个对象申请所需计算机资源(B)。A. 数据库 B. 操作系统 C. 计算机硬件 D. 应用程序15. 下列哪种数据管理技术难以保存数据(A)。A. 人工管理 B. 独享式文件管理 C. 共享式文件管理 D. 数据库系统管理16. 数据库系统中,DBA表示(C)。A. 应用程序设计者 B. 数据库使用者 C. 数据库管理员 D. 数据库结构17. 数据冗余存在于(C)。A. 文件系统中 B. 数据库系统中 C. 文件系统与数据库系统中 D. 以上说法都不对18. 下列说法不正确的是(B)。A. 数据库减少了数据冗余 B. 数据库避免了一切数据重复C. 数据库中的数据可以共享D. 如果冗余是系统可控制的,则系统可确保更新时的一致性19. (B)是存储在计算机内结构化的数据的集合。 A. 数据库系统 B. 数据库C. 数据库管理系统 D. 数据结构20. 下述各项中,属于数据库系统的特点是(C)。 A. 存储量大 B. 存取速度快C. 数据共享 D. 操作方便二、填空题1. 数据管理技术经历了人工管理 、文件系统 和数据库系统 三个阶段。2. 数据库系统一般由 硬件系统 、数据库 、数据库管理系统及相关软件 、数据库管理员 和用户 组成。3. DBMS是位于应用程序和操作系统 之间的一层管理软件。4. 数据的冗余是指相同的数据重复出现 。5. 数据的共享性可主要体现在多个用户、现在的和将来的、不同语言的和 同时 四个方面。三、简答题1. 简述数据库的定义。1. 答:数据库DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。2. 简述数据库管理系统的定义。2. 答:数据库管理系统DBMS是位于用户与操作系统(OS)之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型等。3. 文件系统中的文件与数据库系统中的文件有何本质上的不同?3. 答:文件系统中的文件是面向应用的,一个文件基本上对应于一个应用程序,文件之间不存在联系,数据冗余大,数据共享性差,数据独立性差;数据库系统中的文件不再面向特定的某个或多个应用,而是面向整个应用系统,文件之间是相互联系的,减少了数据冗余,实现了数据共享,数据独立性高。4. 数据库系统有那些特点?4. 答:实现数据的集中化控制;数据的冗余度小,易扩充;采用一定的数据模型实现数据结构化;避免了数据的不一致性;实现数据共享;提供数据库保护;数据独立性;数据由DBMS统一管理和控制。5. 简述数据独立性、数据物理独立性与数据逻辑独立性。5. 答:数据独立性是指数据库中的数据独立于应用程序,即数据的逻辑结构、存储结构与存取方式的改变不影响应用程序。数据独立性一般分为数据的逻辑独立性和数据的物理独立性。数据逻辑独立性是指数据库总体逻辑结构的改变(如修改数据定义、增加新的数据类型、改变数据间的联系等)不需要修改应用程序。数据物理独立性是指数据的物理结构(存储结构、存取方式等)的改变,如存储设备的更换、物理存储格式和存取方式的改变等不影响数据库的逻辑结构,因而不会引起应用程序的变化。第2章数据模型2.1 基本知识点本章主要讲解概念模型、层次模型、网状模型、关系模型、面向对象模型等数据库系统的数据模型的基本概念和设计方法,为后面的数据库设计打下基础。(1)数据描述概念设计、逻辑设计和物理设计等各阶段中数据描述的术语,概念设计中实体间二元联系的描述(1:1,1:N,M:N)。(2)数据模型数据模型的定义,两类数据模型,逻辑模型的形式定义,ER模型,层次模型、网状模型、关系模型和面向对象模型的数据结构以及联系的实现方式。了解:数据模型的组成,数据模型的发展,一般了解面向对象模型。掌握:层次模型及网状模型的结构以及特点。理解:E-R模型的有关内容,关系模型的结构以及特点。灵活运用:会根据现实世界事物及其联系构造或分析E-R图。2.2 习题2一、单项选择题1. 数据库的概念模型独立于(A)。 A. 具体的机器和DBMS B. E-R图 C. 信息世界 D. 现实世界2. 数据模型是(D)。 A. 文件的集合 B. 记录的集合 C. 数据的集合 D. 记录及其联系的集合3. 层次模型、网状模型和关系模型的划分根据是(D)。 A. 记录长度 B. 文件的大小 C. 联系的复杂程度 D. 数据之间的联系4. 关系数据模型(D)。 A. 只能表示实体间的1:1联系 B. 只能表示实体间的1:n联系 C. 只能表示实体间的m:n联系 D. 可以表示实体间的上述三种联系5. 在数据库技术中,面向对象数据模型是一种(B)。 A. 概念模型 B. 结构模型 C. 物理模型 D. 形象模型6. 关系模型是(C)。 A. 用关系表示实体 B. 用关系表示联系 C. 用关系表示实体及其联系 D. 用关系表示属性7. 对现实世界进行第二层抽象的模型是(C)。A. 概念数据模型 B. 用户数据模型C. 结构数据模型 D. 物理数据模型8. 现实世界“特征”术语,对应于数据世界的(D)。A. 属性 B. 联系 C. 记录 D. 数据项9. 数据库中,实体是指(A)。A. 客观存在的事物 B. 客观存在的属性C. 客观存在的特性 D. 某一具体事件10. 有关三个世界中数据的描述术语,“实体”是(B)。A. 对现实世界数据信息的描述 B. 对信息世界数据信息的描述C. 对计算机世界数据信息的描述 D. 对三个世界间相互联系的描述11. 构造E-R模型的三个基本要素是(D)。A. 实体、属性、属性值 B. 实体、实体集、属性C. 实体、实体集、联系 D. 实体、属性、联系12. 面向对象数据模型中的对象通常包括(C)。A. 类、子类、超类 B. 继承、封装、传递 C. 变量、消息、方法 D. 对象标识、属性、联系13. 当前数据库应用系统的主流数据模型是(C)。A. 层次数据模型 B. 网状数据模型 C. 关系数据模型 D. 面向对象数据模型14. 数据模型的三要素是(D)。A. 外模式、模式、内模式 B.关系模型、层次模型、网状模型C. 实体、联系、属性 D. 数据结构、数据操作、完整性约束15. 关系数据库管理系统与网状系统相比(B)。A. 前者运行效率高 B. 前者的数据模型更为简洁C. 前者比后者产生得早一些D. 前者的数据操作语言是过程性语言16. 下列给出的数据模型中,是概念数据模型的是(D)。A. 层次模型 B. 网状模型 C. 关系模型 D. E-R模型17. 下列关于数据模型中实体间联系的描述正确的是(D)。A. 实体间的联系不能有属性B. 仅在两个实体之间有联系C. 单个实体不能构成E-R图D. 实体间可以存在多种联系18. 在数据库系统中,对数据操作的最小单位是(B)。A. 字节 B. 数据项 C. 记录 D. 字符19. 关系模型的数据结构是(D)。A. 树 B. 图 C. 表 D. 二维表20. 用来指定和区分不同实体元素的是(C)。A. 实体 B. 属性 C. 标识符 D. 关系二、填空题1. 数据模型是由 数据结构 、 数据操作 、 完整性约束 三部分组成。2. 层次数据模型中,只有一个结点无父结点,它被称为根结点。3. 层次模型中,根结点以外的结点至多可有1个父结点。4. 二元实体之间的联系可抽象为三类,它们是 1:1 、 1:n 和 m:n 。5. 层次模型的数据结构是 树结构;网状模型的数据结构是 有向图 结构;关系模型的数据结构是 二维表 结构。三、简答题1. 层次数据模型、网状数据模型以及关系数据模型之间有什么区别?1. 答:层次数据模型是用树形结构来表示各类实体型及实体间联系的数据模型;网状数据模型是用有向图来表示各类实体型及实体间联系的数据模型;关系数据模型是用二维表来表示各类实体型及实体间联系的数据模型。2. 试叙述结构数据模型的三个组成部分。2. 答:结构数据模型应包含数据结构、数据操作和数据完整性约束三个部分。数据结构是指对实体类型和实体间联系的表达和实现;数据操作是指对数据库的检索和更新两类操作的实现;数据完整性约束给出数据及其联系应具有的制约和依赖规则。3. 在层次、网状、关系、面向对象等数据模型中,数据之间联系是如何实现的?3. 答:层次、网状模型中,数据联系通过指针实现的。关系模型中,数据联系通过外键与主键相联系实现的。面向对象模型中,数据联系通过引用类型实现的,引用类型是指引用的不是对象本身,而是对象标识符。4. 关系数据模型有哪些优缺点?4. 答:关系数据模型的优点:(1)关系数据模型是建立在严格的数学理论基础上,有坚实的理论基础。(2)在关系模型中,数据结构简单,数据以及数据间的联系都是用二维表表示。关系数据模型的缺点:存取路径对用户透明,查询效率常常不如非关系数据模型。关系数据模型等传统数据模型还存在不能以自然的方式表示实体集间的联系、语义信息不足、数据类型过少等弱点。5. 试述概念模型的作用。5. 概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流所使用的语言。第3章 数据库系统的体系结构3.1 基本知识点本章主要介绍数据库系统的三级模式结构、DBS组成和全局结构、DBMS工作模式、DBMS系统结构,并给出几种典型结构的DBMS。(1)DB的体系结构三级结构,两级映像,两级数据独立性,体系结构各个层次之间的联系。(2)DBSDBS的组成,DBA,DBS的全局结构,DBS结构的分类。 (3)DBMSDBMS的工作模式、主要功能和模块组成。(4)几种典型结构的DBMS客户服务器(Client/Server)结构、基于Web的数据库系统。了解:DBMS数据存取层的有关知识。掌握:数据库系统三级结构有关概念以及与数据独立性的关系,数据库系统的组成。理解:熟练掌握数据库管理系统的功能及结构,DDL、DML、DCL、Client/Server结构的有关概念。3.2 习题3一、单项选择题1. 数据库中,数据的物理独立性是指(C)。 A. 数据库与数据库管理系统的相互独立 B. 用户程序与DBMS的相互独立 C. 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的 D. 应用程序与数据库中数据的逻辑结构相互独立2. 对于数据库系统,负责定义数据库内容,决定存储结构和存取策略及安全授权等工作的是(C)。 A. 应用程序开发人员 B. 终端用户 C. 数据库管理员 D. 数据库管理系统的软件设计人员3. 数据库管理系统中用于定义和描述数据库逻辑结构的语言称为(A)。 A. 数据描述语言 B. 数据库子语言 C. 数据操纵语言 D. 数据结构语言4. 数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能称为(C)。 A. 数据定义功能 B.数据管理功能 C. 数据操纵功能 D.数据控制功能5. 子模式是(B)。 A. 模式的副本 B. 模式的逻辑子集 C. 多个模式的集合 D. 以上三者6. 一般地,一个数据库系统的外模式(D)。 A. 只能有一个 B. 最多只能有一个 C. 至少两个 D. 可以有多个7. 在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特性的是(D)。 A. 外模式 B. 内模式 C. 存储模式 D. 模式8. 数据库的三级模式之间存在的映象关系正确的是(B)。 A. 外模式内模式 B. 外模式模式 C. 外模式/外模式 D. 模式模式9. 数据库三级视图,反映了三种不同角度看待数据库的观点,用户眼中的数据库称为(D)。A. 存储视图 B. 概念视图 C. 内部视图 D. 外部视图10. 在数据库系统中“模式”是指(B)。A. 数据库的物理存储结构描述 B. 数据库的逻辑结构描述C. 数据库用户的局部逻辑结构描述 D. 内模式、概念模式、外部模式的总称11. 在数据操纵语言(DML)的基本功能中,不包括的是(B)。A. 插入新数据 B. 描述数据库结构C. 更新数据库中的数据 D. 删除数据库中的数据12. 在数据库结构中,保证数据库独立性的关键因素是(D)。A. 数据库的逻辑结构 B. 数据库的逻辑结构、物理结构 C. 数据库的三级结构 D. 数据库的三级结构和两级映射13. 在数据库系统中,“数据独立性”和“数据联系”这两个概念之间的联系是(A)。A. 没有必然的联系 B. 同时成立或不成立 C. 前者蕴涵后者 D. 后者蕴涵前者14. 数据库三级模式中,用逻辑数据模型对用户所用到的那部分数据的描述是(A)。A. 外模式 B. 概念模式 C. 内模式 D. 用户模式15. 在数据库系统中,模式/内模式映象用于解决数据的(A)。A. 物理独立性 B. 结构独立性 C. 逻辑独立性 D. 分布独立性16. 在数据库系统中,外模式/模式映象用于解决数据的(C)。A. 物理独立性 B. 结构独立性 C. 逻辑独立性 D. 分布独立性17. 在数据库中,描述数据库的各级数据结构,称为(D)。A. 数据库模式 B. 数据模型 C. 数据库管理系统 D. 数据字典18. 数据库三级模式体系结构主要的目标是确保数据库的(C)。A. 数据结构规范化 B. 存储模式 C. 数据独立性 D. 最小冗余19. 数据的存储结构与数据逻辑结构之间的独立性称为数据的(A )。A. 物理独立性 B. 结构独立性 C. 逻辑独立性 D. 分布独立性20. 数据的逻辑结构与用户视图之间的独立性称为数据的(C)。A. 物理独立性 B. 结构独立性 C. 逻辑独立性 D. 分布独立性二、填空题1. 数据库管理系统的主要功能有数据定义、数据库操纵功能、数据库的运行管理以及数据库的建立和维护等四个方面。2. 数据库语言包括 数据描述语言 、 数据操纵语言 两大部分,前者负责描述和定义数据库的各种特性,后者说明对数据进行的各种操作。3. 数据独立性又可分为 逻辑数据独立性 和 物理数据独立性 。4. 数据库体系结构按照外模式 模式和内模式 结构进行组织。5. 数据库模式体系结构中提供了两个映象功能,即外模式模式 和 式内模式映象。三、简答题1. 数据库系统如何实现数据独立性?数据独立性可带来什么好处?答:数据独立性是由DBMS的二级映象功能来实现的。数据库系统通常采用外模式、模式和内模式三级结构,数据库管理系统在这三级模式之间提供了外模式膜式和模式内模式两层映象。当整个系统要求改变模式时(增加记录类型、增加数据项),由DBMS对各个外模式模式的映象作相应改变,使无关的外模式保持不变,而应用程序是依据数据库的外模式编写的,所以应用程序不必修改,从而保证了数据的逻辑独立性。当数据的存储结构改变时,由DBMS对模式内模式映象作相应改变,可以使模式不变,从而应用程序也不必改变,保证了数据的物理独立性。数据独立性的好处是:(1)减轻了应用程序的维护工作量;(2)对同一数据库的逻辑模式,可以建立不同的用户模式,从而提高数据共享性,使数据库系统有较好的可扩充性,给DBA维护、改变数据库的物理存储提供了方便。2. 简述数据库管理系统的功能。答:数据库管理系统(DBMS)是位于操作系统与用户之间的一个数据管理软件,它的主要功能包括以下几个方面:(1)数据库定义功能;(2)数据库操纵功能;(3)数据库的运行管理;(4)数据库的建立和维护功能。3. 简述DBA的职责。答:DBA的职责是:(1)参与数据库系统的设计与建立;(2)对系统的运行实行监控;(3)定义数据的安全性要求和完整性约束条件;(4)负责数据库性能的改进和数据库的重组及重构工作。4. 使用DBS的用户有哪几类?答:可分为以下几类:(1)DBA:控制数据整体结构的人员;(2)最终用户:使用应用程序的非计算机人员;(3)应用程序员:使用DML语言编写应用程序的计算机工作者;(4)专业用户。5. 从模块结构看,DBMS由哪些部分组成?答:从模块结构看,DBMS是查询处理器和存储管理器两大部分组成。(1)查询处理器有四个主要成分:DDL编译器、DML编译器,嵌入式 DML预编译器,查询运行核心程序。(2)存储管理器有四个主要成分:授权和完整性管理器、事务管理器、文件管理器、缓冲区管理器。第4章关系数据库方法4.1 基本知识点本章主要介绍关系数据数据库的基本概念,关系运算和关系表达式的优化问题,其中关系运算和关系表达式的优化问题是本课程的重点内容之一。关系运算是关系数据模型的理论基础。(1)基本概念关系形式定义,关键码(主键和外键),三类完整性规则,关系模式、关系子模式和存储模式。(2)关系代数五个基本操作及其组合操作。(3)关系演算元组关系演算和域关系演算的原子公式、公式的定义。(4)关系代数表达式的优化关系代数表达式的等价及等价转换规则,启化式优化算法。了解:关系数据语言的有关知识,关系系统的查询优化有关知识。掌握:关系数据库的基本概念。理解:关系代数的各种运算以及关系演算。灵活运用:根据E-R模型构造关系数据库模式;综合运用关系代数和关系演算以描述复杂数据查询。4.2 习题4一、单项选择题1. 关系模式的任何属性(A)。 A. 不可再分 B. 可再分 C. 命名在该关系模式中可以不唯一 D. 以上都不是2. 关系数据库中的码是指(D)。 A. 能唯一决定关系的字段 B. 不可改动的专用保留字 C. 关键的很重要的字段 D. 能唯一标识元组的属性或属性集合3. 关系模式的完整性规则,一个关系中的“主码”(C)。 A. 不能有两个 B. 不能成为另一个关系的外码 C. 不允许为空 D. 可以取值4. 关系数据库中能唯一识别元组的那个属性称为(D)。 A. 唯一性的属性 B. 不可改动的保留字段 C. 关系元组的唯一性 D. 关键字段5. 在关系R(R#, RN, S#)和 S(S#,SN, SD)中,R的主码是R#, S的主码是S#,则S#在R中称为(A)。 A. 外码 B. 候选码 C. 主码 D. 超码6. 关系模型中,一个码是(C)。 A. 可由多个任意属性组成 B. 至多由一个属性组成 C. 可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成 D. 以上都不是7. 同一个关系模型的任意两个元组值(A)。 A. 不能全同 B. 可全同 C. 必须全同 D. 以上都不是8. 自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的(D)。 A. 元组 B. 行 C. 记录 D. 属性9. 取出关系中的某些列,并消去重复元组的关系代数运算称为(B)。 A. 取列运算 B. 投影运算 C.连接运算 D. 选择运算10. 下面的两个关系中,职工号和设备号分别为职工关系和设备关系的关键字:职工(职工号,职工名,部门号,职务,工资)设备(设备号,职工号,设备名,数量)两个关系的属性中,存在一个外关键字为(C)。A. 职工关系的“职工号” B. 职工关系的“设备号”C. 设备关系的“职工号” D. 设备关系的“设备号”11. 下列哪些运算是关系代数的基本运算(D)。 A. 交、并、差 B. 投影、选取、除、联结C. 联结、自然联结、笛卡尔乘积 D. 投影、选取、笛卡尔乘积、差运算12. 下面关于关系性质的叙述中,不正确的是(D)。A. 关系中元组的次序不重要 B. 关系中列的次序不重要C. 关系中元组不可以重复 D. 关系不可以为空关系13. 候选码中的属性可以有(C)。 A. 0个 B. 1个 C. 1个或多个 D. 多个14. 候选码中的属性称为(B)。A. 非主属性 B. 主属性 C. 复合属性 D. 关键属性15. 关系数据模型(D)。 A. 只能表示实体间的1:1联系 B. 只能表示实体间的1:n联系 C. 只能表示实体间的m:n联系 D. 可以表示实体间的上述三种联系16. 下列关系代数操作中,哪些运算要求两个运算对象其属性结构完全相同(A)。A. 并、交、差 B. 笛卡尔乘积、连接 C. 自然连接、除法 D. 投影、选择17. 根据参照完整性规则,若属性F是关系S的主属性,同时又是关系R的外关键字,则关系R中F的值(C)。A. 必须取空值 B. 必须取非空值 C. 可以取空值 D. 以上说法都不对18. 下列哪个是单目运算(C)。A. 差 B. 并 C. 投影 D. 除法19. 设关系R是M元关系,关系S是N元关系,则RS为(D)元关系。A. M B. N C. MN D. M+N20. 设关系R有r个元组,关系S有s个元组,则RS有(B)元个元组。A. r B. rs C. s D. r+s二、填空题1. 关系操作的特点是 集合 操作。2. 关系模型的完整性规则包括实体完整性、实体完整性 和 户定义的完整性规则。3. 连接运算是由笛卡尔积和选择操作组合而成的。4. 自然连接运算是由笛卡尔积、选择和 投影 操作组合而成的。5. 交运算是扩充运算,可以用差运算推导出。6. 关系数据库中可命名的最小数据单位是 属性名 。7. 关系代数运算中,基本的运算是并、差、笛卡尔积、选择、投影.8. 关系数据库中基于数学的两类运算是关系代数和关系演算。9. 己知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是系编号,学生关系的主码是学号,外码是系编号 。10. 关系代数中,从关系中取出所需属性组成新关系的操作称为 投影 。三、简答题1. 为什么关系中的元组没有先后顺序? 答:由于关系定义为元组的集合,而集合中的元素是没有顺序的,因此关系中的元组也就没有先后顺序(对用户而言)。这样既能减少逻辑排序,又便于在关系数据库中引进集合论的理论。2. 为什么关系中不允许有重复元组?答:每个关系模式都有一个主键,在关系中主键值是不允许重复的,否则起不了惟一标识作用。如果关系中有重复元组,那么其主键值肯定相等,因此关系中不允许有重复元组。3. 关系与普通表格、文件有什么区别?答:与表格、文件相比,关系有下列3个不同点:(1)关系中属性值是原子的,不可分解。(2)关系中没有重复元组。(3)关系中属性的顺序没有列序。(4)关系中元组的顺序是无关紧要的。4. 笛卡尔积、等值连接、自然连接三者之间有什么区别?答:连接是由笛卡尔积和选择操作组合而成的,而等值连接是为等号“”的连接;一般自然连接使用在两个关系有公共属性的情况下,如果两个关系没有公共属性,那么其自然连接就转化为笛卡尔积操作。5. 关系代数的自然连接操作和半连接操作之间有些什么联系?答:自然连接和半连接之间的联系可用下面两点来表示:(1)半连接是用自然连接操作来定义的:RS=R(RS);(2)连接操作用半连接方法来求的:RS=(RS)S。四、应用题RABCabcbaecbd1. 设有如图所示的关系R和S,计算:SABCbaecad (1)Rl=R-S (2)R2=RS (3)R3=RS (4)R4=RS答:本题各小题的结果如图所示。R1RSABCabccbdR2RSABCabcbaecbdcadR3=RSABCbaeR4=RSR.AR.BR.CS.AS.BS.CabcbaeabccadbaebaebaecadcbdbaecbdcadSABCa2b2c1a2b2c2a3b3c3RABCa1b1c1a2b2c1a2b2c22. 设有如图所示的关系R和S,计算: (1)Rl=R-S (2)R2=RS (3)R3=RS(4)R4=A,B(B=b1 (R) 答:本题各小题的结果如图所示。R1RSABCa1b1c1R2RSABCa1b1c1a2b2c1a2b2c2a3b3c3R3=RSABCa2b2c1a2b2c2R4=A,B(B=b1 (R)ABa1b13. 设有如图所示的关系R、S和T,计算:TBCbbccbdSABdabadcRABabbecc (1)R1=R-S (2)R2= RT (3)R3=A(R) (4)R4=A=C(RT)答:本题各小题的结果如图所示。R1RSABabbeccR2ABCabbabdcccR3AabcR4AR.BT.BCbebbccccRABC367257723443SABC3457234. 设有如图所示的关系R和S,计算: (1)R1=RS (2)R2=RS (3)R3=RS (4)R4=3,2(S)答:本题各小题的结果如图所示R1=RS ABC367257723443345R2=RSABC723R3=RS R.AR.BR.CS.AS.BS.C367345367723257345257723723345723723443345443723R4=3,2(S)CB54325. 设有三个关系:S(S#,SNAME,AGE,SEX) C(C#,CNAME,TEACHER) SC(S#,C#,GRADE)试用关系代数表达式表示下列查询语句: (1)检索“陈军”老师所授课程的课程号(C#)和课程名(CNAME)。 (2)检索年龄大于21的男学生学号(S#)和姓名(SNAME )。 (3)检索至少选修“陈军”老师所授全部课程的学生姓名(SNAME) (4)检索“李强”同学不学课程的课程号(C#)。(5)检索至少选修两门课程的学生学号(S#)。(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。(7)检索选修课程包含“陈军”老师所授课程之一的学生学号(S#)。(8)检索选修课程号为k1和k5的学生学号(S#)。 (9)检索选修全部课程的学生姓名(SNAME)。 (10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。 (11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。解:各个查询操作对应的关系代数表达式表示如下: (1)C#,CNAME(TEACHER=陈军(C) (2)S#,SNAME(AGE21SEX=男(S) (3)SNAME(S(S#,C#(SC)C#(TEACHER=陈军(C) (4)C#(C)C#(SNAME=李强(S) SC) (5)S# (1=425(SCSC)(6)C#,CNAME(C(S#,C#(SC)S#(S)) (7)S#(SCC#(TEACHER=陈军(C) (8)S#, C# (SC)C#(C#=k1 C#=k5(C) (9)SNAME(S (S#,C#(SC)C#(C) (10)S#,C# (SC)C#(S#=2(SC) (11)S#,SNAME (S (S#(SC (CNAME=C语言(C)6. 己知一个关系数据库的模式如下: S(SNO,SNAME,SCITY) P(PNO,PNAME,COLOR,WEIGHT) J(JNO,JNAME,JCITY) SPJ(SNO,PNO,JNO,QTY)其中:S表示供应商,它的各属性依次为供应商号、供应商名和供应商所在城市;P表示零件,它的各属性依次为零件号、零件名、零件颜色和零件重量;J表示工程,它的各属性依次为工程号、工程名和工程所在城市;SPJ表示供货关系,它的各属性依次为供应商号、零件号、工程号和供货数量。用关系代数表达式表示下面的查询要求:(1)求供应工程J1零件的供应商代码SNO。(2)求供应工程J1零件P1的供应商代码SNO。(3)求供应工程J1零件为红色的供应商代码SNO。(4)求没有使用北京供应商生产的红色零件的工程项目代码JNO。 解:各个查询操作对应的关系代数表达式表示如下:(1)SNO(JNO=J1(SPJ) (2)SNO(JNO=J1SNO=P1(SPJ) (3)SNO(JNO=J1 COLOR=红(SPJP) (4)JNO(J)JNO(SCITY=北京 COLOR=红(SSPJP)第5章 关系数据库的结构化查询语言SQL 5.1 基本知识点本章介绍关系数据库标准语言SQL。主要内容包括:数据定义、数据操纵、数据控制和数据约束等。(1)SQL数据库的体系结构,SQL的组成。(2)SQL的数据定义:SQL模式、基本表和索引的创建和撤销。(3)SQL的数据更新:插入、删除和修改语句。(4)SQL的数据查询SELECT语句的句法,SELECT语句的几种形式及各种限定,基本表的联接操作。(5)视图的创建和撤消,对视图更新操作的限制。(6)嵌入式SQL了解:SQL语言的基本概念,基本表的定义、修改和删除,嵌入式SQL的有关概念。掌握:数据更新及视图的基本操作。灵活运用:数据查询、聚集的SQL语句表示。重要内容分析:SELECT语句是SQL的核心内容,对于该语句应掌握下列内容。(1)SELECT语句的来历 在关系代数中最常用的式子是下列表达式: A1, ,An(F(R1Rm)针对上述表达式,SQL为此设计了SELECT-FROM-WHERE句型:SELECT A1,AnFROM R1,RmWHERE F;(2)SELECT语句的语义有三种情况,下面以学生表S(SNO,SNAME,AGE,SEX)为例说明。第一种情况:SELECT语句中未使用分组子句,也未使用聚合操作,那么SELECT子句的语义是对查询的结果执行投影操作。譬如:SELECT SNO,SNAMEFROM SWHERE SEX=M;第二种情况:SELECT语句中未使用分组子句,但在SELECT子句中使用了聚合操作,此时SELECT子句的语义是对查询结果执行聚合操作。譬如:SELECT COUNT(*),AVG(AGE)FROM SWHERE SEX=M; 该语句是求男同学的人数和平均年龄。 第三种情况:SELECT语句使用了分组子句和聚合操作,此时SELECT子句的语义是对查询结果的每一分组去做聚合操作。譬如:SELECT AGE,COUNT(*)FROM SWHERE SEX=M GROUP BY AGE;该语句是求男同学每一年龄的人数。(3)SELECT语句中使用分组子句的先决条件是要有聚合操作。但执行聚合操作不一定要用分组子句。譬如求M同学的人数,此时聚合值只有一个,因此不必分组。 但同一个聚合操作的值有多个时,必须使用分组子句。譬如求每一年龄的学生人数。此时聚合值有多个,与年龄有关,因此必须分组。 5.2 习题5一、单项选择题1. SQL语言是(B)。A. 高级语言 B. 结构化查询语言C. 编程语言 D. 宿主语言2. SQL中用于删除基本表的命令是(D)。A. DELETE B. UPDATE C. ZAP D. DROP3. 采用SQL查询语言对关系进行查询操作,若要求查询结果中不能出现重复元组,可在SELECT子句后增加保留字(A)。A. DISTINCT B. UNIQUE C. NOT NULL D. SINGLE4. 下面关于SQL语言的叙述中,哪一条是错误的(C)。A. SQL既可作为联机交互环境中的查询语言又可嵌入宿主语言中B. 使用SQL用户只能定义索引而不能引用索引 C. SQL没有数据控制功能D. 使用SQL用户可以定义和检索视图5. SQL语言引入了视图的概念,下述说法正确的是(C)。A. 视图是由若干数据表组成的,独立存储在数据库中B. 视图的存在提高了并发程度C. 视图与基本表的最大区别在于它是逻辑定义的虚表D. 视图简化用户观点,但不提高查询效率6. 在学生关系中,用SQL语句列出所有计算机系的学生姓名,应该对学生
展开阅读全文