数据库设计:针对具体的应用场景,使用现有的DBMS构建适合的数据库模式,创建数据库及其应用系统,使之能有效地收集、存储、操做和管理数据,知足实际业务中各种用户的应用需求、信息需求和处理需求,这个过程称之为数据库设计。数据库
1. 设计概述安全
1.1 数据库设计的两个阶段数据库设计
1.1.1 数据库分析和设计阶段(需求分析、概念设计、逻辑设计、物理设计)工具
1.1.2 数据库实现和操做阶段(数据库的实现、操做和监督、修改和调整)性能
1.2 数据库设计的两个目标spa
1.2.1 知足应用功能需求(知足用户应用中的增、删、查、改)设计
1.2.2 良好的数据库性能(数据库具备高效的存取和对空间的节省,并具备良好的数据共享性、完整性、一致性及安全保密性)blog
1.3 数据库设计的两大内容生命周期
1.3.1 数据库结构设计(模式及子模式的设计[静态]:概念结构设计、逻辑结构设计、物理结构设计)基础
1.3.2 数据库行为设计(肯定用户的行为和动做[动态])
1.4 数据库设计的三种方法
1.4.1 直观设计法(利用经验和技巧设计,没法保证质量,已被淘汰)
1.4.2 规范设计法
I. 新奥尔良设计方法(分阶段)
把设计分为四个阶段(需求分析、概念结构设计、逻辑结构设计、物理结构设计),注重结构设计,而不考虑行为设计。
II. 基于E-R模型的设计方法
在需求分析的基础上用 E-R图 构造反映实体之间联系的企业模式,而后将此模式转换为概念模式。
III. 基于第三范式的设计方法(结构化)
在需求分析的基础上肯定数据库的模式、属性与属性间的依赖关系,而后组织在一个关系模式中,再分析模式中不符合第三范式的关系,进行模式分解。
1.4.3 计算机辅助设计法(以人机交互的方式模拟规范化设计的方法,以此加速设计的过程)
1.5 数据库设计的过程
2. 基本步骤
2.1 需求分析
目的:了解与分析用户的信息与应用处理的要求,并将结果按必定格式整理而造成需求分析报告。
做用:该分析报告是后续概念设计、逻辑设计、物理设计、数据库创建与维护的依据。
2.1.1 肯定数据库范围
(1) 首先考虑支持用户工做所必须的应用要求
(2) 肯定数据库应支持的应用功能,充分知足用户的应用功能要求
(3) 尽量考虑未来的应用需求,以提升数据库的应变能力
(4) 避免应用过程当中对数据库作太多或太大的修改,从而提升数据库的生命周期
2.1.2 应用过程分析(可借助数据流程图等工具)
(1) 肯定要用到的数据
(2) 数据的使用顺序
(3) 数据该做如何处理及处理的策略
(4) 处理的结果
2.1.3 收集与分析数据
目的:了解并分析数据的组成格式及操做特征,每一个数据元素的语义及关系等。
(1) 静态结构(不施加应用操做时数据的原始情况)
I. 数据分类表(数据的整体描述)
II. 数据元素表(数据项及属性)
(2) 动态结构(施加应用操做时数据的情况)——概念设计和物理设计的重要依据
I. 任务分类表(对数据流程的分析)
II. 数据操做特征表(描述任务与数据之间的关系)
(3) 数据约束(使用数据时的特殊要求)
I. 数据的安全保密性,其主要是针对各类不一样类数据,谁拥有操做(增删查改)权限
II. 数据的完整性,其主要是指数据正确性的约束范围和验证准则,以及一致性保护的要求
III. 响应时间,其主要是指某些特定应用要求的数据存取时间限制
IV. 数据恢复,其主要是指转储及恢复的时机与范围等要求
2.1.4 编写需求分析报告
做用:应用需求的业务人员和数据库设计人员的“共同语言”,能准确地表达应用需求,可读性强,且无二义性,能为数据库的后续阶段设计提供全面、准确和详细的资料。
(1) 数据库的应用功能目标
(2) 标明不一样用户的视图范围
(3) 应用处理过程需求说明
I. 数据流程图
II. 任务分类表
III. 数据操做特征表
IV. 操做过程说明书(根据以上三类内容,标明各任务的主要逻辑执行步骤)
(4) 数据字典(包括数据分类表、数据元素表和各种原始资料)
做用:存储和检索各类数据(元数据)描述。
(5) 数据量(根据数据分类表的静态数据量和操做特征表的动态数据量统计得出)
(6) 数据约束
2.2 概念结构设计
目的:在需求分析报告的基础上按照特定的方法设计知足应用需求的用户信息结构(概念模型),可彻底不顾及具体的硬件和软件的限制,它是一个符合用户要求的趋于理想化的信息结构。
(1) 实体分析法(自顶向下:E-R模型)
(2) 属性综合法(自底向上)
步骤:属性分类、实体构成、联系的肯定
2.3 逻辑结构设计
3. 关系数据库设计方法