《数据库设计案例》课件

上传人:tian****1990 文档编号:81564681 上传时间:2019-02-21 格式:PPT 页数:82 大小:1.41MB
返回 下载 相关 举报
《数据库设计案例》课件_第1页
第1页 / 共82页
《数据库设计案例》课件_第2页
第2页 / 共82页
《数据库设计案例》课件_第3页
第3页 / 共82页
《数据库设计案例》课件_第4页
第4页 / 共82页
《数据库设计案例》课件_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《《数据库设计案例》课件》由会员分享,可在线阅读,更多相关《《数据库设计案例》课件(82页珍藏版)》请在金锄头文库上搜索。

1、数据库设计,第七章,数据库设计,7.1 数据库设计过程与设计实例 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 关系模式的规范化 7.6 设计实例期刊采编系统,7.1 数据库设计过程 与设计实例,前面章节介绍的内容只解决了系统的实现过程,即如何建立各种对象,但并没有解释为什么创建这些对象。 数据库设计是根据一个给定的应用环境,构造最优的数据模型,利用DBMS,建立数据库应用系统。 如何建立一个高效适用的数据库应用系统,是数据库应用领域中的一个重要课题。数据库设计是一项软件工程,具有自身的特点,已逐步形成了数据库设计方法学。 简单地讲,数据库设计包括结构设计和行为设计。

2、结构设计是指按照应用要求,确定一个合理的数据模型。数据模型是用来反映和显示事物及其关系的。结构设计的结果就是得到数据库中表的结构。 行为设计是指应用程序的设计,将设计的结果物理化,实施数据库,如完成查询、修改、添加、删除、统计数据,制作报表等。行为设计要求满足数据的完整性、安全性、并发控制和数据库的恢复。,数据库设计要经历6个阶段: 需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施 数据库运行与维护,需求分析数据流程图,需求分析数据流,需求分析数据字典,概念结构设计,逻辑结构设计,“教学管理系统”的数据模型表示为: 系(系号,系名,系主任,电话) 教师(教师号,姓名,专业,职称,

3、性别,年龄,系号) 学生(学号,姓名,性别,出生日期,专业,照片,系号) 课程(课程号,课程名,学时,类别) 课程评价(教师号,课程号,评价) 选修(学号,课程号,分数),物理设计,进行物理结构设计是根据使用的计算机软硬件环境和数据库管理系统,确定数据库表的结构,并进行优化,为数据模型选择合理的存储结构和存取方法,决定存取路径和分配存取空间等。,建立索引的基本原则,1)如果一个属性(或一组属性)经常在查询条件或在连接操作的联接条件中出现,则考虑在这个属性(或这组属性)上建立索引(或组合索引) 2)如果一个属性经常作为最大值或最小值等聚合函数的参数,则考虑在这个属性上建立索引,数据库实施,数据库

4、实施是运用DBMS建立数据库,创建各种对象(表、窗体、查询),编制与调试应用程序,录入数据,进行试运行,数据库运行与维护,数据库系统正式投入使用后,还应不断进行评价、修改与调整。这一时期的工作就是数据库的运行和维护。,数据库设计流程,7.2 需求分析,需求分析是数据库设计的起点和基础 需求分析阶段的工作是详细准确地了解数据库应用系统的运行环境和用户要求 开发的目的是什么 用户需要从数据库中得到的数据信息是什么 输出这些信息采用何种方式或格式,需求分析的方法-调查,步骤 调查各部门的组成和业务活动 帮助用户进一步明确系统最终要求 把结果以标准化的文档表示出来,如使用数据流程图、数据字典和需求说明

5、等 方式 发调查表 请专业人员介绍 询问 跟班作业 查阅资料,数据流程图的基本画法,数据流程图要表述出数据来源、数据处理、数据输出以及数据存储,它主要反映了数据和处理的关系。,7.3 概念结构设计,任务 将需求分析结果抽象为概念模型 方法 建立E-R模型(Entity-Relationship model) E-R模型的表示方法为E-R图 E-R图实质 表示了实体、属性和实体间的联系,7.3.1 E-R图的表示方法,实体用矩形表示,矩形框内写明实体名 属性用椭圆表示,椭圆内写明属性名,并且将椭圆用线与相应的实体连接。 联系用菱形表示,菱形框内写明联系名,并用线分别与有关的实体连接起来,同时在线

