您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 05第五章 数据库设计
第五章数据库设计第五章数据库设计•5.1数据库设计概述•5.2规范化•5.3需求分析•5.4概念结构设计•5.5逻辑结构设计•5.6数据库的物理设计5.1数据库设计概述•什么是数据库设计•数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)•在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。5.1.1数据库和信息系统•从使用者角度看,信息系统是提供信息、辅助人们对环境进行控制和进行决策的系统。•一个信息系统的各个部分能否紧密地结合在一起以及如何结合,关键在数据库。所以说,数据库是信息系统的核心和基础5.1.2数据库设计的内容数据库设计包括数据库的结构设计和数据库的行为设计两方面的内容。•数据库的结构设计指根据给定的应用环境,进行数据库的模式或子模式的设计。它包括数据库的概念设计、逻辑设计和物理设计。数据库模式是静态的、稳定的,所以结构设计又称为静态模型设计。•数据库的行为设计指确定数据库用户的行为和动作。在数据库系统中,用户的行为和动作指用户对数据库的操作,而这些要通过应用程序来实现,所以说行为设计就是应用程序的设计。行为设计是动态的,所以行为设计又称为动态模型设计。数据库设计应该和应用系统的设计相结合,也就是说整个设计过程中要把结构设计和行为设计紧密结合起来。5.1.3数据库设计的基本阶段•数据库设计的准备工作选定参加设计的人员,主要包括:1、数据库设计人员2、系统分析员3、用户和数据库管理员4、程序员•数据库设计一般分为六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。1、需求分析通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求。需求分析是设计数据库的起点。2、概念结构设计阶段将需求分析得到的用户需求抽象为信息世界的结构。概念结构设计是整个数据库设计的关键。它的任务是将需求分析的结果进行概念化抽象,获得系统的E-R图。3、逻辑结构设计阶段它的任务把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。4、数据库物理设计阶段为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程。5、数据库实施阶段用DDL定义数据库结构、组织数据入库、编制与调试应用程序、数据库试运行。6、数据库运行和维护阶段数据库的转储和恢复、数据库的安全性、完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。5.2规范化5.2.1问题的提出关系数据库逻辑设计针对具体问题,如何构造一个适合于它的数据模式即应该构造几个关系模式(表)每个关系有哪些属性组成数据库逻辑设计的工具──关系数据库的规范化理论主键:(学号,课程号)实例:学籍管理系统如果计算机为新开课,没有学生选,是否可插入操作?如果一个院的学生全毕业会有什么情况?表中的信息是否有冗余,都是哪些内容?总结问题所在:插入异常、删除异常、更新异常、冗余过大!学号姓名性别学院院长课程号课程名称成绩任课教师99051张三丰男信息李平09012数据库85萧峰99051张三丰男信息李平09013大学物理80杨广99053李丽女信息李平08056大学英语75陈妍99072王刚男化学张香02011无机化学91张敏99061徐娟女管理王莉08056大学英语95张倩09014计算机?怎样修改如果张三丰转到化学学院?改进方案:原关系:学籍(学号,姓名,性别,学院,院长,课程号,课程名称,成绩,任课教师)改进方案:学生(学号,姓名,性别,学院)学院(学院,院长)课程(课程号,课程名称)选课(学号,课程号,成绩,任课教师)学号姓名性别学院99051张三丰男信息99053李丽女信息99072王刚男化学99061徐娟女管理99078李明男化学学号课程号成绩任课教师990510901285萧峰990510901380杨广990530805675陈妍990720201191张敏990610805695张倩学院院长信息李平化学张香土建于珍课程号课程名称09012数据库09013大学物理08056大学英语“分解”是解决冗余的主要方法,也是规范化的一条基本原则:“关系模式有冗余问题,就分解它”。5.2.2规范化规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的问题,以解决插入异常、删除异常、更新异常和数据冗余问题。一、函数依赖定义5.1设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。学号姓名性别学院院长课程号课程名称成绩任课教师99051张三丰男信息李平09012数据库85萧峰99051张三丰男信息李平09013大学物理80杨广99053李丽女信息李平08056大学英语75陈妍99072王刚男化学张香02011无机化学91张敏99061徐娟女管理王莉08056大学英语95张倩说明:1.函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的所有关系均要满足的约束条件。2.函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。例如:“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立3.函数依赖表达的是关系的属性与属性之间的关系。•如果属性A与属性B之间是1:1的关系,则AB。•如果属性A与属性B之间是1:n的关系,则BA。•如果属性A与属性B之间是m:n的关系,则不存在函数依赖。一、函数依赖(续)例:学生(学号,姓名,性别,年龄,系别)假设不允许重名,则有:学号→性别,学号→年龄,学号→系别,学号姓名,姓名→性别,姓名→年龄姓名→系别但性别→年龄学籍(学号,姓名,性别,学院,院长,课程号,课程名称,成绩,任课教师)中:非平凡函数依赖:(学号,课程号)→成绩平凡函数依赖:(学号,课程号)→学号(学号,课程号)→课程号若X→Y,并且Y→X,则记为XY。若Y不函数依赖于X,则记为X─→Y。如果X→Y,但YX,则称X→Y是非平凡的函数依赖若X→Y,但YX,则称X→Y是平凡的函数依赖函数依赖的性质:1.投影性根据平凡的函数依赖的定义可知,一组属性函数决定它的所有子集。例:在学生关系中,(学号,课程号)→学号和(学号,课程号)→课程号3.扩张性若X→Y且W→Z,则(X,W)→(Y,Z)。例:学号→(姓名,年龄),系名→院长,则有(学号,系名)→(姓名,年龄,院长)2.合并性若X→Y且X→Z则必有X→(Y,Z)。例:在学生关系中,学号→姓名,学号→年龄,则有学号→(姓名,年龄)4.分解性若X→(Y,Z),则X→Y且X→Z。很显然,分解性为合并性的逆过程。由合并性和分解性,很容易得到以下事实:X→A1,A2,…,An成立的充分必要条件是X→Ai(i=1,2,…,n)成立。二、完全函数依赖与部分函数依赖在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’Y,则称Y完全函数依赖于X,记作XfY。若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作XPY。在学籍关系中:(学号,课程号)f成绩学号f姓名学籍关系中:(学号,课程号)p姓名在关系模式R(U)中,如果X→Y,Y→Z,且YX,Y→X,则称Z传递函数依赖于X。注:如果Y→X,即XY,则Z直接依赖于X。三、传递函数依赖例:在关系:学生(学号,学院,院长)中,有:学号→学院,学院→院长院长传递函数依赖于学号任课教师成绩学号课程号学院性别姓名课程名院长学号姓名性别学院院长课程号课程名称成绩任课教师99051张三丰男信息李平09012数据库85萧峰99051张三丰男信息李平09013大学物理80杨广99053李丽女信息李平08056大学英语75陈妍99072王刚男化学张香02011无机化学91张敏99061徐娟女管理王莉08056大学英语95张倩总结学籍关系的函数依赖集:学号姓名性别学院院长课程号课程名称成绩任课教师99051张三丰男信息李平09012数据库85萧峰99051张三丰男信息李平09013大学物理80杨广99053李丽女信息李平08056大学英语75陈妍99072王刚男化学张香02011无机化学91张敏99061徐娟女管理王莉08056大学英语95张倩主码:(学号,课程号)课程名课程号学号姓名课程号学号pp),(),(成绩课程号学号姓名学号ff),(院长学院,学院学号问题:插入异常、删除异常、更新异常、数据冗余5.2.3范式•范式的种类:第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF)NF5NF4BCNFNF3NF2NF1某一关系模式R为第n范式,可简记为R∈nNF。•范式是符合某一种级别的关系模式的集合。5.2.31NF•1NF的定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。•第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。满足第一范式的关系模式就是好的范式吗?插入异常删除异常更新异常冗余度大学号姓名性别学院院长课程号课程名称成绩任课教师99051张三丰男信息李平09012数据库85萧峰99051张三丰男信息李平09013大学物理80杨广99053李丽女信息李平08056大学英语75陈妍99072王刚男化学张香02011无机化学91张敏99061徐娟女管理王莉08056大学英语95张倩函数依赖关系图学号姓名性别学院院长课程号课程名称成绩任课教师99051张三丰男信息李平09012数据库85萧峰99051张三丰男信息李平09013大学物理80杨广99053李丽女信息李平08056大学英语75陈妍99072王刚男化学张香02011无机化学91张敏99061徐娟女管理王莉08056大学英语95张倩有什么特点?既存在完全函数依赖又存在部分函数依赖还有传递函数依赖学号f姓名(学号,课程号)p课程名称(学号,课程号)f成绩(学号,课程号)p姓名(学号,课程号)f任课教师改进:有什么特点?每一个非主属性完全函数依赖于码学号姓名性别学院院长99051张三丰男信息李平99053李丽女信息李平99072王刚男化学张香99061徐娟女管理王莉学号课程号成绩任课教师990510901285萧峰990510901380杨广990530805675陈妍990720201191张敏990610805695张倩2NF的定义若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。课程号课程名称09012数据库09013大学物理08056大学英语02011无机化学学生选课课程学号姓名性别学院院长99051张三丰男信息李平99053李丽女信息李平99072王刚男化学张香99061徐娟女管理王莉学号课程号成绩任课教师990510901285萧峰990510901380杨广990530805675陈妍990720201191张敏990610805695张倩课程号课程名称09012数据库09013大学物理08056大学英语02011无机化学学生选课课程学号姓名学号性别学号学院学号院长学院院长(学号,课程号)任课教师(学号,课程号)成绩课程号课程名学号姓名性别学院院长99051张三丰男信息李平99053李丽女信息李平99072王刚男化学张香99061徐娟女管理王莉学号姓名性别学院99051张三丰男信息99053李丽女信息99072王刚男化学99061徐娟女管理改进学院院长信息李平化学张香管理王莉3NF的定义:如果R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码,则称R是第三范式。记作R∈3NF。XYZ学生学生学院学号学院性别姓名学生学院院长学院
本文标题:05第五章 数据库设计
链接地址:https://www.777doc.com/doc-3649546 .html