数据库规范化理论复习.ppt
《数据库规范化理论复习.ppt》由会员分享,可在线阅读,更多相关《数据库规范化理论复习.ppt(145页珍藏版)》请在三一办公上搜索。
1、1,数据库规范化理论复习,一、数据依赖:是一个关系内部属性与属性之间的一种约束关系,主要有:函数依赖和多值依赖、完全函数依赖、部分函数依赖、传递依赖、平凡与非平凡依赖等。二、范式:就是关系数据库中的关系所满足的不同条件的要求。1NF:在关系模式R中的每一个具体关系r中,若每一个属性值都不可再分,则称R为第一范式的关系,记为:R 1NF。2NF:若R 1NF,且每一个非主属性完全依赖于码,则R 2NF。,2,数据库规范化理论复习,3NF:若R 2NF,且每一个非主属性即不部分依赖于码也不传递依赖于码,则它属于三范式的关系,记为R 3NF。BCNF:关系模式R中,若每一个决定因素都包含码,则R B
2、CNF。,3,数据库系统概论An Introduction to Database System第七章 数据库设计,4,7.1 数据库设计概述,数据库设计:定义:数据库设计是指对于一个给定的应用环境,设计优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。注:逻辑模式,也就是数据库的模式,是数据库全体数据的逻辑结构和特征的描述。,5,7.1.1 数据库设计的特点,三分技术,七分管理,十二分基础数据:强调了数据的收集、整理、组织和不断更新是数据库建设中的重要环节。结构(数据)设计和行为(处理)设计相结
3、合:整个设计过程中,要把数据库结构设计和对数据的处理设计密切结合起来。,6,数据库设计的特点(续),结构和行为分离的设计,7,7.1.2 数据库设计方法,新奥尔良(New Orleans)方法:将数据库设计分为若干阶段和步骤。基于E-R模型的数据库设计方法:概念设计阶段广泛采用。3NF(第三范式)的设计方法:逻辑阶段可采用的有效方法。ODL(Object Definition Language)方法:面向对象的数据库设计方法。,8,数据库设计方法(续),计算机辅助设计:ORACLE:Designer 2000SYBASE:PowerDesigner,9,7.1.3 数据库设计的基本步骤,数据库
4、设计分6个阶段:需求分析:概念结构设计:逻辑结构设计:物理结构设计:数据库实施:数据库运行和维护:需求分析和概念设计独立于任何数据库管理系统。逻辑设计和物理设计与选用的DBMS密切相关。,10,数据库设计的基本步骤(续),一、数据库设计的准备工作:选定参加设计的人。1.系统分析人员、数据库设计人员:自始至终参与数据库设计。2.用户和数据库管理员:主要参加需求分析和数据库的运行维护。3.应用开发人员(程序员和操作员):在系统实施阶段参与进来,负责编制程序和准备软硬件环境。,11,数据库设计的基本步骤(续),二、数据库设计的过程(六个阶段)需求分析阶段:准确了解与分析用户需求(包括数据与处理)。最
5、困难、最耗费时间的一步。,12,数据库设计的基本步骤(续),概念结构设计阶段:整个数据库设计的关键。通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。,13,数据库设计的基本步骤(续),逻辑结构设计阶段:将概念结构转换为某个DBMS所支持的数据模型。对其进行优化。“数据模型”:它是对现实世界数据特征的抽象,它是用来描述数据、组织数据和对数据进行操作的,把具体事物转换成计算机能处理的数据,通俗地讲,它就是现实世界的模拟。,14,数据库设计的基本步骤(续),数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。,15,数据库设计的基本
6、步骤(续),数据库实施阶段:运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的结果。建立数据库。编制与调试应用程序。组织数据入库。进行试运行。,16,数据库设计的基本步骤(续),数据库运行和维护阶段:数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。,数据库设计各个阶段的设计描述,18,7.1.4数据库设计过程中的各级模式,数据库设计不同阶段形成的数据库各级模式,数据库的各级模式,19,第七章 数据库设计,7.1 数据库设计概述7.2 需求分析7.3 概念结构设计7.4 逻辑结构设计7.5 数据库的物理设计7.6 数
7、据库实施和维护7.7 小结,20,7.2.1 需求分析的任务,需求分析的重点:是“数据”和“处理”,获得用户对数据库要求。信息要求:处理要求:安全性与完整性要求:,21,7.2.2 需求分析的方法,调查需求:达成共识:分析表达需求:,22,7.2.3 数据字典,数据字典:是系统中各类数据描述的的集合。数据字典的内容:数据项:数据结构:数据流:数据存储:处理过程:,23,数据项,数据项是不可再分的数据单位。对数据项的描述:数据项描述 数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系,24,数据结构,数据结构反映了数据之间的组合关系。一个
8、数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述 数据结构描述数据结构名,含义说明,组成:数据项或数据结构,25,数据流,数据流是数据结构在系统内传输的路径。对数据流的描述:数据流描述 数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量,26,数据存储,数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。对数据存储的描述:数据存储描述数据存储名,说明,编号,输入的数据流,输出的数据流,组成:数据结构,数据量,存取频度,存取方式,27,处理过程,处理过程说明性信息的描述处理过程描述处理过程名,说
9、明,输入:数据流,输出:数据流,处理:简要说明,28,数据字典举例,例:学生学籍管理子系统的数据字典。数据项,以“学号”为例:数据项:学号 含义说明:唯一标识每个学生别名:学生编号 类型:字符型 长度:8 取值范围:00000000至99999999取值含义:前两位表示那一届的学生,第3,4位该学生所在系,第5,6两位表示班级,第7,8位表示学生在班级的编号。,29,处理过程(续),数据结构,以“学生”为例。“学生”是该系统中的一个核心数据结构:数据结构:学生。含义说明:是学籍管理子系统的主体数据结构,定义了一个学生的有关信息。组成:学号,姓名,性别,年龄,所在系,年级。,30,处理过程(续)
10、,数据流,“体检结果”可如下描述:数据流:体检结果 说明:学生参加体格检查的最终结果 数据流来源:体检 数据流去向:批准 组成:平均流量:高峰期流量:,31,处理过程(续),数据存储,“学生登记表”可如下描述:数据存储:学生登记表 说明:记录学生的基本情况流入数据流:流出数据流:组成:数据量:每年3000张 存取方式:随机存取,32,处理过程(续),处理过程“分配宿舍”可如下描述:处理过程:分配宿舍说明:为所有新生分配学生宿舍输入:学生,宿舍输出:宿舍安排处理:在新生报到后,为所有新生分配学生宿舍。要求同一间宿舍只能安排同一性别的学生,同一个学生只能安排在一个宿舍中。每个学生的居住面积不小于3
11、平方米。安排新生宿舍其处理时间应不超过15分钟。,33,数据字典,数据字典是关于数据库中数据的描述,是元数据,而不是数据本身。数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善。,34,7.3 概念结构设计,7.3.1 概念结构7.3.2 概念结构设计的方法与步骤7.3.3 数据抽象与局部视图设计7.3.4 视图的集成,35,7.3.1 概念结构,什么是概念结构设计:将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。概念结构设计是整个数据库设计的关键。,36,概念结构(续),
12、37,概念结构(续),概念结构设计的特点:(1)能真实、充分地反映现实世界。(2)易于理解。(3)易于更改。(4)易于向关系、网状、层次等各种数据模型转换。,38,概念结构(续),描述概念模型的工具:E-R模型:实体-联系模型。,39,7.3.2 概念结构设计的方法与步骤,设计概念结构的四类方法:自顶向下:首先定义全局概念结构的框架,然后逐步细化,自顶向下策略,40,7.3.2 概念结构设计的方法与步骤,自底向上:首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构,自底向上策略,41,概念结构设计的方法与步骤(续),逐步扩张:首先定义最重要的核心概念结构,然后向外扩充,以滚雪球
13、的方式逐步生成其他概念结构,直至总体概念结构。,逐步扩张策略,42,概念结构设计的方法与步骤(续),混合策略:将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。,43,概念结构设计的方法与步骤(续),常用策略:自顶向下地进行需求分析。自底向上地设计概念结构。,44,概念结构设计的方法与步骤(续),自底向上设计概念结构的步骤 第1步:抽象数据并设计局部视图第2步:集成局部视图,得到全局概念结构,45,7.3.3 数据抽象与局部视图设计,数据抽象:局部视图设计:,46,数据抽象,抽象是对实际的人、物、事和概念中抽取所关心的共同
14、特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述。概念结构是对现实世界的一种抽象。,47,局部视图设计,设计分E-R图的步骤:选择局部应用逐一设计分E-R图,48,选择局部应用,在多层的数据流图中选择一个适当层次的数据流图,作为设计分E-R图的出发点。通常以中层数据流图作为设计分E-R图的依据。,49,选择局部应用(续),设计分E-R图的出发点,50,逐一设计分E-R图,任务将各局部应用涉及的数据分别从数据字典中抽取出来。参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的码。确定实体之间的联系及其类型(1:1,1:n,m:n)。,51,逐一设计分E-R图(续),两条准则:
15、(1)属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。(2)属性不能与其他实体具有联系。联系只发生在实体之间。,52,7.3 概念结构设计,7.3.1 概念结构7.3.2 概念结构设计的方法与步骤7.3.3 数据抽象与局部视图设计7.3.4 视图的集成,53,7.3.4 视图的集成,各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构即总E-R图。,54,视图集成的两种方式,多个分E-R图一次集成:一次集成多个分E-R图。通常用于局部视图比较简单时。,55,视图的集成(续),逐步集成:用累加的方式一次集成两个分E-R图。,56,
16、视图的集成(续),集成局部E-R图的步骤:1.合并。2.修改与重构。,57,视图的集成(续),视图集成,58,合并分E-R图,生成初步E-R图,各分E-R图存在冲突:各个分E-R图之间必定会存在许多不一致的地方。合并分E-R图的主要工作与关键:合理消除各分E-R图的冲突。,59,合并分E-R图,生成初步E-R图(续),冲突的种类:属性冲突:属性值的类型、取值范围等。命名冲突:同名异义,异名同义。结构冲突:,60,属性冲突,两类属性冲突:属性域冲突:属性值的类型。取值范围。取值集合不同。属性取值单位冲突:,61,命名冲突,两类命名冲突:同名异义:不同意义的对象在不同的局部应用中具有相同的名字。异
17、名同义(一义多名):同一意义的对象在不同的局部应用中具有不同的名字。,62,结构冲突,三类结构冲突:同一对象在不同应用中具有不同的抽象。同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同。实体之间的联系在不同局部视图中呈现不同的类型。,63,消除不必要的冗余,设计基本E-R图,基本任务:消除不必要的冗余,设计生成基本E-R图。,64,Stop here!,65,第七章 数据库设计,7.1 数据库设计概述7.2 需求分析7.3 概念结构设计7.4 逻辑结构设计7.5 数据库的物理设计7.6 数据库的实施和维护7.7 小结,66,7.4 逻辑结构设计,逻辑结构设计的任务:把概念结构
18、设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。逻辑结构设计的步骤:将概念结构转化为一般的关系、网状、层次模型。将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。对数据模型进行优化。,67,逻辑结构设计(续),逻辑结构设计时的3个步骤,68,7.4 逻辑结构设计,7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模式,69,7.4.1 E-R图向关系模型的转换(重点),E-R图向关系模型的转换要解决的问题:如何将实体型和实体间的联系转换为关系模式。如何确定这些关系模式的属性和码。转换内容:将E-R图转换为关
19、系模型:将实体、实体的属性和实体之间的联系转换为关系模式。,70,将E-R图转换为关系模型(重点),将E-R图转换为关系模型实际上就是将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:1、一个实体型转换为一个关系模式:实体的属性就是关系的属性。实体的码就是关系的码。例如:学生实体可以转换为如下关系模式,其中学号为学生关系的码。学生(学号,姓名,出生日期,所在系,年级,平均成绩),71,2、一个1:1的联系可以转换成一个独立的关系,此时,与该联系相连的各个实体的码以及联系本身的属性均转换为关系的属性,如:班长管理班级。可以将其转换为一个独立的关系模式:管理(学号,班级号
20、)也可以与任意一端的关系模式和并,此时应加入另一个关系的码和联系本身的属性。如与班级和并应为:班级(班级号,学生人数,学号),72,3、一个 1:n 联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。此时可使用独立关系:组成(学号,班级号)。另一种方法是将其与学生关系模式合并,这时学生关系的模式为:学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩)后一种方法减少系统中关系个数,一般情况下采用这种方法。,73,4、一个m:n联系转换为一个关系模式:与该
21、联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。此时关系结构式为:SC(Sno,Cno,Grade),74,5、三个或三个以上实体间的一个多元联系转换为一个关系模式:与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。例如:教师、课程、所用书之间的“讲授”联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、教师号、书号为关系的组合码:讲授(课程号,教师号,书号),75,6、同一实体集的实体间的联系,即自联系,也可按上述1:1,1:n,m:n三种情况分别处理。例如:如果教师实体集内部存在领导与被领导的1:n自
22、联系,可以将该联系与教师实体合并,这时,主码职工号将多次出现,但作用不同,可用不同的属性名加以区别,比如在合并后的关系模式中,主码仍为职工号,再增设一个“系主任”属性,存放相应系主任的职工号。,76,7、为了减少系统中的关系个数,如果两个关系模式具有相同的主码,可以考虑将它们合并为一个关系模式。合并方法是将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性,并适当调整属性的次序即可。,77,Stop here!,78,7.4 逻辑结构设计,7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模式,79,7.4.2 数据模型的优化,得到初步数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 规范化 理论 复习
链接地址:https://www.31ppt.com/p-6296598.html