第二章_数据库设计_第1页
第二章_数据库设计_第2页
第二章_数据库设计_第3页
第二章_数据库设计_第4页
第二章_数据库设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第2 2章章 数据库设计数据库设计2022年3月10日19时45分1o数据库设计步骤数据库设计步骤o函数依赖及范式函数依赖及范式o 数据厍的数据厍的概念结构设计概念结构设计概念模型概念模型n概念结构设计应在系统分析阶段进行。概念结构设计应在系统分析阶段进行。n任务是根据用户需求设计数据库的概念数据模型任务是根据用户需求设计数据库的概念数据模型( (简称概念模型简称概念模型) )。n概念模型是从用户角度看到的数据库概念模型是从用户角度看到的数据库, ,它可用它可用E-RE-R模型模型表示表示, ,也可也可以用以用3NF3NF关系群来表示。关系群来表示。o 数据库的数据库的逻辑结构设计逻辑结构设

2、计逻辑模型逻辑模型n逻辑结构设计是将概念结构设计阶段完成的概念模型转换成能逻辑结构设计是将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统被选定的数据库管理系统(DBMS)(DBMS)支持的数据模型。支持的数据模型。n数据模型可以由实体联系模型转换而来数据模型可以由实体联系模型转换而来, ,也可以用基于第三范式也可以用基于第三范式(3NF)(3NF)的方法来设计。的方法来设计。n接着是用接着是用DBMSDBMS提供的数据描述语言提供的数据描述语言DDLDDL定义数据模型。定义数据模型。o 数据库的数据库的物理结构设计物理结构设计物理模型物理模型n内容包括:选用库文件的组织形式、存储

