教学工作的资源分享

数据库设计ER和规范化数据

职教

职教

1

第二章

数据库设计2本章要点

掌握概念结构的设计方法(E-R )

掌握关系模型的基本概念把握关系模型的完整性约束掌握关系的规范化3

第二章数据库设计2.1数据库设计概述2.1.1数据库设计任务

数据库设计的任务主要是设计数据库模型设计数据库系统架构中的三级模式模型摘要具体数据库APP应用系统的公式结构的数据库的全局数据结构。 反映使用本系统所有用户的数据视图。4第二章数据库设计2.1数据库设计概述2.1.2数据库设计步骤

1 .需求分析阶段2 .概念结构设计阶段3 .逻辑结构设计阶段4 .物理结构设计阶段5 .实施阶段6 .使用和维护阶段5

第二章数据库设计2.2需求分析2.2需求分析

(1)信息要求)用户知道从数据库中得到的信息的内容、性质质量、数据库APP应用系统中使用的所有基础信息类型及其相关、理解用户希望从数据库中获取的信息类型以及需要存储在数据库中的信息数据。

(2)处理请求)得知用户希望数据库APP系统进行数据发送什么样处理、对各种数据处理的响应时间的要求、各种数据处理的频率要求、对数据处理方式的要求是批处理还是在线处理等。(3)安全要件:了解用户对数据库中保存的信息的安全性哪些信息需要保密,哪些信息不需要保密,需要保密。)4)完整性要求)了解用户对于数据库中保存的信息应该满足什么什么约束条件,什么信息在数据库中是正确的数据?6第二章数据库设计2.3概念结构设计

概念结构设计是整个数据库设计的关键。 常用的方法是实体-联络模型,简称E-R模型。

实体(Entity )客观存在且相互区别的“东西”。 //记录属性)实体有几个特性,每个特性都被称为实体的一个属性。实体型(用一组实体名和属性名记述同种实体,称为实体体型。 //学生的体型表示学生(学号、姓名、性别、班级)实体集(实体集是几个同类实体的集合。 //表代码(Key )属性或属性集的值可以唯一地标时标识实体集中可以称为代码的属性或属性集的实体(关键词)。 作为代码的属性或属性集也称为主属性,反之亦然非主属性。

联络(Relationship )联络是指2个以上的实体集团之间的关联关系的说明。7

第二章数据库设计2.3概念结构设计2.3.2 E-R图E-R图具有三个主要元素:物理集、属性和联系你。其中:

(1)“矩形”框用于表示实体集) 2“椭圆形”框用于表示实体集的属性(3)“菱形”框用于表示实体集之间的联系8第二章数据库设计2.3概念结构设计2.3.3实体集联系类型实体集的通信类型有以下三种:1 .一对一联系

有实体集a和实体集b,如果有a中的一个实体,最多只能是b中的一个实体相关联,相反,b中的一个实体至多与a中的一个实体相关联关联将a和b称为“一对一”联络类型,记为(1:1 )。2 .一对多联系有实体集a和实体集b,如果有a中的一个实体,就可以在b中多个实体相关联,相反,b中的一个实体至多与a中的一个实体相关联结合附图,将a和b称为“一对多”联系类型,表示为(1) n。3 .多对多联系有实体集a和实体集b,如果有a中的一个实体,就可以在b中多个实体是相关的,相反,b中的一个实体可以是a中的多个实体关联将a和b称为多对多的联络类型,表示为(m ) n。9第二章数据库设计2.3概念结构设计2.3.4 E-R型号设计实例学生

学号姓名路线

成绩课程编号课程名称选修课的m n10

第二章数据库设计2.4逻辑结构设计概念模型是独立于数据模型的概念结构,与与DMS无关。 逻辑结构设计是转换概念模型特定DBMS支持的逻辑结构。E-R模型DBMS支持数据模型

最优化

数据模型

优化DMS规则11

第二章数据库设计2.4逻辑结构设计2.4.1关系模式模型根据数据结构、数据操作、完整性约为由捆的三部分组成。1 .关系模型的数据结构

