最常用的数据模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.2.3 最常用的数据模型

最常用的数据模型包括四种:

注1:非关系模型在20世纪70-80年代很流行,现在逐步被关系模型取代。

注2:下面讲的数据模型都是指逻辑上的数据模型,即用户眼中看到的数据范围。

一、层次模型

定义:

①有只有一个结点没有双亲结点,这个结点称为根结点;

②根以外的其他结点有且只有一个双亲结点。

代表产品:IBM公司的IMS(Information Management System)数据库管理系统。

1. 数据结构

基本结构

①用树形结构来表示各类实体以及实体间的联系。

②每个结点表示一个记录类型(实体),结点之间的连线表示记录类型间一对多的父子联系,这种联系只能是父子联系。

③每个记录类型可包含若干个字段(属性)。

图1.12 教员学生层次数据库模型

图1.13 教员学生层次数据库的一个值

多对多联系在层次模型中的表示

①必须首先将其分解成一对多联系。

②分解方法有两种:冗余结点法和虚拟结点法。

图1.14(a) 一个学生选课的多对多联系

图1.14(b) 冗余结点法将多对多联系转化为一对多联系

图1.14(c) 虚拟结点法将多对多联系转化为一对多联系

2. 数据操作与完整性约束

数据操作:查询、插入、删除和修改。

完整性约束:

①插入:如果没有相应的双亲结点值就不能插入子女结点值。如:图1.13中,若新调入一名教师,在未分配到某个教研室以前,不能将新教员插入到数据库。

②删除:如果删除双亲结点值,则相应的子女结点值也被同时删除。如:图1.9中,若删除网络教研室,需要首先删除属于网络教研室的所有教师的数据。

③修改:应修改所有相应记录,以保证数据的一致性。如:图1.14(b)中,若一个学生要改姓名,则两处学生记录值均要修改。

3. 存储结构

存储内容:数据本身;数据之间的联系。两种方法:邻接法;链接法。

图1.15(a) 数据模型

图1.15(b) 数据值

图1.15(c) 邻接法存储

图1.16(a) 图1.15(a)的数据值

图1.16(b) 链接法存储

4. 优缺点

优点

①数据模型比较简单,操作简单;

②对于实体间联系是固定的,且预先定义好的应用系统,性能较高;

③提供良好的完整性支持。

缺点

①不适合于表示非层次性的联系;

②对插入和删除操作的限制比较多;

③查询子女结点必须通过双亲结点;

④由于结构严密,层次命令趋于程序化。

二、网状模型

定义:

①允许一个以上的结点无双亲;

②一个结点可以有多于一个的双亲。

代表产品:DBTG系统模型类产品。

1. 数据结构

①用网状结构来表示各类实体以及实体间的联系,层次模型是网状模型的一个特例。

②每个结点表示一个记录类型(实体),结点之间的连线表示记录类型间的一对多的父子联系。

③每个记录类型可包含若干个字段(属性)。

图1.17(a) 学生/选课/课程网状数据库模型

图1.17(b) 学生/选课/课程网状数据库的一个值

2. 数据操作与完整性约束

数据操作:查询、插入、删除和修改。

完整性约束:

①插入:允许插入尚未确定双亲结点值的子女结点值。

②删除:允许只删除双亲结点值。

③修改:只需修改指定记录即可性。

3. 存储结构

存储内容:数据本身;数据之间的联系。

两种方法:链接法(包括:单向链接、双向链接、环状链接、向首链接等)。

图1.17(c) 学生/选课/课程网状数据库存储

4. 优缺点

优点

①能够更为直接地描述现实世界;

②具有良好的性能,存取效率较高。

缺点

①数据定义语言(DDL)极其复杂;

②数据独立性较差。由于实体间的联系本质上通过存取路径指示的,因此应用程序在访问数据时要指定存取路径。

三、关系模型

定义:其逻辑结构就是二维表格,由行列组成。

代表产品:Oracle公司的Oracle、Microsoft公司的SQL Server。

1. 数据结构

概念

①关系(Relation):一个关系就是一张表。如图1.18。

图1.18 关系模型的数据结构

②元组(Tuple):表中的一行。

③属性(Attribute):表中的一列。

④主码(Key):能够唯一确定一个元组的属性。如:学号。

⑤域(Domain):属性的取值范围。如:年龄域是1-150之间、性别域是(男、女)、系名域是一个学校所有系名的集合。

⑥分量:元组中的一个属性值,如:95004、黄大鹏、法律学。

⑦关系模式:对关系的描述,一般表示为:

关系名(属性1,属性2,…,属性n)

图1.18的学生关系可描述为:学生(学号,姓名,年龄,性别,系名,年级)

特点

①在关系模型中,实体及实体间的联系都是用关系来表示。如:学生、课

程、学生与课程多对多的联系(即学生选课)均可用关系来表示,如下:

学生(学号,姓名,年龄,性别,系名,年级)

课程(课程号,课程名,学分)

学生选课(学号,课程号,成绩)

②关系模型要求关系必须是规范的,最基本的条件是,关系的每一个分量必须是一个不可分的数据项,即不允许表中还有表。如图1.19中的表就不是一个关系。

图1.19 不符合关系模型规范的表格

2. 数据操作与完整性约束

数据操作:查询、插入、删除和修改。

完整性约束:包括三大类,即:实体完整性、参照完整性和用户定义的完整性。(在2.3节中讲解)

3. 存储结构

存储内容:由于数据本身和数据之间的联系均是表,物理存储时,表以文件的形式存储。

两种方法:一个文件一个表(如:Foxpro);多个文件一个表(如:SQL Server

相关文档
最新文档