第4章 数据库设计方法 (1)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2.3 数据库概念设计案例介绍
案例1:学校教务管理系统概念设计。 根据系统需求分析得到学生实体,属性有学号(主码)、姓名、性别、出生日期 和专业等。课程实体,属性有课程号(主码)、课程名和学分等。学生与课程实体之 间通过选课建立联系,并派生出新的属性成绩。假定一门课程有若干名学生选修,而 一名学生可以选修多门课程,课程和学生之间具有多对多的联系。学生选修课程局部 E-R图如右图 示。
4.1.1 学生管理系统的设计
概念结构模型设计
院系 1 属于 N 1 属于 N 奖惩情况 N 奖惩 M 成绩 学习成绩 N 课程 M 讲授 N 员工 1 学生 1 N 住宿 1 宿舍 缴费情况 班级 N 缴纳
E-R 图
4.1.2 转化为关系模式(逻辑结构 模型设计)
• 1、院系关系(院系编号,名称,负责人) • 2、教职工关系(教职工号,教师姓名,性别,生日,岗位 类别,学历,职称,所属院系,所学专业,联系电话,家庭 地址) • 等等
3 定义联系 根据实际的业务需求、规则和实际情况确定出连接关系、关系名和说明,确定关系 类型,是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系。 如果子实体的每个实例都需要通过和父实体的关系来标识,则为标识关系,否则为 非标识关系。非标识关系中,如果每个子实体的实例都与而且只与一个父实体关联, 则为强制的,否则为非强制的。如果父实体与子实体代表的是同一现实对象,那么 它们为分类关系。 4 定义码 为实体标识候选码属性,以便唯一识别每个实体,再从候选码中确定主码。为了确 定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体的一个属 性不能是空值,也不能在同一个时刻有一个以上的值。
5 定义属性 从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。定义非主码 属性,检查属性的非空及非多值规则。此外,还要检查完全依赖函数规则和非传递 依赖规则,保证一个非主码属性必须依赖于整个主码主码且仅仅是依赖于主码。以 此得到了至少符合关系理论第三范式。 6 定义其他对象和规则 定义属性的数据类型、长度、精度、非空、缺省值、约束规则等。定义触发器、存 储过程、视图、角色、同义词、序列等对象信息。
4.2.3 E-R模型(概念模型)转换为逻辑 模型
☆每一个实体集对应于一个关系模式
*实体名——关系名 *实体属性——关系属性
☆实体间的联系一般对应于一个关系
*联系名——关系名
Βιβλιοθήκη Baidu
☆实体和联系中的关键字对应的属性——关系模式 的关键字
二、转换规则详细描述 1)一个实体转换为一个关系模式
在这种情况下,关系模式的属性就是实体的属性,关系模式 的主键就是实体标识符。
若转换为一个独立的关系模式,则与该联系相连的各实体的 实体标识符以及联系本身的属性均为该关系模式的属性, 关系模式的主键为n端实体的实体标识符,且各实体标识 符同时为外键。 若与n端对应的关系模式合并,则需要在n端关系模式中加入 1端的实体标识符和联系本身的属性,该实体标识符同时 为外键,合并后关系模式的主键不变。
读者编号 姓名 读者类型 已借数量
读者 n 借阅 m 图书 还期 借期
图书编号
书名
作者
出版社
出版日期
定价
档案号
档案资料
班级号
地址
档案材料 1
班级 1 1 组成 n n n 学生 m
职工号 姓名
归档
宿舍编号 地址
管理 1 m 教学 n 教师
职称
1 宿舍
住宿
床位数
性别
成绩
选修 讲授 1 课程
n
n
教室号
4.1 数据库系统的设计过程
• • • • • • • 需求分析阶段 概念结构设计阶段 逻辑结构设计阶段 物理结构设计阶段 数据库设计的实施阶段,即应用程序编 码、调试、试运行阶段(应用程序设计) 数据库系统的运行与维护阶段
设计阶段 数
需求分析 概念结构 设 计 逻辑结构 设 计 物理设计
设 计 描 述
• •
例如:图中的“管理”联系,可以转化为 管理(职工号,班级号)或者管理(班级号,职工号)(下划线为表示主键, 斜体表示外键)
•
管理和班级合并为班级(班级号,地址,职工号)或者管理与教师合并为教师 (职工号,姓名,性别,职称,班级号)
B、一个1:n联系可以转化为一个独立的关系模式,也可以 与n端的关系模式合并。
1
1 教室 开设
m
教材
地址
容量
课程号
课程名
学分
书号
书名
价钱
一、E-R模型转换为关系模型的规则:ER模型由实体、实体的属性和 实体之间的联系3个要素组成,而关系模型的逻辑模型是一组关系模 式的集合。将ER模型转换为关系模型,实际上是将实体、实体的属 性和实体间的联系转化为关系模式,并确定这些关系模式的属性和主 键。
数据字典 某种数据模型 关系模型
存储安排 存取方法选择 存取路径建立 编写模式 装入数据 数据库试运行 性能测试,转储/恢复数据库 重组和重构
实施阶段 (应用程 序设计) 运行维护
• 1.系统需求分析阶段
– 需求分析是整个数据库设计过程的基础,要收集数据库所有用户的信息 内容和处理要求,并加以规格化和分析。这是最费时、最复杂的一步, 但也是最重要的一步,相当于待构建的数据库大厦的地基,它决定了以 后各步设计的速度与质量。需求分析做得不好,可能会导致整个数据库 设计返工重做。在分析用户需求时,要确保用户目标的一致性。
• 2.概念结构设计阶段
– 概念设计是把用户的信息要求统一到一个整体逻辑结构中,此结构能够 表达用户的要求,是一个独立于任何DBMS软件和硬件的概念模型。(用 实体联系模型E-R表示)
• 3.逻辑结构设计阶段
– 逻辑设计是将上一步所得到的概念模型转换为某个 DBMS所支持的数据模 型,并对其进行优化。(得到关系模式)
据 处 理
数据字典、全系统中数据项、 数据流、数据存储的描述 概念模型(E-R图)
数据流图和定表(判定树) 数据字典中处理过程的描述 系统说明书。包括: (1) 新系统要求、方案和概图 (2) 反映新系统信息的数据流图 系统结构图 非关系模型(模块结构图) 模块设计 IPO表 程序编码 编译联结 测试 新旧系统转换、运行、维护(修 正性、适应性、改善性维护)
职工号 姓名 性别 出生日期 职称
教师 m 授课 n 课程 评价
课程号
课程名
学分
根据系统需求分析还可以得到教材实体,属性有教材号(主码)、教材名、出版社和 价格等,与课程实体之间通过选用建立联系,并派生出新的属性数量。假定一门课程选用 一种教材,一种教材被一门课选用,教材和课程之间具有一对一的联系。与学生选修课程 和教师授课局部E-R图一起构成教务管理系统综合E-R图如下图所示。为了简单起见,图中 学生、课程和教师实体只保留其主码属性。
学号 姓名 性别 出生日期 专业
学生 m 选课 n 课程 成绩
课程号
课程名
学分
根据系统需求分析还得到教师实体,属性有职工号(主码)、姓名、性 别、出生日期和职称等,与课程实体之间通过授课建立联系,并派生出新的 属性评价。假定一门课程可以有若干名教师讲授,每一名教师可以讲授多门 课程,教师和课程之间具有多对多的联系。教师授课局部E-R图,如下图所 示。
比如: 档案材料(档案号,档案资料) 同理可以得到其余的关系。
2)两个实体之间的联系
A、一个1:1的联系可以转化为一个独立的关系模式,也可以与任意一端 对应的关系模式合并。一般采取合并居多。 若转换为一个独立的关系模式,则与该联系相连的各实体的实体标识符 和联系本身的属性都是关系模式的属性,关系模式的主键为任一端实 体的实体标识符,另一端的实体标识符为关系模式的候选键,且各实 体标识符同时为外键。 若与某一端实体对应的关系模式合并,则需要在该关系模式中加入另一端 的实体标识符和联系本身的属性,该实体标识符同时为外键,合并后关 系模式的主键不变。
E-R图包含三个基本成分:实体、联系、属性。 1、实体型:用矩形表示,矩形框内写明实体名。 学生 2、属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 学号 3、联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有 关实体连接起来,同时在无向边旁标上联系的类型(1:1,l:n或m :n)。 学习
• 4.物理设计阶段
– 物理设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构 和存取方法。 – 上述分析和设计阶段是很重要的,如果做出不恰当的分析或设计,则会导致一个 不恰当或反应迟钝的应用系统。
• 5.数据库实施阶段(应用程序设计)
– 根据物理设计的结果把原始数据装入数据库,建立一个具体的数据库并编写和调 试相应的应用程序。应用程序的开发目标是开发一个可依赖的有效的数据库存取 程序,来满足用户的处理要求。
教材号
教材名
出版社
价格
教材 1 选用 1 学生 n 选课 m 课程 n 授课 m 教师
学号
课程号
职工号
案例2:图书借阅系统概念设计。
根据系统需求分析,得到读者实体,属性有读者编号、姓名、读者类型 和已借数量等。图书实体,属性有图书编号、书名、作者、出版社、出 版日期和定价等。读者和图书实体之间通过借阅建立联系,并派生出借 期和还期属性。假定一位读者可以借阅多本图书,一本图书可以经多位 读者借阅,读者和图书之间的借阅联系类型是多对多的。其E-R图如下图 所示。
• 6.数据库运行与维护阶段
– 这一阶段主要是收集和记录实际系统运行的数据,数据库运行的记录用来提高用 户要求的有效信息,用来评价数据库系统的性能,进一步调整和修改数据库。在 运行中,必须保持数据库的完整性,并能有效地处理数据库故障和进行数据库恢 复。在运行和维护阶段,可能要对数据库结构进行修改或扩充。
4.1.3 物理结构模型设计
院系信息表(College)
序号
1 2 3
字段名
colID colName colFuzeren
字段类型
Char(6) Varchar(20) Char(8) 院系编号
说明
备注
院系名称,不能为空 院系负责人 教职工号,外键
4.2 数据库的概念设计 案例
概念设计的目标是将需求分析得到的用户需求抽象为数据库的概念结构,即概念 模式。描述概念模式的是E-R图。
4.2.2设计E-R图的过程
1 设计局部E-R图
局部E―R模型设计是从需求分析数据流图和需求文档出发确定实体和属性,并根据数 据流图中表示的对数据的处理、确定实体之间的联系。
2 综合成初步E-R图 局部E-R图设计完成之后,将所有的局部E-R图综合成全局概念结构。它不仅要支持所 有的局部E-R模式,而且必须合理地表示一个完善、一致的数据概念结构。一般可以 使同一个实体只出现一次,进行两两合并,当然还要消除合并带来的一些属性、命名 和结构的冲突,便可产生总体E-R图。 3 优化成基本E-R图 初步E-R图是在对现实世界进行调查研究之后综合出来的全局和整体概念模型,但并 不一定是最优的。需要经过仔细分析找出潜在的数据冗余,再根据应用需求确定是否 消除冗余的属性或者冗余的联系。 以上仅仅举了商品进销存管理系统概念设计中一个非常简单的例子,目的是使读者对 概念设计有一个初步的了解。实际上的概念设计是非常复杂的,只能在工作中逐步学 习、积累经验。
学生
n
学习
m
课程
4.2.1概念设计的的一般步骤
1 初始化工程 这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划, 组织建模队伍,收集源材料,制定约束和规范。其中收集源材料是这阶段的重 点。通过调查和观察结果,由业务流程、原有系统的输入输出、各种报表、收 集的原始数据形成了基本数据资料表。 2 定义实体 实体集合的成员都有一个共同的特征和属性集,可以从收集的源材料—基本数据资 料表中直接或间接标识出大部分实体。根据源材料名字表中表示物的术语以及具有 “代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的 实体标识出来,从而初步找出潜在的实体,形成初步实体表。
问题提出
设计关系数据库的过 程是什么? 各个阶段的特点是什 么?
第4章 数据库设计方法
知识要求: • 数据库系统的设计过程 • 关系完整性 • 关系术语 • E-R绘制及转换关系模式
4.1 数据库系统的设计过程
新奥尔良(New Orleans)方法,它将数据库设计分 为四个阶段:需求分析(分析用户需求)、概念设 计(信息分析和定义)、逻辑设计(设计实现) 和物理设计(物理数据库设计)。其后, S.B.Yao 等将数据库设计分为5个步骤。I.R.Palmer主张将数 据库设计当成一步步的过程并采用一些辅助手段 实现每一过程。 目前是按照6个步骤进行。