第2章 数据模型_第1页
第2章 数据模型_第2页
第2章 数据模型_第3页
第2章 数据模型_第4页
第2章 数据模型_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、6/11/20221第二章第二章 数据模型数据模型学习目的与要求学习目的与要求 深刻理解数据模型的内涵、数据库的三层模式结构与数据独立性深刻理解数据模型的内涵、数据库的三层模式结构与数据独立性的关系,理解数据从现实世界到计算机数据库中要经过三个范畴(现的关系,理解数据从现实世界到计算机数据库中要经过三个范畴(现实世界、信息世界和机器世界),了解什么是实体属性,弄清楚实体实世界、信息世界和机器世界),了解什么是实体属性,弄清楚实体和属性的和属性的“型型”与与“值值”的概念,弄懂实体间可能存在的不同联系方的概念,弄懂实体间可能存在的不同联系方式,掌握用式,掌握用E-R图表示实体间联系的方式。图表示

2、实体间联系的方式。2.1数据描述数据描述2.2概念数据模型与概念数据模型与E-R方法方法2.3传统的三大数据模型传统的三大数据模型2.4数据独立与三层结构数据独立与三层结构2.5数据库管理系统数据库管理系统2.1.1 数据的三种范畴数据的三种范畴6/11/20222 数据不是直接从现实世界到计算机数据库中,它需要人们的认数据不是直接从现实世界到计算机数据库中,它需要人们的认识、理解、整理、规范和加工,然后才能存放到数据库中。也就是识、理解、整理、规范和加工,然后才能存放到数据库中。也就是说数据从现实生活进入到数据库实际上经历了若干个阶段。一般划说数据从现实生活进入到数据库实际上经历了若干个阶段

3、。一般划分三个阶段,分三个阶段,即现实世界、信息世界和机器世界,称为数据的三种即现实世界、信息世界和机器世界,称为数据的三种范畴。范畴。1.现实世界现实世界 现实世界也叫客观世界。存在于人们头脑之外的客观事物及其现实世界也叫客观世界。存在于人们头脑之外的客观事物及其相互联系就处在这个世界之中。相互联系就处在这个世界之中。 2信息世界(也叫观念世界)信息世界(也叫观念世界) 信息世界又称观念世界,是现实世界在人们头脑中的反映;在进信息世界又称观念世界,是现实世界在人们头脑中的反映;在进行现实世界管理时,客观事物必然在人们的头脑中产生反映,把这行现实世界管理时,客观事物必然在人们的头脑中产生反映,

4、把这种反映称为信息。比如在日常的库存管理中,首先涉及的是仓库、种反映称为信息。比如在日常的库存管理中,首先涉及的是仓库、货物的存放以及货物的进出库等,这种管理称为现实世界管理。货物的存放以及货物的进出库等,这种管理称为现实世界管理。 6/11/20223在信息世界中所涉及到的基本概念在信息世界中所涉及到的基本概念:(1)实体()实体(Entity)实体是客观存在的事物在人们头脑中的反映,或者说,客观存在并实体是客观存在的事物在人们头脑中的反映,或者说,客观存在并可相互区别的客观事物或抽象事件称为实体。可相互区别的客观事物或抽象事件称为实体。实体可以指人,实体可以指人,如一如一名教师、一名护士等

5、;名教师、一名护士等;也可以指物,也可以指物,如一把椅子、仓库、一个杯子如一把椅子、仓库、一个杯子等。等。实体不仅可以指实际的事物,还可以指抽象的事物,实体不仅可以指实际的事物,还可以指抽象的事物,如一次访如一次访问、一次郊游、订货、演出、足球赛等;问、一次郊游、订货、演出、足球赛等;甚至还可以指事物与事物甚至还可以指事物与事物之间的联系,之间的联系,如如“学生选课记录学生选课记录”和和“教师任课记录教师任课记录”等。等。(2)属性()属性(Attribute)在观念世界中,属性是一个很重要的概念。所谓属性是指实体所在观念世界中,属性是一个很重要的概念。所谓属性是指实体所具有的某一方面的特性。

