第二章、数据库设计和ER模型
2.1数据库生存期(领会)
我们把数据库应用系统从开始、设计、实现、维护到最后被新的系统所取代停止使用成为数据库生存期,一般分为:规划,需求分析,概念设计,逻辑设计,物理设计,设计,实现,运行,文化
1、规划阶段
(1)系统调查:对应用单位做全面的调查
(2)可行性分析:从诸多方面对建立数据库的可行性进行分析 (3)确定数据库系统的总目标:对应用单位的工作流程进行优化 2、需求分析阶段
(1)分析用户活动,产生业务流程图 (2)确定系统范围,产生系统关联图
(3)分析用户活动涉及的数据,产生数据流图 (4)分析系统数据,产生DD 3、概念设计阶段
产生反映用户单位信息需求的数据库概念结构,即概念模型,概念模型独立于计算机硬件结构,独立于支持数据库的DBMS 步骤:
进行数据抽象,设计局部概念模型 将局部概念模型综合成全局概念模型 评审
概念设计中最著名的方法就是 实体联系方法(ER方法)
4、逻辑设计阶段
把概念设计阶段设计好的概念模型转换成与选用机体上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库逻辑模型和外模型) 步骤:
把概念模型转换成逻辑模型 设计外模型
设计应用程序与数据库的接口 评价模型 修正模型
5、物理设计阶段
对于给定的基本数据类型选取一个最适合运行的环境的物理结构的过程 步骤:
存储记录结构设计 确定数据存放位置 存取方法的设计
完整性和安全性考虑 程序设计
6、数据库的实现
(1)用DDL定义数据库结构 (2)组织数据入库
(3)编制与调试应用程序
(4)数据库试运行(功能&性能调试) 7、数据库的运行和维护 (1)数据库的转储和恢复 (2)数据库安全性,完整性
(3)数据库性能的监督、分析和改进 (4)数据库的重组织和重构造
2.2、ER模型的基本概念(综合应用)
1、ER模型的基本元素 实体、联系、属性 2、属性的分类
简单属性&复合属性 存储属性&派生属性 可以为NULL的属性 3、联系的设计
联系类型的约束:基数约束&参与约束
基数:参与一个联系中实体的数目成为映射基数
参与:一个实体集中的每个实体都参与某个联系成为完全参与,反之部分参与 4、ER模型的操作
操作:实体类型,联系类型,属性的分裂、合并、增删等 (1)分裂方式:水平分裂&垂直分裂
水平:把固定不变的属性组成一个实体类型 垂直:把经常变化的属性组成一个实体类型 5、采用ER模型的数据库概念设计步骤 (1)设计局部ER模型
确定局部结构范围 定义实体 定义联系 分配属性
(2)把局部ER模型组合成全局ER模型
确定公共实体类型 合并局部ER模型
消除冲突(属性域的冲突,结构冲突,命名冲突)
(3)对全局ER模型进行优化,取得最终ER模型,即概念模型
合并实体类型 消除冗余属性 消除冗余联系
2.3、关系模型的基本概念(综合应用)
1、关系模型的 基本术语
用二维表格表示实体集是,用关键码表示实体间联系的数据模型 记录=元组, 元组*N=关系, 属性=元数, 元组个数=基数 2、关系的定义和性质
关系:关系是一个属性数目相同元组的集合 规范性限制:
关系中每个属性不可分解 关系中不允许出现重复元组 不考虑元组件的顺序,没有行序 元组中属性按习惯考虑列的排序 3、三类完整性规则
(1)实体完整性(KEY不为空)
(2)参照完整性(外键只能为NULL或等于相对应主键属性) (3)用户定义完整性(属性范围)
2.4、ER模型到关系模型的转换(综合应用)
1、采用ER模型 的逻辑设计步骤 (1)导出初始关系模式集 (2)规范化处理 (3)模式评价 (4)模式修正 (5)设计子模式
2.5、ER模型实例分析(综合应用)
全是应用的 自己搞吧 童鞋们
2.6、增强的ER模型
这里考的较少,或者叫根本没考过。2013.10.12 1、弱实体与强实体
一个实体对另一个实体有很强的以来联系,且该实体主键的一部分或全部从改强实体中获得,则称其为若实体,若实体用双线矩形框表示,与强实体的联系用双线菱形表示 2、子类实体于超类实体
当较低层上的实体类型表达了与之联系的较高层上的实体类型特殊情况时,称较高层上的实体为超类实体,反之为子类实体
特性:(1)两者之恋有继承特点(2)继承通过相同的实体标示符来实现
第三章、关系模式设计理论
3.1、关系模式的设计准则(简单应用)
1、关系模式的冗余和异常问题
数据冗余:是指同一个数据在系统中重复出现 操作异常:修改异常、插入异常、删除异常 2、关系模式的非形式化设计准则
(1)尽可能只包含有直接联系的属性,不要包含简介联系的属性 (2)尽可能使得相应关系中不出现操作异常
(3)尽可能使得相应关系中避免放置经常为空的属性
(4)尽可能使得关系的等值连接在主键外键上进行,否则会很与可能产生额外的元组
3.2、函数依赖(简单应用)
下面连续几章节,不会的较少,省略记,多为应用 小题考到概率较低
1、函数依赖的定义
函数依赖:FD即X->Y (属性的联系) 2、FD的逻辑蕴涵 闭包问题
3、FD的推理规则
A8:{X->Y, W->Z} |= X v (W-Y)->YZ
定义:对于FD X->Y 如果Y属于X 则X->Y是一个平凡的FD
4、FD和关键码的联系 5、属性集的闭包 6、FD的最小依赖集
3.3、关系模式的分解特性(简单应用) 3.4、范式(大题必考)
1NF:属性均为简单属性,不可分
2NF:候选键中不存在多与属性,只能有候选键推出其他任意属性。
比如 学号+课程号->成绩 学号->姓名 违反2NF
3NF:所有关系 都必须由内外键连接 BCNF:每个平凡FD X->Y , X为超键
3.5多值依赖和4NF(识记)(基本不考)
第四章、关系运算
关系模型的三个重要组成部分:数据结构、数据操纵、数据完整性规则
关系代数语言:查询操作是以集合操作为基础的运算 关系演算语言:查询操作是以谓词演算为基础的运算
4.1、关系代数(综合应用)
1、关系代数的五个基本操作
传统的集合操作:并,交,差,笛卡尔积(乘),笛卡尔积的逆运算(除) 扩充的关系操作:投影,选择,关系的结合(连接,自然连接)等
P97 表4,2 关系代数操作的结果 2、关系代数的四个组合操作 P99
4.2、关系演算(领会)
1、元组关系演算 P103
2、域关系演算 P106
3、关系运算的安全约束和等价性
(1)在关系代数中基本操作是并差笛卡尔积,投影,选择,没有集合”补“的操作,因此关系代数总是安全的
(2)关系演算则会初出现无线关系和无穷验证的问题
(3)在数据库中不产生 无限关系和无穷验证问题的 称为 安全运算,相应的表达式成为安全表达式,采取的措施为安全约束
(4)在关系演算中,我们约定运算只对表达式中公式涉及的关系值范围内进行操作,所以关系演算是安全的
(5)关系代数,安全的元组关系演算,安全的域关系演算在关系的表达和操作能力上是完全等价的。关系运算主要有 关系代数,元组演算,域演算三种