3、介质的分配和内容包括:选用库文件的组织形式、存储介质的分配和 存取存取路径的选择等。路径的选择等。一、数据库设计步骤一、数据库设计步骤概念概念数据模型(数据模型(Conceptual Data ModelConceptual Data Model) E-RE-R方法方法 ( (Entity-Relationship Entity-Relationship ) ) 概念概念模型的最常见的表示方法是实体模型的最常见的表示方法是实体联系方法(简联系方法(简称称E-RE-R方法)。方法)。E-RE-R方法是方法是P.P.S.ChenP.P.S.Chen于于19761976年提出的,其年提出的,其方法是

4、用方法是用E-RE-R来描述某一组织的信息模型。来描述某一组织的信息模型。 E-RE-R图中用图中用矩形矩形表示实体;实体之间的关系用表示实体;实体之间的关系用菱形菱形表表示;用无向边把菱形与有关实体连接,在边上标明联系的示;用无向边把菱形与有关实体连接,在边上标明联系的类型;实体的属性可用类型;实体的属性可用椭圆椭圆表示,并用无向边把实体与属表示,并用无向边把实体与属性联系起来。性联系起来。观点:世界是由一组称作观点:世界是由一组称作的基本对象和这些对象之间的的基本对象和这些对象之间的构成的。构成的。实体间的不同联系实体间的不同联系系系主任主任负责负责系系1 11 1班级班级包含包含学生学生

5、1 1N N产品产品组成组成零件零件M MN N一对一联系一对一联系一对多联系一对多联系多对多联系多对多联系E-RE-R模型的示例(模型的示例(1 1)E-R模型的示例(2)实体集内实体之间的联系实体集内实体之间的联系职工职工配偶配偶1 11 1零件零件构成构成m mn n学生学生n n1 1学生学生- -班长班长E-R模型的示例(3)多重联系和多元联系多重联系和多元联系供应者供应者零件零件供应供应m mn n工程工程p p职工职工设备设备保养保养m mn n使用使用m mn n学生学生课程课程选修姓名学号系别课程名主讲教师成绩先修课用用矩形矩形表示实体集,在框表示实体集,在框内写上实体名内写

6、上实体名用用椭圆椭圆表示实体表示实体的属性的属性用用无向边无向边把把实体与其属实体与其属性连接起来性连接起来用用菱形菱形表示实体间表示实体间的联系的联系将参与联系的实体用线将参与联系的实体用线段连接段连接mn设计设计E-RE-R图过程图过程: :逻辑数据模型逻辑数据模型 (Logic Data Model (Logic Data Model,LDM)LDM) 数据模型是对客观事物及其联系的数据化描述,数据模型是对客观事物及其联系的数据化描述,是数据库系统中用于提供信息表示和操作手段的形式是数据库系统中用于提供信息表示和操作手段的形式构架,是数据库系统实现的基础。构架,是数据库系统实现的基础。

7、在实际数据库系统中支持的数据模型主要有以下在实际数据库系统中支持的数据模型主要有以下三种:三种: 层次模型:(层次模型:(Hierarchical ModelHierarchical Model) 网状模型:网状模型:(Network Model)(Network Model) 关系模型:关系模型:(Relation Model)(Relation Model) 其中关系模型是最重要的数据模型,其中关系模型是最重要的数据模型,现今推出的现今推出的数据库管理系统几乎全部支持关系模型数据库管理系统几乎全部支持关系模型。 关系模型的定义:关系模型是建立在数学概念关系模型的定义:关系模型是建立在数学概

8、念的基础上,应用关系代数和关系演算等数学理论来处的基础上,应用关系代数和关系演算等数学理论来处理数据库系统的方法。理数据库系统的方法。 从用户的观点来看,在关系模型下,数据的逻辑从用户的观点来看,在关系模型下,数据的逻辑结构是一张结构是一张二维表二维表。每一个关系为一张二维表,相当。每一个关系为一张二维表,相当于一个文件,实体间的联系均通过关系进行描述。于一个文件,实体间的联系均通过关系进行描述。 关系模型:用二维表的形式表示关系模型:用二维表的形式表示实体和实体间联系的数据模型实体和实体间联系的数据模型用数据的二维表格来描述实体与实体间的联系。用数据的二维表格来描述实体与实体间的联系。v表中

9、每一项须是基本项表中每一项须是基本项( (初等项初等项););v表中每一列必须有相同的数据类型表中每一列必须有相同的数据类型; ;v每一列须有段名,且同一表格中段名不重复每一列须有段名,且同一表格中段名不重复; ;v表中不能有相同的行表中不能有相同的行( (即不能有相同的记录即不能有相同的记录););v行列的顺序均不影响表中信息的内容。行列的顺序均不影响表中信息的内容。 关系模型的特点:关系模型的特点: (1 1)关系模型的概念单一:对于实体和实体之间的联)关系模型的概念单一:对于实体和实体之间的联系均以关系来表示,如系均以关系来表示,如: 学生学生( (学号,学生姓名,所属系,年龄学号,学生

10、姓名,所属系,年龄) ) 课程课程( (课程号,课程名,先行课程号课程号,课程名,先行课程号) ) 选课关系(学号,课程号,成绩,学期)选课关系(学号,课程号,成绩,学期) ( (2 2) )关系是规范化的关系:最基本的要求是关系中的每关系是规范化的关系:最基本的要求是关系中的每一个分量都是不可分的数据项一个分量都是不可分的数据项 ( (3 3) )关系模型中,用户对数据的检索和操作实际上是从关系模型中,用户对数据的检索和操作实际上是从原二维表中得到一个子集,该子集仍是一个二维表。因而原二维表中得到一个子集,该子集仍是一个二维表。因而易于理解,操作直接、方便。易于理解,操作直接、方便。 (如(

11、如SELECT SNO FROM STUDENT.SELECT SNO FROM STUDENT.)实体的转换规则实体的转换规则 1) 1) 一个实体型转换为一个独立的关系模式一个实体型转换为一个独立的关系模式:实体型的属性:实体型的属性:实体型的码:实体型的码例,学生实体可以转换为如下关系模式:例,学生实体可以转换为如下关系模式:学生(学号,姓名,年龄,性别,所在系)学生(学号,姓名,年龄,性别,所在系)实体间的联系的转换规则实体间的联系的转换规则 )一个一个1:11:1联系可以转换为一个独立的关系模式联系可以转换为一个独立的关系模式,也可以与也可以与任意一端任意一端对应的关系模式合并。对应

