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

下载本文档

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

文档简介

数据库系统原理及应用机械工业出版社

2023/2/5第2章数据模型与概念模型2.1信息的三种世界及其描述2.2概念模型及其表示2.2.1概念模型的基本概念

2.2.2概念模型的表示方法2.3常见的数据模型2.3.1数据模型概述2.3.2层次数据模型2.3.3网状数据模型2.3.4关系数据模型2.3.6对象关系数据模型理解掌握学会导入:

要想为一个数据库建立数据模型(表),首先深入到现实世界中进行系统需求分析,然后用概念模型真实地、全面地描述现实世界中的管理对象及联系,最后通过一定方法将概念模型转换为数据模型。现实世界信息世界计算机世界收集信息概念模型数据模型2.1信息的三种世界及其描述数据库中所存储的数据来源于现实世界的信息流,

信息流通过一事实上方法将其转换成计算机所能接受的数据形式。整个过程便是从现实世界向计算机世界的转换。

1.信息的现实世界

将现实世界存在的各种事物、事物之间的相互联系及事物的发生变化过程使用概念模型加以描述,通过实体、特征、实体集及联系进行划分和认识现实世界。(1)实体(Entity)

现实世界中存在的可以相互区分的事物或概念。如一个学生、一个工人、一台机器等。

(2)实体的特征(EntityCharacteristic)

每个实体都有自己的特征,利用实体的特征可以区别不同的实体。如学生实体中的学号,姓名,年龄等都属于特征,其实就是字段名。

(3)实体集及实体集间的联系(Relation)

具有相同特征或能用同样特征描述的实体的集合。通俗讲,如学生表、成绩表、职工表、工资表等实体集,以及实体集之间的联系。2.信息世界

在信息世界中:实体的特征在头脑中形成的知识称为属性;实体通过其属性(字段名)表示称为实例;同类实例的集合称为对象,对象即实体集中的实体用属性表示得出的信息集合;实体集之间的联系用对象联系表示。信息世界通过概念模型、过程模型和状态模型反映现实世界,它要求对现实世界中的事物、事物间的联系和事物的变化情况准确、如实、全面地表示。概念模型通过E-R图中的对象、属性和联系对现实世界的事物及关系给出静态描述。3.信息的计算机世界经过信息世界概念模型的描述,将其数字化处理形成计算机能够处理的数据,便进入计算机世界。计算机世界所用术语:1)数据项(Item):对象属性的数据表示。名称、类型、宽度和值域。

2)记录(Record):实例的数据表示。记录有型和值之分:记录的型是结构,由数据项的型构成;记录的值表示对象中的一个实例,它的分量是数据项值。

3)文件(File):对象的数据表示,同类记录的集合。如学生表中每条记录都要按其姓名、性别、年龄、所在系的结构组织数据项值。

4)数据模型(DataModel):现实世界中的事物和相互联系数据化的结果就是数据模型。4.现实世界、信息世界和计算机世界的关系信息的三种世界术语的对应关系表现实世界信息世界

计算机世界

实体

实例

记录

特征

属性

数据项

实体集

对象或实体型

数据或文件

实体间的联系对象间的联系

数据间的联系

概念模型数据模型

现实世界、信息世界和计算机世界的关系信息的三个世界的联系和转换过程

现实世界系统分析

信息世界数据库设计计算机世界

事物及联系信息化概念模型数据化数据模型现实世界的事物及联系,通过系统分析成为信息世界的概念模型,然后将概念模型经过数据化处理转换为数据模型。2.2概念模型及其表示2.2.1概念模型的基本概念

1.概念模型涉及的基本概念

(1)对象(Object)和实例(Instance)

现实世界中具有相同性质、服从相同规则的一类事物(概念)的抽象称为对象。对象中的每一个具体的事物(实体)为该对象的实例。

(2)属性(Attribute)

属性为实体的某一方面特征的抽象表示。

(3)主码(PrimaryKey)和次码(SecondaryKey)

码能够惟一标识一个实体;不能惟一标识实体的属性叫次码。

(4)域(Domain)

属性的取值范围称为属性的域。

概念模型是对信息世界的管理对象、属性及联系等信息的描述形式。概念模型不依赖计算机及DBMS,它是现实世界的真实全面反映。2.实体联系的类型(1)两个实体集之间的联系

1)一对一联系(1:1):设有两个实体集A和B,对于A中的每一个实体,B中至多有一个实体与之联系;反之亦然。

2)一对多联系(1:n):设有两个实体集A和B,对于A的每一个实体,B中有一个或多个实体与之联系;而对于B的每一个实体,A中至多有一个实体与之联系。

3)多对多联系(m:n):设有两个实体集A和B,对于A的每一个实体,B中有一个或多个实体与之联系;反之亦然。两个实体集之间的联系工厂

负责厂长11学校

工作教师1n职工

参加体育团体mn两个实体集联系的例子(2)多实体集之间的联系1)多实体集之间的一对多联系。

设实体集E1,…En,对于实体集Ej(j=1,…n)中的一个给定实体,最多只和其他实体集Ei(ij)中的一个实体相联系,则称Ej与E1…,En之间的联系是一对多的。

2)多实体集之间的多对多联系。

在两个以上的多个实体集之间,当一个实体集与其他实体集之间均存在多对多联系,而其他实体集之间没有联系时,这种联系称为多实体集间的多对多联系。课程讲授教师参考书1nm供应商供应项目零件mpn2.2.2概念模型的表示方法1)用长方形表示实体集,长方形内写明实体集名。2)用椭圆形表示实体集的属性,并用线段将其与相应的实体集连接起来。3)用菱形表示实体集间的联系,菱形内写上联系名,用线段分别与有关实体集连接起来,在线段旁标出联系的类型。如果联系具有属性,则该属性仍用椭圆框表示,仍需要用线段将属性与其联系连接起来。学生学号姓名性别年龄所在系2.3

