4735 数据库系统原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章

1 数据管理技术的发展经历了人工管理、文件系统、数据库和高级数据库四个阶段

2 文件系统的三个缺陷:数据冗余、数据不一致、数据联系弱

3 在文件系统阶段,程序设计处于主导地位;在数据库阶段,数据占据了中心位置

4 数据库管理系统(DBMS)的类型:(1) 层次型[1:N] (2) 网状型[M:N] (3) 关系型(4) 面向对象型

5 数据描述的三个阶段:(1) 概念设计(2) 逻辑设计(3) 物理设计

6 数据联系的三种类型:(1) 一对一联系(2) 一对多联系(3) 多对多联系

7 根据数据的抽象级别定义的四种模型:

(1) 概念模型:表达用户需求观点的模型,抽象级别最高,主要是ER模型

(2) 逻辑模型:表达计算机实现的模型,主要有层次、网状和关系模型三种,其中关系模型是主流

(3) 外部模型:表达用户使用观点的模型,供程序使用

(4) 内部模型:表达DB物理结构的模型,与软硬件紧密联系,由DBMS自动实现

8 从用户[应用程序]到数据库之间,DB的数据结构描述有三个层次:

(1) 外部模式[型]:用户与数据库系统的接口

(2) 逻辑模式[型]:数据库全部数据和整体逻辑结构的描述

(3) 内模式[型]:数据库在物理存储方面的描述

9 三层模式之间存在着两级映像:

(1) 外模式/逻辑模式映像:定义外模式和逻辑模式之间的对应性

(2) 逻辑模式/内模式映像:定义逻辑模式和内模式之间的对应性

10 数据独立性是指应用程序和数据库的数据结构之间相互独立,包括:

1) 物理数据独立性- 对内模式的修改不影响逻辑模式,只修改逻辑模式/内模式映像即可

2) 逻辑数据独立性- 对逻辑模式的修改不影响外模式,只修改外模式/逻辑模式映像即可

11 DBMS的主要功能

(1) 数据库的定义- 提供的DDL语句(2) 数据库的操纵- 提供的DML语句

(3) 数据库的保护:a) 数据库的恢复b) 数据库的并发控制c) 数据的完整性d) 数据的安全性

(4) 数据库的维护:提供的各种工具(5) 数据字典:存放三级结构定义

12 DBA的主要职责

1) 定义逻辑模式2) 定义内模式3) 定义外模式

4) 定义安全性规则5) 定义完整性规则6) 数据库的转储与恢复

第二章

1 数据库系统生存期

1) 从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代的整个期间

2) 数据库系统的生存期分为七个阶段:

(1) 规划阶段:系统调查、可行性分析、确定总目标

(2) 需求分析阶段:分析业务流程[业务流程图]、确定系统边界、分析数据处理过程[数据流图]、生成数据字典

(3) 概念设计阶段:概念模型独立于计算机硬件和软件,主要有三个步骤

a 进行数据抽象,设计局部概念模型

b 将局部概念模型综合成全局模型

c 评审

(4) 逻辑设计阶段:把概念模型转换为DBMS可以处理的逻辑模型,主要有五个步骤

a 将概念模型(ER模型)转换为逻辑模型(关系模型)

b 设计外模型

c 设计应用程序与数据库的接口

d 评价模型

e 修正模型

(5) 物理设计阶段:完全依赖于给定的硬件环境和数据库产品

(6) 实现阶段:定义数据库结构;数据装载;编制与调试应用程序;数据库运行

(7) 运行维护阶段:主要由DBA完成

2 ER模型到关系模型的转换

1) 实体类型转换:将实体转换为关系模式,实体属性即为关系模式的属性,实体的标识符为关系模式的键

2) 二元联系类型转换

(1) 1:1联系:在任意一个关系模式中加入另一个关系模式的键[作为外键]和联系类型的属性

(2) 1:N联系:在N端的关系模式加入1端的键[作为外键]和联系类型的属性

(3) M:N联系:将联系类型转换为关系模式,其属性为两个实体的键和联系类型的属性

第三章

1 FD推理规则:1) 自反性2) 增广性3) 传递性

2分解是解决冗余的主要方法。分解之后,能否表示同样的数据,用“无损分解”特性表示;能否保持原来的函数依赖关系,用“保持FD”特性表示

第四章

2 假设数据库中有以下四个表:

教师表T(T#, TNAME, TITLE) 课程表C(C#, CNAME, T#)

学生表S(S#, SNAME, AGE, SEX) 选课表SC(S#, C#, SCORE)

1) 检索选修C2课程的学号及成绩:πS#, SCORE(σc#=’C2’(SC)) 或π1, 3(σc#=’C2’(SC))

2) 检索选修C2课程的学号及姓名:πS#, SNAME(σc#=’C2’(S⋈SC))

3) 检索选修Liu老师课程的学号和姓名:πS#, SNAME(σTNAME=’Liu’(S⋈SC⋈C⋈T))

4) 检索选修C2或C4课程的学号:πS# (σc#=’C2’∨c#=’C4’(SC))

5) 检索选修C2和C4课程的学号:πS# (σc#=’C2’∧c#=’C4’(SC))

6) 检索不学C2课的学生姓名与年龄:πSNAME, AGE(S) - πSNAME, AGE(σc#=’C2’(S⋈SC))

3 关系代数表达式的优化

1) 尽可能早地执行选择操作2) 尽可能早地执行投影操作3) 避免直接做笛卡儿积

第五章

1 SQL的组成:1) 数据定义语言DDL 2) 数据操纵语言DML(分为查询和更新两类) 3) 嵌入式SQL语言4) 数据控制语言DCL(授权、事务控制等)

2 在嵌入式SQL中,SQL_STATE是一个特殊共享变量,用于解释SQL语句的执行状况,“00000”表示成功执行

3 嵌入式SQL的格式:EXEC SQL END_EXEC。在C中,结束标记用“;”而不用END_EXEC

4 嵌入式SQL引用共享变量时,前面加“:”号,使用下列语句定义共享变量:

EXEC SQL BEGIN DECLARE SECTION;

char sno[5], name[10];

char SQL_STATE[6]; // 成功:”00000”

EXEC SQL END DECLARE SECTION;

相关文档
最新文档