第二章
5. 解释下面术语
实体 属性 实体集 数据库
实体:客观存在并可相互区别的事物。
属性:实体中每一个特征称为属性。
实体集:性质相同的同类实体的集合。
数据库:长期存储在计算机内,有组织、可共享的数据集合。对于关系数据库而言,它是关系的集合,即表的集合。
6. 举例说明什么是主码 ? 它的作用是什么 ?
例如,学生关系 S(SNO , SNAME , AGE , SEX)
其中学号 SNO 是主码,它能惟一标识 S 中的一行,即每行中 SNO 上的值确定后,这行中其他属性上的值就确定下来了。所以主码实现关系定义中“表中任意两行 ( 元组 ) 不能相同”的约束。另外,主码实现关系完整性规则,即实体完整性约束 ( 要求主码上的值不能取空值 ) 和参照完整性约束 ( 要求外码值必须是另一个表的主码的有效值或者是一个空值,即通过主码和外码实现表与表之间的联系 ) 。所以,关系 S 中任一行上的 SNO 属性上的值不允许为空值。
7. 举例说明什么是外码 ? 它的作用是什么 ?
例如,学生关系 S(SNO , SNAME , AGE , SEX) 和学习关系 SC(SNO , CNO , GRADE) ; S 的主码为 SNO , SC 主码为 (SNO , CNO) ,所以 SC 中属性 SNO 为外码,同时 SNO 又是关键属性;根据参照完整性规则, SC 中属性 SNO 上的取值应是关系 S 中主码 SNO 上的有效值。所以通过公共属性 SNO 就把表 S 和表 SC 联系起来了。故外码用作实现表与表之间的联系,实现参照完整性约束条件。
8. 关系数据库如何实现数据之间的联系 ?
关系数据库通过表与表之间的公共属性实现数据之间的联系。这 ( 些 ) 个公共属性是一个表的主码,是另一个表的外码;它们应满足参照完整性约束条件。
9. 什么是实体完整性 ? 怎样实现实体完整性 ?
实体完整性:关系的主码不能取空值。它要求每一关系中的每个元组在组成主码的属性上不能为空值。“空值”是指没有值,是不确定的值。如果允许出现空值,主码值就起不到惟一标识元组的作用。
10. 什么是参照完整性 ? 怎样实现参照完整性 ?
在关系数据库中,表与表之间的联系是通过公共属性实现的,这 ( 些 ) 个公共属性是一个表的主码,是另一个表的外码,这就是参照完整性。实现它的规则为:外码的取值必须是另一个表主码的有效值,或者是“空值”。
11. 举例说明有两个表组成的关系数据如何实现 l : M 联系 ?
例如,导师表 ( 导师编号,姓名,性别,职称 ) 和研究生表 ( 学号,姓名,性别,导师编号 ) 。我们知道,一名导师可带多位研究生,而一位研究生至多只有一名导师带,所以两个实体集之间的联系是 l : M 联系。另外,导师表中导师编号为主码,研究生表中学号是主码,导师编号为外码,两表间的联系就是通过这个外码实现的。如导师编号为 001 的导师带了 99001 , 99002 , 99003 这三位学生,则相应的元组 (99001 , ? , ? , 001) , (99002 , ? , ? , 001) 和 (99003 , ? , ? , 001) 都在研究生表中。其中' ? '没给出具体值,这儿只是为了讲清问题。
12. 索引的主要用途 ? 建立索引表的目的和用途是快速查询或有序输出。
13. 举例说明什么是数据字典和系统目录 ? 它们的用途是什么 ?
数据字典保存元数据,它记录了有关表和表结构的设计方案,它是为数据库设计者使用的数据库。例如,教材中图 2 . 4 。 ‘
系统目录:它比数据字典更详细地描述了数据库中有关信息 ( 如,表的信息、索引信息、授权和存取权限信息等 ) ,它是为系统建立的数据库,系统在运行和维护中要使用它。
第五章
16.DB 管理的目标是什么 ?
①保证 DBS 的正常运行;②使数据成为一种可管理的资源。
17.DBA 的管理职责有哪些 ?
DBA 对 DB 的管理的计划、组织、测试、监控和服务全面负责。主要有五点:
① 向用户提供数据和信息。
② 制定 DB 管理的政策、标准和规程。
③ 确保 DB 的安全性,防止非法的操作。
④ DB 的备份和恢复。
⑤ 培训终端用户。
18. 说明定义视图的作用是什么 ?
视图是从一个或多个基本表导出的虚表,视图只是一个定义,本身没有直接的数据。根据用户的权限和需要,定义视图,这就达到了系统安全性的作用。
19. 说明 DD 在数据库管理中的作用是什么 ?
① DBA 可以利用 DD 监视数据库的操作情况和为用户分配访问权限。
② DD 可以作为 DBA 监视 DB 中数据安全性的工具。
③ DBA 可以使用 DD 来支持数据的分析和设计工作。
④ DD 可以用来保证应用程序员所使用的数据元素的命名标准和数据正确性检查的规
20. 说明 DB 用户访问权限的控制方法是什么 ?
DB 用户的权限可分为具有 DBA 特权的用户和一般 DB 用户。
前者拥有对 DB 最大的权限,可以支配整个 DB 资源;而后者是由 DBA 特权用户创建,
并由 DBA 用户授予其访问 DB 的权限,可以在允许的权限范围内对 DB 进行操作。
21. 举例说明 SQL 语言实现访问权限的控制的方法。
(1)SQL 语言中用 GRANT 语句授予其他用户对表或视图的操作权限,其语句格式如下:
GRANT 权限列表 ON 表或视图名 TO 用户名列表 [W1TH GRANT OPTION]
①权限有 5 种: ALTER , DELETE , INSERT , SELECT , UPDATE 等。
②在“用户名列表”处若写上 PUBLIC ,表示授权给所有的用户。
③语句中带 WITH GRANT OPTION 短语,表示获得权限的用户还能获得传递权限,把获得的权限转授给其他用户。
(2)SQL 语言中用 REVOKE 语句撤消对用户所授予的权限,同时这个用户转授给其他用户的权限也将同时被撤消。其语句格式如下:
REVOKE 权限列表 ON 表或视图名 FROM 用户名列表
( 举例略 )
22. 举例说明访问权限主要有哪几种 ?
5 种: ALTER , DELETE , INSERT , SELECT , UPDATE 等权限。
( 举例略 )
23. 举例说明什么是事务和事务处理 ?
答:事务反映现实世界中需要以完整单位提交的一项工作。事务是一个逻辑工作单元,它必须完整地执行,或者全都不执行 ( 使 DB 保持不变 ) 。 ( 例子见教材第 114 页 )
事务处理是保证 DB 一致性状态的重要方法。最常见的事务处理由两次或多次 DB 操作构成。 ( 例子见教材第 114 页 )
24. 如何理解事务的原子性 ?
事务是一个完整的工作单位,要么全部执行,要么全都不执行 ( 指效果上 ) 。决不允许只执行一半。
25. 如何理解事务的永久性 ?
指数据库必须保持一致性状态。
26 举例说明什么是 DB 的一致性状态 ?
DB 的一致性状态是指所有数据都满足数据完整性约束条件的状态。譬如银行中资金转账,需从账号 A 转一笔款子到账号 B ,那么转账后,账号 A 和账号 B 中的余款总和应该保持不变,这就是 DB 达到了一个新的一致性状态。
27. 举例说明 SQL 语言实现事务管理的方法。
ANSI 标准规定,用 COMMIT 和 ROIJ,RACK 两个语句支持事务的管理。
( 举例略 )
28. 简要说明并发处理可能产生的问题。