《数据库技术与设计》课件第3章 数据库建模_第1页
《数据库技术与设计》课件第3章 数据库建模_第2页
《数据库技术与设计》课件第3章 数据库建模_第3页
《数据库技术与设计》课件第3章 数据库建模_第4页
《数据库技术与设计》课件第3章 数据库建模_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第3章

数据库建模Chapter3DatabaseModeling本章要点数据库建模概述E-R图的设计E-R图的子类和继承E-R图的约束建模典型案例分析3.1数据库建模概述

要设计一个有用的数据库,首先要考虑在数据库中存放什么信息,然后分析这些信息之间有什么联系,最后确定数据库的结构。

数据库的结构通常称为数据库模式。数据库建模过程以下:图3.1数据库建模过程

3.2E-R图的设计3.2.1E-R图的设计方法1、E-R图的组成部分:(1)实体集,在E-R图中用矩形框来表示实体集,实体是实体集的成员。(2)联系,在E-R图中用菱形框来表示联系,联系与其涉及的实体集之间以直线连接,并在直线端部标上联系的种类(1:1,1:N,M:N)。(3)属性,在E-R图中用椭圆形来表示实体集和联系的属性,对于键码的属性,在属性名下划一横线。下面举例加以说明。

例1

一般情况下,一个学生可以选修多门课程且一门课程可以让多个学生来选修;一门课程只能有一名课代表且一个学生允许担任几门课的课代表。用E-R图来可以表示一个简单的学生选课数据库,如下图3.2所示。

图3.2学生选课数据库的E-R图例2

一般情况下,一部电影有一批演员且每位演员可以出演多部电影;每家制片公司拥有多部电影且每部电影只归一家制片公司所有;每家制片公司只有一位公司总裁且每位公司总裁只在一家制片公司任职。用E-R图可以表示一个电影资料数据库,如下图3.3所示。

图3.3电影资料数据库的E-R图2、E-R图中联系的多向性

联系有时不仅局限于两个实体集之间,也可能涉及到三个或更多的实体集,这时就构成了多向联系。假设在学生选课数据库中增加一个实体集Teacher(老师),这样学生选课联系就涉及到三个实体集:

StudentCourseTeacher

例3对于特定的学生和课程,只有一位老师与它们相对应。一个学生可以选修一个老师开的几门课,而一个老师开的一门课也可以有多个学生去选。这时,必须用到如图3.4所示的三向联系S_C_T。

图3.4三向联系的例子

虽然用多向联系能更形象地反映某些现实世界,但从数据库建模的角度,用二元联系更为方便。可以将多向的联系转换成二元的联系,如图3.5所示。

图3.5用实体集和二元联系代替多向联系

3.2.2E-R图的设计原则1、真实性

最基本的设计原则就是:实体集和属性应当是真实的,应当反映客观现实。2、

避免冗余

在设计过程中,任何事物都只表达一次,否则既浪费空间,又容易造成不必要的麻烦。3、简单性

在设计数据库的过程中,一定要设法避免引入过多的元素,而应该尽量简单明了。4、合理选择元素类型

一般来说,若某个事物具有比名称更多的信息(属性),则作为实体集来实现更加合适;然而,若它除了名称之外不具有其他信息,则作为属性可能更合理。

3.3子类和继承3.3.1E-R图的子类

实体是实体集的成员,实体集是同类实体的集合。在面向对象数据模型里,实体相当于对象,实体集相当于类。如果某个实体集中含有一部分实体,而这部分实体具有某些附加的特性,并且这些特性对集合中其他实体成员来说是没有的,我们就称这部分实体组成的集合为子实体集或子类。

假定类A是类B的子类,类A对应于E-R图的实体集A,类B对应于E-R图中的实体集B。任何只和子类A有关的属性和联系都连到实体集A的方框上,而与类A和B都有关的属性和联系则连到实体集B的方框上,用一种称作属于(“isa”)的特殊联系将实体集A和B相连。

“isa”联系用一个三角形和两条连向实体集的线来表示,三角形的尖端指向超类,三角形中还要写上“isa”的字样。例如用E-R图表示类Student与子类Postgraduate之间的联系。

图3.8在E-R图中表示“属于”(“isa”)的例子3.3.2E-R图的继承例4在一个电影资料数据库里,Movie(电影)是一个类,而Cartoon(动画片)和Murder(谋杀片)就是它的两个子类,这二个子类继承了Movie(电影)类的特性。对于Movie类中的一个对象《谁陷害了兔子罗杰》,它既属于动画片类又属于谋杀片类。对于《谁陷害了兔子罗杰》这个Movie类中的一个对象,它具有属于三个类Movie、Cartoon和Murder的分量。换句话说,通过isa(属于)联系将这三个类的分量连成一个实体。

图6.10在E-R图中表示子类的例子从这个例子可以看出属于(isa)联系与普通联系的不同之处:属于联系只是把一个较复杂的实体从结构上划分为不同的层次。