6、一个实体可由若干个属性来刻画。例如,具有的某一方面的特性。一个实体可由若干个属性来刻画。例如,教师的属性有姓名、年龄、性别、职称等。教师的属性有姓名、年龄、性别、职称等。属性所取的具体值称作属性所取的具体值称作属性值。属性值。例如,某一教师的姓名为李辉,例如,某一教师的姓名为李辉,这是教师属性这是教师属性“姓名姓名”的取值;该教师的年龄为的取值;该教师的年龄为45,这是教师属,这是教师属性性“年龄年龄”的取值,等等。的取值,等等。6/11/20224(3)域()域(Domain) 一个属性可能取的所有属性值的范围称为该属性的域。一个属性可能取的所有属性值的范围称为该属性的域。例如,教师属性例如

7、,教师属性“性别性别”的域为男、女;教师属性的域为男、女;教师属性“职职称称”的域为助教、讲师、副教授、教授等。的域为助教、讲师、副教授、教授等。 由此可见,每个属性都是个变量,属性值就是变量所由此可见,每个属性都是个变量,属性值就是变量所取的值,而域则是变量的变化范围。因此,属性是表征取的值,而域则是变量的变化范围。因此,属性是表征实体的最基本的信息。实体的最基本的信息。(4)码()码(Key) 惟一标识实体的属性集称为码。例如学号是学生实体惟一标识实体的属性集称为码。例如学号是学生实体的码的码;姓名姓名+出生年月等等出生年月等等在信息世界中所涉及到的基本概念在信息世界中所涉及到的基本概念:

8、6/11/20225(5)实体型()实体型(Entity Type) 具有相同属性的实体必然具有共同的特性和性质。用具有相同属性的实体必然具有共同的特性和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体实体名及其属性名集合来抽象和刻画同类实体,称为实体型。型。例如,例如,教师(姓名,年龄,性别,职称)就是一个实教师(姓名,年龄,性别,职称)就是一个实体型。体型。(6)实体集()实体集(Entity Set)同一类型实体的集合。例如,某一学校中的教师具有相同同一类型实体的集合。例如,某一学校中的教师具有相同的属性,他们就构成了实体集的属性,他们就构成了实体集“教师教师”。在信息世界中,

9、一般就用上述这些概念来描述各种客观事在信息世界中,一般就用上述这些概念来描述各种客观事物及其相互的区别与联系。物及其相互的区别与联系。在信息世界中所涉及到的基本概念在信息世界中所涉及到的基本概念:6/11/202263机器世界(也叫数据世界)机器世界(也叫数据世界) 当信息管理进入计算机后,就把它称为机器世界范畴当信息管理进入计算机后,就把它称为机器世界范畴或存储世界范畴。机器世界也称数据世界。或存储世界范畴。机器世界也称数据世界。 由于计算机只能处理数据化的信息,所以对信息世界由于计算机只能处理数据化的信息,所以对信息世界中的信息必须进行数据化。信息经过加工、编码后即进入中的信息必须进行数据

10、化。信息经过加工、编码后即进入数据世界,利用计算机来处理它们。因此,数据世界中的数据世界,利用计算机来处理它们。因此,数据世界中的对象是数据。现实世界中的客观事物及其联系在数据世界对象是数据。现实世界中的客观事物及其联系在数据世界中是用数据模型来描述的。中是用数据模型来描述的。数据化后的信息称为数据,所以说数据是信息的符号表数据化后的信息称为数据,所以说数据是信息的符号表示。示。6/11/20227与观念世界中的基本概念对应,在数据世界中也涉及到一些相关的与观念世界中的基本概念对应,在数据世界中也涉及到一些相关的基本概念基本概念:(1)数据项(字段)(field)。对应于观念世界中的属性。例如

11、,实体型“教师”中的各个属性中,姓名、性别、年龄、职称等就是数据项。(2)记录(record)。每个实体所对应的数据。例如,对应某一教师的各项属性值为:李辉、45、男、副教授等就是一个记录。(3)记录型(record type)。对应于观念世界中的实体型。(4)文件(file)。对应于观念世界中的实体集。(5)关键字(key)。能够惟一标识一个记录的字段集。数据世界中的一些基本概念数据世界中的一些基本概念:6/11/20228 在数据世界中,就是通过上述这些概念来描述客观事在数据世界中,就是通过上述这些概念来描述客观事物及其联系的。物及其联系的。 上述信息是为了更好地处理信息,计算机所处理的信

