数据库原理概论

上传人:jiups****uk12 文档编号:53657346 上传时间:2018-09-03 格式:PPT 页数:91 大小:3.59MB
返回 下载 相关 举报
数据库原理概论_第1页
第1页 / 共91页
数据库原理概论_第2页
第2页 / 共91页
数据库原理概论_第3页
第3页 / 共91页
数据库原理概论_第4页
第4页 / 共91页
数据库原理概论_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《数据库原理概论》由会员分享,可在线阅读,更多相关《数据库原理概论(91页珍藏版)》请在金锄头文库上搜索。

1、层次模型是数据库系统中最早出现的数据模型 层次数据库系统的典型代表是IBM公司的IMS(Information Management System) 层次模型用树形结构来表示各类实体以及实体间的联系,An Introduction to Database Systems,1.2.5 层次模型,层次模型满足下面两个条件的基本层次联系的集合为层次模型 1. 有且只有一个结点没有双亲结点,这个结点称为根结点 2. 根以外的其它结点有且只有一个双亲结点 层次模型中的几个术语 根结点,双亲结点,兄弟结点,叶结点,An Introduction to Database Systems,一、 层次数据模型的

2、数据结构,An Introduction to Database Systems,层次数据模型的数据结构(续),图1.16 一个层次模型的示例,层次模型的特点: 结点的双亲是唯一的 只能直接处理一对多的实体联系 每个记录类型可以定义一个排序字段,也称为码字段 任何记录值只有按其路径查看时,才能显出它的全部意义 没有一个子女记录值能够脱离双亲记录值而独立存在,An Introduction to Database Systems,层次数据模型的数据结构(续),图1.17 教员学生层次数据库模型,An Introduction to Database Systems,层次数据模型的数据结构(续),

3、根结点,记录型系的子女结点 记录型教员的双亲结点,叶结点,叶结点,字段,图1.18 教员学生层次数据库的一个值,An Introduction to Database Systems,层次数据模型的数据结构(续),多对多联系在层次模型中的表示 用层次模型间接表示多对多联系 方法 将多对多联系分解成一对多联系 分解方法 冗余结点法 虚拟结点法,An Introduction to Database Systems,二、多对多联系在层次模型中的表示,层次模型的数据操纵 查询 插入 删除 更新,An Introduction to Database Systems,三、层次模型的数据操纵与完整性约束

4、,层次模型的完整性约束条件 无相应的双亲结点值就不能插入子女结点值 如果删除双亲结点值,则相应的子女结点值也被同时删除 更新操作时,应更新所有相应记录,以保证数据的一致性,An Introduction to Database Systems,层次模型的数据操纵与完整性约束(续),邻接法 按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序,An Introduction to Database Systems,四、层次数据模型的存储结构,层次数据模型的存储结构(续),An Introduction to Database Systems,图1.20 层次数

5、据库及其实例,按邻接法存放图1.20(b) 中以根记录A1为首的层次 记录实例集,按邻接法存放图1.20(b)中以根记录A1为首的层次记录实例集,链接法 用指引来反映数据之间的层次联系 子女兄弟链接法 层次序列链接法,An Introduction to Database Systems,层次数据模型的存储结构(续),An Introduction to Database Systems,层次数据模型的存储结构(续),子女-兄弟链接法 每个记录设两类指针,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟,层次序列链接法 按树的前序穿越顺序链接各记录值,An Introduction to

6、 Database Systems,层次数据模型的存储结构(续),优点 层次模型的数据结构比较简单清晰 查询效率高,性能优于关系模型,不低于网状模型 层次数据模型提供了良好的完整性支持 缺点 多对多联系表示不自然 对插入和删除操作的限制多,应用程序的编写比较复杂 查询子女结点必须通过双亲结点 由于结构严密,层次命令趋于程序化,An Introduction to Database Systems,五、层次模型的优缺点,1.2.1 两大类数据模型1.2.2 数据模型的组成要素1.2.3 概念模型1.2.4 最常用的数据模型1.2.5 层次模型1.2.6 网状模型1.2.7 关系模型,An Int

7、roduction to Database Systems,1.2 数据模型,网状数据库系统采用网状模型作为数据的组织方式 典型代表是DBTG系统: 亦称CODASYL系统 70年代由DBTG提出的一个系统方案 奠定了数据库系统的基本概念、方法和技术 实际系统 Cullinet Software Inc.公司的 IDMS Univac公司的 DMS1100 Honeywell公司的IDS/2 HP公司的IMAGE,An Introduction to Database Systems,1.2.6 网状模型,网状模型 满足下面两个条件的基本层次联系的集合: 1. 允许一个以上的结点无双亲; 2.

