概念结构设计:E-R图在数据库建模中的关键作用

需积分: 45 3 下载量 80 浏览量 更新于2024-07-12 收藏 1.05MB PPT 举报
概念结构设计是数据库设计的关键阶段,它位于数据库设计过程中的核心位置。在这个阶段,设计者的目标是通过理解并抽象用户的需求,创建一个称为概念模式或概念结构的独立于具体数据库管理系统(DBMS)的模型。E-R图是描述这种概念结构的强大工具,它以实体-关系(Entity-Relationship,ER)模型的形式展示数据间的联系和属性。 在需求分析阶段,设计师需要深入理解用户的需求,包括数据的类型、数量、关系以及所需的处理操作。这是设计过程的基础,因为后续所有设计决策都将基于这些收集到的信息。需求分析不仅包括数据需求,还包括处理流程的需求,以便为最终的数据库系统提供明确的方向。 概念结构设计是对用户需求的归纳和抽象,它将现实世界的问题映射到数据库模型中。这通常涉及到识别实体、属性和它们之间的关系。在这个阶段,设计师可能会创建E-R图,用图形化的形式展示实体及其属性,并通过菱形、矩形和椭圆形表示实体、属性和关系,以帮助理解和交流。 逻辑结构设计则将概念结构转换为特定数据库管理系统支持的模型,例如关系模型、对象关系模型等。这个阶段可能涉及数据模型的选择、规范化(如第三范式、BCNF等),以确保数据的完整性和一致性。逻辑设计通常会考虑性能优化,如索引的选择和表的连接策略。 物理结构设计关注的是将逻辑模型转化为实际的存储方式,包括数据的存储结构(如行式存储还是列式存储)和存取方法。这需要根据硬件、操作系统、DBMS特性和性能目标来选择最合适的物理实现。 数据库实施阶段包括创建数据库、编写和调试应用程序,以及数据导入和初步运行测试。这是将设计变为实际可操作系统的阶段,可能涉及到数据库的创建、表的建立、触发器和存储过程的编写,以及与用户的初步交互。 最后,数据库运行和维护阶段是对整个系统的持续监控、评价、调整和修正,以确保其高效、稳定地满足用户需求。这可能包括性能调优、错误修复、备份和恢复策略的制定,以及随着业务变化进行的更新和改进。 总结来说,概念结构设计是数据库设计的关键环节,通过需求分析、E-R图的使用和多层设计过程,最终目标是构建一个满足用户需求且可高效运作的数据库系统。在整个设计过程中,需求分析起到至关重要的作用,而其他阶段则依次确保了从抽象到具体、从逻辑到物理的逐步转化和优化。
2023-01-08 上传
5.3 逻辑结构设计 逻辑结构设计的任务就是把概念模型转换为某个具体的数据库管理系统所 支持的数据模型。 具体来讲就是从 E-R 模型到关系模型的转换。 (1)根据 E-R 模型设计关系模式; (2)选择适当的范式对所得到的关系模式进行规范化; (3)将得到的关系模型转换为具体 DBMS 支持的数据模型,设计关系数据 库模式。 (4)依据关系的完整性约束来设计用户视图。 1、关系模型 关系模型是指用二维表的形式表示实体和实体间联系的数据模型。 关系模型 中无论是实体还是实体间的联系均由单一的结构类型——关系来表示。 在实际的 关系数据库中的关系也称表。一个关系数据库就是由若干个表组成。 关系模型数据结构 (1)关系 一个关系也就是通常所说的一张表。 关系具有以下特征: 1.关系中不能有任意两条完全相同的记录。 2.关系中的记录是非排序的。 3.关系中记录的字段是非排序的。 4.字段名称不能相同。 5.字段不可再分。 (2)元组 每一横行称为一个元组。 (3)属性 属性:每一竖列称为一个属性,在 DBMS 中常被称作字段。在一个关系中,有 一个关系名,同时每个属性都有一个字段名 (4)码(键) 能唯一标识元组的属性或属性集称为码。码分为以下几种: 候选码:如果在关系的一个码中不能移去任何一个属性,否则它就不是这个 关系的键,则称这个被指定的候选键为该关系的候选键或者候选码。 例如下列学生表中"学号"或"图书证号"都能唯一标识一个元组,则"学 号"和"图书证号"都能唯一地标识一个元组,则"学号"和"图书证号"都可 作为学生关系的候选键。 主键(主码) :在一个关系的若干候选键中指定一个用来唯一标识该关系的 元组,则称这个被指定的候选码称为主关键字,或简称为主键、关键字、主码。 每一个关系都有并且只有一主键,通常用较小的属性组合作为主键。 外键(外码) :关系中的某个属性虽然不是这个关系的主键,或者只是主键 的一部分,但它却是另外一个关系的主键时,则称之为外键或者外码。 例如学生表,选定"学号"作为数据操作的依据,则"学号"为主键。而在 选课表中,主键为(学号,课程号) ,外码为"学号" 。 (5)关系模式 关系模式是对关系的描述, 关系是关系模式的一个实例关系模式包括关系名、 各属性名,通常简记为: R(A1,A2, ,An) 其中 R 为关系名,A1,A2, ,An 为各属性名。 例如:学生(学号*,姓名,性别,出生日期,院系) 其中标"*"号的属性为主键 (6)关系完整性约束 学号 姓名 性别 年龄 图书证号 院系 2017001 张三 男 18 T20170101 中文 2017002 李四 男 19 T20170102 数学 2017003 王五 女 20 T20170103 英语 现实世界中,实体及其联系都要受到许多语义要求的限制。例如,一个学生 一个学期可以选修多门课程,但只能在本学期已开出的课程中进行选修;百分制 成绩的取值只能在 0~100 之间等。对应在关系数据库中,关系的值随着时间变 化时应该满足一些约束条件, 这种对关系的约束条件就表现为关系的完整性约束。 关系完整性主要是指以下三方面: 1.实体完整性:实体完整性是指关系的主码不能重复也不能取"空值"。 在关系模式中,以主关键字作为唯一性标识,而主关键字中的属性(称为主 属性)不能取空值,否则,表明关系模式中存在着不可标识的实体(因空值是"不 确定\"的),这与现实世界的实际情况相矛盾,这样的实体就不是一个完整实体。 按实体完整性规则要求,主属性不得取空值,如主关键字是多个属性的组合,则 所有主属性均不得取空值。 2.参照完整性:是指参照关系中每个元素的外码要么为空,要么等于被参照 关系中某个元素的主码。 比如属性 K 是关系模式 R1 的主键,K 也是关系模式 R2 的外键,那么在 R2 的关系中,K 的取值只允许有两种可能,或为空值,或等于 R1 关系中某个主键 值。 3.用户定义的完整性:指对关系中每个属性的取值作一个限制(或称为约束) 的具体定义。 比如性别属性只能取"男"或"女" ,再就是年龄的取值范围,可以取值 0-130 ,但不能取负数,因为年龄不可能是负数。 (7)关系的规范化,减少数据冗余 关系的规范化是为了解决数据库中数据的插入、删除、修改异常等问题的一 组规则。 关系范式是关系模式满足不同程度的规范化要求的标准, 是数据库逻辑设计 的指南和工具 关系规范化的前三个范式原则如下: 第一范式:若一个关系模式 R 的所有属性都是不可再分的基本数据项,则该 关系模式属于第一范式(1NF) 。 第二范式:若关系模式 R 属于 1NF,且每个非主属性都完全函数依赖于码, 则该关系模式属于 2NF,2NF 不允许关系模式中的非主属性部分函数依赖于码。