答:
数据库系统的三级模式结构由外模式、模式和内模式组成。 (参见书上图 1 . 29 ) 外模式, 亦称子模式或
用户模式, 是数据库用户 (包括应用程序员和最终用户) 能够看见和使用的局 部数据的逻辑结构和特征的
描述, 是数据库用户的数据视图, 是与某一应用有关的数据的逻 辑表示。模式, 亦称逻辑模式, 是数据库
中全体数据的逻辑结构和特征的描述,是所有用户 的公共数据视图。 模式描述的是数据的全局逻辑结构。 外
模式涉及的是数据的局部逻辑结构, 通常是模式的子集。 内模式,亦称存储模式, 是数据在数据库系统内部
的表示,即对数据的 物理结构和存储方式的描述。 数据库系统的三级模式是对数据的三个抽象级别, 它把数
据的 具体组织留给 DBMs 管理, 使用户能逻辑抽象地处理数据, 而不必关心数据在计算机中的 表示和存
储。 为了能够在内部实现这三个抽象层次的联系和转换, 数据库系统在这三级模式 之间提供了两层映像:
外模式/模式映像和模式/内模式映像。 正是这两层映像保证了数据 库系统中的数据能够具有较高的逻辑独
立性和物理独立性。
21 .定义并解释以下术语:模式、外模式、内模式、 DDL 、 DML 模式、外模式、内模 式,亦称逻辑模
式, 是数据库中全体数据的逻辑结构和特征的描述, 是所有用户的公共数据 视图。 模式描述的是数据的全
局逻辑结构。 外模式涉及的是数据的局部逻辑结构, 通常是模 式的子集。 内模式, 亦称存储模式, 是数
据在数据库系统内部的表示, 即对数据的物理结构 和存储方式的描述。 DDL :数据定义语言, 用来定义数
据库模式、 外模式、 内模式的语言。
DML :数据操纵语言,用来对数据库中的数据进行查询、插入、删除和修改的语句。
22 .什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系 统具有数据与程序
的独立性?
答:
数据与程序的逻辑独立性:当模式改变时 (例如增加新的关系、新的属性、 改变属性的数据 类型等),由数
据库管理员对各个外模式/模式的映像做相应改变, 可以使外模式保持不变。 应用程序是依据数据的外模式
编写的, 从而应用程序不必修改, 保证了数据与程序的逻辑独 立性, 简称数据的逻辑独立性。 数据与程序
的物理独立性:当数据库的存储结构改变了,由 数据库管理员对模式/内模式映像做相应改变, 可以使模式
保持不变, 从而应用程序也不必 改变, 保证了数据与程序的物理独立性, 简称数据的物理独立性。 数据库
管理系统在三级模 式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立
性。
23 .试述数据库系统的组成。
答:
数据库系统一般由数据库、数据库管理系统(及其开发工具) 、应用系统、数据库管理员和 用户构成。
24 . DBA 的职责是什么?
答: 负责全面地管理和控制数据库系统。 具体职责包括: ① 决定数据库的信息内容和结构; ② 决定数据库的存储结构和存取策略; ③ 定义数据的安全性要求和完整性约束条件; ④ 监 督和控制数据库的使用和运行; ⑤ 改进和重组数据库系统。 25 .系统分析员、数据库 设计人员、应用程序员的职责是什么?答系统分析员负责应用系统的需求分析和规范说明, 系统分析员要和用户及 DBA 相结合,确定系统的硬件、软件配置,并参与数据库系统的 概要设计。 数据库设计人员负责数据库中数据的确定、 数据库各级模式的设计。 数据库设计 人员必须参加用户需求调查和系统分析, 然后进行数据库设计。 在很多情况下, 数据库设计 人员就由数据库管理员担任。 应用程序员负责设计和编写应用系统的程序模块, 并进行调试 和安装。
第 2 章 关系数据库
1 .试述关系模型的三个组成部分。 答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组
成。
2 .试述关系数据语言的特点和分类。
答:关系数据语言可以分为三类:
关系代数语言。
关系演算语言:元组关系演算语言和域关系演算语言。
SQL :具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作 语言,功能强,能够嵌入高级语言中使用。
4 .试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空? 什么情况下才可以为空?
答:实体完整性规则是指若属性 A是基本关系R的主属性,则属性 A不能取空值。
若属性(或属性组)F是基本关系R的外码,它与基本关系 S的主码Ks相对应(基本关系R和
S 不一定是不同的关系 ),则对于 R 中每个元组在 F 上的值必须为:或者取空值 (F 的每个属 性值均为空
值 );或者等于 S 中某个元组的主码值。即属性 F 本身不是主属性,则可以取空 值,否则不能取空值。
5 .设有一个SPJ数据库,包括S, P, J, SPJ四个关系模式:
1 )求供应工程 J1 零件的供应商号码 SNO :
冗Sno( oSno= ' J1' (SPJ))
2)求供应工程 J1 零件 P1 的供应商号码 SNO :
冗Sno( oSno= ' J1 'APno= ' P1 ' (SPJ))
3 )求供应工程 J1 零件为红色的供应商号码 SNO :
冗Sno( oPno= ' P1 ' (oCOLOR='红'(P)^ SPJ))
4 )求没有使用天津供应商生产的红色零件的工程号 JNO :
nJn o(SPJ)- nJNO ( ocity='天津'A Color='红'(S^ SP后 P)
5)求至少用了供应商 S1 所供应的全部零件的工程号 JNO :
nJno , Pn o(SPJ)-冗 Pno ( ^Sn o= ' S1 ' (SPJ))
6.试述等值连接与自然连接的区别和联系。
答:连接运算符是“ = ”的连接运算称为等值连接。它是从关系 R 与 S 的广义笛卡尔积中选
取 A, B 属性值相等的那些元组 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,
并且在结果中把重复的属性列去掉。
7 .关系代数的基本运算有哪些 ? 如何用这些基本运算来表示其他运算 ?
答:并、差、笛卡尔积、投影和选择 5 种运算为基本的运算。其他 3 种运算,即交、连接 和除,均可以用这 5
种基本运算来表达。
第 3 章 关系数据库标准语言 SQL
1 .试述 sQL 语言的特点。
答:
(l )综合统一。 sQL 语言集数据定义语言 DDL 、数据操纵语言 DML 、数据控制语言 DCL 的功能于一体。
(2 )高度非过程化。用 sQL 语言进行数据操作,只要提出“做什么” ,而无需指明“怎么 做”,因此无需了
解存取路径, 存取路径的选择以及 sQL 语句的操作过程由系统自动完成。
(3 )面向集合的操作方式。 sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是 元组的集合,而且一
次插入、删除、更新操作的对象也可以是元组的集合。
(4 )以同一种语法结构提供两种使用方式。 sQL 语言既是自含式语言,又是嵌入式语言。 作为自含式语言,
它能够独立地用于联机交互的使用方式; 高级语言程序中,供程序员设计程序时使用。
作为嵌入式语言, 它能够嵌入到
(5) 语言简捷,易学易用。