12、上述信息是为了更好地处理信息,计算机所处理的信息形式是数据。因此,为了用计算机来处理信息,息形式是数据。因此,为了用计算机来处理信息,首先必首先必须将现实世界中的客观事物转换为观念世界,然后将这些须将现实世界中的客观事物转换为观念世界,然后将这些信息数据化。信息数据化。现实世界现实世界 信息世界信息世界(观念世界观念世界)机器世界机器世界(数据世界数据世界)教师(姓名,性别,年龄,职称)教师(姓名,性别,年龄,职称)1.实体实体 2.属性属性 3.域域 4.码码 5.实体型实体型 6.实体集实体集1.记录记录 2.字段字段 3.字段类型字段类型 4.关键字关键字 5.记录型记录型 6.文件文件

13、客观存在的事物客观存在的事物如:你们面前的老师如:你们面前的老师姓名姓名性别性别年龄年龄职称职称王六平王六平男男38讲师讲师6/11/202292.1.2 实体间的联系实体间的联系n 在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部内部的联系和实体(型)之间之间的联系。n实体内部的联系通常是指组成实体的各属性属性之间的联系。n实体之间的联系通常是指不同实体集实体集之间的联系。6/11/202210一对一联系(一对一联系(1:1) 如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中至多有一中至多有一个(也可以没有)实体与之联系,反

14、之亦然,则称实体集个(也可以没有)实体与之联系,反之亦然,则称实体集A与与实体集实体集B具有一对一联系,记为具有一对一联系,记为1:1 .例如,例如,实体集学院与实体集院长之间的联系就是实体集学院与实体集院长之间的联系就是1:1的联系。因的联系。因为一个院长只领导一个学院,而且一个学院也只有一个院长。为一个院长只领导一个学院,而且一个学院也只有一个院长。再如学校里,实体集班级与实体集班长之间的也具有再如学校里,实体集班级与实体集班长之间的也具有1:1联系,联系,一个班级只有一个班长,而一个班长只在一个班中任职。一个班级只有一个班长,而一个班长只在一个班中任职。图图2-1 1 : 1联系联系 实

15、体型实体型A实体型实体型B联系名联系名116/11/202211 实体集实体集B实体集实体集A联系名联系名1n图图2-2 1 : n联系联系一对多联系(一对多联系(1:n) 如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个个(n0)实体与之联系,反之,对于实体集)实体与之联系,反之,对于实体集B中的每一个实中的每一个实体,实体集体,实体集A中至多有一个实体与之联系,则称实体集中至多有一个实体与之联系,则称实体集A与与实体集实体集B具有一对多联系,记为具有一对多联系,记为1:n, 例如,例如,实体集班级与实体集学生就是一对多联系。因为一个实体集班级与实体集

16、学生就是一对多联系。因为一个班级中有若干名学生,而每个学生只在一个班级中学习。班级中有若干名学生,而每个学生只在一个班级中学习。 6/11/202212实体集实体集B实体集实体集A联系名联系名nm图图2-3 m : n联系联系多对多联系(多对多联系( m:n)n如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个个(n0)实体与之联系。反之,对于实体集)实体与之联系。反之,对于实体集B中的每一个中的每一个实体,实体集实体,实体集A中也有中也有m(m0)之联系,则称实体集)之联系,则称实体集A与实体集与实体集B具有多对多联系,记为具有多对多联系,记为m:nn例

17、如,实体集课程与实体集学生之间的联系是多对多联系例如,实体集课程与实体集学生之间的联系是多对多联系(m:n)。因为一个课程同时有若干名学生选修,而一)。因为一个课程同时有若干名学生选修,而一个学生可以同时选修多门课程。个学生可以同时选修多门课程。6/11/2022131课程课程讲授讲授参考书参考书教员教员mnm零件零件项目项目供应商供应商供应供应np图图2-4 三个实体型之间的联系三个实体型之间的联系 (a)(b) 多实体集之间的联系多实体集之间的联系n实体型之间的这种一对一、一对多、多对多联系不仅存在于两个实实体型之间的这种一对一、一对多、多对多联系不仅存在于两个实体型之间,也存在于两个以上

