数据库设计之数据模型

数据模型:是一个描述数据,数据联系,数据语义以及数据一致性约束的概念工具的集合。应包含:
数据结构:由一组创建数据库的规则(定义数据库的结构)组成。
数据操作:定义对数据进行的操作类型(包括更新和查找数据库中的数据以及修改数据库的结构)
约束条件:一组数据完整性定义规则,确保数据的正确性。
数据模型包括:层次模型,网状模型,关系模型。

层次数据模型

层次模型:利用“记录”(包含多个“属性”)和双亲子女关系(PCR)来描述应用的数据结构。

利用层次模型描述一个应用的数据结构,称为一个层次模式,为“树”结构。
在这里插入图片描述
层次模型对于非层次的数据结构的描述:
1.采用副本(缺点是数据冗余,一致性维护难)
比如学生选择课程,学生和课程是多对多的关系:
在这里插入图片描述
通过建立副本的方式解决非层次:
在这里插入图片描述
对于多双亲的情况:
在这里插入图片描述
同样可通过建立副本来表示
在这里插入图片描述

2.虚拟记录(不足是指针操作增加开销)
增加的副本用虚线来联系,有多个重复的这些数据在物理上只有一份,而其它的仅仅是一个连接或指针来指向它。
上面的例子可表示为:
在这里插入图片描述
在这里插入图片描述
层次模式在物理上的存放
邻接法:按照层次树前序遍历的顺序,把所有记录值(字段定长,定长记录)依次存放。即通过物理空间的位置相邻来实现层次顺序。
在这里插入图片描述
层次模式的优缺点
优点:
1.数据模型简单,操作简单
2.对于实体间联系是固定的,且预先定义好的应用系统,性能较高。
3.提供良好的完整性支持。
缺点:
1.不适合于表示非层次性的联系。
2.对插入和删除操作的限制比较多。
3.查询子女结点必须通过双亲结点。

网状模型

网状模型指:用网络结构表示实体类型及其实体之间联系的模型。

相比层次模型,网状模型的特点:
1.网状模型去掉了层次模型的两个限制:
1.1允许多个结点没有双亲结点
1.2允许结点有多个双亲结点。
2.网状模型还允许两个结点之间有多种联系
在这里插入图片描述
网状模型数据物理上的存放
依具系统不同而不同,常用的方法是链接法包括:单项连接,双向连接,环状连接,向首链拉等。

网状模型的优缺点
优点:
1.能够更为直接地描述现实世界。
2.具有良好的性能,存取效率较高。
缺点:
其DDL语言及其复杂。

关系模型

关系模型是用二维表的形式表示实体和实体间联系的数据类型。关系模型中无论是实体还是实体间的联系均由单一的结构类型–关系(table)来表示。

在这里插入图片描述
关系模型的一些基本概念
键:由一个或几个属性组成;
超键:在关系中能唯一标识 元组的属性集称为关系模式的超键。
补选键:不含多余属性的超键称为候选键。
主键:用户选作元组标识的一个候选键称为主键。
外键:保持数据一致性,完整性,控制存储在外键表中的数据,使两张表形成关联。

关系模型的优点:
1.关系模型与非关系模型不同,它有严格的数学理论根据。
2.数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系,此外,对数据的操作结果也是关系。
3.关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。

关系模型的缺点:
查询效率不如非关系模型。因此,为了提高性能,必须对用户的查询进行优化,增加了开发数据库管理系统的负担。尤其是在数据量大,而且涉及多表查询时,速度很慢。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值