MySQL数据库技术(第3版)课件 单元1 数据模型的规划与设计_第1页
MySQL数据库技术(第3版)课件 单元1 数据模型的规划与设计_第2页
MySQL数据库技术(第3版)课件 单元1 数据模型的规划与设计_第3页
MySQL数据库技术(第3版)课件 单元1 数据模型的规划与设计_第4页
MySQL数据库技术(第3版)课件 单元1 数据模型的规划与设计_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单元1数据模型的规划与设计项目知识要点与目标项目知识要点知识能力目标学时任务1设计数据库关系模型1数据模型2概念模型3E-R图的设计4数据库关系模型的建立任务2数据库设计规范化1关系型数据库范式理论

2数据库规范化实例3综合实例PetStore数据库的设计【典型工作任务】

对数据库系统进行分析,建立E-R图,关系模型【技能要求】

1

设计数据库关系模型2

数据库规范化【知识要求技能训练】1

掌握数据库设计的相关知识2

运用E-R图等工具设计数据库4项目实训创建“员工管理系统”的数据模型2修建茅屋需要设计吗?修建大厦需要设计吗?结论:当数据库比较复杂时我们需要设计数据库为什么需要设计数据库

数据库设计就是将数据库中的数据对象以及这些数据对象之间关系进行规划和结构化的过程任务一设计数据库关系模型为什么需要设计数据库良好的数据库设计节省数据的存储空间能够保证数据的完整性方便进行数据库应用系统的开发糟糕的数据库设计:数据冗余、存储空间浪费内存空间浪费数据更新和插入的异常数据冗余编号姓名年龄民族部门部门位置1王涛33汉族人事管理部行政楼3012李梅27汉族人事管理部行政楼301存在冗余为减少数据查找的麻烦,允许数据有一定的冗余数据冗余:指数据重复的现象1127李梅21133王涛1部门编码民族编码年龄姓名编号回族2汉族1民族民族编码市场营销部2人事管理部1部门部门编码行政楼402行政楼301部门位置数据完整性存在不正确、不准确的数据,数据库“失去了完整性”编码姓名地址销售代码11阿兰海淀黄庄菜园子AC09112东方求败海淀龙王庙鬼楼AC04315张无忌中关村大街3-201AC01113菜鸟特注海淀龙王庙树林AC04114赵可海淀龙王庙树林AC01215张无忌中关村大街2-101AC011姓名不同的地址!数据完整性:指数据的准确性

设计数据库关系模型概念模型:把现实世界转换为信息世界的模型,E-R模型实施模型:把信息世界转化为数据世界使用的模型,关系模型现实世界建模信息世界模型转换规范化数据库世界数据库数据库事物类事物性质实体集实体属性文件记录数据项实体模型概念模型数据模型实体模型现实世界客观存在的、可以被描述事物都是“实体”层次模型按层次模型组织的数据示例网状模型按网状模型组织的数据示例关系模型按关系模型组织的数据示例关系模型特点关系模型中基本数据结构是二维数据表,且必须满足相应的要求:(1)表说明的是关系模型中某一特定的方面或部分的对象及其属性(2)表中的行通常叫做记录或元组,代表具有相同属性的对象中的一个(3)表中的列通常叫做字段或属性,代表存储对象的共有的属性(4)数据表之间的关联通过“键”来实现的,键分为主键和外键两种。(5)表必须符合某些特定条件①信息原则:每个单元只能存贮一条数据;②列有唯一性的名称,贮存在列下的数据必须具有相同数据类型;列没有顺序;③每行数据是唯一的;行没有顺序;④实体完整性原则,即主键不能为空;⑤引用完整性原则,即外键不能为空;概念模型建模步骤:收集信息:与该系统有关人员进行交流、坐谈,充分理解数据库需要完成的任务标识对象(实体-Entity)标识数据库要管理的关键对象或实体标识每个实体的属性(Attribute)标识对象之间的关系(Relationship)建模:把现实世界转换为信息世界的模型,E-R模型建模实例:学生选课系统建模张三选修李四王五计算机基础英语MySQL数据库个体学号总学分专业名出生日期性别姓名共性学生实体抽象抽象实体共性课程课程号学分学时开课学期类别课程名关联选课成绩个体主码(关键字)