18、的实体型之间。体型之间,也存在于两个以上的实体型之间。n例如,例如,对于课程、教师与参考书三个实体型,如果一门课程可以有对于课程、教师与参考书三个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的。的联系是一对多的。n又如,又如,三个实体型:供应商、项目、零件,一个供应商可以供给多三个实体型:供应商、项目、零件,一个供应商可以供给多个项目多种零件,而每个项目可以使用多个供应

19、商供应的零件,每个项目多种零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,由此可见,供应商、项目、零件三个种零件可由不同供应商供给,由此可见,供应商、项目、零件三个实体之间是多对多的联系。实体之间是多对多的联系。6/11/202214n职工职工领导领导1一个实体集内实体之间的一对多联系一个实体集内实体之间的一对多联系 同一个实体集内的联系同一个实体集内的联系同一个实体集内的各实体之间也存在一对一、一对多、多对同一个实体集内的各实体之间也存在一对一、一对多、多对多的联系。例如职工实体集内部具有领导与被领导的联系,多的联系。例如职工实体集内部具有领导与被领导的联系,即某一

20、职工(干部)即某一职工(干部)“领导领导”若干名职工,而一个职工仅被若干名职工,而一个职工仅被另外一个职工直接领导,因此这是同一实体集一对多的联系另外一个职工直接领导,因此这是同一实体集一对多的联系.6/11/202215 2.2 概念数据模型与概念数据模型与E-R方法方法(Entity Relation)n2.2.1 数据模型概述 为了用计算机处理现实世界中的具体事物,人们必须事先对具体事物加以抽象,提取主要特征,归纳形成一个简单清晰的轮廓,转换成计算机能够处理的数据,这就是“数据建模”。通俗地讲数据模型就是现通俗地讲数据模型就是现实世界的模型。实世界的模型。表示实体类型及实体之间联系的模型

21、表示实体类型及实体之间联系的模型称为称为“数据模型数据模型”(Data Model)。)。 n数据模型应满足三方面要求:q一是能比较真实地模拟现实世界;q二是容易为人所理解;q三是便于在计算机上实现。 6/11/202216数据模型的分类 在数据库系统中针对不同的使用对象和应用目的,采用不同的数据模型。根据模型的应用的不同目的,可以将这些模型划分为两类,它们分属于不同的层次。n概念数据模型,也称信息模型:概念数据模型,也称信息模型:它是按用户的观点(观念世界)来对数据和信息建模,主要用于数据库设计。数据库设计。n基本数据模型基本数据模型:主要包括网状模型、层次模型、关系模型等,它是按计算机系统

22、的观点(机器世界)数据建模,主要用于DBMS的实现。的实现。6/11/202217现实世界现实世界认识抽象认识抽象信息世界信息世界 概念模型概念模型机器世界机器世界DBMS支持的支持的基本数据模型基本数据模型 现实世界中客观对象的抽象过程现实世界中客观对象的抽象过程两类数据模型之间的关系 首先把现实世界中的客观对象抽象为某种信息结构,这首先把现实世界中的客观对象抽象为某种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个种信息结构并不依赖于具体的计算机系统,不是某一个DBMS 支持的数据模型,而是概念级的模型;然后再把概念支持的数据模型,而是概念级的模型;然后再把概念模型转换为计算机

23、上某一模型转换为计算机上某一DBMS支持的数据模型。支持的数据模型。教师(姓名,性别,年龄,职称)教师(姓名,性别,年龄,职称)1.实体实体 2.属性属性 3.域域 4.码码 5.实体型实体型 6.实体集实体集1.记录记录 2.字段字段 3.字段类型字段类型 4.关键字关键字 5.记录型记录型 6.文件文件客观存在的事物客观存在的事物如:你们面前的老师如:你们面前的老师姓名姓名性别性别年龄年龄职称职称王六平王六平男男38讲师讲师6/11/202218数据模型的三要素数据模型的三要素1数据结构数据结构 数据结构是所研究的对象类型的集合。这些对象是数据库的组成部分,它数据结构是所研究的对象类型的集

