《MySQL数据库应用与管理项目化教程》课件_项目11-4数据模型.ppt
完全函数依赖设X-Y是一个函数依赖,并且对于任何X中的元素X’,X’-Y都不成立,则称X-Y是一个完全函数依赖,即Y函数依赖于整个X。例:若销售单为(销售单号,商品编号,售价,数量,销售日期,销售员)关系中,(销售单号,商品编号)为主码,因销售价因进货价的不同、促销的时间不同而有所不同,所以(销售单号,商品编号)-售价是一个完全函数依赖。部分函数依赖设X-Y是一个函数依赖,但不是完全函数依赖,则称X-Y是一个部分函数依赖,即Y函数依赖于X的某个真子集。例:在销售单(销售单号,商品编号,商品名称,厂商,售价,数量,销售日期,销售员)中,主码为(销售单号,商品编号),因有商品编号-商品名称,所以(销售单号,商品编号)-商品名称是一个部分函数依赖。4)传递函数依赖:设R(U)是一个关系模式,X,Y,Z是了集,如果X-Y,Y-Z成立,则称Z传递函数依赖于X。例:销售部编号-销售部名称销售部名称-销售部经理销售部编号-销售部经理2、关系数据库的规范化规则第1范式(1NF):关系每一个属性的值域只包含原子项,即不可分割的数据项,无重复的属性.第2范式(2NF):符合1NF,且非主属性不部分依赖于主码(即非主属性完全依赖于主码)即:每个非主属性是由整个主键函数决定的,而不能由主键的部分码来决定。在销售单(销售单号,商品编号,商品名称,厂商,售价,数量,销售日期,销售员)关系中,主码为(销售单号,商品编号),因有商品编号-商品名称,所以(销售单号,商品编号)-商品名称是一个部分函数依赖。所以该关系不符合2NF.第3范式(3NF):符合2NF,且每个非主属性都不传递函数依赖于主码(即:属性不依赖于非主属性)。BC范式(BCNF):R中所有非主属性对每一个码都是完全函数依赖.R中所有主属性性每一个不包含它的码也是完全函数依赖R中没有任何属性完全函数依赖于非码的任何一组属性.3、关系模式的分解:无损分解:是对关系模式分解时,原关系模式下任一合法的关系值在分解之后应能通过自然连接运算恢复起来。定义:设p={R1,R2,…,Rk}是关系模式RU,F的一个分解,如果对于R的任一满足F的关系r都有:r=∏R1(r)∏R2(r)….∏Rk(r)则这个分解P是函数依赖集F的无损分解。例如:将销售单(销售单号,商品编号,商品名称,厂商,售价,数量,销售日期,销售员)可无损分解以下两个关系,这两个关系通过商品编号自然连接就可恢复原来关系。商品信息(商品编号,商品名称,厂商),销售单(销售单号,商品编号,售价,数量,销售日期,销售员)4、关系数据库的反规范化我们尽量要求规范化设计,但也不是一味追求高规范化,因为符合的范式越高,分出来的表就越细,可能会引起资源的浪费和造成多表联系的复杂度越高.若关系表数据更新频繁的,尽量要求规范化设计。关系表主要用来检索查询用,规范化要求可降低。例:在关系销售(销售单号,商品号,件数,时间,会员号,是否批发,销售时间,销售员号)中。根据销售记录主要用来查询分析,很少有再修改,在设计时降低规范化,加入了下面的这些信息.销售(销售单号,商品号,商品名,售价,件数,时间,促销打折,会员号,是否批发,应收金额,销售时间,销售员号)根据本组项目的E-R模型,完成下面内容:将每个实体转换成一个关系。分析每个实体间的联系是几对几联系,确定该联系信息转换到实体关系中还是独立成为一个关系,写出分析原则;列出处理联系后的所有关系模式。对关系进行规范化分析,调整优化。项目十一应用数据库设计能力目标◎能针对数据库设计项目,做好调研准备和有效采集调研数据;◎能绘制业务流图、数据流图,分析数据并绘制简单局部ER图。知识目标◎熟悉需求分析的步骤和方法;◎掌握规范业务流图、数据流图、ER图的绘制。学习重点◎熟悉需求分析方法步骤、调研准备和采集调研数据方法;◎掌握规范业务流图、数据流图、ER图的绘制方法。学习难点◎需求分析和全局ER图的绘制。任务1需求调研任务2需求分析任务3概念模型设计任务4逻辑结构设计图?数据库设计流程任务说明概念模型是独立于任何一种DBMS设计的,不能被任何一个具体的DBMS所支持。为适应具体的DBMS,需将概念模型转化为某个具体的数据库管理系统所支持的数据模型,即进行逻辑结构设计。本节将超市销售管理系统的E-R模型转换为当前流行的关系数据模型。掌握E-R图到关系模式的转换规则掌握关系数据库规范化设计(1)一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的关键字。(2)若实体间的联系是1:1联系,可在其中任一个实体