长沙二三三网络科技有限公司版权所有,THE END,谢谢 观看,长沙二三三网络科技有限公司版权所有,全国统一服务热线:,4000-800-233,计算机等级考试,三级数据库技术,精讲班,主讲老师:杨梅,3NF,:,如果关系模式,R,为,2NF,,并且中的每个非主属性不传递依赖于的主码,则称关系,R,是属于第,3,范式的,,R3NF,。,例:判断,R,(学号,姓名,,年龄,所在学院,学院地点,学院电话),是否属于第三范式。,第二节 数据库逻辑设计,主码:(,学号,),非主属性:姓名,年龄,所在学院,学院地点,学院电话,存在非关键字段,“,学院地点,”,、,“,学院电话,”,对关键字段,“,学号,”,的传递函数依赖,R,不属于,3NF,第二节 数据库逻辑设计,3NF,要求实体的属性不能存在传递依赖。,第二节 数据库逻辑设计,4NF,关系模式规范化的基本步骤:,消除决定属性集非码的非平凡函数依赖,1NF,BCNF,3NF,2NF,消除非主属性对码的部分函数依赖,消除非主属性对码的传递函数依赖,消除主属性对码的部分和传递函数依赖,消除非平凡且非函数依赖的多值依赖,示例:设关系模式,R,(学号,课程号,成绩,教师姓名,教师地址)规定:每个学生每学一门课只有一个成绩,每门课只有一个教师任教,每个教师只有一个地址,且教师没有同名同姓。,要求:,(,1,)写出,R,的基本函数依赖:,存在如下基本函数依赖:,(学号,课程号)成绩 课程号教师姓名,教师姓名教师地址,7.3,范式,第二节 数据库逻辑设计,7.3,范式,(,2,)写出,R,的候选码:,R,的候选码:(学号,课程号),(,3,)确定,R,属于每几范式,并说明理由,课程号教师姓名,(学号,课程号)教师姓名,R,不属于,2NF,,,R,属于,1NF,第二节 数据库逻辑设计,第二节 数据库逻辑设计,(,4,)若,R,不属于,2NF,,则将,R,分解为,2NF,,并说明理由,把,R,分解为如下二个关系模式:,R1,(学号,课程号,成绩),R2,(课程号,教师姓名,教师地址),R1,的侯选码为:,(学号,课程号),,非主属性:成绩,第二节 数据库逻辑设计,又(学号,课程号)成绩,R1,属于,2NF,同理,R2,的候选码为:课程号,,非主属性:教师姓名,教师地址,又课程号 教师姓名 课程号,传递,教师地址,R2,属于,2NF,,而不属于,3NF,(,5,)若,R,不属于,3NF,,则将,R,分解为,3NF,,并说明理由,R1,不存在非主属性对码的传递函数依赖,,R1,属于,3NF,把,R2,分解为如下二个关系模式:,R3,(课程号,教师姓名),R4,(教师姓名,教师地址),第二节 数据库逻辑设计,R3,的侯选码为:课程号,非主属性:教师姓名,课程号 教师姓名且不存在非主属性对码的传递函数依赖,R3,属于,3NF,同理,R4,的侯选码为:教师姓名,非主属性:教师地址,又教师姓名 教师地址,且不存在非主属性对码的传递函数依赖,R4,属于,3NF,7.3,范式,第二节 数据库逻辑设计,4,、数据库逻辑设计方法,设计逻辑结构分三步:,将概念结构转化为一般的关系模型,将转化来的关系模型向特定,DBMS,支持下的数据模型转换,对数据模型进行优化,如果是关系型数据库管理系统,就应将概念模型转换为关系模型,即将,E-R,图中的实体和联系转换为关系模式。,第二节 数据库逻辑设计,第二节 数据库逻辑设计,数据库逻辑模型的产生,概念模型按一定规则可以转换成数据模型。这种转换的原则如下:,一个实体转换成一个关系模式,一个,1,:,1,联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。,一个,1,:,n,联系可以转换为一个独立的关系模式,也可以与,n,端对应的关系模式合并。,第二节 数据库逻辑设计,一个,m,:,n,联系转换为一个 关系模式。,三个或三个以上实体间的一个多元联系转换为一个关系模式。,同一实体集的实体间的联系,也可以按,1,:,1,、,1,:,n,和,m,:,n,三种情况分别处理。,一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的主码就是关系的主码。,学生(,学号,,姓名,年龄,性别),第二节 数据库逻辑设计,一个,1,:,1,联系转换为一个关系模式,若转换为一个独立的关系模式:,各实体的主码以及联系本身的属性均转换为关系的属性,每个实体的主码均是该关系的候选码。,若与一端的关系模式合并:,则在该关系模式的属性中加入另一个关系模式的主码和联系本身的属性。,第二节 数据库逻辑设计,有,3,种方案可供选择。,第二节 数据库逻辑设计,举例:,3,种方案比较,方案,1,职工,(,职工号,,姓名,年龄),产品,(,产品号,,产品名,价格),负责,(,职工号,,,产品号,),方案,2,职工,(,职工号,,姓名,年龄,产品号),产品,(,产品号,,产品名,价格,),第二节 数据库逻辑设计,方案,3,职工(,职工号,,姓名,年龄),产品(,产品号,,产品名,价格,职工号),方案,1,关系多,增加了系统的复杂性;,方案,2,由于并非每个职工都负责产品,导致产品号属性出现,NULL,;,方案,3,比较合理。,第二节 数据库逻辑设计,第二节 数据库逻辑设计,1,:,n,联系转换为关系模式,有,2,种方案可供选择。,有,2,种方案,对应一个独立的关系模式:,与该联系相连的各实体的主码以及联系本身的属性均转换为关系的属性,而关系的主码为,n,端实体的主码。,与,n,端对应的关系模式合并:,联系本身的属性均换为关系的属性,再加,1,端实体的主码。,第二节 数据库逻辑设计,2,种方案比较,方案,1,仓库,(,仓库号,,,地点,面积,),产品,(,产品号,,产品名,价格),仓储,(仓库号,,产品号,,数量,),第二节 数据库逻辑设计,方案,2,(,与,n,端对应的关系合并,),仓库(,仓库号,,地点,面积),产品(,产品号,,产品名,价格,仓库号,数量),方案,1,对仓储变化大的场合比较适用;,方案,2,适应仓储变化小的应用场合。因此方案,2,较优。,第二节 数据库逻辑设计,m,:,n,联系,一个,m,:,n,联系转换为一个关系模式。,与该联系相连的各实体的主码以及联系本身的属性均转换为关系的属性。而关系的主码为各实体主码的组合。,第二节 数据库逻辑设计,第二节 数据库逻辑设计,m,:,n,关系示意图,转换的关系模型,学生(,学号,,姓名,年龄,性别),课程(,课程号,,课程名,学时数),选修(,学号,,,课程号,,成绩),第二节 数据库逻辑设计,三个及以上实体间联系,三个或三个以上实体间的一个多元联系转换为一个关系模式。,与该多元联系相连的各实体的主码以及联系本身的属性均转换为关系的属性。而关系的主码为各实体主的组合。,第二节 数据库逻辑设计,第二节 数据库逻辑设计,将多对多联系,E-R,图转换为关系模型,举例,供应商(,供应商号,,供应商名,地址),零件(,零件号,,零件名,单价),产品(,产品号,,产品名,型号),供应(,供应商号,,,零举例,,,产品号,,数量),第二节 数据库逻辑设计,同一实体集联系,可以按:,1,:,1,(一对一),1,:,n,(一对多),m,:,n,(多对多),三种情况分别处理。,第二节 数据库逻辑设计,将同实体集,1,:,n,联系转换为关系模型,第二节 数据库逻辑设计,第二节 数据库逻辑设计,方案,1,:,转换为两个关系模式。,职工(,职工号,,姓名,年龄),领导(领导工号,,职工号,),方案,2,:,转换为一个关系模式。,职工(,职工号,,姓名,年龄,领导工号),方案,2,关系少,且能充分表达原有的数据,关系,故方案,2,较好。,零件(,零件号,,名称,价格),组装(,组装件号,,,零件号,,数量),组装件号为组装后的组合零件号。,第二节 数据库逻辑设计,将同实体集,m:n,联系转换为关系模型,商场经营管理系统逻辑设计过程:,第一步:将,E-R,图转换成关系模式。,第二步:命名确认。,第三步:优化关系模式。,详见教程,P44,。,第二节 数据库逻辑设计,1,、物理设计概述,物理数据库设计是,设计数据库的存储结构和物理实现方法,。,目的:,将数据的逻辑描述转换为实现技术规范,设计数据存储方案,以便提供足够好的性能并确保数据库数据的完整性、安全性、可靠性。,第三节 数据库物理设计,2,、数据库的物理结构,物理设备上的存储结构与存取方法,称为数据库的物理结构。,数据库中的数据,以文件形式,存储在外设存储介质上。,一个文件在物理上可看作是存放记录的一系列磁盘块组成的,成为,物理文件,。,数据库的物理结构需要解决如下问题:,文件组织、文件结构、文件存取、索引技术,第三节 数据库物理设计,3,、索引,索引(,Index,),是数据库中独立的存储结构,其作用是提供一种无须扫描每个页面(存储表格数据的物理块)而快速访问数据页的方案。,索引技(,Indexing,),是一种快速数据访问技术。,第三节 数据库物理设计,第三节 数据库物理设计,索引技术的关键,:建立记录域取值(如图书术语)到记录的物理地址(如页码)间的映射关系,即索引。,索引能提高性能,但是有代价的。,设计和创建索引时,应确保对性能的提高程度大于在存储空间和处理资源方面的代价。,第三节 数据库物理设计,