24、合。这些对象是数据库的组成部分,它们包括两类,们包括两类,一类一类是与数据类型、内容、性质有关的对象,例如网状模型中是与数据类型、内容、性质有关的对象,例如网状模型中的数据项、记录,关系模型中的域、属性、关系等;的数据项、记录,关系模型中的域、属性、关系等;一类一类是与数据之间联系是与数据之间联系有关的对象,例如网状模型中的系型(有关的对象,例如网状模型中的系型(Set Type)。)。 数据结构用于描述系统的静态特性。数据结构用于描述系统的静态特性。2数据操作数据操作 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作

25、的集合,包括操作及有关的操作规则。数据库主要有检索和修改(包括插入、的集合,包括操作及有关的操作规则。数据库主要有检索和修改(包括插入、删除、更新)两大类操作。数据模型必须定义这些操作的确切含义、操作符删除、更新)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。号、操作规则(如优先级)以及实现操作的语言。 数据操作用于描述系统的动态特征。数据操作用于描述系统的动态特征。3数据完整性约束数据完整性约束 数据完整性约束是一组完整性规则的集合。完整性规则是给定的数据模型数据完整性约束是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具

26、有的制约和储存规则,用以限制符合数据模型的数据库中数据及其联系所具有的制约和储存规则,用以限制符合数据模型的数据库状态以及状态的变化,用以确保数据的正确、有效和相容。状态以及状态的变化,用以确保数据的正确、有效和相容。6/11/202219数据模型之概念数据模型概念数据模型n 概念数据模型,有时也简称概念模型。概念数据模型是按用户的观点对现实世界数据建模,是一种独立于任何计算机系统的模型,完全不涉及信息在计算机系统中的表示,也不依赖于具体的数据库管理系统。只是用来描述某个特定组织所关心的信息结构。它是对现实世界的第一层抽象,是用户和数据库设计人员之间交流的工具。n概念数据模型是理解数据库的基础

27、,也是设计数据库的基础。1.概念数据模型的基本概念 概念数据模型所涉及的主要基本概念有:实体(Entity)、属性(Attribute)、域(Domain)、码(Key)、实体型(Entity Type)和实体集(Entity Set)。6/11/2022202概念数据模型中的基本关系n实体间一对一、一对多和多对多三类基本联系是概念数据模实体间一对一、一对多和多对多三类基本联系是概念数据模型的基础,也就是说,在概念数据模型中主要解决的问题仍型的基础,也就是说,在概念数据模型中主要解决的问题仍然是实体之间的联系。然是实体之间的联系。n实体之间的联系类型并不取决于实体本身,而是取决于现实实体之间的

28、联系类型并不取决于实体本身,而是取决于现实世界的管理方法,或者说取决于语义,即同样两个实体,如世界的管理方法,或者说取决于语义,即同样两个实体,如果有不同的语义,则可以得到不同的联系类型。比如有仓库果有不同的语义,则可以得到不同的联系类型。比如有仓库和器件两个实体,现在来讨论它们之间的联系:和器件两个实体,现在来讨论它们之间的联系:(1)若规定一个仓库只能存放一种器件,并且一种器件只能)若规定一个仓库只能存放一种器件,并且一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对一的;存放在一个仓库,这时仓库和器件之间的联系是一对一的;(2)若规定一个仓库可以存放多种器件,但是一种器件只能)若

29、规定一个仓库可以存放多种器件,但是一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对多的;存放在一个仓库,这时仓库和器件之间的联系是一对多的;(3)若规定一个仓库可以存放多种器件,同时一种器件可以)若规定一个仓库可以存放多种器件,同时一种器件可以存放在多个仓库,这时仓库和器件之间的联系是多对多的。存放在多个仓库,这时仓库和器件之间的联系是多对多的。 6/11/202221学生学生学号学号姓名姓名性别性别年龄年龄系系 实体及属性实体及属性产品产品产品号产品号型号型号产品名产品名主要性能主要性能 概念数据模型的概念数据模型的E-R表示方法表示方法E-R图提供了表示实体型、属性和联系的方法:

