第5节 数据库设计.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 数据库设计 本章主要内容: 实体-联系模型的元素 实体-联系模型到关系模型的转换规则 实体-联系模型设计关系数据库模式的实例 本章学习目标 数据库设计:包括逻辑设计和物理设计 。 逻辑设计:概念结构设计与逻辑结构设计。 概念结构设计:实体-联系模型(E-R图)。 逻辑结构设计:关系数据库的模式设计。 实体-联系模型(E-R图)反映的是用户需求的一个概念模型,与具体的数据库实现无关。 数据库设计首先要分析用户需求,并用实体-联系模型表示。 实体-联系模型的关键元素:实体、属性、标识符和联系。 5.1.1 实体(Entity) 实体实例(entity instance)是现实世界中客观存在的并可相互区别的事物,实体实例可以是具体的人、事、物。例如,一个叫“张三”的学生,一门叫“”数据库基础’的课程,都是一些实体实例。 实体实例简称实例。 实体:具有相同特征的可区分的实例的集合,如学生/职工。 实体-联系模型中,实体用矩形表示,矩形框内写明实体名。 实体的属性可以分为简单属性和组合属性。 简单属性就是不可再分的属性。如学号、年龄等。 组合属性就是有多个简单属性组成的属性,或者说是可以进一步划分的属性。如电话号码,由区号、本地号码组成,因此电话号码时一个组合属性。 说明: 一个组合属性有时也可以看作为一个简单属性,取决于实际应用的需求,由数据库设计者根据实际应用需求决定。例如,电话号码,如果对该属性包含的简单属性要进行各种处理,那么通常把电话号码属性应该看作组合属性,应该继续细分成简单属性,即区号、本地号码两属性。否则,可以考虑该属性为简单属性。 1. 联系的两个重要概念 部分参与与全部参与。参与联系的每一个实体称为这个联系的参与者。如果一个参与者的最小基数为0,即可以没有任何实例参与该联系,则称该参与者是部分的,或者说部分参与的。图5-3(a)中,学生实体与课程实体都是部分参与的。如果参与者的最小基数为1,即至少有一个实例参与该联系,则称该参与者是全部的,或者全部参与的。图5-3(b)中,学生实体与课程实体都是全部参与的。 联系的元:一个联系中参与者的数量称为联系的元。也可定义为:一个联系中涉及的实体的个数称为联系的元。如图5-3(a)、5-3(b)中的“选课”的联系,在这个联系中,有两个实体参与,一个学生实体和一个课程实体。因此“选课”联系的元为2。元为2的联系是最普遍的联系,通常被称为二元联系 2.二元联系 可分为:一对一联系( 1:1 )、一对多联系(1:n)、多对多联系(m:n)。 ①一对一联系(1:1) 若对于实体A中的每一个实例,实体B中至多有一个实例与之联系,反之,对于对于实体B中的每一个实例,实体A中也至多有1个实例与之联系,则称实体A与实体B具有一对一联系,记为1:1(读作“1对1”)。在1:1联系中,一种类型实体的一个实例至多与另一种类型实体的一个实例关联。 ②一对多联系(1:n) 若对于实体A中的每一个实例,实体B中有n个实例(n≥0)与之联系,反之,对于对于实体B中的每一个实例,实体A中至多只有一个实例与之联系,则称实体A与实体B具有一对多联系,记为1:n(读作“1对n”或“1对多”)。如下图所示,把这个联系称为“分配”。表示一幢宿舍(实例)分配给0到多个学生(实例)居住,但一个学生最多被分配住在一幢宿舍,也必分配在某一幢宿舍居住。 ③多对多联系(m:n) 若对于实体A中的每一个实例,实体B中有n个实例(n≥0)与之联系,反之,对于对于实体B中的每一个实例,实体A中也有m个实例(m≥0)与之联系,则称实体A与实体B具有多对多联系,记为m:n(读作“m对n”或“多对多”)。下图显示了一个m:n联系“选修”。选修联系表明一个学生最多可以选修n门课程,每门课程最多有m个学生选修,而最少的情况是:一个学生最少可以选修0门课程,每门课程最少可以被0个学生选修。 3. 多元联系 两个以上实体之间存在的联系称为多元联系。多元联系也有一对一、一对多和多对多的联系三种。举例如下图所示。 4.递归联系 递归联系(Recursive Relationship)是指同一类型实体之间的联系。递归联系也有三种类型,如下例: 关系数据库设计需要设计出数据库赖以实现的实现模型,现在用的实现模型都是关系模型。因此需要设计一个关系模型。关系模型的数据结构是关系,一个关系用一个关系模式表示。所有的关系模式组成数据库的模式。所以关系数据库设计就是要设计出数据库的模式,也称逻辑结构或逻辑模型。 设计方法:将实体-联系模型转换为关系模型,用若干个关系模式来表示。实体-联系模型由实体、属性、标识符和实体之间的联系等要素组成的,所以将实体-联系模型转换为关系模型,实际上就是要将E-R图中实体、实体的属性和

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档