最常用的数据模型Word文档下载推荐.docx
《最常用的数据模型Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《最常用的数据模型Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
IBM公司的IMS(InformationManagementSystem)数据库管理系统。
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.17(a)学生/选课/课程网状数据库模型
图1.17(b)学生/选课/课程网状数据库的一个值
允许插入尚未确定双亲结点值的子女结点值。
允许只删除双亲结点值。
只需修改指定记录即可性。
法(包括:
单向、双向、环状、向首等)。
图1.17(c)学生/选课/课程网状数据库存储
①能够更为直接地描述现实世界;
②具有良好的性能,存取效率较高。
①数据定义语言(DDL)极其复杂;
②数据独立性较差。
由于实体间的联系本质上通过存取路径指示的,因此应用程序在访问数据时要指定存取路径。
三、关系模型
其逻辑结构就是二维表格,由行列组成。
Oracle公司的Oracle、Microsoft公司的SQLServer。
概念
①关系(Relation):
一个关系就是一表。
如图1.18。
图1.18关系模型的数据结构
②元组(Tuple):
表中的一行。
③属性(Attribute):
表中的一列。
④主码(Key):
能够唯一确定一个元组的属性。
学号。
⑤域(Domain):
属性的取值围。
年龄域是1-150之间、性别域是(男、女)、系名域是一个学校所有系名的集合。
⑥分量:
元组中的一个属性值,如:
95004、黄大鹏、法律学。
⑦关系模式:
对关系的描述,一般表示为:
关系名(属性1,属性2,…,属性n)
图1.18的学生关系可描述为:
学生(学号,,年龄,性别,系名,年级)
特点
①在关系模型中,实体及实体间的联系都是用关系来表示。
学生、课程、学生与课程多对多的联系(即学生选课)均可用关系来表示,如下:
课程(课程号,课程名,学分)
学生选课(学号,课程号,成绩)
②关系模型要求关系必须是规的,最基本的条件是,关系的每一个分量必须是一个不可分的数据项,即不允许表中还有表。
如图1.19中的表就不是一个关系。
图1.19不符合关系模型规的表格
包括三大类,即:
实体完整性、参照完整性和用户定义的完整性。
(在2.3节中讲解)
由于数据本身和数据之间的联系均是表,物理存储时,表以文件的形式存储。
一个文件一个表(如:
Foxpro);
多个文件一个表(如:
SQLServer)。
优点:
①关系模型是建立在严格的数学概念的基础上的;
②无论实体还是实体之间的联系都用关系来表示。
对数据的检索结果也是关系(即表),因此概念单一,其数据结构简单、清晰;
③关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全性,也简化了程序员的工作和数据库开发建立的工作。
缺点:
①由于存取路径对用户透明,查询效率往往不如非关系数据模型。
因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的负担。