第5章 数据库设计.ppt
《第5章 数据库设计.ppt》由会员分享,可在线阅读,更多相关《第5章 数据库设计.ppt(68页珍藏版)》请在三一办公上搜索。
1、第5章数据库设计,本章主要内容:,实体联系模型的元素实体联系模型到关系模型的转换规则实体联系模型设计关系数据库模式的实例,本章学习目标,数据库设计:包括逻辑设计和物理设计。逻辑设计:概念结构设计与逻辑结构设计。概念结构设计:实体-联系模型(E-R图)。逻辑结构设计:关系数据库的模式设计。,实体-联系模型(E-R图)反映的是用户需求的一个概念模型,与具体的数据库实现无关。数据库设计首先要分析用户需求,并用实体-联系模型表示。实体-联系模型的关键元素:实体、属性、标识符和联系。,5.1 实体-联系模型的元素,5.1.1 实体(Entity)实体实例(entity instance)是现实世界中客观
2、存在的并可相互区别的事物,实体实例可以是具体的人、事、物。例如,一个叫“张三”的学生,一门叫“”数据库基础的课程,都是一些实体实例。实体实例简称实例。实体:具有相同特征的可区分的实例的集合,如学生/职工。,实体-联系模型中,实体用矩形表示,矩形框内写明实体名。,图5-1学生实体与属性的表示,5.1.2 属性(Attribute)属性用来描述实体的特征。实体通常具有若干个特征,一个特征称为实体的一个属性,例如:学生实体具有学号、姓名、性别、年龄、系别等属性。属性有名和值,例如属性学号,可有100、200等值,一个属性名可对应多个值。E-R图中属性用椭圆表示,椭圆内写上属性的名称,并用无向边将其与
3、相应的实体连接起来,如图5-1所示。说明:如果E-R图中实体的属性很多,可以只在ER图附近说明,而不直接画在图上。有的时候,为了专注于分析实体与联系,可暂时不画实体的属性。,实体的属性可以分为简单属性和组合属性。简单属性:不可再分的属性。如学号、年龄等。组合属性:有多个简单属性组成的属性,或者说是可以进一步划分的属性。如电话号码,由区号、本地号码组成,因此电话号码时一个组合属性。说明:一个组合属性有时也可以看作为一个简单属性,取决于实际应用的需求,由数据库设计者根据实际应用需求决定。例如,电话号码,如果对该属性包含的简单属性要进行各种处理,那么通常把电话号码属性应该看作组合属性,应该继续细分成
4、简单属性,即区号、本地号码两属性。否则,可以考虑该属性为简单属性。,实体的属性还可以分为单值属性和多值属性。单值属性:指每一个实例在该属性上的取值是单一的。如学生的学号,年龄、性别属性。多值属性:指某些实例在该属性上的取值可能多于一个值。多值属性用双线椭圆表示,椭圆内写上多值属性名称,用无向边与相应的实体连接起来。,5.1.3 标识符(Identifier)标识符:用来识别或标识实例的那些属性或属性组。每一个实例在这些属性上具有不同的值。例如,学生实体可用学号作为标识符。因为每一个实例,即每一个学生都有不同的学号。反之,给定一个学号值也就能识别是那个学生。学生实体不能用年龄、性别这样的属性作为
5、标识符,因为给定年龄属性的一个值,比如20,不能惟一标识是那个学生的年龄,可能有很多学生的年龄都是20。由两个或多个属性构成的标识符叫组合标识符。一个实体可能有多个标识符,我们选出其中的一个作为实体的标识符,并用下划线表示。见图5-1中的“学号”,5.1.4 联系(Relationship)联系是指实体之间的相互关联。通常表示一个活动。比如:订购、选课等。一旦联系发生,可能产生一些联系属性,例如,一旦订购活动发生,就有订购数量、日期等属性,一旦进行选课,就有选修时间、选修成绩等属性。联系用菱形表示,菱形内写明联系的名称,通常用一个动词命名,并用无向边分别与关联实体连接起来。菱形的一侧用1、m、
6、n等符号表明联系的该侧实体最大可以产生的实例数,称为最大基数。一般ER图都只是标出最大基数,而不标出最小基数。最小基数表示菱形一侧的实体中实例的最小个数。有多种表示方法,可以用穿越联系线的小椭圆表示最小基数为0,用穿越联系线的小竖线(脉冲线)表示最小基数为1,若要表示大于1的最小基数,则在脉冲线上注明数字,如图5-3所示。,图5-3(a),图5-3(b),1.联系的两个重要概念部分参与与全部参与。参与联系的每一个实体称为这个联系的参与者。如果一个参与者的最小基数为0,即可以没有任何实例参与该联系,则称该参与者是部分的,或者说部分参与的。图5-3(a)中,学生实体与课程实体都是部分参与的。如果参
7、与者的最小基数为1,即至少有一个实例参与该联系,则称该参与者是全部的,或者全部参与的。图5-3(b)中,学生实体与课程实体都是全部参与的。,联系的元:一个联系中参与者的数量称为联系的元。也可定义为:一个联系中涉及的实体的个数称为联系的元。如图5-3(a)、5-3(b)中的“选课”的联系,在这个联系中,有两个实体参与,一个学生实体和一个课程实体。因此“选课”联系的元为2。元为2的联系是最普遍的联系,通常被称为二元联系2二元联系 可分为:一对一联系(1:1)、一对多联系(1:n)、多对多联系(m:n)。,一对一联系(1:1)若对于实体A中的每一个实例,实体B中至多有一个实例与之联系,反之,对于实体
8、B中的每一个实例,实体A中也至多有1个实例与之联系,则称实体A与实体B具有一对一联系,记为1:1(读作“1对1”)。在1:1联系中,一种类型实体的一个实例至多与另一种类型实体的一个实例关联。,图5-4(a),一对多联系(1:n)若对于实体A中的每一个实例,实体B中有n个实例(n0)与之联系,反之,对于对于实体B中的每一个实例,实体A中至多只有一个实例与之联系,则称实体A与实体B具有一对多联系,记为1:n(读作“1对n”或“1对多”)。如下图所示,把这个联系称为“分配”。表示一幢宿舍(实例)分配给0到多个学生(实例)居住,但一个学生最多被分配住在一幢宿舍,也必分配在某一幢宿舍居住。,图5-4(b
9、),多对多联系(m:n)若对于实体A中的每一个实例,实体B中有n个实例(n0)与之联系,反之,对于实体B中的每一个实例,实体A中也有m个实例(m0)与之联系,则称实体A与实体B具有多对多联系,记为m:n(读作“m对n”或“多对多”)。下图显示了一个m:n联系“选修”。选修联系表明一个学生最多可以选修n门课程,每门课程最多有m个学生选修,而最少的情况是:一个学生最少可以选修0门课程,每门课程最少可以被0个学生选修。,图5-4(c),3.多元联系两个以上实体之间存在的联系称为多元联系。多元联系也有一对一、一对多和多对多的联系三种。举例如下图所示。,图5-5(a)图5-5(b),4递归联系 递归联系
10、(Recursive Relationship)是指同一类型实体之间的联系。递归联系也有三种类型,如下例:,图5-6(a)1:1(b)1:n(c)m:n,20,概念模型的表示方法,概念模型的表示方法很多实体联系方法(E-R方法)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型,21,E-R图,实体用矩形表示,矩形框内写明实体名。,学生,教师,22,E-R图(续),属性用椭圆形表示,并用无向边将其与相应的实体连接起来,23,联系属性的表示方法,24,联系的表示方法,25,联系的表示方法(续),26,ER图的5个步骤,1.首先确定实体类型。2.确定联系类型。3.把实体类型和联系类型组合
11、成ER图。4.确定实体类型和联系类型的属性。5.确定实体类型的键,在ER图中属于码的属性名下画一条横线。,27,关系数据模型的数据结构,在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,28,关系模型的基本概念,关系(Relation)一个关系对应通常说的一张表。元组(Tuple)表中的一行即为一个元组。属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。,29,关系模型的基本概念,码(Key)表中的某个属性组,它可以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。关系模式(relation schema)对关系的描
12、述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级),30,E-R图向关系模型的转换,转换内容E-R图由实体、实体的属性和实体之间的联系三个要素组成关系模型的逻辑结构是一组关系模式的集合将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。,关系数据库设计需要设计出数据库赖以实现的实现模型,现在用的实现模型都是关系模型。关系模型的数据结构是关系,一个关系用一个关系模式表示。所有的关系模式组成数据库的模式。所以关系数据库设计就是要设计出数据库的模式,也称逻辑结构或逻辑模型。,5.2 实体-联系模型转换为关系模型,设计方法:将实体-联系模型转换为关系模型
13、,用若干个关系模式来表示。实体-联系模型由实体、属性、标识符和实体之间的联系等要素组成的,所以将实体联系模型转换为关系模型,实际上就是要将E-R图中实体、实体的属性和实体之间的联系等转换为若干个关系模式,并确定这些关系模式的属性、关键字和约束。E-R图的转换规则。,5.2.1 实体的转换ER图中的每个实体,转换为关系模型的一个关系,关系的属性就是实体的属性,关系的主键就是实体的标识符。一个关系用一个关系模式表示,在关系模式中,用下划线来表示主键。关系名及其属性名可以用对应实体的实体名和属性名。但在实际应用中,为了便于用户理解和交流,通常在E-R图中,实体和属性都使用汉字命名方式。但在转换得到的
14、关系模式中,关系名和属性名一般采用英文或拼音字母方式命名,目的是方便在DBMS中实施和应用程序的编写。,【例5.2.1】将下图所示的班主任管理班级的局部E-R图中两个实体转换为关系。(1)使用原来的实体名作为关系名,原来的属性名作为关系的属性名。转换得到关系模式如下:班主任(教工号,姓名,性别,职称,出生日期)班级(班级编号,系别,专业),(2)使用相应的英文或拼音字母命名代替原来的实体名和属性名,转换得到关系模式如下:Teachers(Tno,Tname,Tsex,Ttitle,Tbirthdate)Classes(ClassNo,DeptName,Major)需要说明:在把一个实体转换为一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 数据库设计 数据库 设计
链接地址:https://www.31ppt.com/p-5651091.html