8、 一个结点可以有多于一个的双亲。,An Introduction to Database Systems,1.网状数据模型的数据结构,表示方法(与层次数据模型相同) 实体型:用记录类型描述每个结点表示一个记录类型(实体) 属性:用字段描述每个记录类型可包含若干个字段 联系:用结点之间的连线表示记录类型(实体)之间的一对多的父子联系,An Introduction to Database Systems,网状数据模型的数据结构(续),网状模型与层次模型的区别 网状模型允许多个结点没有双亲结点 网状模型允许结点有多个双亲结点 网状模型允许两个结点之间有多种联系(复合联系) 网状模型可以更直接地去描

9、述现实世界 层次模型实际上是网状模型的一个特例,An Introduction to Database Systems,网状数据模型的数据结构(续),网状数据模型的数据结构(续),An Introduction to Database Systems,网状模型中子女结点与双亲结点的联系可以不唯一要为每个联系命名,并指出与该联系有关的双亲记录和子女记录,R1与R3之间的联系L1,R2与R3之间的联系L2,An Introduction to Database Systems,网状数据模型的数据结构(续),网状模型的例子,多对多联系在网状模型中的表示 用网状模型间接表示多对多联系 方法:将多对多联

10、系直接分解成一对多联系,An Introduction to Database Systems,网状数据模型的数据结构(续),例如:一个学生可以选修若干门课程,某一课程可以被多个学生选修,学生与课程之间是多对多联系 引进一个学生选课的联结记录,由3个数据项组成 学号 课程号 成绩 表示某个学生选修某一门课程及其成绩,An Introduction to Database Systems,网状数据模型的数据结构(续),图1.24 学生/选课/课程的网状数据模型,An Introduction to Database Systems,网状数据模型的数据结构(续),网状数据库系统(如DBTG)对数据

11、操纵加了一些限制,提供了一定的完整性约束 码:唯一标识记录的数据项的集合 一个联系中双亲记录与子女记录之间是一对多联系 支持双亲记录和子女记录之间某些约束条件,An Introduction to Database Systems,网状数据模型的操纵与完整性约束(续),关键 实现记录之间的联系 常用方法 单向链接 双向链接 环状链接 向首链接,An Introduction to Database Systems,三、网状数据模型的存储结构,图1.25 学生/选课/课程的网状数据库实例,An Introduction to Database Systems,网状数据模型的存储结构(续),学生记

12、录,课程记录,选课记录,优点 能够更为直接地描述现实世界,如一个结点可以有多个双亲 具有良好的性能,存取效率较高缺点 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握 DDL、DML语言复杂,用户不容易使用,An Introduction to Database Systems,四、网状数据模型的优缺点,1.2.1 两大类数据模型1.2.2 数据模型的组成要素1.2.3 概念模型1.2.4 最常用的数据模型1.2.5 层次模型1.2.6 网状模型1.2.7 关系模型,An Introduction to Database Systems,1.2 数据模型,

13、关系数据库系统采用关系模型作为数据的组织方式 1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型 计算机厂商新推出的数据库管理系统几乎都支持关系模型,An Introduction to Database Systems,1.2.7 关系模型,一、关系数据模型的数据结构,在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,An Introduction to Database Systems,学生登记表,属性,元组,关系(Relation) 一个关系对应通常说的一张表 元组(Tuple) 表中的一行即为一个元组 属性(Attr

14、ibute)表中的一列即为一个属性,给每一个属性起一个名称即属性名,An Introduction to Database Systems,关系数据模型的数据结构(续),主码(Key) 表中的某个属性组,它可以唯一确定一个元组。 域(Domain) 属性的取值范围。 分量 元组中的一个属性值。 关系模式 对关系的描述 关系名(属性1,属性2,属性n) 学生(学号,姓名,年龄,性别,系,年级),An Introduction to Database Systems,关系数据模型的数据结构(续),例1 学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级) 系 (系号,系名

15、,办公地点)例2 系、系主任、系与系主任间的一对一联系,An Introduction to Database Systems,关系数据模型的数据结构(续),例3 学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩),An Introduction to Database Systems,关系数据模型的数据结构(续),关系数据模型的数据结构(续),关系必须是规范化的,满足一定的规范条件 最基本的规范条件:关系的每一个分量必须是一个不可分的数据项, 不允许表中还有表 图1.27中工资和扣除是可分的数据项 ,不

16、符合关系模型要求,An Introduction to Database Systems,图1.27 一个工资表(表中有表)实例,关系数据模型的数据结构(续),An Introduction to Database Systems,表1.2 术语对比,数据操作是集合操作,操作对象和操作结果都是关系 查询 插入 删除 更新 数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合 存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”,An Introduction to Database Systems,二、关系数据模型的操纵与完整性约束,关系的完整性约束条件 实体完整性 参照完整性 用户定义的完整性,An Introduction to Database Systems,关系数据模型的操纵与完整性约束(续),实体及实体间的联系都用表来表示 表以文件形式存储有的DBMS一个表对应一个操作系统文件有的DBMS自己设计文件结构,An Introduction to Database Systems,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号