第2章数据模型与概念模型精选文档.ppt
《第2章数据模型与概念模型精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章数据模型与概念模型精选文档.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章数据模型与概念模型本讲稿第一页,共六十六页第2章 目录n2.1 概念模型和ER图n2.2 数据模型概述n2.3 层次数据模型n2.4 网状数据模型n2.5 关系数据模型n2.6 面向对象数据模型n2.7 数据库工程n2.8 小结n2.9 习题本讲稿第二页,共六十六页2.1 概念模型n为了能把现实世界的具体事物抽象组织为某一个DBMS支持的数据模型,首先需要对这一管理活动所涉及到的各种资料数据及其关系有一个全面的清晰的认识,并通过采用概念模型来描述。n概念模型是现实世界到机器世界的中间层次。n概念模型用ER图来描述。本讲稿第三页,共六十六页2.1 概念模型的相关内容n2.1.1 客观世界的
2、抽象过程n2.1.2 概念模型的几个概念 n2.1.3 联系(relationship)n2.1.4 三种联系比较n2.1.5 三种联系的关系n2.1.6 实体联系图(Entity-Relationship Approach ER图)表示方法n2.1.7 不同联系的表示n2.1.8 ER图的设计方法n2.1.9 ER图综合实例一n2.1.10 ER图综合实例二n2.1.11 学校ER图n2.1.12 物资管理ER图n2.1.13 课程管理ER图本讲稿第四页,共六十六页2.1.1 客观世界的抽象过程本讲稿第五页,共六十六页2.1.2 概念模型的几个概念n实体(entity)是客观存在并可相互区别
3、的事物。实体可以是具体的人事物,也可以是抽象的概念和联系。n属性(attribute)是实体所具有的某一特性。一个实体由若干个属性的描述。n码(key)是唯一标识实体的属性或属性集。如学号。n域(domain)是属性的取值范围。n实体型(entity type)用实体名及其属性名集合来抽象和描述同类实体,称为实体型。如学生(学号,姓名,性别,出生年份)。n实体集(entity set)是同型实体的集合称为实体集。如全体学生,全体职工。本讲稿第六页,共六十六页2.1.3 联系n联系(relationship)是现实世界中普遍存在的。在信息世界中,它反映为实体内部和实体之间的联系。实体内部联系通常
4、是指组成实体的各属性之间的联系,如出生年份和年龄,总成绩和各科成绩。n两实体型之间的联系可分为三类:1:1 联系,例如,班级和班长;1:n 联系,例如,班级和学生;m:n 联系,例如,课程和学生。本讲稿第七页,共六十六页2.1.4 三种联系比较1:1联系 1:n联系 m:n联系 定义 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A和实体集B具有一对一联系,记为1:1。如果对于实体集A中的每一个实体,实体集B中有n个实体(n=0)与之联系,反之,实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A和实体集B具有一对多联系,记为1:n。
5、如果对于实体集A中的每一个实体,实体集B中有n个实体(n=0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m(m=0)个实体与之联系。则称实体集A和实体集B具有多对多联系,记为m:n。例 班级和班长班级和学生课程和学生本讲稿第八页,共六十六页2.1.5 三种联系的关系n一对一联系是一对多联系的特例,一对多联系是多对多联系的特例。n两个以上的实体型之间同样存在一对一、一对多和多对多联系。如教师、课程、参考书。n同一实体集内各实体之间也存在一对一、一对多和多对多联系。如职工实体集中存在领导与被领导关系1:n。本讲稿第九页,共六十六页2.1.6 ER图表示方法实体名联系名学生组成班级学
6、生1n属性名出生日期性别姓名学号人数本讲稿第十页,共六十六页2.1.7 不同联系的表示n两个不同型实体间的联系 两个不同型实体间的多种联系 职工与工程间,一个职工可以参加多个工程,一个工程可以有多个职工参加,同时一个工程由一个职工负责,一个职工可以负责多个工程。两个以上实体间的多元联系施行社和景点及游客三个实体间存在三元联系 同一实体内部个体间的二元联系 本讲稿第十一页,共六十六页2.1.8 ER图的设计方法 n大体应遵两条原则:n针对每一用户作出该用户信息的局部ER图,确定该用户的实体、属性、联系。注意,能作为属性的就不作为实体,利于简化ER图。n综合局部ER图,生成总体ER图。在综合过程中
7、,同名实体只能出现一次,还要去掉不必要的联系,以消除冗余。n一个系统的ER图不是惟一的,强调不同的侧面作出的E-R图可能有很大不同。本讲稿第十二页,共六十六页2.1.9 ER图综合实例一 n1.学校有若干系,每个系有若干班级和教职室,每个教职室有若干教员,其中有的教授和副教授各带若干研究生.每个班级有若干学生,每个学生选修若干课程,每门课程可由若干学生选修.用E-R图画出该校的概念模型.(参考答案)n2.在物资管理中,一个供应商为多个项目供应多种零件,一种零件只能保存在一个仓库中,一个仓库中可保存多种零件,一个仓库有多名员工值班,由一个员工负责管理.画出该物资管理系统的E-R图.(参考答案)本
8、讲稿第十三页,共六十六页2.1.10 ER图综合实例二n3.在活期存款业务中,设 一个储户可在多个储蓄所存取款,画出该E-R图.(参考答案)n4.在课程管理系统中,涉及到班级,学生,课程,教师,参考书等实体,假设,一个教师只可上一门课程,一门课程可由多个教师讲授,可使用多本参考书,画出该系统的概念模型。(参考答案)本讲稿第十四页,共六十六页2.1.11 学校ER图系部学生教研室教员班级课程选修组成组成组成组成讲授1m1111mmmmmmn指导mn成绩本讲稿第十五页,共六十六页2.1.12 物资管理ER图(1)实体及属性图略(2)实体及联系图如下本讲稿第十六页,共六十六页2.1.13 课程管理E
9、R图(1)实体属性图(画二个,其余略)(2)实体及联系图如下组成成绩班级选修课程班级学生讲授mn111nnmn学生出生日期性别姓名学号所属系班级号讲授参考书教师本讲稿第十七页,共六十六页2.2 数据模型n模型分两个不同的层次。第一种是概念模型,也称信息模型,是按用户的观点对数据和信息建模。另一种是数据模型。n 数据模型应满足三方面的要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。n 数据模型是数据库系统的核心和基础。n各种DBMS软件都是基于某种数据模型。本讲稿第十八页,共六十六页2.2 数据模型的内容n2.2.1 数据模型构成三要素n2.2.2 数据结构n2.
10、2.3 数据操作n2.2.4 完整性约束n2.2.5 数据模型的种类本讲稿第十九页,共六十六页2.2.1 数据模型构成三要素n任何一种数据模型一般都是严格定义的概念的集合。这些概念必须能准确是描述系统的静态特征、动态特征和完整性约束条件。n数据模型由数据结构、数据操作和完整性约束三个要素组成。本讲稿第二十页,共六十六页2.2.2 数据结构n数据结构用于描述数据的静态特征。n数据结构是所研究的对象类型的集合,是刻画一个数据模型最重要的方面。n通常可以按数据结构的类型来命名数据模型,可分为:网状模型、层次模型、关系模型、面向对象模型。本讲稿第二十一页,共六十六页2.2.3 数据操作n数据操作用于描
11、述数据的动态特征。n数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则,主要有检索和更新(包括插入、删除、修改)两大类操作。n数据模型必须准确地定义这些操作的确切含义、操作符号、操作规则(优先级)以及实现操作的语言。本讲稿第二十二页,共六十六页2.2.4 数据的约束条件n数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。如:年龄小于38,学生不及格课程少于3门。n数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性
12、约束条件。例如,在关系模型中,任何关系都必须满足实体完整性和参照完整性两个条件。此外,数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。n 实体完整性即指每一实体必须是可分的,它的主码是唯一的,如学号不能重复。n 参照完整性是指外码的值要么为空,要么为另一个数据库中已有的值。如一个学生的专业不能是专业库中没有的记录本讲稿第二十三页,共六十六页2.2.5 数据模型种类n按数据结构分,目前可分为:n1.层次模型n2.网状模型n3.关系模型n4.面向对象模型本讲稿第二十四页,共六十六页2.3 层次模型n现实中很多实体呈现层次关系,如行政机构,因此,层
13、次模型是数据库系统最早采用的数据模型。n层次模型用树状结构表示实体及实体间的联系。n层次模型最具代表性的系统是IBM的IMS。n本节介绍层次模型的概念、构成和优缺点。本讲稿第二十五页,共六十六页2.3 层次模型n2.3.1 基本层次关系n2.3.2 层次模型的概念和结构n2.3.3 层次数据模型例n2.3.4 层次模型的完整性约束n2.3.5 层次模型的优点n2.3.6 层次模型的缺点本讲稿第二十六页,共六十六页2.3.1 基本层次关系n非关系模型中,实体用记录表示,实体之间的联系转换为记录间的两两联系,非关系型数据结构的基本单位是基本层次联系。n基本层次联系是指两记录以及它们之间的一对多(包
14、括一对一)的联系。RjRi一对多联系名子女结点双亲结点Lij本讲稿第二十七页,共六十六页2.3.2 层次模型的概念R0R1R21R22R12R11R2根结点为:R0。R0的子结点有:R1,R2。R1,R2为兄弟结点。R11、R12的父结点是:R1。特征:(1)只有一个无双亲的根结点;(2)其他结点有且只有一个双亲。本讲稿第二十八页,共六十六页2.3.3 层次数据模型例本讲稿第二十九页,共六十六页2.3.4 层次模型的完整性约束n在插入时,不能插入无双亲的子结点,如新来的教师未分配教研室则无法插入到数据库中。n在删除时,如删除双亲结点,则其子女结点也会被一起删除。如删除某个教研室则它的所有教师也
15、会被删除。n在更新时,应更新所有相应的记录,以保证数据的一致性。本讲稿第三十页,共六十六页2.3.5 层次模型的优点n数据模型简单,只需几条命令就能操纵数据,易使用;n若实体间的关系固定,性能优于关系模型;n具有良好的完整性支持。本讲稿第三十一页,共六十六页2.3.6 层次模型的缺点n1.有一定存取路径,仅允许自顶向下单向查询,查询非对称性。n2.适合表示记录间一对多联系,而描述非层次性很笨拙,多对多和多对一联系的表示法会出现数据冗余。n3.语义完整性差,数据依赖性强,须通过双亲才能找到子结点。n4.同一实体联系模型可以构造出许多层次模型,而对不同的模型同一查询的表达方式就不同,因此用户必须了
16、解模型的结构。n5.插入和删除操作限制较多。n6.由于结构严密,层次命令趋于程序化。本讲稿第三十二页,共六十六页2.4 网状模型n现实世界中实体间的联系更多的是非层次关系。n最具代表性的网状DBMS:CODASYL系统或DBTG系统。1971年4月CODASYL(Conference On Data System Language)组织通过DBTG(DataBase Task Group)报告(和其后的修改文件)规范的系统,n大部分网状数据库系统在不同程度上实现了DBTG报告。本讲稿第三十三页,共六十六页2.4 网状模型n2.4.1 概念与结构n2.4.2 网状模型其它结构n2.4.3 网状模
17、型示例n2.4.4 完整性约束n2.4.5 网状模型的优点n2.4.6 网状模型的缺点本讲稿第三十四页,共六十六页2.4.1 网状模型的概念与结构网状结构特点:n1.允许多个结点无双亲,即根结点可以有多个;n2.一个子结点可以有两个或多个父结点。R1R2R3R5R8R4R6R7n3.两个结点间可有两种或多种联系(复合联系)。n4.可能有回路存在。本讲稿第三十五页,共六十六页树父母子女种植砍伐养育赡养学生宿舍学生教研室专业系教师(a)(e)(d)2.4.2 网状模型其它结构学生课程父亲子女(c)(b)人本讲稿第三十六页,共六十六页2.4.3 网状数据模型示例本讲稿第三十七页,共六十六页2.4.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据模型 概念 模型 精选 文档
限制150内