




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1项目八项目八数据模型的规划与设计 单词学习单词学习1Entity:实体实体 2Characteristic:特征特征3Attribute:属性属性 4Relationship:联系联系5Primary Key:主键主键 6Foreign Key:外键外键7Domain:域域 8Tuple:元组元组9Relation:关系关系 10Normal Form:范式范式本项目目标本项目目标了解设计数据库的步骤了解设计数据库的步骤掌握如何绘制数据库的掌握如何绘制数据库的E-R图图理解数据库的规范化三大范式理解数据库的规范化三大范式使用使用Powerdesigner设计数据库设计数据库概念模型的基本元素
2、概念模型的基本元素 实体(实体(Entity) 实体的特征(实体的特征(Entity Characteristic) 实体集(实体集(Entity Set)联系(联系(Relationship) 属性(属性(Attribute) 主码(主码(Primary Key)和候选码()和候选码(Candidate Key) 域(域(Domain) 为什么需要设计为什么需要设计数据库数据库修建茅屋需要设计吗修建茅屋需要设计吗?修建大厦需要设计吗修建大厦需要设计吗?结论结论:当数据库比较复杂时我们需要设计数据库当数据库比较复杂时我们需要设计数据库 数据库设计就是将数据库中的数据对象以及这些数据库设计就是将
3、数据库中的数据对象以及这些数据对象之间关系进行规划和结构化的过程数据对象之间关系进行规划和结构化的过程为什么需要设计为什么需要设计数据库数据库良好的数据库设计良好的数据库设计节省数据的存储空间节省数据的存储空间能够保证数据的完整性能够保证数据的完整性方便进行数据库应用系统的开发方便进行数据库应用系统的开发糟糕的数据库设计糟糕的数据库设计:数据冗余、存储空间浪费数据冗余、存储空间浪费内存空间浪费内存空间浪费数据更新和插入的异常数据更新和插入的异常软件项目开发周期软件项目开发周期需求分析阶段需求分析阶段:分析客户的业务和数据处理需求分析客户的业务和数据处理需求;概要设计阶段概要设计阶段:设计数据库
4、的设计数据库的E-R模型图模型图,确认需求信息的确认需求信息的正确和完整正确和完整;详细设计阶段详细设计阶段:将将E-R图转换为多张表图转换为多张表,进行逻辑设计进行逻辑设计,并应并应用数据库设计的三大范式进行审核用数据库设计的三大范式进行审核;代码编写阶段代码编写阶段:选择具体数据库进行物理实现选择具体数据库进行物理实现,并编写并编写 代码实现前端应用代码实现前端应用;软件测试阶段软件测试阶段:安装部署安装部署:现实世界现实世界建模建模信息世界信息世界模型转换模型转换 规范化规范化数据库世界数据库世界设计数据库的步骤设计数据库的步骤收集信息收集信息: 与该系统有关人员进行交流、坐谈与该系统有
5、关人员进行交流、坐谈,充分理解数据库需要完充分理解数据库需要完成的任务成的任务标识对象标识对象(实体(实体Entity) 标识数据库要管理的关键对象或实体标识数据库要管理的关键对象或实体 标识标识每个实体的属性(每个实体的属性(Attribute)标识对象之间的关系标识对象之间的关系(Relationship)ER模型模型 三个世界 概念模型概念模型:把现实世界转换为信息世界的模型把现实世界转换为信息世界的模型,E-R模型模型实施模型实施模型:把信息世界转化为数据世界使用的模型把信息世界转化为数据世界使用的模型,关系模型关系模型事物类事物性质实体集实体属性文件记录数据项现实世界信息世界数据世界
6、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 NE-R模型的组成要素及表示方法 2实体间不同联系情况的实体间不同联系情况的E-R图表示法图表示法联系分为联系分为:一对一一对一(1:1)、一对多、一对多(1:n)、多对多、多对多(m:n)例例: :两个实体集之间的一对一的联系的绘制方法。假设某学院有若干个
7、系两个实体集之间的一对一的联系的绘制方法。假设某学院有若干个系, ,每个系只有每个系只有一个主任。则一个主任。则 主任和系之间是一对一的关系。主任和系之间是一对一的关系。 主任和系的属性分别如下主任和系的属性分别如下: : 主任主任编号编号, ,姓名姓名, ,年龄年龄, ,学历学历; ; 系系系编号系编号, ,系名系名 主任和系之间是一个管理关系主任和系之间是一个管理关系 解解:描述主任和系之间的描述主任和系之间的E-R图可如下图图可如下图: : 1主任系管理1姓名年龄学历编号系编号系名任职时间例例: :两个实体集之间的一对多的联系的绘制方法。两个实体集之间的一对多的联系的绘制方法。 假设在某
8、仓库管理系统中假设在某仓库管理系统中, ,有两个实体集有两个实体集: :仓库和商品。仓库用来存放商仓库和商品。仓库用来存放商品品, ,且规定一类商品只能存放在一个仓库中且规定一类商品只能存放在一个仓库中, ,一个仓库可以存放多件商品。一个仓库可以存放多件商品。仓库和商品之间是一对多的联系。仓库和商品之间是一对多的联系。仓库和商品的属性分别如下仓库和商品的属性分别如下: : 仓库仓库仓库号仓库号, ,地点地点, ,面积联单面积联单 商品商品商品号商品号, ,商品名商品名, ,价格价格 在存放联系中要反映出存放商品的数量。在存放联系中要反映出存放商品的数量。 解解:描述仓库和商品之间的描述仓库和商
9、品之间的E-R图可如下图所示图可如下图所示 1仓库商品存放n地点面积仓库号商品号价格数量商品名两个实体集之间的多对多的联系的绘制方法。两个实体集之间的多对多的联系的绘制方法。 假设在某教务管理系统中假设在某教务管理系统中, ,一个教师可以上多门课一个教师可以上多门课, ,一门课也可以由多个老师一门课也可以由多个老师去上。教师和课程之间是多对多的联系。去上。教师和课程之间是多对多的联系。教师和课程可用以下属性来描述教师和课程可用以下属性来描述: : 教师教师教师号教师号, ,教师名教师名, ,职称职称 课程课程课程号课程号, ,课程名课程名, ,班级班级 在在“讲授讲授”联系中应能反映出教师的授
10、课质量。联系中应能反映出教师的授课质量。 解解:描述教师和课程之间的描述教师和课程之间的E-R图可如下图所示。图可如下图所示。 m教师课程讲授n教师名职称教师号课程号班级质量课程名ER图的设计方法图的设计方法 E-R图通常都应经过以下两个阶段图通常都应经过以下两个阶段: : (1)针对每一用户画出该用户信息的局部)针对每一用户画出该用户信息的局部ER图图, ,确定该用户视图的实体、属性和联确定该用户视图的实体、属性和联系。需注意的是系。需注意的是: :能作为属性的就不要作为实体能作为属性的就不要作为实体, ,这有利于这有利于ER图的简化。图的简化。 (2)综合局部)综合局部ER图图, ,生成总
11、体生成总体ER图。在综合过程中图。在综合过程中, ,同名实体只能出现一次同名实体只能出现一次, ,还要还要去掉不必要的联系去掉不必要的联系, ,以便消除冗余。一般来说以便消除冗余。一般来说, ,从总体从总体ER图必须能导出原来的所有局图必须能导出原来的所有局部视图部视图, ,包括实体、属性和联系。包括实体、属性和联系。 例例: :某田径运动会组委会需要一套运动会管理系统某田径运动会组委会需要一套运动会管理系统,现提出如下需求现提出如下需求:(1)运动队方面)运动队方面运动队运动队:队编号、队名、教练姓名队编号、队名、教练姓名运动员运动员:编号、姓名、性别、项目编号、姓名、性别、项目其中其中,一
12、个运动队有多个队员一个运动队有多个队员,一个队员仅属于一个运动队一个队员仅属于一个运动队,一个队一般有一个教练一个队一般有一个教练,一个队员一个队员可参加多个项目可参加多个项目(2)运动会方面)运动会方面运动队运动队:队编号、队名、教练姓名队编号、队名、教练姓名项目项目:项目编号项目编号,项目名、参加运动队编号、场地项目名、参加运动队编号、场地 其中其中,一个项目可由多个队参加一个项目可由多个队参加,一个运动队可参加多个项目一个运动队可参加多个项目,一个项目一个比赛场一个项目一个比赛场地。现要求分别设计运动队方面和运动会方面的两个局部地。现要求分别设计运动队方面和运动会方面的两个局部E-R图。
13、图。 局部局部E-R图图 运动会局部运动会局部E-R图图 运动队局部运动队局部E-R图图 运动会局部运动会局部E-R图图 全局全局E-R图图 合并的全局合并的全局E-R图图 合并后的全局合并后的全局E-R图存在如下冲突图存在如下冲突:(1)命名冲突)命名冲突:“项目项目”、“项目名称项目名称”异名同义异名同义,统一命名统一命名为为“项目名项目名”;(2)结构冲突)结构冲突:“项目项目”在两个局部在两个局部E-R图中图中,一个做属性一个做属性,一一个作实体个作实体,删除作为属性的项目删除作为属性的项目,保留作为实体的项目保留作为实体的项目;运动运动队在两个局部图里的属性结构不一致队在两个局部图里
14、的属性结构不一致,需要进行统一。需要进行统一。修改后的结果修改后的结果 关系模型的基本术语关系模型的基本术语 关系(关系(Relation)元组(元组(Tuple) 属性(属性(Attribute)、主属性()、主属性(Prime Attribute)和非主)和非主属性(属性(Non-Key Attribute) 主键(主键(Primary Key) 外键(外键(Foreign Key,FK) 关系模式(关系模式(Relation Mode) ER模型到关系模型的转换模型到关系模型的转换 把把E-R图转换为关系模型可遵循如下原则图转换为关系模型可遵循如下原则 : (1)对于)对于ER图中每个实
15、体集图中每个实体集, ,都应转换为一个关系都应转换为一个关系, ,该关系应包括对应实体该关系应包括对应实体的全部属性的全部属性, ,并应根据关系所表达的语义确定哪个属性或哪几个属性组作为并应根据关系所表达的语义确定哪个属性或哪几个属性组作为“主关键字主关键字”, ,主关键字用来标识实体。主关键字用来标识实体。 (2 2)对于)对于E ER R图中的联系图中的联系, ,情况比较复杂情况比较复杂, ,要根据实体联系方式的不同要根据实体联系方式的不同, ,采取不采取不同的手段加以实现。下面着重讨论联系的转换方法。同的手段加以实现。下面着重讨论联系的转换方法。 两实体集间两实体集间1:n联系联系 两实
16、体集间1:n联系,可将“一方”实体的主关键字纳入“n方”实体集对应的关系中作为“外部关键字”,同时把联系的属性也一并纳入“n方”对应的关系中。两实体集间两实体集间m:nm:n联系联系 对于两实体集间m:n联系,必须对“联系”单独建立一个关系,用来联系双方实体集。该关系的属性中至少要包括被它所联系的双方实体集的“主关键字”,并且如果联系有属性,也要归入这个关系中。 假设假设A实体集与实体集与B实体集是实体集是1:1的联系的联系, ,联系的转换有三种方法联系的转换有三种方法: : 把把A A实体集的主关键字加入到实体集的主关键字加入到B B实体集对应的关系中实体集对应的关系中, ,如果联系有属性也
17、一并如果联系有属性也一并加入加入; ; 把把B B实体集的主关键字加入到实体集的主关键字加入到A A实体集对应的关系中实体集对应的关系中, ,如果联系有属性也一并如果联系有属性也一并加入加入; ; 建立第三个关系建立第三个关系, ,关系中包含两个实体集的主关键字关系中包含两个实体集的主关键字, ,如果联系有属性也一如果联系有属性也一并加入。并加入。 数据规范化数据规范化 仅有好的仅有好的RDBMS并不足以避免数据冗余并不足以避免数据冗余,必须在数据库必须在数据库的设计中创建好的表结构的设计中创建好的表结构Dr E.F.codd 最初定义了规范化的三个级别最初定义了规范化的三个级别,范式是具有范
18、式是具有最小冗余的表结构。这些范式是最小冗余的表结构。这些范式是:第一范式第一范式(1st NF First Normal Fromate)第二范式第二范式(2nd NFSecond Normal Fromate)第三范式第三范式(3rd NF Third Normal Fromate)第一范式第一范式 (1st NF)BuyerID Country City1142中国中国中国中国日本日本美国美国北京北京北京北京东京东京纽约纽约BuyerIDAddress1234中国北京市中国北京市 美国纽约市美国纽约市英国利物浦英国利物浦日本东京市日本东京市 第一范式的目标是确保每列的原子性第一范式的目标
19、是确保每列的原子性如果每列都是不可再分的最小数据单元(也称为最小的原如果每列都是不可再分的最小数据单元(也称为最小的原子单元)子单元),则满足第一范式(则满足第一范式(1NF)第二范式第二范式 (2nd NF)如果一个关系满足如果一个关系满足1NF,并且除了主键以外的其他列并且除了主键以外的其他列,都依赖都依赖与该主键与该主键,则满足第二范式(则满足第二范式(2NF) 第二范式要求每个表只描述一件事情第二范式要求每个表只描述一件事情Orders字段字段例子例子订单编号订单编号产品编号产品编号订购日期订购日期价价 格格001A0012000-2-3$29.00 Orders字段字段例子例子订单编
20、号订单编号订购日期订购日期0012000-2-3Products字段字段例子例子产品编号产品编号价价 格格A001$29.00第三范式第三范式 (3rd NF)如果一个关系满足如果一个关系满足2NF,并且除了主键以外的其他列都并且除了主键以外的其他列都不传递依赖于主键列不传递依赖于主键列,则满足第三范式(则满足第三范式(3NF) Orders字段字段例子例子订单编号订单编号订购日期订购日期顾客编号顾客编号0012000-2-3AB001顾客姓名顾客姓名Tony Orders字段字段例子例子订单编号订单编号订购日期订购日期顾客编号顾客编号0012000-2-3AB001 规范化实例规范化实例假设
21、某建筑公司要设计一个数据库。公司的业务规假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下则概括说明如下: :公司承担多个工程项目公司承担多个工程项目, ,每一项工程有每一项工程有: :工程号、工程名称、工程号、工程名称、施工人员等施工人员等公司有多名职工公司有多名职工, ,每一名职工有每一名职工有: :职工号、姓名、性别、职职工号、姓名、性别、职务(工程师、技术员)等务(工程师、技术员)等公司按照工时和小时工资率支付工资公司按照工时和小时工资率支付工资, ,小时工资率由职工小时工资率由职工的职务决定(例如的职务决定(例如, ,技术员的小时工资率与工程师不同)技术员的小时工资率与工程师
22、不同)公司定期制定一个工资报表公司定期制定一个工资报表, ,如图如图- -1 1所示所示规范化实例规范化实例工程号工程号工程名称工程名称职工号职工号姓名姓名职务职务小时工资率小时工资率工时工时实发工资实发工资A1花园大厦花园大厦1001齐光明齐光明工程师工程师6513845.001002李思岐李思岐技术员技术员6016960.001004葛宇宏葛宇宏律师律师60191140.00小计小计2945.00A2立交桥立交桥1001齐光明齐光明工程师工程师6515975.001003鞠明亮鞠明亮工人工人5517935.00小计小计1910.00A3临江饭店临江饭店1002李思岐李思岐技术员技术员601
23、81080.001004葛宇洪葛宇洪技术员技术员6014840.00小计小计1920.00图图-1 某公司的工资表某公司的工资表规范化实例规范化实例工程号工程号工程名称工程名称职工号职工号姓名姓名职务职务小时工资率小时工资率工时工时A1花园大厦花园大厦1001齐光明齐光明工程师工程师6513A1花园大厦花园大厦1002李思岐李思岐技术员技术员6016A1花园大厦花园大厦1001齐光明齐光明工程师工程师6513A1花园大厦花园大厦1003鞠明亮鞠明亮工人工人5517A3临江饭店临江饭店1002李思岐李思岐技术员技术员6018A3临江饭店临江饭店1004葛宇洪葛宇洪技术员技术员6014图图-2 某
24、公司的项目工时表某公司的项目工时表规范化实例规范化实例表中包含大量的冗余表中包含大量的冗余,可能会导致数据异常可能会导致数据异常:更新异常更新异常 例如例如,修改职工号修改职工号=1001的职务的职务,则必须修改所有职工号则必须修改所有职工号=1001的行的行添加异常添加异常 若要增加一个新的职工时若要增加一个新的职工时,首先必须给这名职工分配一个工程。或者首先必须给这名职工分配一个工程。或者为了添加一名新职工的数据为了添加一名新职工的数据,先给这名职工分配一个虚拟的工程。先给这名职工分配一个虚拟的工程。(因为主关键字不能为空)(因为主关键字不能为空)删除异常删除异常 例如例如,1001号职工
25、要辞职号职工要辞职,则必须删除所有职工号则必须删除所有职工号1001的数据行。这的数据行。这样的删除操作样的删除操作,很可能丢失了其它有用的数据很可能丢失了其它有用的数据规范化实例规范化实例采用这种方法设计表的结构采用这种方法设计表的结构,虽然很容易产生工资虽然很容易产生工资报表报表,但是每当一名职工分配一个工程时但是每当一名职工分配一个工程时,都要重都要重复输入大量的数据。这种重复的输入操作复输入大量的数据。这种重复的输入操作,很可能很可能导致数据的不一致性。导致数据的不一致性。一张表描述了多件事情一张表描述了多件事情, ,如图如图- -3 3所示。所示。应用范式规范化设计应用范式规范化设计工程号工程号工程名称工程名称职工号职工号姓名姓名职务职务小时工资率小时工资率工时工时图图-3 函数依赖图函数依赖图工程信息工程信息员工信息员工信息项目工时信息项目工时信息应用第二范式规范化应用第二范式规范化工程号工程号工程名称工程名称职工号职工号姓名姓名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海市各区高三二模语文试题汇编《古诗鉴赏》含答案
- 《网络布局》课件
- 小儿透析失衡综合征的临床护理
- 2025商场租赁合同范本模板
- 2025教科书供货合同范本
- 社工模拟考试卷子及答案
- 山西省一模初中化学试卷及答案
- 三中中学初一试卷及答案
- 2025便捷高效的借款合同
- 老年人社会参与与互助合作考核试卷
- 国家开放大学《课程与教学论》形考任务1-4参考答案
- 药品网络交易服务三方平台质量管理体系文件-B2B平台(完整版)
- 护士延续注册体检表
- CJJ 82-2012 园林绿化工程施工及验收规范
- 服装导购工作合同范本
- 丽声北极星分级绘本第二级上Dinner for a Dragon 教学设计
- 用人单位职业健康监护档案(一人一档)
- 80吨吊车性能表
- 3Dmax笔试试题
- 某大厦供配电系统毕业设计(论文)
- 第一步登录山东省特种设备作业人员许可申报审批系统
评论
0/150
提交评论