|
知识路径: > 数据库基础知识 > 数据库系统基本概念 >
|
被考次数:7次
被考频率:中频率
总体答错率:40%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
相关知识点:9个
|
|
|
|
模型是现实世界特征的模拟和抽象,而数据模型(Data Model)也是一种模型,是对现实世界数据特征的抽象。现有的数据库系统均是基于某种数据模型的。根据模型应用的不同目的,可以将模型划分为两类:第一类是概念模型(也称信息模型),它是按用户的观点来对数据和信息建模,主要用于数据库设计;另一类是数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现。数据模型是数据库系统的核心和基础,各种计算机上实现的DBMS软件都是基于某种数据模型的。
|
|
|
|
数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常有数据结构、数据操作和数据的约束条件三个组成要素。
|
|
|
(1)数据结构。数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,包括两类,一类是与数据类型、内容、性质有关的对象;一类是与数据之间联系有关的对象。数据结构是刻画一个数据模型性质最重要的方面。因此在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。例如层次结构、网状结构和关系结构的数据模型分别命名为层次模型、网状模型和关系模型。数据结构是对系统静态特性的描述。
|
|
|
(2)数据操作。数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则以及实现操作的语言。数据操作是对系统动态特性的描述。
|
|
|
(3)数据的约束条件。数据的约束条件是一组完整性规则的集合。而数据库的完整性是指数据的正确性和相容性,例如,学生学号必须唯一、性别只能是男或女、本科学生的年龄的取值范围为14~30的整数。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
|
|
|
|
|
.实体:客观存在并可相互区别的事物。实体可以是具体的人、事、物,也可以是抽象的概念或联系。
|
|
|
.属性(Attribute):实体所具有的某一特征。一个实体可以由若干个属性来刻画。
|
|
|
|
|
.实体型(Entity Type):具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
|
|
|
.实体集(Entity Set):同型实体的集合。
|
|
|
.联系(Relationship):分为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。两个实体型之间的联系可以分为:一对一联系(记为1:1)、一对多联系(1:n)和多对多联系(m:n)。
|
|
|
|
概念模型的表示方法很多,其中最为著名最为常用的是实体-联系方法(E-R方法,也称为E-R模型),该方法用E-R图来描述现实世界的概念模型。在E-R图中,实体用矩形表示,矩形框内写明实体名;属性用椭圆形表示,并用无向边将其与相应的实体连接起来;联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。同时,如果联系具有属性,则这些属性也要用无向边与该联系连接起来。
|
|
|
如下图所示就是用E-R图来表示某个工厂物资管理的概念模型。
|
|
|
|
|
仓库、零件、供应商、项目、职工是物资管理所涉及到的实体。每个实体都有若干属性,例如,仓库的属性是仓库号、面积和电话号码。实体之间具有联系,这些联系分别是:①仓库和零件的多对多联系,一个仓库可以存放多种零件,一种零件可以存放在多个仓库当中,库存量表示某种零件在某个仓库中的数量。②仓库和职工之间的一对多联系,一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。③职工之间的一对多联系,即职工之间具有领导-被领导关系,例如仓库主任领导若干保管员,一个保管员被一个仓库主任领导。④供应商、项目和零件三者之间具有多对多联系,一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。
|
|
|
可以看出,实体-联系方法是抽象和描述现实世界的有力工具。用E-R图表示的概念模型独立于具体的DBMS所支持的数据模型,它是各种数据模型的共同基础,比数据模型更一般、更抽象、更接近现实世界。
|
|
|
|
目前,数据库领域中最常用的数据模型有四种:层次模型、网状模型、关系模型、面向对象模型。其中层次模型和网状模型统称为非关系模型。
|
|
|
|
层次模型是数据库系统中最早出现的数据模型,用树型结构来表示各类实体以及实体间的联系。在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:①有且只有一个结点没有双亲结点,这个结点成为根结点;②根以外的其他结点有且只有一个双亲结点。层次数据库系统只能直接处理一对多(包括一对一)的实体联系,但在现实世界中很多联系是非层次的(例如一个结点具有多个双亲时),层次模型在处理多对多联系时,必须首先将其分解成一对多联系,分解方法有冗余结点法和虚拟结点法,但这两种处理方法较笨拙。
|
|
|
|
在数据库中,把满足以下两个条件的基本层次联系集合成为网状模型:①允许一个以上的结点无双亲;②一个结点可以有多于一个的双亲。网状模型比层次模型更具普遍性,层次模型是网状模型的一个特例。可以看出,与层次模型不同,网状模型中子女结点与双亲结点的联系可以不唯一,因此,要为每个联系命名,并指出与该联系有关的双亲记录和子女记录。
|
|
|
此类模型的结构复杂,当应用环境扩大时,数据库将变得复杂,最终用户难以掌握。记录之间的联系通过存取路径实现,用户必须了解系统结构的细节,才能在应用程序的编写中选择到适当的路径,加重了编程的负担。
|
|
|
|
关系模型是目前最重要的一种数据模型,关系数据库系统(例如著名的DB2、Oracle、Ingres、 Sybase、 Informix等)采用关系模型为数据的组织方式。关系模型与层次模型和网状模型不同,它建立在严格的数学概念的基础之上,应用数学方法来处理数据库中的数据。在用户观点下,关系模型中数据的逻辑结构是一张二维表,由行和列组成。关系模型概念单一,无论实体还是实体间的联系都是用关系表示,数据结构简单清晰,用户易懂易用。存取路径对用户透明,数据独立性高、安全保密性好,且简化了数据库开发工作。如下图所示是关系模型数据结构的示例。
|
|
|
|
|
|
|
在关系模型中,实体间的联系都是用关系来表示。上图所示的学生、课程、选课的多对多联系在关系模型中可以表示为:
|
|
|
|
|
|