主码,也叫关键字实体集中的属性或最小属性组合的值,能唯一标识其对应实体,则将该属性或属性组合称为主码。对于每一个实体集,可指定一个码为主码。学生和课程实体集属性描述概念结构设计概念结构设计-E-R图方法实体关系图:简记E-R图,是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。实体型(Entity):具有相同的特征和性质的集合体,用实体名及其属性名来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框内写明实体名;比如学生张三、学生李四都是实体属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。联系(Relationship):数据对象彼此之间相互连接的方式称为联系,也称为关系。E-R模型E-R图的组成要素及其画法实体名联系名属性名实体集表示属性表示联系表示实体集及其属性表示绘制E-R图映射基数一对一XXXXYYYYXXXXYYYY一对多XXXXY

YY多对一XXXXYYYY多对多客户订单产品

MN

1N一对一联系(1:1)实体间不同联系情况的E-R图表示法一对一联系(1:1):1主任系管理1姓名年龄学历编号系编号系名任职时间例:每个系只有一个主任。则主任和系之间是一对一的关系。主任负责管理系的工作,主任和系之间是一个管理关系主任与系之间的一对一的联系一对多的联系(1:m):例:在某仓库管理系统中,有两个实体集:仓库和商品。仓库用来存放商品,且规定一类商品只能存放在一个仓库中,一个仓库可以存放多件商品。当商品存放在仓库时,存放联系中要反映出存放商品的数量。1仓库商品存放n地点面积仓库号商品号价格数量商品名一对多的联系(1:m)仓库和商品之间一对多的联系多对多联系(m:n):例:在某教务管理系统中,一个教师可以上多门课,一门课也可以由多个老师去上。教师和课程之间的多对多联系,教师通过讲授课程与课程发生联系,在“讲授”联系中应能反映出教师的授课质量。m教师课程讲授n教师名职称教师号课程号班级质量课程名多对多联系(m:n)教师和课程之间的多对多联系

E-R图设计实例【例1.1】网络图书销售系统处理会员图书销售。简化的业务处理过程为:网络销售的图书信息包括:图书编号,图书类别,书名,作者,出版社,出版时间,单价,数量,折扣,封面图片等;用户需要购买图书必须先注册为会员,提供身份证号,会员姓名,密码,性别,联系电话,注册时间等信息;系统根据会员的购买订单形成销售信息,包括订单号,身份证号,图书编号,订购册数,订购时间,是否发货,是否收货,是否结清。

请画出网络图书销售数据库E-R图。【例2.1】E-R图设计步骤1.确定实体集:网络图书销售系统中有两个实体集:图书和会员2.确定实体集属性及主码:(1)实体集会员属性有:身份证号,会员姓名,性别,联系电话,注册时间,密码。

会员实体集中可用身份证号来唯一标识各会员,所以主码为身份证号。(2)实体集图书属性有:图书编号,图书类别,书名,作者,出版社,出版时间,单价,数量,折扣,封面图片。

图书实体集中可用图书编号来唯一标识图书,所以主码为图书编号。3.确定实体集之间的联系:

图书销售给会员时图书与会员建立关联,联系“销售”的属性有:订购册数,订购时间,是否发货,是否收货,是否结清。为了更方便标识销售记录,可添加订单号作为该联系的主码。4.确定联系关系:

因为一个会员可以购买多种图书,一种图书可销售各多个会员,所以这是一种多对多(m:n)的联系。

根据以上分析画出的网络图书销售数据库E-R图网络图书销售数据库E-R图E-R图设计步骤

对于复杂的系统,E-R图设计通常都应经过以下两个阶段:

(1)针对每一用户画出该用户信息的局部E—R图,确定该用户视图的实体、属性和联系。需注意的是:能作为属性的就不要作为实体,这有利于E—R图的简化。

(2)综合局部E—R图,生成总体E—R图。在综合过程中,同名实体只能出现一次,还要去掉不必要的联系,以便消除冗余。一般来说,从总体E—R图必须能导出原来的所有局部视图,包括实体、属性和联系。复杂E-R图设计实例

【例2.2】工厂物流管理中的涉及雇员、部门、供应商、原材料、成品和仓库等实体,并且存在以下关联:(1)一个雇员只能在一个部门工作,一个部门可以有多个雇员。(2)每一个部门可以生产多种成品,但一种成品只能由一个部门生产。(3)一个供应商可以供应多种原材料,一种原材料也可以由多个供应商供货。(4)购买的原材料放在仓库中,成品也放在仓库中。一个仓库可以存放多种产品,一种产品也可以存放在不同的仓库中。(5)各部门从仓库中提取原料,并将成品放在仓库中。一个仓库可以存放多个部门的产品,一个部门的产品也可以存放在不同的仓库中。

