数据库设计:根据给定环境,构造优化逻辑模式和物理结构,据此建立数据库及其应用系统。以此满足各种用户的需求,包括信息管理与数据操作。
信息管理要求:在数据库中应该存储和管理哪些数据对象
数据操作要求:对数据对象需要进行哪些操作,例如增删改查。
数据库设计的目标:为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。
高效率的运行环境:数据库数据存取效率高、数据库存储空间的利用率高、数据库系统运行管理的效率高
数据库建设基本规律:三分技术、七分管理、十二分基础数据(数据收集、整理、组织、更新)
将数据库结构设计和数据处理设计密切结合
新奥尔良方法:四个阶段,明确阶段功能。(需求设计-概念设计-逻辑设计-物理设计)
基于E-R模型的数据库设计方法
3NF设计方法:消除传递函数依赖
面向对象的数据库设计方法
统一建模语言(UML)方法
六个阶段:需求分析(要求)、概念结构设计(根据要求描述)、逻辑结构设计(按表格建立)、物理结构设计(怎样存放于计算机)、数据库实施、数据库运行和维护、
需求分析阶段:综合各用户需求
概念设计阶段:独立于及机器特点,独立于各个数据库管理系统产品的概念模式
逻辑设计阶段:将E-R图转换成具体数据库产品支持的模型
物理设计阶段:根据数据库管理系统特点和处理需要,进行物理存储安排,形成内模式
重点是“数据”和“处理”:信息要求、处理要求、安全性和完整性要求
目的:调查清楚用户的实际需求并进行初步分析,最终与用户达成共识
步骤:调查组织情况 - 调查各部门业务情况 - 协助用户明确对新系统的各种要求
方法:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录
结构化分析法(SA):从最上层的系统组织机构入手,自顶向下、逐层分析
数据字典是关于数据库中数据的描述,不是数据本身。
数据字典内容:数据项、数据结构、数据流、数据存储、处理过程
数据项:不可再分的数据单位
数据项名、数据项含义说明、别名、数据类型、长度、取值范围、取值含义、与其他数据项的逻辑关系、数据项的联系
数据结构:反映了数据之间的组合关系
数据结构名、含义说明、组成
数据流:数据结构在系统内传输的路径
数据流名、说明数据流来源及去向、组成
数据存储:数据结构停留或保存的地方,也是数据流的来源和去向之一
数据存储名、输入的数据流、输出的数据流
处理过程:判定表或判定树来描述
特点:真实、易于理解、易于更改、易于各种数据模型转换
联系的度:参与联系的实体型的数目
一对一联系:实体集A与实体集B具有一一对应联系
一对多联系:实体集A与实体集B又一对多联系
多对多联系:实体集A与实体集B具有多对多联系
同样有又一对一、一对多、多对多联系
同样有又一对一、一对多、多对多联系
E-R图提供了表示实体型、属性和联系的方法
实体型:用矩形
属性:用椭圆
联系:用菱形,需要写明(1:1)(1:n)等,联系可以有属性
准则:
(1)作为属性,不能再具有需要描述的性质。
(2)属性不能与其他实体具有联系,E-R图表示的联系是实体间的联系。
(属性只能对应一个实体)
第一步:合并。消除各部分的冲突,合并初步E-R图。
冲突:属性冲突(取值类型、范围)、命名冲突(同名异义、命名冲突)、结构冲突(在不同应用中具有不同抽象)
第二步:修改和重构。消除不必要的冗余,生成基本E-R图。
E-R图由实体型、实体的属性和实体型之间的联系三个要素组成
关系属性:实体属性
关系的码:实体的码
一般数据模型还需要根据数据库管理系统规定的模型进行转换
优化数据模型的方法:
①确定数据依赖
②对于各个关系模式之间的数据依赖进行极小化处理,消除冗余联系
③按照数据依赖理论对关系模式进行分析
④按照需求分析阶段得到的各种应用对数据处理的要求,分析是否合适
⑤关系模式分解,提高数据操作效率何空间利用率:水平分解(元组)、垂直分解(属性)
并不是规范化程度越高的关系就越优,范式高代价也高
定义用户外模式应考虑三方面:
①使用符合用户习惯的别名
②不同级别用户定义不同级别视图
③简化用户对系统的使用
物理结构:数据库在物理设备的存储结构和存取方法
①准备工作:了解环境、数据库特征
②选择所需参数:数据库查询事务、更新事务、每个事务在各关系上的频率和性能
③关系数据库物理设计内容:为关系模式选择存取方法、设计关系、索引等数据库文件的物理存储结构
数据库系统是多用户共享系统,对同一个关系要建立多条存取路径才嫩满足多用户的多种需求。
常用存取方法:
①B+数索引存取方法
②Hash索引存取方法
③聚簇存取方法
确定数据存放位置和存储结构,需考虑存取时间、存储空间利用率和维护代价
①易变和稳定分开
②经常存取和存取频率低分开
评价方法:①存储空间②存取时间③维护代价
组织数据入库是数据库实施最主要工作,在入库同时要调试应用程序
装载方法:
①人工方法
②计算机辅助数据入库
应用程序调试完成,有一小部分数据入库后,可以对数据库系统进行联合调试,也称数据库的试运行。
主要工作:
①功能测试
②性能测试
数据库维护,由数据库管理员完成:
①数据库的转储和恢复
②数据库安全性、完整性控制
③数据库性能监督、分析和改进
④数据库重组织(增删改查、存储结构)和重构造(调整模式)