数据库建模 概念设计全解课件

上传人:风*** 文档编号:241320229 上传时间:2024-06-17 格式:PPT 页数:55 大小:749.16KB
返回 下载 相关 举报
数据库建模 概念设计全解课件_第1页
第1页 / 共55页
数据库建模 概念设计全解课件_第2页
第2页 / 共55页
数据库建模 概念设计全解课件_第3页
第3页 / 共55页
点击查看更多>>
资源描述
电子信息工程系授课教师:邓伟华第二讲概念设计计算机软件技术专业数据库设计娄底职业技术学院电子信息工程系第1教学重点教学重点。数据库概念设计第二讲概念设计掌握数据库的范式理论。掌握数据库的设计的三个模式理论。掌握利用ER图进行数据库概念设计教学教学目的目的教学教学难点难点数据库的范式理论教学重点。数据库概念设计第二讲 概念设计掌握数据库的范式理论20 0 回顾前讲的内容回顾前讲的内容1、数据库的基本知识和数据库设计技术;2、数据库设计的重要性;3、数据库设计的步骤;4、数据库设计的需求分析;0 回顾前讲的内容1、数据库的基本知识和数据库设计技术;3回顾一:数据建模的概念将现实世界的数据转换成信息世界的数据的过程称为建模回顾一:数据建模的概念将现实世界的数据转换成信息世界的数据4回顾二:数据库设计的必要性好的数据库结构有利于:节省数据的存储空间节省数据的存储空间能够保证数据的完整性能够保证数据的完整性方便进行数据库应用系统的开发方便进行数据库应用系统的开发设计不好的数据库结构将导致数据冗余、存储空间浪费数据冗余、存储空间浪费各种数据操作异常各种数据操作异常内存空间浪费内存空间浪费回顾二:数据库设计的必要性好的数据库结构有利于:5需求收集和分析设计概念结构设计逻辑结构数据模型优化设计物理结构评价设计,性能预测物理实现试验性运行使用、维护数据库应用需求数据、处理转换规则、DBMS功能优化方法应用要求,DBMS详细特征需求分析阶段数据库运行、维护阶段不满意不满意数据库实施阶段物理设计阶段逻辑设计阶段概念设计阶段回顾三:数据库设计的步骤需求收集和分析设计概念结构设计逻辑结构数据模型优化设计物理结6数据库的设计步骤数据库的设计步骤需求收集和分析需求收集和分析设计概念结构设计概念结构设计逻辑结构设计逻辑结构设计物理结构设计物理结构物理实现物理实现数据库的设计步骤需求收集和分析7数据库的设计步骤数据库的设计步骤需求收集和分析需求收集和分析用户关心什么用户关心什么用户要什么结果用户要什么结果设计概念结构设计概念结构设计逻辑结构设计逻辑结构设计物理结构设计物理结构物理实现物理实现数据库的设计步骤需求收集和分析8数据库的设计步骤数据库的设计步骤需求收集和分析需求收集和分析设计概念结构设计概念结构存什么存什么关系(联系)如何关系(联系)如何E/R图,是各种数据模型的共同基础图,是各种数据模型的共同基础设计逻辑结构设计逻辑结构设计物理结构设计物理结构物理实现物理实现数据库的设计步骤需求收集和分析9数据库的设计步骤数据库的设计步骤需求收集和分析需求收集和分析设计概念结构设计概念结构设计逻辑结构设计逻辑结构用什么数据模型用什么数据模型数据库的模式(数据库的模式(database schema)用户子模式用户子模式设计物理结构设计物理结构物理实现物理实现数据库的设计步骤需求收集和分析10数据库的设计步骤数据库的设计步骤需求收集和分析需求收集和分析设计概念结构设计概念结构设计逻辑结构设计逻辑结构设计物理结构设计物理结构数据怎么存数据怎么存根据根据DBMS产品、环境特点产品、环境特点物理实现物理实现数据库的设计步骤需求收集和分析11数据库的设计步骤数据库的设计步骤需求收集和分析需求收集和分析设计概念结构设计概念结构设计逻辑结构设计逻辑结构设计物理结构设计物理结构物理实现物理实现运行运行DDL装入测试数据装入测试数据应用程序应用程序数据库的设计步骤需求收集和分析128.2.2需求分析的方法一.调查用户需求的具体步骤1.调查组织机构情况;2.调查各部门的业务活动情况;3.协助用户明确对新系统的各种要求;4.确定新系统的边界.二.常用的调查方法1.跟班作业;2.开调查会;3.请专人介绍;4.询问;5.设计调查表请用户填写;6.查阅记录.8.2 需需 求求 分分 析析8.2.1需求分析的任务 8.2.2 需求分析的方法8.2 需 求 分13.需求分析调查组织机构总体情况熟悉业务活动明确用户需求确定系统边界用户数据库设计人员.DDDDDFD概念设计需求分析过程需求分析调查组熟悉业明确确定系用户 数据库148.3 概念结构设计概念结构设计8.3.1概念结构的主要特点:1.能真实、充分地反映现实世界;2.易于理解;3.易于更改;4.易于向关系模式转变。8.3 概念结构设计 8.3.1158.3.2:实体关系模型实体关系模型:DB 设计过程,并且表示 DB 的整个逻辑结构 实体:实体可以是具体的(例如一个人或一本书),也可以是抽象的(如一个节日或一个概念)属性:实体是由一组属性来表示的。例如:Person(个人)实体的属性有 Name(名称)、SSN、Age(年龄)、Street(街道)、City(城市)关系:关系是两个或多个实体之间的联系8.3.2:实体关系模型实体关系模型:DB 设计过程,并且表16数据抽象2.聚类聚类(Aggregation)学生张英王平刘勇赵亮“ismemberof”3.概括概括(Generalization)学生学号姓名 专业 班级“ispartof”实体型属性学生本科生研究生“issubsetof”三种抽象1.分类分类(Classification)数据抽象 2.聚17关系的类型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 多对多多对多关系的类型X Y 一对一X Y 一对多X Y 多对一X18E-R 图的符号E-R 图的符号19E-R 图姓名Person性别身份证结合11时间E-R 图姓名Person性别身份证结合11时间20E-R 图客户客 户号名称汽车汽 车号名称订购日期1mE-R 图客户客户号名称汽车汽车号名称订购日期1m21E-R 图学生学号姓名课程课程号名称学分选课时间nmE-R 图学生学号姓名课程课程号名称学分选课时间nm228.3.3:采用ER的概念模型设计步骤1、局部设计需求分析结果确定局部结构范围定义实体属性分配定义联系进入全局ER模式设计还有局部结构等待分析吗是8.3.3:采用ER的概念模型设计步骤1、局部设计需求分析结238.3.3:采用ER的概念模型设计步骤2、全局设计局部ER模式确定公共实体合并两个局部ER模式检查并消除冲突进入全局ER模式优化是还有冲突?还有局部模式?是8.3.3:采用ER的概念模型设计步骤2、全局设计局部ER模24 3 视图的集成视图的集成视图集成的两种方式视图集成的两种方式:*多个分E-R图一次集成.(a)*逐步集成,用累加的方式一次集成两个分E-R图.(b)(E-R)1(E-R)2(E-R)n基本E-R初步E-R(E-R)3(E-R)12(E-R)2(E-R)1初步E-R基本E-R(a)(b)视图集成的两种方式 3 视图的集成(E-R)1(E-R)2(E-R)n25 合并分合并分E-R图,生成初步图,生成初步E-R图图1、属性冲突(1)属性域冲突(2)属性取值单位冲突2、命名冲突(1)同名异义(2)异名同义3、结构冲突(1)同一对象在不同应用中具有不同定抽象(2)同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同.合理消除各分E-R图的冲突是合并分E-R图的主要工作与关键所在。各分E-R图之间主要有三类冲突。合并分E-R图,生成初步E-R图 268.3.3:采用ER的概念模型设计步骤3、全局ER模式优化加工加工消耗存储零件数Q1耗用量Q2存放量Q5库存量Q4用电量Q3产品材料仓库零件8.3.3:采用ER的概念模型设计步骤3、全局ER模式优化加27消除不必要的冗余,设计基本消除不必要的冗余,设计基本E-R图图(一).采用分析方法消除冗余(二).用规范化理论消除冗余1.确定分E-R图实体之间的数据依赖.2.求FL的最小覆盖GL,差集为:D=FL-GL 消除不必要的冗余,设计基本E-R图 288.3.4:范式理论范式理论:第一范式:1NF第二范式:2NF第三范式:3NF8.3.4:范式理论范式理论:29带有问题的表格带有问题的表格30问题分析1表中包含大量的冗余,可能会导致数据异常:a.更新异常 例如,修改职工号=1001的职务,则必须修改所有职工号=1001的行。b.添加异常 若要增加一个新的职工时,首先必须给这名职工分配一个工程。或者为了添加一名新职工的数据,先给这名职工分配一个虚拟的工程。(因为主关键字不能为空)c.删除异常 例如,1001号职工要辞职,则必须删除所有职工号1001的数据行。这样的删除操作,很可能丢失了其它有用的数据。问题分析1表中包含大量的冗余,可能会导致数据异常:31什么是规范化 研究设计一个“好”的(没有“毛病”的)关系模式的办法。第一范式第二范式第三范式什么是规范化 研究设计一个“好”的(没有“毛病”的)关系模32第一范式第一范式的定义:指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。在第一范式(1NF)中表的每一行只包含一个实例的信息第一范式第一范式的定义:33第一范式要求:属性是原子性的要求:属性是原子性的客户号客户号姓名姓名联系方法联系方法宅电宅电手机手机邮址邮址不可以出现如上的关系不可以出现如上的关系 联系方法非原子性联系方法非原子性第一范式要求:属性是原子性的客户号姓名联系方法宅电手机邮址不34第二范式第二范式的定义:如果一个表属于1NF,且不包含部分依赖性,既没有任何属性只依赖于关键字的一部分,则这个表属于第二范式(常记成2NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分.将1NF转换成2NF的方法是分解。第二范式第二范式的定义:35第二范式在符合第一范式的基础上,在符合第一范式的基础上,再要求:关系中不存在这样的函数依赖:再要求:关系中不存在这样的函数依赖:x-Ax-Ax x是部分主键,是部分主键,A A是某一属性是某一属性送货单号产品码数量客户号客户宅电客户地址客户邮编经办人=送货单号客户号客户宅电客户地址客户邮编经办人送货单号产品码数量第二范式在符合第一范式的基础上,送货单号产品码数量客户号客户36第三范式第三范式的定义:如果一个表属于2NF,且不包含传递依赖性,则这个表是第三范式(常记成3NF)。满足3NF的表中不包含传递依赖,即没有一个非关键属性依赖于另一个非关键属性,或者说没有一个非关键属性决定另一个非关键属性。第三范式就是属性不依赖于其它非主属性。第三范式第三范式的定义:37第三范式第三范式:在符合第一、第二范式的基础上,再要求不存在传递依赖 客户号-决定了客户地址,客户地址决定了客户地址邮编。是传递依赖。客户号客户宅电客户地址客户邮编第三范式第三范式:在符合第一、第二范式的基础上,客户号-38送货单号客户号客户宅电客户地址客户邮编经办人送货单号客户号经办人客户号客户宅电客户地址客户邮编=送货单号客户号客户宅电客户地址客户邮编经办人送货单号客户号经39案例分析把学生关系表分为如下两个表:学生:(学号,姓名,年龄,所在学院);学院:(学院,地点,电话)。案例分析把学生关系表分为如下两个表:40规范化实例1-2假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下:公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等;公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等;公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同)。公司定期制定一个工资报表,如图-1所示。规范化实例1-2假设某建筑公司要设计一个数据库。公司的业务规41规范化实例2-2 某公司的工资表某公司的工资表规范化实例2-2 某公司的工资表42再看这三个表的函数依赖图图图 三个表的函数依赖图三个表的函数依赖图再看这三个表的函数依赖图图 三个表的函数依赖图43画出四个表的函数依赖图 从函数依赖图可见,已经消除职工表中的传递依赖,这四个表都属于第三范式。在绝大多数情况下,一个数据库的所有表都满足3NF,就基本达到数据库设计的目标。画出四个表的函数依赖图 从函数依赖图可见,已经消除职工表中的44案例分析把选课关系表SelectCourse改为如下三个表:学生:Student(学号,姓名,年龄);课程:Course(课程名称,学分);选课关系:SelectCourse(学号,课程名称,成绩)。案例分析把选课关系表SelectCourse改为如下三个表:45案例分析及实现一X员工在X日期收到X订单中的X货品X件到仓库中.X员工在X日期在仓库中提取X货品X件案例分析及实现一X员工在X日期收到X订单中的X货品X件到仓库46案例分析及实现一员工:员工:员工号员工号姓名姓名货品:货品:货品编号货品编号货品描述货品描述库仓:库仓:库仓号库仓号库仓描述库仓描述收货收货:员工员工日期日期订单号订单号出货出货:员工员工日期日期出货号出货号收货明细:收货明细:订单号订单号货品货品数量数量出货明细出货明细出货号出货号货品货品日期日期数量数量案例分析及实现一员工:出货:47正规化选择将表格分得过细有时并不好,因为这样需要将各表进行各种的关联,这会令查询时变得复杂,而且效率也可能降低,这些正规化的规定可以参考,在实际应用时,要根据项目的大小,必要时可以进行一些测试,以设计出更合理的表格结构。正规化选择将表格分得过细有时并不好,因为这样需要将各表进行各488.4 逻辑设计逻辑设计特定的DBMS支持下的数据模型优化的数据模型转换规则DBMS的特点和限制优化方法 8.4 逻辑设49ER模型向逻辑模型转换每个实体转换成一个关系模式一个1:1的联系可以转换为一个关系模式,或与任意一端的关系模式合并若独立转换为一个关系模式,两端的关系码及联系的属性为该关系的属性;若与一端合并,那么将另一端的码及联系的属性合并到该端.一个1:n的关系可以转换成一个关系模式,或与n端的关系模式合并.若独立转换为一个关系模式,两端的关系码及联系的属性为该关系的属性,n端的码为该关系的码.一个m:n的联系可以转换为一个关系模式,那么两端的关系码及联系的属性为该关系的属性,关系的码为两端实体码的组合.ER模型向逻辑模型转换每个实体转换成一个关系模式50E-R图向关系模型的转换方法一、转换一般遵循如下原则:1、一个实体型转换为一个关系模式.2、一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。3、一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。4、一个m:n联系可以转换为一个关系模式。5、三个或三个以上实体间的一个多元联系可以转换为一个关系模式。6、具有相同码的关系模式可合并。E-R图向关系模型的转换方法 51二、自联系1、1:1的联系转换在实体中增加一个表示关系的字段2、1:n联系的转换方法一:在n端增加1端关键字方法二:为联系增加表3、M:N的联系转换二、自联系52三、多元联系的转换1、最多只有一个实体的基数大于12、其他情况四、多重联系的转换1、转换方法:每重单独考虑2、弱实体的处理:弱实体不能独立存在,他必须依附于一个所有者实体,在关系转换时,弱实体对应的关系必须包含所有者实体的主键。三、多元联系的转换538.4.2数据模型的优化1、确定数据依赖2、对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。3、按照数据依赖的理论对关系模式逐一进行分析,确定各关系模式分别属于第几范式。4、按照需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适。5、对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。8.4.2 数54课堂小结数据库设计方法课堂小结数据库设计方法55
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!