画出简单的工厂物流管理系统E-R模型。局部E-R图1、找出工厂物流管理系统实体集:分别是雇员、部门、成品、供应商、原材料和仓库。2.从生产的角度,根据(1)和(2)画出雇员、部门和成品三个实体间的初步联系3.从供应的角度,根据(3)画出供应商和原材料两个实体间的初步联系,4.为是问题简化,实体的属性先不画出。全局E-R图5.从仓储的角度,根据(4)和(5)画出仓库与各实体之间的联系,最终得到工厂物流管理系统的E-R图6.实体联系中有多个数量属性,分别用数量1,数量2…以区分E-R图设计中常见问题分析【例2.3】画出出版社和图书的E-R图。1.实体与联系分析:一个出版社可以出版多本图书,一本图书只能由一个出版社出版,出版社和图书之间就是一对多的关系。2.属性与主码:出版社实体有社名、地址、邮编、网址、联系电话等属性。为了建立出版社与图书实体一对多的联系,还应该有一个出版社代码来唯一标识出版社;

图书实体有出版社、书名、作者、价格等属性。为了唯一标识图书,还应设置书号属性。

根据以上分析,画出出版社与图书的E-R图如下:图书出版E-R图案例分析

出版社和图书的E-R图分析:(1)出版社和图书的关系:出版社通过出版与图书建立关联。一个出版社可以出版多本图书,一本图书一般由一个出版社出版,出版社和图书之间就是一对多的关系。(2)出版社实体有社名、地址、邮编、网址、联系电话等属性,为了建立出版社与图书实体一对多的联系,还应该有一个出版社代码来唯一标识出版社(3)图书实体有出版社代码、书名、作者、价格等属性。为了唯一标识图书,还应设置书号属性。图书出版E-R图问题思考(1)1、怎么标识书号(选取关键字)?国际上规定:全世界的每本书都应该有唯一的编号,这个号码叫做ISBN号,俗称书号。ISBN号码又分为几个子域,每个域的代码表示不同的含义,从而保证了图书书号的全球唯一性。因此,用ISBN书号作为图书的唯一标识似乎是非常合理的。在实际管理过程中,如果有些书或者资料还没有书号怎么处理?一般不能以ISBN书号唯一标识图书实体,而应该自己定义唯一标识图书实体的属性,如定义内部的图书编号规则。在现实世界中,类似这样的问题有很多,通常需要为实体集定义额外的关键字段。图书出版E-R图问题思考(2)2、有些属性的值如果有多个,该怎么办?出版社实体有电话属性。但一个出版社一般不止一部电话,怎么处理?一种方法是仍使用一个电话属性,采用只保存一部电话或几部电话写在一起,这种方法适合于小单位。第二种方法是将电话属性独立出来,建立一个新的电话实体集,通过出版社代码属性,建立和出版社的一对多联系。图书出版E-R图问题思考(3)3、如何提取实体的属性?实体的属性可以说是无穷无尽,到底应提取哪些属性,要结合具体应用系统考虑。比如,对图书实体,一般属性有书号、社代码、书名、作者、价格、版次等,如果开发的是书店管理系统,这些属性一般够用了,但如果要开发印刷厂管理系统,还需要增加图书大小(32开还是16开,或具体数字)、印刷纸张规格、是否彩印、彩印规格、印刷数量、交货日期等属性。所以,提取一个实体的属性也要具体问题具体分析。通过出版社—图书的例子引出的三个问题,说明建立在现实世界基础上的E-R模型并不只有唯一答案。面向不同的应用、使用不同的方法,可以设计出不同的E-R模型。E—R模型到关系模型的转换

把E-R图转换为关系模型可遵循如下原则:

