数据库应用程序开发入门篇——数据库的逻辑模型

数据库应用程序开发入门篇——数据库的逻辑模型

写在前面:磨刀不误砍柴工,学习各种数据库开发应用之前,还是要了解一下数据的逻辑模型这些概念性的知识。
关于数据库的数据模型这些内容本身比较抽象,而且知识点也较多,对于入门学习,了解即可,深究很困难。

1.数据模型基本概念

a.为什么需要数据模型——抽象现实世界中的数据特征便于计算机处理

现实世界是存在于人脑之外的客观世界,是数据库系统操作处理的对象。 如何用数据来描述、解释现实世界,运用数据库技术表示、处理客观事物及其相互联系,则需要采取相应的方法和手段来进行描述,进而实现最终的操作处理。在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。

b.数据模型的分类

(1)概念模型(信息模型)   按用户的观点对数据和信息建模,主要用于数据库的概念结构设计
(2)逻辑模型   基于概念模型,按计算机系统的观点对数据建模,主要用于DBMS实现
(3)物理模型 基于概念模型和逻辑模型,对数据最低层的抽象,描述数据的内部表示方式和存取方法,面向计算机系统

c.数据模型应满足三方面要求

能比较真实地模拟现实世界,容易为人所理解,便于在计算机上实现。
对于数据库的概念模型部分将在E-R关系图部分再谈,这里重点了解逻辑模型。

2.逻辑模型的三要素

逻辑模型的好坏,直接影响数据库的性能,因此逻辑数据模型的选择是设计数据库的一项首要任务。

一般来说,逻辑数据模型是严格定义的一组概念的集合,所描述的内容包括三个部分:数据结构、数据操作、数据约束。

1)数据结构:数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。
2)数据操作:数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。
3)数据约束:数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。例如,学生某门课程所得学分不能为负数,每个学生在一学期内成绩不及格的课程门数不得超过3门等。
逻辑数据模型的概念示意图如下所示:
数据库应用程序开发入门篇——数据库的逻辑模型_第1张图片

3.常用的逻辑模型

 层次模型、网状模型和关系模型是三种重要的数据模型。这三种模型是按其数据结构而命名的。前两种采用格式化的结构。在这类结构中实体用记录型表示,而记录型抽象为图的顶点。记录型之间的联系抽象为顶点间的连接弧。整个数据结构与图相对应。对应于树形图的数据模型为层次模型;对应于网状图的数据模型为网状模型。关系模型为非格式化的结构,用单一的二维表的结构表示实体及实体之间的联系。满足一定条件的二维表,称为一个关系。

补充概念:
实   体: 客观存在并且可以相互区别的事物称为实体,例如一个学生,一本书。
实体型:若干个属性型组成的集合可以表示一个实体的类型,简称实体型。例如,学生(学号,姓名,年龄,性别,系)就是一个实体型。
三种模型详细内容如下。
1)层次模型
若用图来表示,层次模型是一棵倒立的树。在数据库中,满足以下条件的数据模型称之为层次模型:
① 有且仅有一个结点无父结点,这个结点称之为根结点; ② 其他结点有且仅有一个父结点。 根据层次模型的定义可以看到,这是一个典型的树型结构。结点层次从根开始定义,根为第一层,根的子结点为第二层,根为其子结点的父结点,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。

例如,下图的教员学生层次数据库模型 :

层次模型的优缺点:
优点  
层次模型的数据结构比较简单清晰 
查询效率高,性能优于关系模型,不低于网状模型
层次数据模型提供了良好的完整性支持
缺点
多对多联系表示不自然
对插入和删除操作的限制多,应用程序的编写比较复杂 
查询子女结点必须通过双亲结点
由于结构严密,层次命令趋于程序化 
2)网状模型
在现实世界中,事物之间的联系更多的是非层次关系的,用层次模型表示非树型结构是很不直接的,网状模型则可以克服这一弊病。网状模型是一个网络。在数据库中,满足以下两个条件的数据模型称为网状模型。
① 允许一个以上的结点无父结点;
② 一个结点可以有多于一个的父结点。 从以上定义看出,网状模型构成了比层次结构复杂的网状结构。
例如下图的学生选课网状模型:

网状模型的优缺点:
优点
能够更为直接地描述现实世界,如一个结点可以有多个双亲
具有良好的性能,存取效率较高
缺点
结构复杂, 其DDL语言及其复杂
数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据库时要指定存取路径。

3)关系模型
在关系模型中,数据的逻辑结构是一张二维表。在数据库中,满足下列条件的二维表称为关系模型:
① 每一列中的分量是类型相同的数据;
② 列的顺序可以是任意的;
③ 行的顺序可以是任意的;
④ 表中的分量是不可再分割的最小数据项,即表中不允许有子表;
⑤ 表中的任意两行不能完全相同。

在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成,如下图所示:

关系模型的优缺点:
优点
建立在严格的数学概念的基础上。
概念单一。数据结构简单、清晰,用户易懂易用。
关系模型的存取路径对用户透明,具有更高的数据独立性,更好的安全保密性,简化了程序员的工作和数据库开发建立的工作。
缺点
存取路径对用户透明导致查询效率往往不如非关系数据模型。
为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。

4.参考资料

(1)数据库原理及开发应用      清华大学出版社 周屹等编著
(2)http://wenku.baidu.com/view/f90078eb81c758f5f61f67d3.html
(3)http://baike.baidu.com/view/72142.htm
(4)http://baike.baidu.com.cn/view/1621552.htm
(5)http://www.cnblogs.com/ixdb/archive/2013/02/27/five.html


你可能感兴趣的:(数据库应用程序开发入门篇——数据库的逻辑模型)