用二维表形式表示实体集的数据结构模型,叫做关系。12

中专技校

中专技校

在一个关系中,每一个数据都可以看作是独立的分量在一种关系中,每横行一次就叫一个元组在一个关系中,每个纵列称为一个属性一个关系有一个关系名称,同时各属性也有属性名称。 通常,将用于描述关系结构的关系名称和属性名称的集合称为关系模型(模式)代码(密钥)是关系模型中的重要概念。 超码、候选代码、主码(主键)、外码(外键) )外键)。用关系模型(二维表)创建的数据库称为关系数据库。13

第二章数据库设计2.4逻辑结构设计14

第二章数据库设计2.4逻辑结构设计2 .关系模型的数据操作

关系模型的数据操作是集合操作的性质,也就是数据操作的对象和操作结果都是多个元组或属性的集合。 关系模型的数据操作主要查询、插入、删除、修改时。3 .关系模型的完整性约束

(1)用户定义的完整性:用户自定义的删除限制、更新插入约束、约束。

)2)实体完整性)关系中元组的唯一性约束,即构成主键的属性约束条件,即关系(表)中构成主键的属性空值。

(3)参照完整性)是建立关系数据库内的关联关系的关系间数据引用约束,即对组成外键的属性的约束。 准确实,引用完整性意味着关系中的外键必须是另一个关系的主体键的有效值或空值。15

第二章数据库设计2.4逻辑结构设计16第二章数据库设计2.4逻辑结构设计17

第二章数据库设计2.4逻辑结构设计4 .关系模式的主要特征(1)关系的各分量)数据项)是不可分割的,也是最基本的的数据单位。)2)每列分量属性相同,列数根据需要设置。每列的顺序是任意的。)每行由一个实体的许多属性组成,且每行的顺序顺序可以是任意的。)4)一个关系是二维表,不允许有相同的属性名称。不允许相同的元组。18

第二章数据库设计2.4逻辑结构设计2.4.2规范关系1 .数据库设计问题

如果一个关系没有规范化,可能会有数冗馀性大、数据更新引起不一致、数据插入异常删除例外。教材第P33页表2-4工作人员情况表中显示了数据冗馀、更新例外、插入例外和删除例外19

第二章数据库设计2.4逻辑结构设计2.4.2规范关系2 .函数依赖函数依赖是一种关系

中属性之间的值依赖关系。

定义2.1 :在假设关系r(a,b,c )中,当a取值时时,它对应于唯一的b和c值,称为函数b和函数c取决于a或由a函数确定b和c,将其标记为AB、AC。这里的a实际上是关系r的主键,主键可取的值是no不能为空,也不能重复。20

第二章数据库设计2.4逻辑结构设计2.4.2规范关系关系中可能存在的不同函数依赖关系

因为关系中的主键可能是“单属性键”或“多属性键”,因此,关系中的属性对主键具有不同的依赖关系。 假设关系在r(a,b,c,d,e )中,关系r的主键是A B。 如下图所示,完全函数依赖、部分函数依赖,传递函数依赖。r )学号、姓名、性别、班级、班主任、课号、课程名称、课时数、成绩) ) ) ) ) )。r(a,b,c,d,e,f ) )。完全函数依赖某些函数依赖

传递函数依赖关系21

第二章数据库设计2.4逻辑结构设计

r )学号、姓名、性别、班级、班主任、课号、课程名称、课时数、成绩) ) ) ) ) )。学号课程编号成绩

完全依赖主键主键

课程名称课时数

部分依赖于主键的课程编号姓名性别等级

中等职业学校是中专吗

中等职业学校是中专吗

部分依赖于主键初中的学号依赖于主键初中的学号22第二章数据库设计2.4逻辑结构设计关于教材依赖定义:

定义2.1 :将r (u )作为属性集u上的关系模型,x和y是u的子集。 对于r(u )中任何一个可能的关系r,如果r中有任意两个元组,且x中的属性值相同,则为如果y的属性值也一定相同,则“x函数确定y”或" y函数依赖于x "记为XY23