6、上注明联系类型。(1:1,1:n或m:n),学生实体、课程实体的属性及其联系的E-R图表示,系、教师、学生和课程间的联系,确定出实体与实体间联系,教学管理的E-R模型,填全实体属性,7.3.2 建立E-R模型中的几个问题,相对原则 对于同一对象抽象的结果可能不同 简单原则 现实世界的事物能作为属性的尽量归为属性 设计过程 设计局部E-R模型 集成全局E-R模型 解决三种冲突 命名冲突 属性冲突 结构冲突,简单原则举例,不考虑宿舍的进一步信息时,宿舍应作为属性,建立E-R模型举例,例7-1 一个企业应用包括人员管理、生产管理、设备管理等功能模块。其中:人员管理需要记录职工编号、职工姓名、职务(干

7、部/工人)、年龄、性别等。一个职工工作于一个部门,一个部门有若干职工。对于部门应记录各部门的编号、部门名称、负责人、电话等信息。,设计局部E-R模型 人员管理的E-R图,设计局部E-R模型 设备管理的E-R图,设计局部E-R模型 生产管理的E-R图,将局部E-R模型集成全局E-R模型,7.4 逻辑结构设计,任务 将概念设计结果转换为DBMS支持的数据模型 步骤 将概念结构转换为数据模型 将转换来的模型向特定DBMS支持的数据模型转换(这里使用关系数据库模型) 对数据模型进行优化,7.4.1 E-R模型转换为 关系模型的方法,实体的转换 一个实体转换为一个关系模式 实体间联系的转换 一对一联系

8、一对多联系 多对多联系 主键的定义,实体的转换,一个实体转换为一个关系模式 实体的属性就是关系模式的属性 实体的键就是关系的主键 例如 教学管理系统中共有教师、系、学生和课程四个实体,它们转换为关系模式后分别为 教师(教师号,姓名,专业,职称,性别,年龄) 系(系号,系名,系主任,电话) 学生(学号,姓名,性别,出生日期,专业,照片) 课程(课程号,课程名,学时,类别),一对一联系的转换,方法一 联系转换为独立的关系模式 模式的属性由联系本身的属性及两个实体的键构成 主键由两个实体中的任意一个键构成 方法二 将联系与一端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内 主键不变,一对

9、一联系的转换 建立独立的关系模式,实体对应关系模式分别为: 班级(班号,专业,人数) 班长(学号,姓名,专长) 联系 管理(班号,学号),关系模式“管理”的主键也可以选择学号,一对一联系的转换 合并到实体关系模式,原实体对应关系模式分别为: 班级(班号,专业,人数) 班长(学号,姓名,专长),将联系“管理”合并到实体“班级”对应的模式后为: 班级(班号,专业,人数,学号) 班长(学号,姓名,专长),联系“管理”也可以合并到实体“班长”对应的模式,一对多联系的转换,方法一 联系转换为独立的关系模式 模式的属性由联系本身的属性及两个实体的键构成 主键由n端实体的键组成 方法二 将联系与n端的实体的

10、关系模式合并,即将联系的属性加入到实体的关系模式内 主键不变,一对多联系的转换 建立独立的关系模式,实体对应的关系模式 系(系号,系名,系主任,电话) 教师(教师号,姓名,专业,职称,性别,年龄) 联系对应的关系模式 管理(教师号,系号),一对多联系的转换 合并到实体关系模式,实体对应的关系模式 系(系号,系名,系主任,电话) 教师(教师号,姓名,专业,职称,性别,年龄) 合并到实体“教师”后 教师(教师号,姓名,专业,职称,性别,年龄,系号),只能合并到“多”的一端,多对多联系的转换,联系只能转换为独立模式 模式的属性由联系本身的属性及两个实体的键构成 主键由两端实体的键组合而成,多对多联系