30、图提供了表示实体型、属性和联系的方法:实体型:实体型:用矩形表示,矩形框内写明实体名。用矩形表示,矩形框内写明实体名。属性:属性:用椭圆表示,椭圆形框内写明属性名,并用无向边用椭圆表示,椭圆形框内写明属性名,并用无向边将其与相应的实体连接起来。将其与相应的实体连接起来。例如,例如,学生实体具有学号、姓名、性别、年龄、系等属性,学生实体具有学号、姓名、性别、年龄、系等属性,产品实体具有产品号、产品名、型号、主要性能等属性。产品实体具有产品号、产品名、型号、主要性能等属性。 6/11/202222联系:联系:用菱形表示,菱形框内写联系名,并用无向边分用菱形表示,菱形框内写联系名,并用无向边分别与有

31、关实体连接起来,同时在无向边旁标注联系的类型别与有关实体连接起来,同时在无向边旁标注联系的类型(1:1,1:n或或m:n)。)。联系也可以有自己的属性,联系也可以有自己的属性,需要注意的是,需要注意的是,如果一个如果一个联系具有属性,则这些属性也要用无向边与该联系连接起联系具有属性,则这些属性也要用无向边与该联系连接起来。一般一对多的联系都要转换成实体才能在关系型数据来。一般一对多的联系都要转换成实体才能在关系型数据中表示出来。中表示出来。产品产品使用使用材料材料数量数量mn联系及属性联系及属性课程课程学生学生选修选修成绩成绩mn6/11/202223概念数据模型实例概念数据模型实例n库存是指

32、在仓库中存放器件,具体工作是由仓库的职工来管理的。这库存是指在仓库中存放器件,具体工作是由仓库的职工来管理的。这样,根据库存业务找到了三个实体:仓库、器件和职工:样,根据库存业务找到了三个实体:仓库、器件和职工:(1)在一个仓库中可以存放多种器件,一种器件也可以存放在多个仓)在一个仓库中可以存放多种器件,一种器件也可以存放在多个仓库中。用库存量表示某种器件在某个仓库中的数量。库中。用库存量表示某种器件在某个仓库中的数量。(2)一个仓库有多个职工,而一个职工只能在一个仓库工作;)一个仓库有多个职工,而一个职工只能在一个仓库工作;(3)每一种器件由可能由多名的职工负责,一名职工可负责多种器件。)每

33、一种器件由可能由多名的职工负责,一名职工可负责多种器件。n注:器件中的每个实体为一注:器件中的每个实体为一种种器件,而区一器件,而区一个个器件,区别于:每个具器件,区别于:每个具体的器件只能由一名固定的职员负责。体的器件只能由一名固定的职员负责。库存业务局部库存业务局部E-R图图仓库仓库器件器件职工职工库存库存工作工作m mn np p1 1n n仓库仓库器件器件职工职工库存库存工作工作负责负责m mn nm m1 1n np p6/11/202224n为了不断补充库存器件的不足,仓库的职工需要及时向供应商订购器为了不断补充库存器件的不足,仓库的职工需要及时向供应商订购器件,具体订购体现在订购

34、单上。又出现了新实体:供应商:件,具体订购体现在订购单上。又出现了新实体:供应商:n一名职工可以经手订购多种器件,一个器件也可由多名职工订购,但一名职工可以经手订购多种器件,一个器件也可由多名职工订购,但一次订购只能又一名职工经手。一次订购只能又一名职工经手。n一名职工可以向多个供应商订购单,一个供应商可以接受多名职工的一名职工可以向多个供应商订购单,一个供应商可以接受多名职工的订购,但一次订够只能发给一个供应商。订购,但一次订够只能发给一个供应商。n一个供应商可以供应多种器件,每种器件也可以由多个供应商供应一个供应商可以供应多种器件,每种器件也可以由多个供应商供应注意与教材中的注意与教材中的

35、E-R图及语义上区别。图及语义上区别。m器件器件职工职工供应商供应商供应供应np订购业务的局部订购业务的局部E-R图图器件器件供应商供应商订购单订购单职工职工接收接收订单订单订订 单单发出发出订单订单1nnn116/11/202225库存和订货模型整体E-R图 仓库仓库职工职工供应商供应商订购单订购单器件器件库存库存供应供应接受订单接受订单订购订购负责负责发出订单发出订单工作工作1mnp1nnnn1nmnu6/11/202226库存订货业务的关系模型库存订货业务的关系模型n将所有的实体及多对多联系用关系模型表示实体或联系实体或联系属性属性仓库仓库职工职工器件器件供应商供应商订购单订购单库存库存

