项目8数据库规划与设计讲述

上传人:最**** 文档编号:117935315 上传时间:2019-12-11 格式:PPT 页数:41 大小:1.89MB
返回 下载 相关 举报
项目8数据库规划与设计讲述_第1页
第1页 / 共41页
项目8数据库规划与设计讲述_第2页
第2页 / 共41页
项目8数据库规划与设计讲述_第3页
第3页 / 共41页
项目8数据库规划与设计讲述_第4页
第4页 / 共41页
项目8数据库规划与设计讲述_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《项目8数据库规划与设计讲述》由会员分享,可在线阅读,更多相关《项目8数据库规划与设计讲述(41页珍藏版)》请在金锄头文库上搜索。

1、项目八 数据模型的规划与设计 单词学习 1Entity:实体 2Characteristic:特征 3Attribute:属性 4Relationship:联系 5Primary Key:主键 6Foreign Key:外键 7Domain:域 8Tuple:元组 9Relation:关系 10Normal Form:范式 本项目目标 了解设计数据库的步骤 掌握如何绘制数据库的E-R图 理解数据库的规范化三大范式 使用Powerdesigner设计数据库 概念模型的基本元素 实体(Entity) 实体的特征(Entity Characteristic) 实体集(Entity Set) 联系(R

2、elationship) 属性(Attribute) 主码(Primary Key)和候选码(Candidate Key) 域(Domain) 为什么需要设计数据库 修建茅屋需要设计吗?修建大厦需要设计吗? 结论:当数据库比较复杂时我们需要设计数据库 数据库设计就是将数据库中的数据对象以及这些数 据对象之间关系进行规划和结构化的过程 为什么需要设计数据库 良好的数据库设计 节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发 糟糕的数据库设计: 数据冗余、存储空间浪费 内存空间浪费 数据更新和插入的异常 软件项目开发周期 需求分析阶段:分析客户的业务和数据处理需求; 概要设计

3、阶段:设计数据库的E-R模型图,确认需求信息 的正确和完整; 详细设计阶段:将E-R图转换为多张表,进行逻辑设计, 并应用数据库设计的三大范式进行审核; 代码编写阶段:选择具体数据库进行物理实现,并编写 代码实现前端应用; 软件测试阶段: 安装部署: 现实世界 建模 信息世界 模型转换 规范化 数据库世界 数数 据据 库库 数数 据据 库库 设计数据库的步骤 收集信息: 与该系统有关人员进行交流、坐谈,充分理解数据库需要 完成的任务 标识对象(实体Entity) 标识数据库要管理的关键对象或实体 标识每个实体的属性(Attribute) 标识对象之间的关系(Relationship) ER模型

4、 三个世界 概念模型:把现实世界转换为信息世界的模型,E-R模型 实施模型:把信息世界转化为数据世界使用的模型,关系模型 事物类 事物 性质 实体集 实体 属性 文件 记录 数据项 现实世界信息世界数据世界 E-R模型的组成要素及表示方法 1E-R图的组成要素及其画法 实体名 联系名 属性名 实体表示属性表示联系表示 绘制E-R图 映射基数 一对一 X X X X Y Y Y Y X X X X Y Y Y Y 一对多 X X X X Y Y Y 多对一 X X X X Y Y Y Y 多对多 客户客户订单订单 产品产品 M N 1 N E-R模型的组成要素及表示方法 2实体间不同联系情况的E

5、-R图表示法 联系分为:一对一(1:1)、一对多(1:n)、多对多(m:n) 例:两个实实体集之间间的一对对一的联联系的绘绘制方法。假设设某学院有若干个系,每个系 只有一个主任。则则 主任和系之间间是一对对一的关系。 主任和系的属性分别别如下: 主任编编号,姓名,年龄龄,学历历; 系系编号,系名 主任和系之间是一个管理关系 解:描述主任和系之间的E-R图可如下图: 1 主任 系 管理 1 姓名年龄学历编号 系编号系名 任职时间 例:两个实体集之间的一对多的联系的绘制方法。 假设在某仓库管理系统中,有两个实体集:仓库和商品。仓库用来存放 商品,且规定一类商品只能存放在一个仓库中,一个仓库可以存放

6、多件 商品。仓库和商品之间是一对多的联系。 仓库和商品的属性分别如下: 仓库仓库号,地点,面积联单 商品商品号,商品名,价格 在存放联系中要反映出存放商品的数量。 解:描述仓库和商品之间的E-R图可如下图所示 1 仓库 商品 存放 n 地点面积仓库号 商品号价格 数量 商品名 两个实体集之间的多对多的联系的绘制方法。 假设在某教务管理系统中,一个教师可以上多门课,一门课也可以由多个老 师去上。教师和课程之间是多对多的联系。 教师和课程可用以下属性来描述: 教师教师号,教师名,职称 课程课程号,课程名,班级 在“讲授”联系中应能反映出教师的授课质量。 解:描述教师和课程之间的E-R图可如下图所示

7、。 m 教师 课程 讲授 n 教师名职称教师号 课程号班级 质量 课程名 ER图的设计方法 E-R图通常都应经过以下两个阶段: (1)针对每一用户画出该用户信息的局部ER图,确定该用户视图的实体、属性和联 系。需注意的是:能作为属性的就不要作为实体,这有利于ER图的简化。 (2)综合局部ER图,生成总体ER图。在综合过程中,同名实体只能出现一次,还 要去掉不必要的联系,以便消除冗余。一般来说,从总体ER图必须能导出原来的所 有局部视图,包括实体、属性和联系。 例:某田径运动会组委会需要一套运动会管理系统,现提出如下需求: (1)运动队方面 运动队:队编号、队名、教练姓名 运动员:编号、姓名、性