(1)对于E—R图中每个实体集,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性或哪几个属性组作为“主关键字”,主关键字用来标识实体。(2)对于E—R图中的联系,情况比较复杂,要根据实体联系方式的不同,采取不同的手段加以实现。(1:1)联系的E-R图转换(1)联系单独对应一关系模式,则由联系属性、参与联系的各实体集的主码属性构成关系模式,其主码可选参与联系的实体集的任一方的主码。BJ(班级编号,院系,专业名,人数)BZ(学号,姓名)SY(学号,班级编号)(2)联系不单独对应一关系模式,联系的属性及一方的主码加入另一方实体集对应的关系模式中。BJ(班级编号,院系,专业名,人数)BZ(学号,姓名,班级编号)或者BJ(班级编号,院系,专业名,人数,学号)BZ(学号,姓名)(1:n)联系的E-R图转换(1)联系单独对应一关系模式,则由联系的属性、参与联系的各实体集的主码属性构成关系模式,n端的主码作为该关系模式的主码。BJ(班级编号,院系,专业名,人数)XS(学号,姓名,专业名,性别,出生时间,总学分,备注)SY(学号,班级编号)(2)联系不单独对应一个关系模式,则将联系的属性及1端的主码加入n端实体集对应的关系模式中,主码仍为n端的主码

BJ(班级编号,院系,专业名,人数)XS(学号,姓名,专业名,性别,出生时间,总学分,备注,班级编号)(m:n)联系的E-R图转换对于(m:n)的联系,单独对应一关系模式,该关系模式包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各实体集的主码属性共同组成。XS(学号,姓名,专业名,性别,出生时间,总学分,备注)KC(课程号,课程名称,类别,开课学期,学时,学分)XS_KC(学号,课程号,成绩)假设A实体集与B实体集是1:1的联系,联系的转换有三种方法:①把A实体集的主关键字加入到B实体集对应的关系中,如果联系有属性也一并加入;②把B实体集的主关键字加入到A实体集对应的关系中,如果联系有属性也一并加入;③建立第三个关系,关系中包含两个实体集的主关键字,如果联系有属性也一并加入。两实体集间1:n联系

两实体集间1:n联系,可将“一方”实体的主关键字纳入“n方”实体集对应的关系中作为“外部关键字”,同时把联系的属性也一并纳入“n方”对应的关系中。两实体集间m:n联系

对于两实体集间m:n联系,必须对“联系”单独建立一个关系,用来联系双方实体集。该关系的属性中至少要包括被它所联系的双方实体集的“主关键字”,并且如果联系有属性,也要归入这个关系中。E-R模型到关系模型的转换总结任务二数据库设计规范化仅有好的RDBMS并不足以避免数据冗余,必须在数据库的设计中创建好的表结构DrE.F.codd最初定义了规范化的三个级别,范式是具有最小冗余的表结构。这些范式是:第一范式(1stNF-FirstNormalFromate)第二范式(2ndNF-SecondNormalFromate)第三范式(3rdNF-ThirdNormalFromate)关系数据库范式理论是在数据库设计过程中将要依据的准则,数据库结构必须要满足这些准则,才能确保数据的准确性和可靠性。这些准则则被称为规范化形式,即范式。第一范式(1stNF)BuyerIDCountryCity1342中国英国日本美国北京伦敦东京纽约………BuyerIDAddress1234中国北京市美国纽约市英国伦敦日本东京市……第一范式的目标是确保每列的原子性如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)第二范式(2ndNF)如果一个关系满足1NF,并且除了主键以外的其他列,都依赖与该主键,则满足第二范式(2NF)第二范式要求每个表只描述一件事情Orders字段例子订单编号产品编号订购日期价格001A0012000-2-3$29.00……Orders字段例子订单编号订购日期0012000-2-3Products字段例子产品编号价格A001$29.00第三范式(3rdNF)如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF)金额=单价*数量,是可以通过其它列计算得到,存在函数依赖关系,不满足第三范式Orders字段例子订单编号产品编号单价001AB00130数量50金额

1500Orders字段例子订单编号产品编号单价001AB00130数量

50规范化实例分析(1)假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下:公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同)公司定期制定一个工资报表,如图-1所示规范化实例分析(2)工程号工程名称职工号姓名职务小时工资率工时实发工资A1花园大厦1001齐光明工程师6513845.001002李思岐技术员6016960.001004葛宇宏律师60191140.00小计2945.00A2立交桥1001齐光明工程师6515975.001003鞠明亮工人5517935.00小计1910.00A3临江饭店1002李思岐技术员60181080.001004葛宇洪技术员6014840.00小计1920.00工资发放表规范化实例分析(3)工程号工程名称职工号姓名职务小时工资率工时A1花园大厦1001齐光明工程师6513A1花园大厦1002李思岐技术员6016A1花园大厦1001齐光明工程师6513A1花园大厦1003鞠明亮工人5517A3临江饭店

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论