MySQL数据库整本书课件完整版电子教案(最新).ppt
-
资源ID:77248658
资源大小:8.89MB
全文页数:229页
- 资源格式: PPT
下载积分:19金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
MySQL数据库整本书课件完整版电子教案(最新).ppt
MySQL数据库数据库单元单元单元单元一一一一数据模型的规划与设计数据模型的规划与设计 项目知识要点与目标项目知识要点与目标项目知识要点项目知识要点知识能力目标知识能力目标学时学时1.1 1.1 任务任务1 1 设计数据库关系模型设计数据库关系模型1.1.1 1.1.1 数据模型数据模型1.1.2 1.1.2 概念模型概念模型1.1.3 E-R1.1.3 E-R图的设计图的设计1.1.4 1.1.4 数据库关系模型的建立数据库关系模型的建立1.2 1.2 任务任务2 2 数据库设计规范化数据库设计规范化1.2.1 1.2.1 关系型数据库范式理论关系型数据库范式理论1.2.2 1.2.2 数据库规范化实例数据库规范化实例 1.2.3 1.2.3 综合实例综合实例 PetStore PetStore数据库数据库的设计的设计 【情境】:数据库分析、设计【情境】:数据库分析、设计【职业岗位】:数据库管理员、程【职业岗位】:数据库管理员、程序员序员【典型工作任务】:【典型工作任务】:对数据库进行分析,建立对数据库进行分析,建立E-RE-R图,关图,关系模型系模型【技能要求】:【技能要求】:1 1、设计数据库关系模型、设计数据库关系模型2 2、数据库设计规范化、数据库设计规范化【知识要求技能训练】:【知识要求技能训练】:1 1、识记数据库的相关知识、识记数据库的相关知识2 2、数据库设计的相关知识、数据库设计的相关知识4 4项目实训一项目实训一创建创建“员工管理系统员工管理系统”的数据模型的数据模型2 2【学习情境】:【学习情境】:PetstorePetstore数据库结构设计数据库结构设计 Petstore(Petstore(宠物商店宠物商店)是是 SUN SUN 公司推出展示公司推出展示Java web Java web 应应用开发技术的网上商城示范项目。用开发技术的网上商城示范项目。功能需求分析:实现前台用户购物和后台管理两大部分功功能需求分析:实现前台用户购物和后台管理两大部分功能。前台购物为顾客服务,客户输入用户名、密码等信息能。前台购物为顾客服务,客户输入用户名、密码等信息进行注册,注册成功后就可以进行按产品的分类浏览网站,进行注册,注册成功后就可以进行按产品的分类浏览网站,当用户看中某个宠物时,可以加入用户的购物车,当购物当用户看中某个宠物时,可以加入用户的购物车,当购物选择完毕时,用户可以对购物车中的物品进行预订,系统选择完毕时,用户可以对购物车中的物品进行预订,系统生成相应的订单。后台商品管理为管理员所用,管理员可生成相应的订单。后台商品管理为管理员所用,管理员可以对商品进行分类,并为每个分类增加新商品以及对现有以对商品进行分类,并为每个分类增加新商品以及对现有商品完成修改、删除等操作。商品完成修改、删除等操作。要进行要进行Petstore Petstore 电子商务系统的开发,需要运用电子商务系统的开发,需要运用E-RE-R图等图等数据库设计工具,合理规划与设计数据库设计工具,合理规划与设计PetstorePetstore数据库。数据库。修建茅屋需要设计吗?修建茅屋需要设计吗?修建大厦需要设计吗?修建大厦需要设计吗?结论:当数据库比较复杂时我们需要设计数据库结论:当数据库比较复杂时我们需要设计数据库为什么需要设计数据库为什么需要设计数据库 数据库设计就是将数据库中的数据对象以及这些数据对象之间关数据库设计就是将数据库中的数据对象以及这些数据对象之间关系进行规划和结构化的过程系进行规划和结构化的过程任务一任务一 设计数据库关系模型设计数据库关系模型 为什么需要设计数据库为什么需要设计数据库良好的数据库设计良好的数据库设计节省数据的存储空间节省数据的存储空间能够保证数据的完整性能够保证数据的完整性方便进行数据库应用系统的开发方便进行数据库应用系统的开发糟糕的数据库设计:糟糕的数据库设计:数据冗余、存储空间浪费数据冗余、存储空间浪费内存空间浪费内存空间浪费数据更新和插入的异常数据更新和插入的异常数据冗余数据冗余编号编号姓名姓名年龄年龄民族民族部门部门部门位置部门位置1 1王涛王涛3333汉族汉族人事管理部人事管理部行政楼3012 2李梅李梅2727汉族汉族人事管理部人事管理部行政楼301存在冗余存在冗余为减少数据查找的麻烦,允许数据有一定的冗余为减少数据查找的麻烦,允许数据有一定的冗余数据冗余:指数据重复的现象数据冗余:指数据重复的现象1 11 12727李梅李梅2 21 11 13333王涛王涛1 1部部门编码门编码民族民族编码编码年年龄龄姓名姓名编编号号回族回族2 2汉汉族族1 1民族民族民族民族编码编码市市场营销场营销部部2 2人事管理部人事管理部1 1部部门门部部门编码门编码行政楼402行政楼301部部门门位置位置数据完整性数据完整性存在不正确、不准确的数据,数据库存在不正确、不准确的数据,数据库“失去了完整性失去了完整性”编码编码姓名姓名地址地址销售代码销售代码1111阿兰阿兰海淀黄庄菜园子海淀黄庄菜园子AC0911212东方求败东方求败海淀龙王庙鬼楼海淀龙王庙鬼楼AC0431515张无忌张无忌中关村大街中关村大街3-201AC0111313菜鸟特注菜鸟特注海淀龙王庙树林海淀龙王庙树林AC0411414赵可赵可海淀龙王庙树林海淀龙王庙树林AC0121515张无忌张无忌中关村大街中关村大街2-101AC011姓名姓名不同的地址不同的地址!数据完整性:指数据的准确性数据完整性:指数据的准确性1.1 设计数据库关系模型概念模型概念模型:把现实世界转换为信息世界的模型把现实世界转换为信息世界的模型,E-R模型模型实施模型实施模型:把信息世界转化为数据世界使用的模型把信息世界转化为数据世界使用的模型,关系模型关系模型现实世界现实世界建模建模信息世界信息世界模型转换模型转换规范化规范化数据库世界数据库世界数数数数 据据据据 库库库库数数数数 据据据据 库库库库事物类事物类事物事物性质性质实体集实体集实体实体属性属性文件文件记录记录数据项数据项实体模型实体模型概念模型概念模型数据模型数据模型实体模型实体模型 现实世界客观存在的、可以被描述事物都是现实世界客观存在的、可以被描述事物都是“实体实体”层次模型层次模型 按层次模型组织的数据示例按层次模型组织的数据示例网状模型网状模型 按网状模型组织的数据示例按网状模型组织的数据示例关系模型关系模型 按关系模型组织的数据示例按关系模型组织的数据示例关系模型特点关系模型特点 关系模型中基本数据结构是二维数据表,且必须满足相应的要求:关系模型中基本数据结构是二维数据表,且必须满足相应的要求:(1)表说明的是关系模型中某一特定的方面或部分的对象及其属性)表说明的是关系模型中某一特定的方面或部分的对象及其属性(2)表中的行通常叫做记录或元组,代表具有相同属性的对象中的一个)表中的行通常叫做记录或元组,代表具有相同属性的对象中的一个(3)表中的列通常叫做字段或属性,代表存储对象的共有的属性)表中的列通常叫做字段或属性,代表存储对象的共有的属性(4)数据表之间的关联通过)数据表之间的关联通过“键键”来实现的,键分为主键和外键两种。来实现的,键分为主键和外键两种。(5)表必须符合某些特定条件)表必须符合某些特定条件信息原则:每个单元只能存贮一条数据;信息原则:每个单元只能存贮一条数据;列有唯一性的名称,贮存在列下的数据必须具有相同数据类型;列列有唯一性的名称,贮存在列下的数据必须具有相同数据类型;列没有顺序;没有顺序;每行数据是唯一的;行没有顺序;每行数据是唯一的;行没有顺序;实体完整性原则,即主键不能为空;实体完整性原则,即主键不能为空;引用完整性原则,即外键不能为空;引用完整性原则,即外键不能为空;1.1.2概念模型建模步骤:建模步骤:收集信息收集信息:与该系统有关人员进行交流、坐谈,充分理解数据库需与该系统有关人员进行交流、坐谈,充分理解数据库需要完成的任务要完成的任务标识对象标识对象(实体(实体EntityEntity)标识数据库要管理的关键对象或实体标识数据库要管理的关键对象或实体 标识标识每个实体的属性(每个实体的属性(AttributeAttribute)标识对象之间的关系标识对象之间的关系(RelationshipRelationship)建模:把现实世界转换为信息世界的模型建模:把现实世界转换为信息世界的模型,E-R模模型型建模实例:学生选课系统建模建模实例:学生选课系统建模张三选修李四王五计算机基础英语MySQL数据库个体学号总学分专业名出生日期性别姓名共性学生实体抽象抽象实体共性课程课程号学分学时开课学期类别课程名关联选课成绩个体主码(关键字)主码(关键字)主码(关键字)主码(关键字)主码:也叫关键字,主码:也叫关键字,实体集中的属性或最实体集中的属性或最小属性组合的值能唯小属性组合的值能唯一标识其对应实体,一标识其对应实体,则将该属性或属性组则将该属性或属性组合称为码。对于每一合称为码。对于每一个实体集,可指定一个实体集,可指定一个码为主码。个码为主码。学生和课程实体集属性描述学生和课程实体集属性描述概念结构设计概念结构设计概念结构设计概念结构设计概念结构设计概念结构设计-E-R-E-R图方法图方法实体关系图:简记实体关系图:简记E-RE-R图,是指以实体、关系、属性三个基本概念图,是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。概括数据的基本结构,从而描述静态数据结构的概念模式。实体型实体型(Entity)(Entity):具有相同的特征和性质的集合体,用实体名及其:具有相同的特征和性质的集合体,用实体名及其属性名来抽象和刻画同类实体属性名来抽象和刻画同类实体;在在E-RE-R图中用图中用矩形矩形表示,矩形框内写表示,矩形框内写明实体名;比如学生张三、学生李四都是实体明实体名;比如学生张三、学生李四都是实体属性属性(Attribute)(Attribute):实体所具有的某一特性,一个实体可由若干个:实体所具有的某一特性,一个实体可由若干个属性来刻画。在属性来刻画。在E-RE-R图中用图中用椭圆椭圆形表示,并用无向边将其与相应的形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。实体连接起来;比如学生的姓名、学号、性别、都是属性。联系联系(Relationship)(Relationship):数据对象彼此之间相互连接的方式称为联数据对象彼此之间相互连接的方式称为联系,也称为关系。系,也称为关系。E-RE-RE-RE-R模型模型模型模型E-R图的组成要素及其画法图的组成要素及其画法实体名联系名属性名实体表示属性表示联系表示绘制绘制E-RE-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 N1 N一对一一对一(1:1)(1:1)联系联系实体间不同联系情况的实体间不同联系情况的E-RE-R图表示法图表示法一对一一对一(1:1)(1:1)联系:联系:1主任主任系系管理管理1姓名姓名年龄年龄学历学历编号编号系编号系编号系名系名任职时间任职时间例:某学院有若干个系,每例:某学院有若干个系,每个系只有一个主任。则主任个系只有一个主任。则主任和系之间是一对一的关系。和系之间是一对一的关系。主任和系的属性分别如下:主任和系的属性分别如下:主任主任编号,姓名,年编号,姓名,年龄,学历龄,学历;系系系编号,系名系编号,系名 主任和系之间是一个管理关主任和系之间是一个管理关系系主任与系之间的一对一的联系主任与系之间的一对一的联系一对多(一对多(1 1:m m)的联系)的联系例:例:在某仓库管理系统中,有在某仓库管理系统中,有两个实体集:仓库和商品。两个实体集:仓库和商品。仓库用来存放商品,且规定仓库用来存放商品,且规定一类商品只能存放在一个仓一类商品只能存放在一个仓库中,一个仓库可以存放多库中,一个仓库可以存放多件商品。件商品。仓库和商品的属性分别如下:仓库和商品的属性分别如下:仓库仓库仓库号,地点,面积仓库号,地点,面积 商品商品商品号,商品名,价商品号,商品名,价格格 在存放联系中要反映出存放商品在存放联系中要反映出存放商品的数量。的数量。1仓库商品存放n地点面积仓库号商品号价格数量商品名一对多(一对多(1 1:m m)的联系)的联系仓库和商品之间一对多的联系仓库和商品之间一对多的联系多对多(多对多(m:n)m:n)联系:联系:假设在某教务管理系统假设在某教务管理系统中,一个教师可以上多中,一个教师可以上多门课,一门课也可以由门课,一门课也可以由多个老师去上。多个老师去上。教师和课程可用以下属教师和课程可用以下属性来描述:性来描述:教师教师教师号,教师教师号,教师名,职称名,职称 课程课程课程号,课程课程号,课程名,班级名,班级 在在“讲授讲授”联系中应能联系中应能反映出教师的授课质量。反映出教师的授课质量。m教师课程讲授n教师名职称教师号课程号班级质量课程名多对多(多对多(m:n)m:n)联系联系教师和课程之间的多对多联系教师和课程之间的多对多联系1.1.3 E-R图设计实例【例【例1.11.1】网络图书销售系统处理会员图书销售。简化的业务处理过网络图书销售系统处理会员图书销售。简化的业务处理过程为:网络销售的图书信息包括:图书编号,图书类别,书名,作者,程为:网络销售的图书信息包括:图书编号,图书类别,书名,作者,出版社,出版时间,单价,数量,折扣,封面图片等;用户需要购买出版社,出版时间,单价,数量,折扣,封面图片等;用户需要购买图书必须先注册为会员,提供身份证号,会员姓名,密码,性别,联图书必须先注册为会员,提供身份证号,会员姓名,密码,性别,联系电话,注册时间等信息;系统根据会员的购买订单形成销售信息,系电话,注册时间等信息;系统根据会员的购买订单形成销售信息,包括订单号,身份证号,图书编号,订购册数,订购时间,是否发货,包括订单号,身份证号,图书编号,订购册数,订购时间,是否发货,是否收货,是否结清。是否收货,是否结清。请画出网络图书销售数据库请画出网络图书销售数据库E-RE-R图。图。【例1.1】E-R图设计步骤1.1.确定实体集:确定实体集:网络图书销售系统中有两个实体集:图书和会员网络图书销售系统中有两个实体集:图书和会员2.2.确定实体集属性及主码:确定实体集属性及主码:(1 1)实体集会员属性有:身份证号,会员姓名,性别,联系电话,注册时间,)实体集会员属性有:身份证号,会员姓名,性别,联系电话,注册时间,密码。密码。会员实体集中可用身份证号来唯一标识各会员,所以主码为身份证号。会员实体集中可用身份证号来唯一标识各会员,所以主码为身份证号。(2 2)实体集图书属性有:图书编号,图书类别,书名,作者,出版社,出版时)实体集图书属性有:图书编号,图书类别,书名,作者,出版社,出版时间,单价,数量,折扣,封面图片。间,单价,数量,折扣,封面图片。图书实体集中可用图书编号来唯一标识图书,所以主码为图书编号。图书实体集中可用图书编号来唯一标识图书,所以主码为图书编号。3.3.确定实体集之间的联系:图书销售给会员时图书与会员建立关联,确定实体集之间的联系:图书销售给会员时图书与会员建立关联,联系联系“销销售售”的属性有:订购册数,订购时间,是否发货,是否收货,是否结清。的属性有:订购册数,订购时间,是否发货,是否收货,是否结清。为了更方便标识销售记录,可添加订单号作为该联系的主码。为了更方便标识销售记录,可添加订单号作为该联系的主码。4.4.确定联系关系:确定联系关系:因为一个会员可以购买多种图书,一种图书可销售各多个会员,所以这是因为一个会员可以购买多种图书,一种图书可销售各多个会员,所以这是一种多对多(一种多对多(m:nm:n)的联系。)的联系。根据以上分析画出的网络图书销售数据库根据以上分析画出的网络图书销售数据库E-R图图网络图书销售数据库网络图书销售数据库E-RE-R图图E E-R R图设计步骤图设计步骤 对于复杂的系统,对于复杂的系统,E-RE-R图设计通常都应经过以下图设计通常都应经过以下两个阶段两个阶段:(1 1)针对每一用户画出该用户信息的局部)针对每一用户画出该用户信息的局部E ER R图,确定图,确定该用户视图的实体、属性和联系。需注意的是:能作为该用户视图的实体、属性和联系。需注意的是:能作为属性的就不要作为实体,这有利于属性的就不要作为实体,这有利于E ER R图的简化。图的简化。(2 2)综合局部)综合局部E ER R图,生成总体图,生成总体E ER R图。在综合过程中,图。在综合过程中,同名实体只能出现一次,还要去掉不必要的联系,以便同名实体只能出现一次,还要去掉不必要的联系,以便消除冗余。一般来说,从总体消除冗余。一般来说,从总体E ER R图必须能导出原来的图必须能导出原来的所有局部视图,包括实体、属性和联系。所有局部视图,包括实体、属性和联系。复杂复杂E-RE-R图设计实例图设计实例 【例【例1.21.2】工厂物流管理中的涉及雇员、部门、供应商、原材料、成品工厂物流管理中的涉及雇员、部门、供应商、原材料、成品和仓库等实体,并且存在以下关联:和仓库等实体,并且存在以下关联:(1 1)一个雇员只能在一个部门工作,一个部门可以有多个雇员。)一个雇员只能在一个部门工作,一个部门可以有多个雇员。(2 2)每一个部门可以生产多种成品,但一种成品只能由一个部门生产。)每一个部门可以生产多种成品,但一种成品只能由一个部门生产。(3 3)一个供应商可以供应多种原材料,一种原材料也可以由多个供应)一个供应商可以供应多种原材料,一种原材料也可以由多个供应商供货。商供货。(4 4)购买的原材料放在仓库中,成品也放在仓库中。一个仓库可以存)购买的原材料放在仓库中,成品也放在仓库中。一个仓库可以存放多种产品,一种产品也可以存放在不同的仓库中。放多种产品,一种产品也可以存放在不同的仓库中。(5 5)各部门从仓库中提取原料,并将成品放在仓库中。一个仓库可以)各部门从仓库中提取原料,并将成品放在仓库中。一个仓库可以存放多个部门的产品,一个部门的产品也可以存放在不同的仓库中。存放多个部门的产品,一个部门的产品也可以存放在不同的仓库中。画出简单的工厂物流管理系统画出简单的工厂物流管理系统E-RE-R模型。模型。局部局部E-RE-R图图1 1、找出工厂物流管理系统实体集:分别是雇员、部门、成品、供应商、找出工厂物流管理系统实体集:分别是雇员、部门、成品、供应商、原材料和仓库。原材料和仓库。2.2.从生产的角度,根据(从生产的角度,根据(1 1)和()和(2 2)画出雇员、部门和成品三个实体间)画出雇员、部门和成品三个实体间的初步联系的初步联系3.3.从供应的角度,根据(从供应的角度,根据(3 3)画出供应商和原材料两个实体间的初步联系,)画出供应商和原材料两个实体间的初步联系,4.4.为是问题简化,实体的属性先不画出。为是问题简化,实体的属性先不画出。全局全局E-RE-R图图5.5.从仓储的角度,根据(从仓储的角度,根据(4 4)和()和(5 5)画出仓库与各实体之间的联系,最)画出仓库与各实体之间的联系,最终得到工厂物流管理系统的终得到工厂物流管理系统的E-RE-R图图6.6.实体联系中有多个数量属性,分别用数量实体联系中有多个数量属性,分别用数量1 1,数量,数量2 2以区分以区分课堂练习课堂练习课堂练习课堂练习7.各实体的属性如下,请进一步完成工厂物流各实体的属性如下,请进一步完成工厂物流E-R图图雇员雇员部门部门供应商供应商原材料和成品原材料和成品仓库仓库雇员号,姓名,雇员号,姓名,性别,职称,性别,职称,工资,住址工资,住址部门号,部门号,名称,电话名称,电话编号,名称,编号,名称,联系人,联系人,电话,电话,银行账号银行账号编号,名称,编号,名称,规格,单价,规格,单价,数量数量库号,库号,地址,地址,电话电话E-RE-R图设计中常见问题分析图设计中常见问题分析【例【例1.31.3】画出出版社和图书的画出出版社和图书的E-RE-R图。图。1.1.实体与联系分析:一个出版社可以出版多本图书,一本图书只能由实体与联系分析:一个出版社可以出版多本图书,一本图书只能由一个出版社出版,出版社和图书之间就是一对多的关系。一个出版社出版,出版社和图书之间就是一对多的关系。2.2.属性与主码:出版社实体有社名、地址、邮编、网址、联系电话等属性与主码:出版社实体有社名、地址、邮编、网址、联系电话等属性。为了建立出版社与图书实体一对多的联系,还应该有一个出版属性。为了建立出版社与图书实体一对多的联系,还应该有一个出版社代码来唯一标识出版社;社代码来唯一标识出版社;图书实体有出版社、书名、作者、价格等属性。为了唯一标识图书,图书实体有出版社、书名、作者、价格等属性。为了唯一标识图书,还应设置书号属性。还应设置书号属性。根据以上分析,画出出版社与图书的根据以上分析,画出出版社与图书的E-RE-R图如下:图如下:图书出版图书出版图书出版图书出版E-RE-RE-RE-R图案例分析图案例分析图案例分析图案例分析出版社和图书的出版社和图书的E-RE-R图分析:图分析:(1 1)出版社和图书的关系:出版社通过出版与图书建立关联。)出版社和图书的关系:出版社通过出版与图书建立关联。一个出版社可以出版多本图书,一本图书一般由一个出版社出一个出版社可以出版多本图书,一本图书一般由一个出版社出版,出版社和图书之间就是一对多的关系。版,出版社和图书之间就是一对多的关系。(2 2)出版社实体有社名、地址、邮编、网址、联系电话等属性,)出版社实体有社名、地址、邮编、网址、联系电话等属性,为了建立出版社与图书实体一对多的联系,还应该有一个出版为了建立出版社与图书实体一对多的联系,还应该有一个出版社代码来唯一标识出版社社代码来唯一标识出版社(3 3)图书实体有出版社代码、书名、作者、价格等属性。为了唯)图书实体有出版社代码、书名、作者、价格等属性。为了唯一标识图书,还应设置书号属性。一标识图书,还应设置书号属性。图书出版图书出版图书出版图书出版E-RE-RE-RE-R图问题思考(图问题思考(图问题思考(图问题思考(1 1 1 1)1 1、怎么标识书号(选取关键字)?、怎么标识书号(选取关键字)?为了管理方便,国际上规定:全世界的每本书都应该有唯一的编为了管理方便,国际上规定:全世界的每本书都应该有唯一的编号,这个号码叫做号,这个号码叫做ISBNISBN号,俗称书号。号,俗称书号。ISBNISBN号码又分为几个子域,号码又分为几个子域,每个域的代码表示不同的含义。例如,某本书的书号是每个域的代码表示不同的含义。例如,某本书的书号是7-302-7-302-06610-806610-8,它有四个子域,域之间用,它有四个子域,域之间用-分隔。第一个子域分隔。第一个子域7 7代表中代表中国大陆出版的图书;第二个子域为出版社的代码,如国大陆出版的图书;第二个子域为出版社的代码,如302302代表清代表清华大学出版社;后面两个子域是出版社的内部分类编号,不同的华大学出版社;后面两个子域是出版社的内部分类编号,不同的出版社可以自己规定,各不相同,从而保证了图书书号的全球唯出版社可以自己规定,各不相同,从而保证了图书书号的全球唯一性。因此,用一性。因此,用ISBNISBN书号作为图书的唯一标识似乎是非常合理的。书号作为图书的唯一标识似乎是非常合理的。但是,有些出版社用一个书号出版多本图书,有些书或者资料根但是,有些出版社用一个书号出版多本图书,有些书或者资料根本没有书号。虽然这么做并不正规,甚至是违法的,但这种现象本没有书号。虽然这么做并不正规,甚至是违法的,但这种现象毕竟是客观存在的。所以,在设计实际数据库系统的时候,一般毕竟是客观存在的。所以,在设计实际数据库系统的时候,一般不能以不能以ISBNISBN书号唯一标识图书实体,而应该自己定义唯一标识图书号唯一标识图书实体,而应该自己定义唯一标识图书实体的属性。书实体的属性。在现实世界中,类似这样的问题有很多,通常需要为实体集定义在现实世界中,类似这样的问题有很多,通常需要为实体集定义额外的关键字段。额外的关键字段。图书出版图书出版图书出版图书出版E-RE-RE-RE-R图问题思考(图问题思考(图问题思考(图问题思考(2 2 2 2)2 2、有些属性的值如果有多个,该怎么办?、有些属性的值如果有多个,该怎么办?如出版社实体应该有电话属性。但一个出版社一般不止一部电话,如出版社实体应该有电话属性。但一个出版社一般不止一部电话,怎么处理?怎么处理?一种方法是仍使用一个电话属性,只记下一部或几部甚至全部的一种方法是仍使用一个电话属性,只记下一部或几部甚至全部的电话号码即可,这种方法适合于小单位。电话号码即可,这种方法适合于小单位。第二种方法是将电话属性独立出来,建立一个新的电话实体,通第二种方法是将电话属性独立出来,建立一个新的电话实体,通过出版社代码属性,建立和出版社的一对多联系,过出版社代码属性,建立和出版社的一对多联系,图书出版图书出版图书出版图书出版E-RE-RE-RE-R图问题思考(图问题思考(图问题思考(图问题思考(3 3 3 3)3 3、一个实体究竟有多少属性?、一个实体究竟有多少属性?实体的属性可以说是无穷无尽,到底应提取哪些属性,要结合具实体的属性可以说是无穷无尽,到底应提取哪些属性,要结合具体应用系统考虑。体应用系统考虑。比如,图书的一般属性有书号、社代码、书名、作者、价格、版比如,图书的一般属性有书号、社代码、书名、作者、价格、版次等,如果开发的是书店管理系统,这些属性一般够用了,但如次等,如果开发的是书店管理系统,这些属性一般够用了,但如果要开发印刷厂管理系统,还需要增加图书大小(果要开发印刷厂管理系统,还需要增加图书大小(3232开还是开还是1616开,开,或具体数字)、印刷纸张规格(或具体数字)、印刷纸张规格(6060克纸还是克纸还是7070克纸,书写纸还是克纸,书写纸还是双面胶)、是否彩印、彩印规格、印刷数量、交货日期等属性。双面胶)、是否彩印、彩印规格、印刷数量、交货日期等属性。所以,提取一个实体的属性也要具体问题具体分析。所以,提取一个实体的属性也要具体问题具体分析。通过出版社通过出版社图书的例子引出的三个问题,说明建立图书的例子引出的三个问题,说明建立在现实世界基础上的在现实世界基础上的E-RE-R模型并不只有唯一答案。面向不模型并不只有唯一答案。面向不同的应用、使用不同的方法,可以设计出不同的同的应用、使用不同的方法,可以设计出不同的E-RE-R模型。模型。课堂练习课堂练习课堂练习课堂练习学校有若干个系,每个系有各自的系号、系名和系主任;学校有若干个系,每个系有各自的系号、系名和系主任;每个系有若干名教师和学生,教师有教师号、教师名和职每个系有若干名教师和学生,教师有教师号、教师名和职称属性,每个教师可以担任若干门课程,一门课程只能由称属性,每个教师可以担任若干门课程,一门课程只能由一位教师讲授,课程有课程号、课程名和学分,并参加多一位教师讲授,课程有课程号、课程名和学分,并参加多项项目,一个项目有多人合作,且责任轻重有个排名,项项项目,一个项目有多人合作,且责任轻重有个排名,项目有项目号、名称和负责人;学生有学号、姓名、年龄、目有项目号、名称和负责人;学生有学号、姓名、年龄、性别,每个学生可以同时选修多门课程,选修有分数。性别,每个学生可以同时选修多门课程,选修有分数。请设计此学校的教学管理的请设计此学校的教学管理的E-RE-R模型。模型。ERERERER模型到关系模型的转换模型到关系模型的转换模型到关系模型的转换模型到关系模型的转换 把把E-RE-R图转换为关系模型可遵循如下原则图转换为关系模型可遵循如下原则:(1 1)对于)对于E ER R图中每个实体集,都应转换为一个关系,图中每个实体集,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性或哪几个属性组作为达的语义确定哪个属性或哪几个属性组作为“主关键字主关键字”,主关键字用来标识实体。,主关键字用来标识实体。(2 2)对于)对于E ER R图中的联系,情况比较复杂,要根据实体图中的联系,情况比较复杂,要根据实体联系方式的不同,采取不同的手段加以实现。联系方式的不同,采取不同的手段加以实现。(1:11:11:11:1)联系的)联系的)联系的)联系的E-RE-RE-RE-R图转换图转换图转换图转换(1 1)联系单独对应一关系模式,则由联系属)联系单独对应一关系模式,则由联系属性、参与联系的各实体集的主码属性构成性、参与联系的各实体集的主码属性构成关系模式,其主码可选参与联系的实体集关系模式,其主码可选参与联系的实体集的任一方的主码。的任一方的主码。BJ(班级编号,院系,专业名,人数)BZ(学号,姓名)SY(学号,班级编号)(2 2)联系不单独对应一关系模式,联系的属性及一方的主码加入另一方)联系不单独对应一关系模式,联系的属性及一方的主码加入另一方实体集对应的关系模式中。实体集对应的关系模式中。BJ(班级编号,院系,专业名,人数)BZ(学号,姓名,班级编号)或者 BJ(班级编号,院系,专业名,人数,学号)BZ(学号,姓名)(1:n1:n1:n1:n)联系的)联系的)联系的)联系的E-RE-RE-RE-R图转换图转换图转换图转换(1 1)联系单独对应一关系模式,则由)联系单独对应一关系模式,则由联系的属性、参与联系的各实体集联系的属性、参与联系的各实体集的主码属性构成关系模式,的主码属性构成关系模式,n n端的主端的主码作为该关系模式的主码。码作为该关系模式的主码。BJ(班级编号,院系,专业名,人数)XS(学号,姓名,专业名,性别,出生时间,总学分,备注)SY(学号,班级编号)(2 2)联系不单独对应一个关系模式,则将联系的属性及)联系不单独对应一个关系模式,则将联系的属性及1 1端的主码加入端的主码加入n n端端实体集对应的关系模式中,主码仍为实体集对应的关系模式中,主码仍为n n端的主码端的主码 BJ(班级编号,院系,专业名,人数)XS(学号,姓名,专业名,性别,出生时间,总学分,备注,班级编号)(m:nm:nm:nm:n)联系的)联系的)联系的)联系的E-RE-RE-RE-R图转换图转换图转换图转换对于(对于(m:nm:n)的联系,单独对)的联系,单独对应一关系模式,该关系模式包括联应一关系模式,该关系模式包括联系的属性、参与联系的各实体集的系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各主码属性,该关系模式的主码由各实体集的主码属性共同组成。实体集的主码属性共同组成。XS(学号,姓名,专业名,性别,出生时间,总学分,备注)KC(课程号,课程名称,类别,开课学期,学时,学分)XS_KC(学号,课程号,成绩)假设假设A A实体集与实体集与B B实体集是实体集是1:11:1的联系,联系的转换有三种方法:的联系,联系的转换有三种方法:把A实体集的主关键字加入到B实体集对应的关系中,如果联系有属性也一并加入;把B实体集的主关键字加入到A实体集对应的关系中,如果联系有属性也一并加入;建立第三个关系,关系中包含两个实体集的主关键字,如果联系有属性也一并加入。两实体集间两实体集间1:n1:n联系联系 两实体集间1:n联系,可将“一方”实体的主关键字纳入“n方”实体集对应的关系中作为“外部关键字”,同时把联系的属性也一并纳入“n方”对应的关系中。两实体集间两实体集间m:nm:n联系联系 对于两实体集间m:n联系,必须对“联系”单独建立一个关系,用来联系双方实体集。该关系的属性中至少要包括被它所联系的双方实体集的“主关键字”,并且如果联系有属性,也要归入这个关系中。E-RE-RE-RE-R模型到关系模型的转换总结模型到关系模型的转换总结模型到关系模型的转换总结模型到关系模型的转换总结任务二任务二 数据库设计规范化数据库设计规范化仅有好的仅有好的RDBMSRDBMS并不足以避免数据冗余,必须在数据库的并不足以避免数据冗余,必须在数据库的设计中创建好的表结构设计中创建好的表结构Dr E.F.codd Dr E.F.codd 最初定义了规范化的三个级别,范式是具最初定义了规范化的三个级别,范式是具有最小冗余的表结构。这些范式是:有最小冗余的表结构。这些范式是:第一范式第一范式(1st NF(1st NF First Normal Fromate)First Normal Fromate)第二范式第二范式(2nd NF(2nd NFSecond Normal Fromate)Second Normal Fromate)第三范式第三范式(3rd NF(3rd NF Third Normal Fromate)Third Normal Fromate)关系数据库范式理论是在数据库设计过程中将要依据的关系数据库范式理论是在数据库设计过程中将要依据的准则,数据库结构必须要满足这些准则,才能确保数据准则,数据库结构必须要满足这些准则,才能确保数据的准确性和可靠性。这些准则则被称为规范化形式,即的准确性和可靠性。这些准则则被称为规范化形式,即范式。范式。第一范式第一范式(1st NF)(1st NF)BuyerIDCountryCity1342中国中国英国英国日本日本美国美国北京北京伦敦伦敦东京东京纽约纽约BuyerIDAddress1234中国北京市中国北京市美国纽约市美国纽约市英国伦敦英国伦敦日本东京市日本东京市第一范式的目标是确保每列的原子性第一范式的目标是确保每列的原子性如果每列都是不可再分的最小数据单元(也称为最小的原如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(子单元),则满足第一范式(1NF1NF)第二范式第二范式(2nd NF)(2nd NF)如果一个关系满足如果一个关系满足1NF1NF,并且除了主键以外的其他列,都,并且除了主键以外的其他列,都依赖与该主键,则满足第二范式(依赖与该主键,则满足第二范式(2NF2NF)第二范式要求每个表只描述一件事情第二范式要求每个表只描述一件事情Orders字段字段例子例子订单编号订单编号产品编号产品编号订购日期订购日期价价格格001A0012000-2-3$29.00Orders字段字段例子例子订单编号订单编号订购日期订购日期0012000-2-3Products字段字段例子例子产品编号产品编号价价格格A001$29.00以下是两个同学设计的学生成绩系统的表格,A同学设计成表格1的形式,B同学设计了表格2、3、4三张表格,请问:1、A、B同学哪个的方案更合理?2、如果要他们设计的表格记录5000个同学的10门课成绩,用A同学设计表格要填写多少个数据?用B同学设计的表格要填写多少个数据?3、根据计算结果,哪种设计更节省空间?为什么?学号学号姓名姓名年龄年龄课程名称课程名称成绩成绩学分学分010101张三张三20计算机基础计算机基础802010102李四李四20计算机基础计算机基础852010101张三张三20英语英语753010102李四李四20英语英语853学号学号姓名姓名年龄年龄010101张三张三20010102李四李四20课程名称课程名称学分学分计算机基础计算机基础2英语英语3学号学号课程名称课程名称成绩成绩010101计算机基础计算机基础80010102计算机基础计算机基础85010101英语英语75010102英语英语85A同学设计表格B同学设计表格课堂练习课堂练习课堂练习课堂练习一张表:6*10*5000=30,0000 个数据三张表:学生表:3*5000=1500 0 课程表:2*10=20 成绩表:3*10*5000=150000三张表合计:15000+20+150000=16,5020A与B方案数据