36、负责负责订购订购供应供应仓库号、地址、城市、面积、电话号码仓库号、地址、城市、面积、电话号码职工号、姓名、职称职工号、姓名、职称器件号、器件名、规格、单价器件号、器件名、规格、单价供应商号、供应商名、地址、电话号码、帐号供应商号、供应商名、地址、电话号码、帐号订单号、订单号、供应商号、职工员、供应商号、职工员、订购日期、付款日期订购日期、付款日期仓库号、器件号、数量仓库号、器件号、数量职工号、器件号职工号、器件号订购单号、器件号、数量订购单号、器件号、数量供应商号、器件号、数量供应商号、器件号、数量6/11/202227优化后的库存订货模型整体E-R图n添加虚拟实体型,将多个多对多的联系合并,

37、变成多个一对多的联系。仓库仓库职工职工供应商供应商订购单订购单库存项库存项库存库存供应供应接受订单接受订单订购订购负责负责发出订单发出订单工作工作11n11n11n1nmnu器件器件存放存放1n6/11/202228优化后的库存订货的关系模型n将多个联系表合并后更优将多个联系表合并后更优实体或联系实体或联系属性属性仓库仓库职工职工器件器件供应商供应商订购单订购单库存项库存项仓库号、地址、城市、面积、电话号码仓库号、地址、城市、面积、电话号码职工号、姓名、职称职工号、姓名、职称器件号、器件名、规格、单价器件号、器件名、规格、单价供应商号、供应商名、地址、电话号码、帐号供应商号、供应商名、地址、电

38、话号码、帐号订单号、供应商号、职工员、订购日期、付款日期订单号、供应商号、职工员、订购日期、付款日期仓库号、器件号、职工号、供应商号、订购单号、仓库号、器件号、职工号、供应商号、订购单号、数量数量6/11/202229基本数据模型之传统的三大数据模型传统的三大数据模型 目前常用的数据模型有三种:层次模型、网状模型和目前常用的数据模型有三种:层次模型、网状模型和关系模型关系模型。其中层次模型和网状模型统称为其中层次模型和网状模型统称为非关系模型。非关系模型。 用树型结构来表示实体之间联系的模型称为用树型结构来表示实体之间联系的模型称为层次模型。层次模型。 构成层次模型的树是由构成层次模型的树是由

39、结点结点和和连线连线组成的,结点表示组成的,结点表示实体集(文件实体集(文件或记录型),或记录型),连线表示连线表示相连两个实体之间的联系,相连两个实体之间的联系,这种联系只能是一这种联系只能是一对多的。通常把表示对多的。通常把表示“一一”的实体放在上方,称为的实体放在上方,称为父结点;父结点;而把表示而把表示“多多”的实体放在下方,称为的实体放在下方,称为子结点子结点。根据树结构的特点,建立数据。根据树结构的特点,建立数据的层次模型需要满足下列两个条件:的层次模型需要满足下列两个条件:(1)有且仅有一个结点没有父结点,这个结点即为树根结点。)有且仅有一个结点没有父结点,这个结点即为树根结点。

40、(2)其他数据记录有且仅有一个父结点。)其他数据记录有且仅有一个父结点。例如,一个学院下属有若干个系、处和研究所:每个系下属有若干个例如,一个学院下属有若干个系、处和研究所:每个系下属有若干个教研室和办公室;每个处下层有若干个科室,每个研究所下属有若干教研室和办公室;每个处下层有若干个科室,每个研究所下属有若干个教研室和办公室;等等。这样一个学校的行政机构就明显地有层次个教研室和办公室;等等。这样一个学校的行政机构就明显地有层次关系。关系。层次模型层次模型6/11/202230层次模型的一个基本的特点是层次模型的一个基本的特点是,任何一个给定的记录值只有按其路径查看时,任何一个给定的记录值只有