第二章数据库设计2.4逻辑结构设计关于教材完全函数依赖、部分依赖的定义:定义2.2 :在关系模型r(u )中,XY且在x的任何真子集x’中,只要有x’y,y就是完整的函数依赖于x,进行标记。 否则y子函数依靠x书写。从定义2.2可以看出,x为单一属性时,x不存在任意何真子集,XY时。

24

第二章数据库设计2.4逻辑结构设计关于教材的传播依赖定义:

定义2.3 :在关系模型r(u )中,在XY、Y X情况下,y、YZ表示z传递函数依赖于x。25

第二章数据库设计2.4逻辑结构设计3 .规范关系

在关系规范化理论中,关系数据库的各一个关系都必须满足一定的规范。 通过满足规范根据的条件,分为六个阶段的五个范式第一范式(1NF )、第二范式(2NF ),第三范式(3NF ),修正的第三范式

(BCNF )、第四范式) 4NF )、第五范式(5NF ),NF是) Normal Form )的缩写。26第二章数据库设计2.4逻辑结构设计3 .规范关系

关系正规化的前三个正规化原则是:(1)第一模式:一个关系模型r的所有属性在不可分离的基本数据项的情况下,该关系模式属于第一范式(1NF )。 //原子性

)2)第二模式)其中关系模型r属于1NF,并且每个非nf如果所有测量属性都从属于代码,则关系模型属于2NF。//不存在某些函数依赖。)3)第三模式)其中关系模型r属于1NF,并且每个非nf如果主属性与代码无关,则关系模型属于3NF。27第二章数据库设计2.4逻辑结构设计4 .模式分解

将关系模型分解为“无损连接”“保持依存”的原则。

(1)无损连接)分解关系模型r时,r每个元组都将投影到相应的属性集,并生成新的关闭相关。(2)依存的维持)分解关系模型r时,r的函数依赖集也以适当的模式分解分解的总函数依赖集与原始函数依赖集不一致称为保持函数依赖关系。28

第二章数据库设计2.4逻辑结构设计2.4.3 E-R模型与关系模型的转换

将E-R模型转换为关系模型是实体类型和实体类型之间的协作转换为关系模型,确定关系模型的属性和代码,并在转换过程中不违背关系完整性约束,尽量符合规范原则。有关概念模型的定义和关系模型的定义的对应关系如下表所示提示:

概念模型理论中关系模型理论中实体型关系模型实体集合关系实体组

属性

属性值的分量29

第二章数据库设计2.4逻辑结构设计2.4.4关系数据库

在关系数据库中,关系被视为二维表,也称为那是数据表(简称表),该表包含表结构、关系完整性、表中数据和数据之间的联系。关系和表的对应关系如下表所示。关系模型理论在关系数据库中关系表

元组记录属性字段组件数据项30第二章数据库设计2.5物理结构设计实例

r )学号、姓名、性别、班级、班主任、课号、课程名称、课时数、成绩) ) ) ) ) )。Student (学号、姓名、性别、班级) ) )。班级(班主任)。

课程编号、课程名称、学习时数) )。

Score (学校号码、课程号码、成绩) ) )。31第二章数据库设计2.5物理结构设计2.5物理结构设计数据库的物理结构是设计的逻辑数

根据模型选择最佳的APP应用环境。 换句话说APP应用环境中的物理设备的全局逻辑数基于模型生成可以在特定DBMS中实现的关系数据库架构。1 .确定数据库的物理结构

2 .评估物理结构32

第二章数据库设计2.6数据库实现2.6数据库实现

数据库实现过程的一般步骤:(1)定义数据库结构。(2)组织数据入库)数据库。)3)创建和调试APP应用程序。)4)数据库试运行。33

第二章数据库设计2.7数据库的使用和维护2.7数据库的使用和维护数据库维护通常由数据库管理员执行

(Database Administrator,DBA )完成。主要工作内容如下)1)数据库转储和恢复;

)2)控制数据库的安全性和完整性)3)数据库性能的监督、分析和改进)4)重组和重建数据库。

随机看看

NEW ARTICLE

标签

Tag