一、数据库设计概述
数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存取数据,满足各种用户的应用需求。
1.特点
“三分技术,七分管理,十二分基础数据”
数据库设计和应用系统设计相结合,即将结构设计和行为设计相结合
2.数据库设计方法
- 新奥尔良方法
3.数据库设计的基本步骤 - 需求分析(了解与分析用户需求)
- 结构设计
- 行为设计
- 数据库实施
- 数据库运行和维护
数据库设计全过程
二、数据库设计
1.需求分析
通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统工作概况,明确用户的各种需求,然后再次基础上确定新系统的功能。
调查的重点是“数据”和“处理”
- 信息要求
指用户需要从数据库中获取信息的内容和性质,从而导出应在数据库中存储哪些数据 - 处理要求
用户完成什么样的处理功能,对处理的响应时间有什么要求
处理方式是批处理还是联机事务处理
2.需求分析的方法 - 调查组织机构情况(了解部门组成情况,部门规模、职责,为分析信息流程做准备)
- 调查各部门的业务活动情况
- 协助用户明确对新系统的各种要求(信息要求、处理要求、安全性与完整性要求)
- 确定新系统的边界(确定哪些由计算机完成,哪些由人工完成)
2、数据库结构设计
数据库设计分为数据库结构设计和数据库行为设计
结构设计包括设计数据库的概念结构、逻辑结构和存储结构
行为设计包括设计数据库的功能组织和流程控制
- 概念结构设计:形成DB概念模式,用语义层模型描述,如E-R图
- 逻辑结构设计:形成DB逻辑模式与外模式,用结构层模型描述,基本表、视图等
- 物理结构设计:形成DB内模式,用文件级属于描述,DB文件或目录、索引
1.概念结构设计的方法与步骤
- 自底向上:先定义局部应用的概念结构,然后按一定的规则把它们集成起来,从而得到全局概念模型。
- 自顶向下:先定义全局概念模型,然后再逐步细化。
- 自里向外:先定义最重要的核心结构,然后再逐步向外扩展。
- 混合策略:将自顶向下和自底向上结合起来使用。
2.采用E-R模型方法的概念结构设计
局部E-R图示例:
一名学生可同时选多门课程,一门课程也可同时被多名学生选修。对学生选课需要记录考试成绩信息,每个学生每门课程只能有一次考试。对每名学生需要记录学号、姓名、性别信息,对课程需要记录课程号、课程名、课程性质信息。
一门课程可由多名教师讲授,一名教师可讲授多门课程。对每个教师讲授的每门课程需要记录授课时数信息。对每名教师需要记录教师号、教师名、性别、职称信息;对每门课程需要记录课程号、课程名、开课学期信息。
一名学生只属于一个系,一个系可有多名学生。对系需要记录系名、系学生人数和办公地点信息。
一名教师只属于一个部门,一个部门可有多名教师。对部门需要记录部门名、教师人数和办公电话信息。
将局部E-R图集成为全局E-R图
优化全局E-R图:
- 实体个数尽可能少;
- 实体所包含的属性尽可能少;
- 实体间联系无冗余。
2.逻辑结构设计
将概念结构设计好的E-R图转换为具体的数据库管理系统支持的数据模型。E-R模型向关系模型转换
转换示例:
1:1转换示例
部门表(部门号,部门名,经理号)
经理表(经理号,经理名,电话)
或者:
部门表(部门号,部门名)
经理表(经理号,部门号,经理名,电话)
1:n转换示例
部门表(部门号,部门名)
职工表(职工号,部门号,职工名,工资)
m:n转换示例
教师表(教师号,教师名,职称)
课程表(课程号,课程名,学分)
授课表(教师号,课程号,授课时数)
3.物理结构设计
数据库的物理设计通常分为两步:
- 确定数据库的物理结构;
- 对物理结构进行时间和空间效率的评价。