常见的数据模型2.3.1数据模型概述

1.数据模型的三要素

1)数据结构:所研究的对象类型的集合。包括与数据类型、内容、性质有关的对象;与数据之间联系有关的对象。

2)数据操作:对数据库中各种数据对象允许执行的操作集合。包括操作对象和有关的操作规则两部分。

3)数据约束条件:一组数据完整性规则的集合。

2.常见的数据模型

层次模型、网状模型和关系模型。

在非关系模型中,实体集用记录表示,实体的属性对应记录的数据项(或字段)。实体集之间的联系转换成两两记录之间的联系。非关系模型中数据结构的单位是基本层次联系。RiRjLij2.3.2层次数据模型1.层次模型的数据结构

(1)层次模型的定义

1)有且仅有一个结点没有双亲结点,这个结点称为根结点。

2)除根结点之外的其他结点有且只有一个双亲结点。

(2)层次模型的数据表示方法

实体集使用记录表示;记录型包含若干个字段;记录值表示实体;记录之间的联系使用基本层次联系表示。

(3)层次模型的特点

层次模型像一棵倒立的树,只有一个根结点,有若干个叶结点,结点的双亲是惟一的。

院系编号院系名称办公地点教研室编号教研室学号姓名年龄专业方向职工号姓名教学院系数据模型院系教研室学生教师D10计算机系9号楼C01硬件教研室C02软件教研室00001王平2000002李丽20电器92001王海自动化92002张铮数据库92003许明人工智能92004陈真教学院系数据库的一个实例2.层次模型的完整性约束条件在进行插入记录值操作时,如果没有指明相应的双亲记录值(首记录值),则不能插入子女记录值(属记录值)。(2)进行删除记录操作时,如果删除双亲记录值(首记录值),则相应的子女结点值(属记录值)也同时被删除。(3)进行修改记录操作时,应修改所有相应记录,以保证数据的一致性。

2.3.3网状数据模型1.网状模型的数据结构

(1)网状模型结构的基本特征

1)有一个以上的结点没有双亲。2)结点可以有多于一个的双亲。

(2)网状模型的数据表示方法

1)使用记录和记录值表示实体集和实体;每个结点表示一个记录,每个记录包含若干个字段。

2)联系(系)用结点间的有向线段表示。每个有向线段表示一个记录间的一对多的联系。

R1R2R1R2R3R4R1R3R2

L1L2L1L2L1L2L32.网状模型的完整性约束条件支持记录码的概念。码即惟一标识记录的数据项的集合。2)保证一个联系中双亲记录和子女记录之间是一对多的联系。3)可以支持双亲记录和子女记录之间某些约束条件。2.3.4关系数据模型1.关系模型的数据结构

(1)关系模型中的主要术语1)关系。一个关系对应通常所说的一张二维表。2)元组。表中的一行称为一个元组。3)属性。表中的一列称为一个属性。4)主码。表中的某个属性或属性组,值可以惟一地确定一个元组,且属性组中不含多余的属性。5)域。属性的取值范围称为域。6)分量。元组中的一个属性值称为分量。7)关系模式。关系的型称为关系模式,是对关系的描述。(2)关系模型中的数据全部用关系表示关系模式一般的表示是:关系名(属性1,属性2,…,属性n).学生学籍表

学号姓名性别年龄所在系00001王平男20计算机系00002李丽女20计算机系00010张晓刚男19数学系……………2.关系操作和完整性约束条件3.关系模型与非关系模型比较

1)关系数据模型建立在严格的数学基础之上。

2)关系数据模型的概念单一,容易理解。

3)关系数据模型的存取路径对用户隐蔽。

4)关系模型中的数据联系是靠数据冗余实现的。

关系操作主要包括数据查询和插入、删除、修改数据。关系中的数据操作是集合操作。关系操作语言都是高度非过程的语言关系的完整性约束条件包括三类:实体完整性、参照完整性和用户定义的完整性。2.3.6对象关系数据模型1.对象关系数据模型的概念对象关系数据模型使用二维表表示数据,它包括关系表和对象表两种。关系表属于关系模型,关系的属性对应于表的列,关系的元组对应于表的行,关系模型装不支持方法。对象表属于面向对象数据模型,支持面向对象的基本功能,对象的类抽象对应二维表,类的实例(对象)对应于表中的行,类的属性对应于表的列,通过对象可调用方法。2.对象表的数据类型和表结构特点(1)对象表的属性支持复合数据类型关系表强调属性数据只能是不可分割的简单数据项,复合数据是不允许出现的。对象表的数据可以是基本项,也可以是组合数据项学生信息的对象表结构学号姓名年龄班级家庭联系人姓名与学生关系电话单位(2)对象表的属性支持可变长数组类型关系表的属性不支持数组类型,更不支持可变长的数组类型。对于一些数据个数不确定的信息,关系表只能独立新建表的方法解决。对象表增加了数组类型,用户可以使用可变长的数组类型保存记录中数据个数不一样的属性数据。学生-选课的对象表学号姓名年龄班级课程名成绩040011王刚2004(2)数据库72C语言87软件工程76040012李力2104(2)数据库67040013田红2004(3)数据库86软件工程75(3)对象表的属性支持嵌入表数据类型

对象表中的属性,不仅可以是复合数

温馨提示

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

评论

0/150

提交评论