1、习题 1 1、试述数据、数据库、数据库管理系统、数据库系统的概念。 1)数据是描述客观事物的一组符号集合,是计算机可以识别和处理的符号集。 2)数据库( Database, DB)是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据能反映出数据之间的联系。 3)数据库管理系统( Database Management System, DBMS), 是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。 4)数据库系统( Database system, DBS)是指在计算机系统中引入数据库后的系统,一般由数
2、据库、数据库管理系统 DBMS 及其开发工具、应用系统和用户构成。核心是 DBMS。 2、使用数据库系统有什么好处? 1)将大量的数据有组织的存储在数据库中,实现数据的共享、减少了数据的冗余性和提高了数据的独立性。 2)数据库系统的核心是数据库管理系统,它主要负责对数据库的管理和维护工作。通过DBMS,用户可以逻辑、抽象地处理数据,不用关心数据在计算机中的具体存储方式,以及计算机处理数据的过程细节。一切具体而繁琐的工作由 DBMS 完成。 3)数据库应用程序一般具有友好的用户界面,便于用户实现自己的需求。 4)数据库管理员是数据库系统中的重要人员,专门负责数据库的建立、配置、管理和维护工作。
3、3、试述文件系统和数据库系统之间的区别和联系。 在文件系统阶段,利用“按文件名访问,按记录进行存取”的管理技术,对文件中的数据进行修改、插入和删除操作。应用程序和数据之间有了一定的独立性,但是 文件系统中,文件仍然是面向应用的。因此数据的冗余度大,浪费存储空间,而且容易造成数据的不一致性,给数据的修改和维护带来困难。另外,数据独立性差,文件之间是 孤立的,系统不容易扩充。 在数据库系统中,所有相关的数据都存储在一个称为数据库的集合中,它们作为一个整体定义。由于数据是统一管理的,因此可以从全局出发,合理组织数据,避免了数据冗余。另外,在数据库中,程序与数据相互独立,数据通过 DBMS 而不是应用
4、程序来操作和管理,应用程序不再处理文件和记录的格式。 4、试述数据库系统的特点。 1)数据实现集中管理 数据库中的数据是按照一定的结构存储在一起的,数据之间存在一定的联系。 2)实现数据共享 数据库中的数据可被多个不同的用户共享,可以并发地存取数据。多个用户可以用 各种方式通过接口使用数据库,实现数据共享。 3)减少数据的冗余度 数据库中的数据面向多个应用,可以被多个用户、多个应用程序共享和使用,大大降低了数据的重复存储,减小了数据的冗余。 4)数据独立性高 数据独立性是指应用程序不会因数据的物理表示方式和访问技术的变化而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术。 5、数据库管
5、理系统的主要功能有哪些? 1)数据定义功能 借助 DBMS 提供的数据定义语言( Data Definition Language ,DDL)来对数据库中的数据对象进行定义。 2)数据组织、存储和管理 数据存储和组织的基本目标是提高存储空间利用率和方便存取,提供多种存取方法提高存取效率。 3)数据操纵功能 借助 DBMS 提供的数据操纵语言 (Data Manipulation Language, DML) 来完成用户对数据库提出的各种要求,实现数据的查询、插入、删除和修改等操作。 4)数据库的事务管理和运行管理 为了保证数据能安全、可靠的运行,数据库提供了事务管理功能。数据库在建立、运行和维
6、护时由 DBMS 统一管理和控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统 恢复。 5)数据库的建立和维护功能 包括 数据库初始数据装载转换、数据库转储、介质故障恢复、数据库的重组织、性能监视分析等。为了提高处理的效率,数据库管理系统提供了多种维护工具软件。 6)其他功能。 DBMS 的 其他功能包括: DBMS 与网络中其它软件系统的通信、两个 DBMS 系统的数据转换、异构数据库之间的互访和互操作等等。 6、试述数据库系统中两级映像结构的特点及功能。 1)外模式模式映像 模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意
7、多个外模式。对于每一个外模 式,数据库系统都有一个外模式模式映像,它定义了该外模式与模式之间的对应关系,即如何从外模式找到其对应的模式。这些映像定义通常包含在各自外模式的描述中。 当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式 /模式的映像作相应的修改,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性 。 2)模式内模式映像 数据库中只有一个模式,也只有一个内模式,所以模式内模式映像是唯一的,它定义了数据全局 逻辑结构与存储结构之间的对应关系,即说明逻辑记录和字段在内部
8、是如何表示的。该映像定义通常包含在模式描述中。 当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式 /内模式映像作相应的改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。 7、试述数据库系统的三级模式结构,这种结构的优点是什么? 1)概念模式( Schema),也称逻辑模式或模式,是 数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。概念模式表示数据库中全部信息 ,它是 数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应 用程序、开发工具及高级程序设计语言无关。一个数据库只有
9、一个模式。 DBMS 提供模式描述语言 (模式 DDL)来严格地定义模式。 2)外模式( External Schema), 也称子模式或用户模式,它是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同的用户需求的数据视图。它是数据库整体数据结构的子集或局部重构。 外模式通常是模式的子集。一个数据库可以有多个外模式。 DBMS 提供子模式描述语言(子模式 DDL)来严格地定义子模式。 3)内模式( Internal Schema),也称存储模式,是 数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。 一个数据库只有一个内模式。 DBMS 提供内模式描述语言 (内模式 DDL
10、 或存储模式 DDL)来严格定义内模式。 8、什么是数据与程序的物理独立性?什么是数据与程序的逻辑独立性?为什么数据库具有数据与程序的独立性? 数据独立性是指应用程序不会因数据的物理表示方式和访问技术的变化而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术。它包括两个方面:物理独立性和逻辑独立 性。 物理独立性是 指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表示现实世界的信息内容发生变化时,不影响应用程序的特性。 数据独立性是由数据库管理系统的两级映像功能来保证的。 9、试述数据库系统的组成。 1)数据库:是数据库系统的处理对象,是以一定的组织方式存储
11、在一起的、大量的、有组织的、能够被多个用户共享的数据的集合。 2)数据库管理系统:是数据库系统的核心。主要负责对数据库的管理和维护工作。用户不用关心数据在计算机中的具体存储方式,以及计算机处理数据的过程细节。一切具体而繁琐的工作由 DBMS 完成。 3)应用系统:介于用户和数据库管理系统之间,是计算机人员开发的面向最终用户的软件,它是在 DBMS 基础上实现的。数据库应用程序一般具有友好的用户界面,便于用户实现自己的需求。 4)用户:包括数据库的开发、管理和使用者。 10、 DBA 的职责是什么? 数据库管理员是数据库系统中的重要人员,他是专门负责数据库的建立、配置、管理和维护工作的人员。主要
12、职责体现在建库、用库和改进三个方面。他负责决定数据中的信息的内容和结构,决定数据库的存储结构和存取策略,同时,他要确定各个用户对数据库的存取权 限、数据的保密级别和完整性约束条件,保证数据库的安全性和完整性。并且, DBA 还要监视数据库系统的运行情况,及时处理运行过程中出现的问题,进行数据库的备份、恢复和改进等工作。 习题 2 1、试述概念模型的作用。 概念层数据模型,也称 为概念模型或信息模型 ,它是从数据的应用语义角度来抽取模型,并按照用户的观点来对数据和信息进行建模,这类模型主要用于数据库设计阶段,它与具体的数据库管理系统无关。 概念模型一方面应该具有较强的语义表达能力,能够方便、直接
13、地表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解,它是用户和设计人员交流的工具。 2、解释“三个世界”之间的联系。 从客观世界、信息世界到数据世界是一个认识的过程,也是抽象和映射的过程。 在计算机数据库中存储的数据,是经过两级抽象而来的,并且反映的是现实世界的有关信息。现实世界的复杂事物经过两级抽象的结果就是数据模型。而抽象的过程是先将现实世界抽象为信息世界的实体模型,然后再将实体模型经过二级抽象得到数据库系统支持的数据模型。 3、定义并解释下列术语。 1)实体 客观存在并可相互区别的事物称为实体 ( Entity) 。实体可以是具体的人、事、物,也可以是抽象的概念或联系。
14、 2)实体型 具有相同特征的实体称为实体型 ( Entity Type) 。 3)实体集 同属于一个实体型的实体的集合称为实体集 ( Entity Set) 。 4)属性 属性 ( Attribute) 就是描述实体的特性或性质的数据。 5)码 能够唯一标识一个实体的属性或属性集称为码 ( Key) 。如果码是由几个属性构成的,则其中不能有多余的属性。即必须是几个属性全部给出才能唯一标识一个实体。码是区别实体集中不同实体的关键属性,也称为关键字或键。 6)实体 -联系图:采用图形的形式描述实体 -联系模型称为实体 -联系图。 4、学校中有若干个系,每个系有若干个班级和教研室,每个教研室有若干个
15、教员,其中教授和副教授各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课程由若干学生选修。试用 E-R 图画出此学校的概念模型。 给出主要实体(系、班级、教研室、学生、教员、课程)的 E-R 图 系课 程学 生班 级教 员教 研 室系 编 号 系 名 称 系 主 任班 主 任班 级 名班 级 编 号教 研 室 编 号教 研 室 名 称教 研 室 主 任职 工 号姓 名职 称课 程 号 学 分课 程 名姓 名学 号性 别包含具有拥 有 包 括教授选课1n1n1n1nmnmn成绩5、某工厂生产若干产品,每种产品由不同的零件组成,每种零件可用在不同的产品上。这些零件由不同的原材料制成,不
16、同的零件使用的材料可能相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用 E-R 图画出此工厂产品、零件、材料、仓库的概念模型。 产 品仓 库零 件材 料产 品 编 号 产 品 名 称 售 价价 格零 件 名零 件 编 号材 料 编 号材 料 名 称型 号仓 库 号管 理 员仓 库 地 址包含组 成放 置存放mnmn1nnn6、试述网状、层次模型的特点。 1)层次模型 优点: 层次数据模型简单清晰。 易于表示诸如“家族关系”、“行政结构”等现实世界层次 结构的事物及联系。 对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型,其查询效率优于关系模型,不低于
17、网状模型。 缺点 只能表达 1: n 联系,若要表达多对多的关系,需要引入冗余数据,从而易产生数据的不一致性,或者通过引入虚拟结点来创建非自然的数据组织来解决。 对数据的插入、删除和更新操作的限制较多。 查询子女结点必须通过父结点,缺乏快速定位机制。 2)网状模型 优点 网状数据模型 能够更为直接地描述现实世界,具有良好的性能,存取效率高。 缺点 其结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。 7、试述关系模型的概念,定义并解释下列术语。 1)关系
18、( Relation): 一个关系对应通常说的一张表。 2) 域( Domain): 属性的取值范围。 3) 元组( Tuple):表中的一行即为一个元组。表 2-1 中的每一行称为一个元组。 4)分量: 元组中的一个属性值。 5) 关系模式:指对一个关系的结构描述,即关系模式中要指出元组集合的结构。 一般表示为:关系名(属性 1,属性 2, ,属性 n)。 8、试述关系数模型的特点。 1)关系模型的基本理论分别为“关系运算理论”和“关系模式设计理论”,它们均建立在严格数学理论的基础之上,从而使得基于关系模型数据库技术的发展与深化具有广阔的天地与坚实的支撑。 2)关系模型的概念清晰单一,实体,
19、实体间的联系以及数据查询的最终结果都用关系表示,数据结构简洁明晰,用户易懂易学。 3)关系模型的存取路径对用户透明,从而 具有更高的数据独立性,更好的安全 保密性。 当然,关系数据模型也有缺点。其中主要的缺点是:由于存取路径对用户透明,查询效率往往很低。为了提高性能, DBMS 必须对用户的查询请求进行优化,因此增加了开发的难度。 习题 3 1.试述关系模型的 3 个组成部分。 1)数据结构 关系模型的数据结构非常简单,只包括单一的数据结构 关系。从用户角度,关系模型中数据的逻辑结构是一张扁平的二维表。 2)数据操作 关系操作采用集合操作方式,即操作的对象和结果都是集合。这种方式称为 一次一集
20、合的方式。而非关系数据结构的数据操作方式为一次一记录方式。 关系模型中常用的关系操作包括查询操作和插入、删除、修改操作两大部分。 3)完整性约束 关系模型提供了丰富的完整性控制机制,允许定义三类完整性: 实体完整性、参照完整性和用户定义完整性。 2.定义并理解下列术语,说明它们之间的联系与区别: 1)域、笛卡尔积、关系、元组、属性 域 ( Domain) 域是一组具有相同数据类型的值的集合。 笛卡尔积( Cartesian Product) 定义 3.2 给定一组域 D1, D2, , Dn,这些域中可以有相同的域。 D1, D2, , Dn 的笛卡尔积为: D1 D2 Dn ( d1, d2
21、, , dn) diDi, i 1, 2, , n 关系 D1 D2 Dn 的 子集 叫作在域 D1, D2, , Dn 上的关系,表示为: R( D1, D2, , Dn),这里 R 是 关系名。 表的每行对应一个元组,也可称为记录( Record)。 表的每列对应一个域,也可以称为字段( Filed )。由于域可以相同,为了加以区分,必须为每列起一个名字,称为属性( Attribute)。 2)主码、候选码、外码 若关系中的某一属性或属性组的值能唯一地标识一个元组,则称该属性组为候选码或码( Key)。其中属性组中不能含有多余的属性。 若一个关系有多个候选码,则选定其中一个作为主码( Pr
22、imary Key)。每个关系有且仅有一个主码。 如果一个属性或属性组不是所在关系的码,却是另一个关系的码,则称该属性或属性组为所在关系的外码。 3)关系模型、关系、关系数据库 关系数据库中 关系模式是型,关系是值,关系模式是对关系的描述,关系模式可以用一个五元组表示: R( U, D, DOM, F)。 关系是笛卡尔积的有限集,关系是一个二维表。 采用关系模型的数据库称为关系数据库。 3.试述关系模型的完整性规则,在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空? 若属性(或属性组) F 是基本关系 R 的外码,它与基本关系 S 的主码 K 相对应(基本关系 R 和 S 不
23、一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为: ( 1)或者取空值( F 的每个属性值均为空值) ( 2) 或者等于 S 中某个元组的主码值 对于选课表关系中每个元组的 “课程号 ”属性只取两类值: ( 1)空值,表示该学生未选课。 ( 2)非空值,这时该值必须是课程表关系中出现的 “课程号 ”值,表示该学生不可能选修一个未开设的课程。 参照完 整性是不同关系之间或一个关系不同元组之间一种约束,通过外码和主码建立了不同关系之间的联系。 4.关系代数包含哪些运算? 传统的集合运算:并、交、差和笛卡尔积。 专门的关系运算:选择、投影、连接和除。 5.试述笛卡尔积、等值连接与自然连
24、接的区别和联系。 在进行等值连接和自然连接时,必须先做笛卡尔积,然后选择其中满足条件的元组。自然连接是特殊的等值连接,要求素有的公共属性都要相等,并且,在自然连接中最后要去掉重复的列。 6.设置有两个关系 R 和 S(如下),计算 R-S, R S ,R S,R-S,RXS, )(, RAB , )(4 RA ,BSBR SR . SR 。 R-S A B C 4 5 7 5 2 6 R S A B C 4 5 7 12 15 5 5 2 6 2 1 11 5 4 3 R S A B C 12 15 5 2 1 11 当两个表具有相同列时,不做除运算。 RXS R.A R.B R.C S.A
25、S.B S.C 4 5 7 2 1 11 4 5 7 5 4 3 4 5 7 12 15 5 12 15 5 2 1 11 12 15 5 5 4 3 12 15 5 12 15 5 5 2 6 2 1 11 5 2 6 5 4 3 5 2 6 12 15 5 2 1 11 2 1 11 2 1 11 5 4 3 2 1 11 12 15 5 )(, RAB , B A 5 4 15 12 2 5 1 2 )(4 RA A B C 12 15 5 5 2 6 BSBR SR . R.A R.B R.C S.A S.B S.C 4 5 7 2 1 11 4 5 7 5 4 3 12 15 5 2
26、 1 11 12 15 5 5 4 3 5 2 6 2 1 11 SR A B C 12 15 5 2 1 11 7设有三个关系 Student(Sno,Sname,Ssex,Sage,Spol,Sdept) Course(Cno,Cname,Credi,Teacher) SC(Sno,Cno,Grade) 加下划线的属性为主码。 试用关系代数表达式表示下列查询语句。 1) 查询 CHEN 老师所授课程的课程号,课程名。 )C o u r s e( C H E NT e a c h e rc n a m e,c n o 2) 查询年龄小于 25 岁的男生的学号和姓名。 )S t u d e n t( s s e x25s a g es n a m e,s n o 男 3) 查询学号为 S2 的学生所学课程的课程名与任课教师名。 )C o u r s e)SC( s 2 s n oc n ot e a c h e r,n a m ec 4) 查询 ZHENG 同学没有选修的课程号。 )SC( S t u d e n t ) )(-)C o u r s e( Z HE NG s n a m enosc n onoc 5) 查询全部学生都选修的课程的课程号与课程名。