12、的关系模式合并。 如果转换为一个独立的关系模式,则:如果转换为一个独立的关系模式,则:关系的属性关系的属性:与该联系相连的各实体的码以:与该联系相连的各实体的码以及联系本身的属性及联系本身的属性关系的候选码关系的候选码:每个实体的码均是该关系的:每个实体的码均是该关系的候选码候选码 (如男人和女人之间的婚姻关系)(如男人和女人之间的婚姻关系)实体间的联系的转换规则实体间的联系的转换规则 3 3)一个一个1:n1:n联系可以转换为一个独立的关系模式联系可以转换为一个独立的关系模式,也可以与也可以与n n端端对应的关系模式合并。对应的关系模式合并。 如果转换为一个独立的关系模式,则:如果转换为一个

13、独立的关系模式,则:关系的属性关系的属性:与该联系相连的各实体的码:与该联系相连的各实体的码以以及联系本身的属性及联系本身的属性:n n端(多端)实体的码端(多端)实体的码(重点)(重点) (如学生与所在系的关系)(如学生与所在系的关系)实体间的联系的转换规则实体间的联系的转换规则 4 4)一个一个m:nm:n联系只能转换为一个独立的关系模式联系只能转换为一个独立的关系模式关系的属性关系的属性:与该联系相连的各实体的码:与该联系相连的各实体的码以及以及联系本身的属性联系本身的属性:各实体码的组合:各实体码的组合 例,例,“选修选修”联系是一个联系是一个m:nm:n联系,可以将它联系,可以将它转

14、换为如下关系模式,其中学号与课程号为关系转换为如下关系模式,其中学号与课程号为关系的组合码:的组合码: 选修(选修(学号学号,课程号课程号,成绩),成绩) 5 5) 对三个以上实体间的多元联系,以及同一对三个以上实体间的多元联系,以及同一实体集的实体间的自联系,根据相同的转换规则实体集的实体间的自联系,根据相同的转换规则,按联系的不同类型进行相应的转换。,按联系的不同类型进行相应的转换。例:例:讲授讲授课程课程课程号课程号课程名课程名m n课程课程(课程号课程号,课程名,课程名)教师教师职工号职工号姓名姓名性别性别教材教材书号书号书名书名p教材教材(书号书号,书名,书名)教师教师(职工号职工号

15、,姓名,性别,姓名,性别)讲授讲授(课程号,书号,职工号课程号,书号,职工号)例题:物资管理例题:物资管理E-RE-R模型模型 转化为关系模式如下:转化为关系模式如下: 供应商(供应商(供应商号供应商号,名称,电话号码),名称,电话号码) 产产 品(品(产品号产品号,产品名,产地),产品名,产地) 零零 件(件(零件号零件号,零件名,单价),零件名,单价) 仓仓 库(库(仓库号仓库号,面积),面积) 供供 应(应(产品号,供应商号产品号,供应商号,供应量),供应量) 构构 成(成(产品号,零件号产品号,零件号,使用量),使用量) 库库 存(存(零件号零件号,仓库号,库存量),仓库号,库存量)

