4735 数据库系统原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
4 嵌入式SQL引用共享变量时,前面加“:”号,使用下列语句定义共享变量:
EXEC SQL BEGIN DECLARE SECTION;
char sno[5], name[10];
char SQL_STATE[6]; // 成功:”00000”
EXEC SQL END DECLARE SECTION;