8、别、项目 其中,一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般有一个教练,一 个队员可参加多个项目 (2)运动会方面 运动队:队编号、队名、教练姓名 项目:项目编号,项目名、参加运动队编号、场地 其中,一个项目可由多个队参加,一个运动队可参加多个项目,一个项目一个比 赛场地。现要求分别设计运动队方面和运动会方面的两个局部E-R图。 局部E-R图 运动会局部E-R图 运动队局部E-R图 运动会局部E-R图 全局E-R图 合并的全局E-R图 合并后的全局E-R图存在如下冲突: (1)命名冲突:“项目”、“项目名称”异名同义,统一命名 为“项目名”; (2)结构冲突:“项目”在两个局部E

9、-R图中,一个做属性, 一个作实体,删除作为属性的项目,保留作为实体的项目 ;运动队在两个局部图里的属性结构不一致,需要进行统 一。 修改后的结果 关系模型的基本术语 关系(Relation) 元组(Tuple) 属性(Attribute)、主属性(Prime Attribute)和非主 属性(Non-Key Attribute) 主键(Primary Key) 外键(Foreign Key,FK) 关系模式(Relation Mode) ER模型到关系模型的转换 把E-R图转换为关系模型可遵循如下原则 : (1)对于ER图中每个实体集,都应转换为一个关系,该关系应包括对应实 体的全部属性,并

10、应根据关系所表达的语义确定哪个属性或哪几个属性组作 为“主关键字”,主关键字用来标识实体。 (2)对于ER图中的联系,情况比较复杂,要根据实体联系方式的不同,采取 不同的手段加以实现。下面着重讨论联系的转换方法。 两实体集间1:n联系 两实体集间1:n联系,可将“一方”实体的主关键字纳入“n方”实体集对应的 关系中作为“外部关键字”,同时把联系的属性也一并纳入“n方”对应的关系中 。 两实体集间m:n联系 对于两实体集间m:n联系,必须对“联系”单独建立一个关系,用来联系双 方实体集。该关系的属性中至少要包括被它所联系的双方实体集的“主关键字” ,并且如果联系有属性,也要归入这个关系中。 假设

11、A实体集与B实体集是1:1的联系,联系的转换有三种方法: 把A实实体集的主关键键字加入到B实实体集对应对应 的关系中,如果联联系有属性也一 并加入; 把B实实体集的主关键键字加入到A实实体集对应对应 的关系中,如果联联系有属性也一 并加入; 建立第三个关系,关系中包含两个实实体集的主关键键字,如果联联系有属性也 一并加入。 数据规范化 仅有好的RDBMS并不足以避免数据冗余,必须在数据 库的设计中创建好的表结构 Dr E.F.codd 最初定义了规范化的三个级别,范式是具 有最小冗余的表结构。这些范式是: 第一范式(1st NF First Normal Fromate) 第二范式(2nd N

12、FSecond Normal Fromate) 第三范式(3rd NF Third Normal Fromate) 第一范式 (1st NF) BuyerID Country City 1 1 4 2 中国 中国 日本 美国 北京 北京 东京 纽约 BuyerIDAddress 1 2 3 4 中国北京市 美国纽约市 英国利物浦 日本东京市 第一范式的目标是确保每列的原子性 如果每列都是不可再分的最小数据单元(也称为最小的原 子单元),则满足第一范式(1NF) 第二范式 (2nd NF) 如果一个关系满足1NF,并且除了主键以外的其他列,都依 赖与该主键,则满足第二范式(2NF) 第二范式要求

13、每个表只描述一件事情 Orders 字 段例 子 订单编号 产品编号 订购日期 价 格 001 A001 2000-2-3 $29.00 Orders 字 段例 子 订单编号 订购日期 001 2000-2-3 Products 字 段例 子 产品编号 价 格 A001 $29.00 第三范式 (3rd NF) 如果一个关系满足2NF,并且除了主键以外的其他列 都不传递依赖于主键列,则满足第三范式(3NF) Orders 字 段例 子 订单编号 订购日期 顾客编号 001 2000-2-3 AB001 顾客姓名Tony Orders 字 段例 子 订单编号 订购日期 顾客编号 001 2000

14、-2-3 AB001 规范化实例 假设某建筑公司要设计一个数据库。公司的业务规 则概括说明如下: 公司承担多个工程项目,每一项工程有:工程号、工程名 称、施工人员等 公司有多名职工,每一名职工有:职工号、姓名、性别、 职务(工程师、技术员)等 公司按照工时和小时工资率支付工资,小时工资率由职工 的职务决定(例如,技术员的小时工资率与工程师不同) 公司定期制定一个工资报表,如图-1所示 规范化实例 工程号工程名称职工号姓名职务小时工资率工时实发工资 A1花园大厦 1001齐光明工程师6513845.00 1002李思岐技术员60 16960.00 1004葛宇宏律师60191140.00 小计2

15、945.00 A2立交桥 1001齐光明工程师6515975.00 1003鞠明亮工人5517935.00 小计1910.00 A3临江饭店 1002李思岐技术员60181080.00 1004葛宇洪技术员6014840.00 小计1920.00 图-1 某公司的工资表 规范化实例 工程号工程名称职工号姓名职务小时工资率工时 A1花园大厦1001齐光明工程师6513 A1花园大厦 1002李思岐技术员60 16 A1花园大厦1001齐光明工程师6513 A1花园大厦1003鞠明亮工人5517 A3临江饭店1002李思岐技术员6018 A3临江饭店1004葛宇洪技术员6014 图-2 某公司的项目工时表 规范化实例 表中包含大量的冗余,可能会导致数据异常: 更新异常 例如,修改职工号=1001的职务,则必须修改所有职工号=1001的行

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

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

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