16、或或 零件(零件(零件号零件号,零件名,单价,零件名,单价,仓库号仓库号,库存量,库存量)二、数据依赖及范式二、数据依赖及范式o数据库设计是数据库应用领域中的主数据库设计是数据库应用领域中的主要研究课题,其要研究课题,其主要主要任务是创建满足任务是创建满足用户需求且性能良好的数据库模式。用户需求且性能良好的数据库模式。o关系数据库规范化理论是关系数据库规范化理论是指导指导数据库数据库设计的一个理论指南设计的一个理论指南。2022年3月10日19时45分19o实例分析n 将专业和系两个实体存放在一个表内majorNomajorNamemajorLeaderdepNamedepDeanNameM0

17、01日语王金宝外语系李强生M002英语陈龙外语系李强生M003阿拉伯语何炅新外语系李强生M004工商管理任德华工商系赵德胜M005金融张学斌工商系赵德胜M006国际贸易李东生工商系赵德胜M007经济学钱海波工商系赵德胜M008软件工程朱晓明计算机系王海洋M009计算机网络刘少云计算机系王海洋M010建筑学白意愿建筑系刘玉明o实例分析n 数据冗余 :数据在数据库中的重复存放称为数据冗余n 数据冗余导致的问题:o浪费存储空间o可能造成数据的不一致性,产生插入、删除和更新异常o增加了插入、删除和更新数据的时间majorNomajorNamemajorLeaderdepNamedepDeanNameM

18、001日语王金宝外语系李强生M002英语陈龙外语系李强生M003阿拉伯语何炅新外语系李强生数据重复数据重复o实例分析n 插入异常 :o 在不规范的数据表中插入数据时,由于实体完整性约束要求主键非空主键非空的限制,将会出现一些有用数据无法插入的情况majorNomajorNamemajorLeaderdepNamedepDeanNameM001日语王金宝外语系李强生M002英语陈龙外语系李强生历史系历史系张大同张大同主键不能为空,主键不能为空,插入失败插入失败o实例分析n 删除异常o 在不规范的数据表中,删除某条记录会将其中一部分有用数据一起删除有用数据被删除有用数据被删除majorNomajo

19、rNamemajorLeaderdepNamedepDeanNameM009计算机网络刘少云计算机系王海洋M010建筑学白意愿建筑系建筑系刘玉明刘玉明o实例分析n 更新异常o 在不规范的数据表中修改某条记录的特定分量,而其它记录中的等值分量不能同步更新,则会导致数据不一致majorNomajorNamemajorLeaderdepNamedepDeanNameM001日语王金宝外语系李强生M002英语陈龙外语系李强生M003阿拉伯语何炅新外语系刘强生刘强生数据不一致数据不一致o 产生问题的原因产生问题的原因? ?n所设计的关系模式没有体现数据之间的结构所设计的关系模式没有体现数据之间的结构o

20、关系规范化的提出关系规范化的提出: : 规范化理论是规范化理论是E.F.CoddE.F.Codd在在19711971年提出的。以后人们年提出的。以后人们为数据结构定义了五种规范化模式(为数据结构定义了五种规范化模式(Normal FormNormal Form,简称范式)。即:简称范式)。即:1NF1NF,2NF2NF,3NF3NF,BCBCNFNF,4NF4NF,5NF5NF。 规范化理论正是用来改造关系模式,通过分解关系规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以模式来消除其中不合适的数据依赖,以解决插入异解决插入异常、删除异常、更新异常和数据冗余问题常、

21、删除异常、更新异常和数据冗余问题。学生关系(学号,姓名,性别,年龄,专业编号,已取得总学分) 学号姓名学号性别 学号年龄 学号专业编号 学号已取得总学分o 函数依赖的定义n 已知:X和Y是关系R中两个属性(或属性组)n 若对于X的任何一个值,只有一个Y的值与之对应,则称Y函数依赖于X,记为:XY,X被称为决定因子o 任何属性都函数依赖于候选键,所有候选键都是决定因子n 例 子:函数依赖o 思思 考考n 下面给出的关系表R(A, B, C, D)满足下述哪个函数依赖?ABCD1431271130221233A. AB B. BDC. DC D. AD 第一范式 o 第一范式定义 n 若关系R中的

22、每个属性(列)都是不可再分的,并且每个属性都是单值的,则称关系R满足第一范式,记为:R1NFo 属性不可再分:1NF中不能出现子属性o 属性值为单值:每个单元格中不允许出现一个以上的数据n 1NF是对关系的最低要求,不满足1NF的关系是非规范化的关系第一范式 o实例分析 n提出 / 分析问题 teacherNoteacherNameteacherTitleteacherTelofficeTelhomeTelT001夏玉明讲 师8123498181231231T002李 娟教 授8123498688712136T003王筱琳讲 师8123498188245178T004刘明辉刘明浩副教授8123

23、498186570081T005唐 勇副教授8123498283226315T006黄 洁讲 师8123498282225743T007曾 惠副教授8123498288710038T008赵文波教 授8123498688461136非规范化非规范化第一范式 o实例分析 n问题求解 teacherNoteacherNameteacherTitleofficeTelhomeTelT001夏玉明讲 师8123498181231231T002李 娟教 授8123498688712136T003王筱琳讲 师8123498188245178T004刘明辉刘明辉副教授8123498186570081T005

24、唐 勇副教授8123498283226315T006黄 洁讲 师8123498282225743T007曾 惠副教授8123498288710038T008赵文波教 授8123498688461136T009刘明浩刘明浩副教授8123498186570081第二范式 o 第二范式定义 n 若关系R1NF,并且每个非主属性都函数依赖于整个候选键,而不是依赖于部分候选键,则称关系R满足第二范式,记为:R2NFn 1NF转化为2NF:o 优先判断主键的规范性o 将依赖部分键的非主属性依赖部分键的非主属性和所依赖部分键所依赖部分键组成一个关系o 将依赖整个键的非主属性依赖整个键的非主属性和整个键整个键

25、组成另一个关系第二范式 o实例分析 n提出问题:满足1NF,不满足2NF stuNostuNamestuSexstuAgeclassNoclassCourseNameclassStartTimescoreS001白玉芬女19C001微观经济学2008-3-178S001白玉芬女19C002大学英语2008-3-167S001白玉芬女19C005操作系统2009-4-6S002唐嘉芝女18C001微观经济学2008-3-192S003刘健鹏男21C006数据库原理2009-4-897S004田 洋男19C001微观经济学2008-3-166S004田 洋男19C002大学英语2008-3-165

26、S004田 洋男19C003建筑艺术2008-3-1663S004田 洋男19C004计算机网络2008-3-2571S005申一雅男18C004计算机网络2008-3-2559S005申一雅男18C005操作系统2009-4-6S006范 力男19C005操作系统2009-4-6S007高 红女20C005操作系统2009-4-6S008张埔涛男18C005操作系统2009-4-6S009蒲惠妃女19C005操作系统2009-4-6第二范式 o实例分析 n分析问题:o 插入异常:在一个学生未选择任何课程时,该学生信息不能被插入 o 更新异常:对于给定的学生,学号、性别、姓名和年龄重复多次;对

27、于给定的班级,课程名称、开课时间重复多次 o 删除异常:当需要删除某个学生的信息时,与该学生相关的班级信息将被删除;删除班级信息时,选该班级课程的学生信息也将被删除,这种删除将造成一些信息的丢失第二范式 o实例分析 n问题求解stuNostuNamestuSexstuAgeS001白玉芬女19S002唐嘉芝女18S003刘健鹏男21S004田 洋男19S005申一雅男18S006范 力男19S007高 红女20S008张埔涛男18S009蒲惠妃女19classNoclassCourseNameclassStartTimeC001微观经济学2008-3-1C002大学英语2008-3-1C003

28、建筑艺术2008-3-16C004计算机网络2008-3-25C005操作系统2009-4-6C006数据库原理2009-4-8stuNoclassNoscoreS001C00178S001C00267S001C005S002C00192S003C00697S004C00166S004C00265S004C00363S004C00471S005C00459S005C005S006C005S007C005S008C005S009C005满足满足2NF第二范式o 思思 考考n 在按照2NF要求分解之后的关系模式中,确定学生表、班级表和选课表的主键和外键。 第三范式 o第三范式定义 n 若关系R2N

29、F,并且它的非主属性只函数依赖于候选键,而不依赖于其它非主属性,则称R满足第三范式,记为:R3NFn 2NF转化为3NF:o 将不只依赖于键的非主属性和所依赖的非主属性组成一个关系o 原有关系中去掉那些不只依赖于键的非主属性,剩余部分组成一个关系第三范式o实例分析 n提出问题:满足2NF,不满足3NFstuNostuNamestuSexstuAgemajorNomajorNamemajorLeaderS001白玉芬女19M001日语王金宝S002唐嘉芝女18M001日语王金宝S003刘健鹏男21M001日语王金宝S004田 洋男19M001日语王金宝S005申一雅男18M001日语王金宝S006范 力男19M002英语陈龙S007高 红女20M002英语陈龙S008张埔涛男18M002英语陈龙S009蒲惠妃女19M003阿拉伯语何炅新第三范式o实例分析

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论