11、的转换 建立独立的关系模式,课程(课程号,课程名,学时,类别) 学生(学号,姓名,性别,专业,出生日期,照片) 选修(学号,课程号,分数),7.4.2 E-R模型转换为关系模型举例,根据教学管理E-R模型建立教学管理系统的关系模型 根据例7-1的E-R模型建立企业应用系统的关系模型,系(系号,系名,系主任,电话),学生(学号,姓名,性别,出生日期,专业,照片),课程(课程号,课程名,学时,类别),教师(教师号,姓名,专业,职称,性别,年龄),选修(学号,课程号,分数),课程评价(教师号,课程号,评价),管理(教师号,系号),注册(学号,系号),系(系号,系名,系主任,电话) 课程(课程号,课程

12、名,学时,类别) 教师(教师号,姓名,专业,职称,性别,年龄,系号) 学生(学号,姓名,性别,出生日期,专业,照片,系号) 选修(学号,课程号,分数) 课程评价(教师号,课程号,评价),教学管理的关系模型,设备(设备编号,设备名称,价格),零件(零件编号,零件名称,规格),人员(职工编号,姓名,性别,年龄,职务),部门(部门编号,部门名称,负责人,电话),生产(零件编号,部门编号,生产日期,生产数量),装配(设备编号,零件编号,装配日期,装配数量),包含(职工编号,部门编号),人员(职工编号,姓名,性别,年龄,职务,部门编号),管理(部门编号,设备编号),合并,合并,设备(设备编号,设备名称,

13、价格,部门编号),企业应用的关系模型,人员(职工编号,姓名,性别,年龄,职务,部门编号) 部门(部门编号,部门名称,负责人,电话) 设备(设备编号,设备名称,价格,部门编号) 零件(零件编号,零件名称,规格) 生产(零件编号,部门编号,生产日期,生产数量) 装配(设备编号,零件编号,装配日期,装配数量),7.4.3 数据完整性设计,实体完整性 参照完整性 用户自定义完整性,7.5 关系模式的规范化,7.5.1 问题的提出 7.5.2 函数依赖与键 7.5.3 关系模式的范式与规范化,例如针对供应商建立了如下关系模式: 供货(供应商编号,供应商名称,联系方式,商品名称,商品价格),数据冗余大 数

14、据不一致性 操作异常,这个模式存在如下问题,函数依赖,函数依赖的概念 函数依赖的表示方法 函数依赖的类型 完全依赖 部分依赖 传递依赖,学生关系的函数依赖关系,学生(学号,姓名,性别,出生日期,专业),该关系的函数依赖集表示为: 学号姓名 学号性别 学号出生日期 学号专业,函数依赖的定义,给定一关系R,若当且仅当对应于R中属性X的每一个值,在任一时刻必有一个确定的属性Y值,则称Y是函数依赖于X,也可称为X函数决定Y,记为X-Y。,成绩(学号,姓名,课程号,课程名,分数),成绩关系的函数依赖集: 学号姓名 课程号课程名 (学号,课程号)分数,完全函数依赖和部分函数依赖,完全依赖 若称关系R中的属

15、性Y是完全依赖于属性X,则应满足以下两个条件: 属性Y函数依赖于属性X 属性Y不函数依赖于属性X的任一真子集X 部分依赖 如果属性Y只函数依赖于属性X的某一真子集X,则称属性Y部分函数依赖于属性X。,传递依赖,定义:在关系R中,如果属性X、Y、Z之间满足:XY,Y Z ,则称Z对X传递依赖。 例如关系模式: 辅导(学号,班级,辅导员) 函数依赖集: 学号班级 班级辅导员,键,定义:设K是关系R模式中的属性,当K的值确定后,关系中其它属性值也就唯一确定,且K的任何一个真子集不再具有这样的性质,则称K为R的键或候选键。 注意: 通常选择其中一个作主键 K可以是单个属性或属性组合,主属性与非主属性,

16、主属性 包含在任何一个候选键中的属性称为主属性 非主属性 不包含在候选键中的属性称为非主属性或非键属性,关系中主键是单属性的,则非键属性对主键肯定是完全函数依赖的。 而当主键是复合属性时,则非键属性对主键的函数依赖就有完全依赖和部分依赖两种可能。,外部键,设X是关系模式R中的属性或属性组,X并非R的键,而是另一关系模式的键,则称X是R的外键。 如: 系(部门编号,系名,系主任,电话) 教师(教师号,姓名,专业,职称,性别,年龄,部门编号),范式与规范化,范式 关系满足不同层次的要求就称为不同的范式 范式由低到高依次为1NF,2NF,3NF,4NF, 5NF 规范化 将一个低一级范式的关系模式分解为若干个满足高一级范式关系模式的集合的过程,1NF、2NF、3NF,1NF:如果关系模式R的每一个属性只包含单一的值,则关系模式R满足1NF 2NF:如果关系R满足第一范式,而且它的所有非主关键字属性完全依赖于整个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号