41、按其路径查看时,才能现出它的全部意义,无一个子女记录值能够脱离双亲记录值而独立存在。才能现出它的全部意义,无一个子女记录值能够脱离双亲记录值而独立存在。层次模型最明显的特点是层次模型最明显的特点是层次清楚、构造简单以及易于实现,它可以很方便层次清楚、构造简单以及易于实现,它可以很方便地表示出一对一和一对多这两种实体之间的联系。地表示出一对一和一对多这两种实体之间的联系。 层次模型的主要优点有:层次模型的主要优点有:(1)层次数据模型本身比较简单。层次数据模型本身比较简单。(2)对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实对于实体间联系是固定的,且预先定义好的应用系统,采用层

42、次模型来实现,其性能优于关系模型,不低于网状模型。现,其性能优于关系模型,不低于网状模型。 (3)层次数据模型提供了良好的完整性支持。层次数据模型提供了良好的完整性支持。层次模型的主要缺点有:层次模型的主要缺点有:(1)现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法很笨掘,只能通过引入冗余数据(易产亲等,层次模型表示这类联系的方法很笨掘,只能通过引入冗余数据(易产生不一致性)或创建非自然组织(引入虚结点)来解决。生不一致性)或创建非自然组织(引入虚结点)来解决。(2)对插入和删除操

43、作的限制比较多。对插入和删除操作的限制比较多。(3)查询子结点必须通过双亲结点。查询子结点必须通过双亲结点。(4)由于结构严密,层次命令趋于程序化。由于结构严密,层次命令趋于程序化。用层次模型设计出来的数据库称为层次数据库用层次模型设计出来的数据库称为层次数据库层次模型主要用于表示一对一、一对多的关系。层次模型主要用于表示一对一、一对多的关系。6/11/202231网状模型网状模型网状模型和层次模型在本质上是一样的,网状模型和层次模型在本质上是一样的,从逻辑上看从逻辑上看它们都是用连线它们都是用连线表示实体之间的联系,用结点表示实体集;表示实体之间的联系,用结点表示实体集;从物理上看,从物理上

44、看,层次模型和网络层次模型和网络模型都是用指针来实现两个文件之间的联系,其差别仅在于网状模型中的模型都是用指针来实现两个文件之间的联系,其差别仅在于网状模型中的连线或指针更加复杂,更加纵横交错,从而使数据结构更复杂。连线或指针更加复杂,更加纵横交错,从而使数据结构更复杂。在数据库中,把满足以下两个条件的基本层次联系集合称为在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:网状模型:(1)允许一个以上的结点无双亲;)允许一个以上的结点无双亲;(2)一个结点可以有多于一个的双亲。)一个结点可以有多于一个的双亲。网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两网状模型是一种

45、比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种联系(称之为复合联系)。允许两个结点之间有多种联系(称之为复合联系)。 由于网状模型所描述的数据之间的关系要比层次模型复杂得多,在层次由于网状模型所描述的数据之间的关系要比层次模型复杂得多,在层次模型中子结点与双亲结点的联系是唯一的,而在网状模型中这种联系可以不模型中子结点与双亲结点的联系是唯一的,而在网状模型中这种联系可以不唯一。因此,为了描述网状模型的记录之间的联系,引进了唯一。因此,为了描

46、述网状模型的记录之间的联系,引进了“系系(set )”概念。概念。所谓所谓“系系”可以理解为命名了的联系,它由一个父记录型和一个或多可以理解为命名了的联系,它由一个父记录型和一个或多个子记录型构成。个子记录型构成。每一种联系都用每一种联系都用“系系”来表示,并将其标以不同的名称,来表示,并将其标以不同的名称,以便相互区别以便相互区别P31 6/11/202232n用网状模型设计出来的数据库称为网状数据库。网状数据库。它不仅具有层次模型数据库的一些特点而且也能方便地描述较为复杂的数据关系。n网状模型是层次模型的一般形式,层次模型则是网状模型的特殊情况。n网状模型可以直接表示实体之间多对多的联系。网状模型可以直接表示实体之间多对多的联系。网状数据模型的优点主要有:网状数

温馨提示

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

评论

0/150

提交评论