(二)数据模型
1.数据模型的基本概念
数据是现实世界符号的抽象,而数据模型是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供了一个抽象的框架。
数据模型描述的三个部分:数据结构、数据操作与数据约束。
(1)数据结构
描述数据的类型、内容、性质及数据间的联系等。
(2)数据操作
主要描述在相应的数据结构上的操作类型与操作方式。
(3)数据约束
主要描述数据结构内数据间的语法、语义联系,它们之间的制约与依存关系,以及数据动态变化的规则,以保证数据的正确、有效与相容。
逻辑数据模型又称数据模型,较为成熟的有:层次模型、网状模型和关系模型。
2.E-R模型
1)E-R模型的基本概念
E-R模型(Entity—Relationship model),即实体联系模型。
(1)实体
在现实生活中客观存在且又能相互区别的事物,称为实体。
具有共性的实体可组成一个集合称为实体集。
(2)属性
属性是用来描述实体的特征。一个实体有许多个属性。
每个属性都可以有值,一个属性的取值范围称为该属性的值域或值集。
(3)联系
反映事物之间的关联称为联系。
实体集之间的联系有多种,就实体集个数而言,有:
两个实体集间的联系
多个实体集之间的联系
一个实体集内部的联系
两个实体集间的联系即实体集间的函数关系,有如下几种关系:
一对一的联系
一对多的联系
多对多的联系
2)E-R模型三个基本概念之间的联系关系
(1)实体集与属性之间的联接关系
实体是概念世界中的基本单位,属性附属于实体,它本身并不构成独立性单位。
一个实体可以有若干个属性,实体与它所有属性构成了实体的一个完整描述。实体与属性间有一定的联系。
实体有型与值的区分,一个实体的所有属性的集合,称为实体型,而实体中属性值的集合,即构成该实体的值。
(2)实体与联系
实体集之间通过联系建立联接关系。
3)E-R模型的图示法
用矩形表示实体集,在矩形内部标出实体集的名称
用椭圆形表示属性,在椭圆上标出属性的名称
用菱形表示联系,在菱形上标出联系名
属性依附于实体,它们之间用无向线段联接
属性也依附于联系,它们之间用无向线段联接
实体集与联系之间的联接关系,通过无向线段表示
3.层次模型
若用图来表示,层次模型是一棵倒立的树。在数据库中,满足以下两个条件的数据模型称为层次模型:
有且仅有一个结点无父结点,这个结点称为根结点
其他结点有且仅有一个父结点
在层次模型中,结点层次从根开始定义,根为第一层,根的子结点为第二层,根为其子结点的父结点,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。
层次模型表示的是一对多的关系,即一个父节点可以对应多个子节点。这种模型的优点是简单、直观、处理方便、算法规范;缺点是不能表达含有多对多关系的复杂结构。
R1是根节点,R2、R3是R1的子结点,它们互为兄弟结点;R4、R5为R2的子结节点,它们也互为兄弟节点;R3、R4、R5是叶子结点。
其中,每一个节点都代表一个实体型,各实体型由上而下是1:n的联系。
支持层次模型的DBMS称为层次数据库管理系统,在这种数据库系统中建立的数据库是层次数据库。
层次数据模型支持的操作主要有:查询、插入、删除和更新。
4.网状模型
若用图来表示,网状模型是一个网络。在数据库中,满足以下两个条件的数据模型称为网状模型。
允许一个以上的结点无父结点
一个结点可以有一个以上的父结点
允许两个结点间有两种以上的联系,即允许结点间有复合链,用网络表示某种联系
由于在网状模型中子结点与父结点的联系不是的,所以要为每个联系命名,并指出与该联系有关的父结点和子结点。
网状模型的优点是可以表示复杂的数据结构,存取数据的效率比较高;缺点是结构复杂,每个问题都有其相对的特殊性,实现的算法难以规范化。
在抽象网状模型中,R1与R4之间的联系被命名为L1,R1与R3之间的联系被命名为L2,R2与R3之间的联系被命名为L3,R3与R5之间的联系被命名为L4,R4与R5之间的联系被命名为L5。R1为R3和R4的父结点,R2也是R3的父结点。R1和R2没有父结点。
网状模型是一个不加任何条件限制的无向图。它没有层次模型那样需要满足严格的条件,相对比较灵活。
通常的操作方式是将网状模型分解成若干个二级树,即只有两个层次的树。
在网状模型标准中,基本结构简单二级树叫做系,系的基本数据单位是记录,它相当于E-R模型中的实体集;记录又可由若干数据项组成,它相当于E-R模型中的属性。
5.关系模型
1)关系的数据结构
关系模型是利用二维表来表示,简称表。
表头即属性的集合,在表中每一行存放数据,称为元组。
二维表要求满足的条件:
二维表中元组的个数有限
元组在二维表中的性,在同一个表中不存在完全相同的两个元组
二维表中元组的顺序无关,可以任意调换
元组中的各分量不能再分解
二维表中各属性名
二维表中各属性的顺序无关
二维表属性的分量具有与该属性相同的值域
键:能够确定元组的属性或属性的组合。例如,在学生基本情况表中,可以用学号来标识某个学生,即学号可以作为该表的键。键具有标识元组、建立元组间联系等重要作用。
在二维表中凡是能够标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,称为候选码或候选健。从二维表的所有候选键中选取一个作为用户使用的键称为主键或主码。
外键:如果表中的一个字段不是本表的键或候选键,而是另外一个表的键或候选键,则称该字段为外键或外码。
表中一定有键。
在关系中一般支持空值,空值表示未知的值或不可能出现的值,一般用NULL表示。关系的主键中不允许出现空值,因为如主键为空值则失去了其元组标识的作用。
关系模式支持子模式,关系子模式是关系数据库模式中用户所见到的那部分数据模式描述。
2)关系操作
关系模型的数据操纵是建立在关系上的数据操纵,一般有查询、增加、删除和修改。
(1)数据查询
在一个关系中查询数据,操作方式是先定位,然后再操作。
在多个关系中查询数据,先将多个关系合并为一个关系,再在合并后的新关系中进行定位,然后再操作。
(2)数据删除
数据删除操作是在一个关系中删除元组的操作。操作方式也是先定位,然后再删除操作。
(3)数据插入
数据插入也是仅对一个关系的操作。即在指定的关系中插入一个或多个元组。
(4)数据修改
数据修改是在一个关系中修改指定的元组与属性。数据修改不是一个基本的操作,可分解为删除要修改的元组,再插入修改后的元组两个基本操作。
关系的基本操作:
关系的属性指定
关系的元组选择
两个关系合并
一个或多个关系的查询
关系中元组的插入
关系中元组的删除
3)关系中的数据约束
数据约束:实体完整性约束、参照完整性约束和用户定义的完整性约束。
(1)实体完整性约束
要求关系的主键中属性值不能为空值,主键的惟一决定元组的惟一性。
(2)参照完整性约束
关系之间相关联的基本约束,不允许关系引用不存在的元组。
(3)用户定义的完整性约束
用户根据具体的数据环境与应用环境具体设置约束。关系数据库系统提供完整性约束语言,用户利用该语言写出的约束条件,运行时由系统自动检查。
2016年计算机二级公共基础学习教程:数据模型.doc正在阅读:
石头作文500字05-25
定格在记忆中的画面作文800字08-29
烧烤作文500字08-11
和友谊同行作文600字12-26
2020年北京天坛医院招聘公告【76人】02-16
高一年级化学下册考点整理07-22
初中环保作文:绿色家园人人有责06-13