3.4E-R图的约束建模3.4.1实体集的键码

在E-R图中,键码(key)是在实体集的范围内唯一标识一个实体的属性或属性集。例如:S(sno,sname,age,dept)

SC(sno,cno,score)

在有多个键码的情况下,通常我们会选择一个键码作为主键码,其他的键码称为候选键码。

3.4.2单值约束

单值约束要求某个属性的值是唯一的,键码是单值约束的主要来源。若实体集中的一个属性是键码的一部分,则要求实体集中该属性值不能取空值;若实体集中的一个属性不是键码的一部分,则通常允许该属性值取“空”值,即允许该属性的值任选。

3.4.3完整性约束

完整性约束主要体现在以下两方面:实体完整性:规定一个实体的键码属性(集)值不能为空或部分为空。引用完整性:若一个实体的某个属性(集)值只能引用另一个实体确实存在的键码属性(集)值之一。下面举二个例子加以说明。

例5

已知三个关系模式如下:

S(sno,sname,age,dept)SC(sno,cno

,score)C(cno

,cname,credit)

如何理解实体完整性和引用完整性?例6

已知二个关系模式如下:

EMP(eno,ename,dno)

DEPT(dno

,dname,manager)如何理解实体完整性和引用完整性?

3.4.4其它类型约束

域约束要求某个属性的值必须处于特定的范围内或者取自特性值的集合。例如,制定属性的类型或取值范围。

一般约束是要求在数据库中保存的任意断言。例如,我们规定一个电影实体不能通过联系Act与8个以上的演员实体相连。

3.5典型案例分析3.5.1典型案例1---高校组织结构E-R图的设计(方法二)1、案例描述高校下面有若干学院和职能处室;学院下面有若干系和班级;系下面有许多教师,其中有的教师能指导研究生;班级有许多学生,学生可选修课程,其中有的学生是研究生;职能处室有若干科,每个科有若干职员。请用E-R图画出该学校的概念数据模型。2、案例分析

实体集有:高校、学院、系、班级、学生、教师、课程、处室、科、职员;子实体集有:研究生和硕导。要求分析这些实体集之间的联系!3、案例

实现3.5.2典型案例2---在线考试系统

E-R图的设计1、案例描述

在线考试系统包括以下一些主要功能:1)考生相关功能:考生的注册、登录、答题、提交试卷、成绩查询等;2)试卷生成和评分功能:根据最新设置的试卷结构随机组卷;根据考生提交的答案对照正确答案给出分数;试卷的维护功能;3)试题库的管理功能:试题(目前可用题型包括判断题、选择题和填空题)的增加、修改、删除等功能;4)其他管理功能:成绩统计、学生信息的查询与管理、学生补考功能等。

前台包括考生注册和考生考试两大功能模块;

后台包括管理员信息管理、题库管理、考试管理三大功能模块。2、案例分析

在线考试系统主要包含:考生信息、试卷信息、考试信息三个实体集;此外还应有判断题信息、选择题信息、填空题信息、管理员信息等。其中

考生信息和试卷信息之间是多对多关系。3、案例实现

考生信息属性包括:考生学号,考生姓名,考生密码,考生性别,考生班级,注册日期;试卷信息属性包括:试卷编号,判断题数量,判断题每题分数,选择题数量,选择题每题分数,填空题数量,填空题每题分数,出卷日期;考试信息属性包括:试卷编号,考生学号,考生成绩,考试日期,是否补考,补考成绩,补考日期;判断题信息属性包括:判断题编号,判断题内容,标准答案,添加日期;选择题信息和填空题信息也雷同;管理员信息属性包括:管理员姓名,管理员密码。3.5.3典型案例3---图书网上销售系统E-R图的设计1、案例描述

图书网上购物流程包括:浏览图书、选择图书、确认购买、填写数据与支付费用、产生订单。我们可以设计以下基本功能:1)图书展示功能2)购物袋功能3)网上结账功能4)订单确认功能

2、案例分析

图书网上销售系统主要包含:图书信息和客户信息二个实体集,此外还应包括订购信息、购物袋信息。

其中图书信息和客户信息之间是多对多关系,购物袋信息是一个临时关系。3、案例实现

经过以上简单分析可以知道,图书网上销售系统主要包含图书信息、客户信息二个实体集,具体可用如下图3.12的E-R图来表示。

图书信息属性包括:图书编号(ISBN)、图书名称、图书价格等;客户信息属性包括:订单编号、客户姓名、送货地址、订单总金额、客户电话等;订购信息属性包括:订单编号、图书编号、数量和单价;购物袋信息属性包括:临时编号、已选购的图书编号、要选购的数量。

其中订购信息中的单价是为了计算方便而加入的,它与图书信息中的图书价格含义相同。

小结

本章最后应用三

温馨提示

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

评论

0/150

提交评论