数据库的数据模型


数据模型按不同的应用层次分成三种类型:分别是概念数据模型、物理数据模型、逻辑数据模型。

概念数据模型

物理数据模型

逻辑数据模型

层次模型

 设计思想:

​优点:

缺点:

网状模型

  设计思想:

优点:

缺点:

关系模型  

设计思想: 

优点:

缺点:

数据结构:​

约束:

 

 


概念数据模型

表达数据在现实生活中所表代表的含义的模型
比如学校和老师 是 1对多的关系 

物理数据模型

表示数据在系统内部的表示方法和存取方法的模型
比如数据存储位置 数据存储策略等等  




逻辑数据模型

表达数据是如何进行组织的模型 

逻辑数据模型包括 层次模型 、网状模型、关系模型、实体关联模型 基于对象的数据模型 半结构化数据模型  等等

这里主要介绍 层次模型 网状模型 和关系模型
 

层次模型

 设计思想:

1.日常生活中的数据都有层次结构特性 比如 一个学校下面有专业 和管理部门 一个专业下面又有教研室和学生 等等
2.用树状 结构来组织数据的数据模型
3.每个节点表示一个记录类型(即实体),含有记录类型的各个字段(即实体的各个属性)
4.如果要删除父节点,那么父节点下面的所有子节点都要同时删除
5.院系管理系统实例


优点:


1.结构简单、清晰
2.查询效率较高(实体之间的关系在底层中可以借由指针指针实现)
3.较好的数据完整性支持,正如上所说,如果要删除父节点,那么其下的所有子节点都要同时删除

缺点:


1.不能表示m:n的复杂关系
2.结构呆板不灵活
 



网状模型

  设计思想:


1.用有向图表示实体和实体之间的联系  克服了层次状数据模型数据关系只能是1:n的缺陷
2.每个节点表示一个实体,节点之间的有向线段表示实体之间的联系

 



优点:

 
1.能够表达复杂的m:n关系
2.修改网状数据模型时,没有层次状数据模型的那么多的严格限制
3.执行操作的效率较高(实体之间的关系在底层中可以借由指针指针实现)



缺点:


1.随着应用环境的扩大,数据结构越来越复杂,数据的插入、删除牵动的相关数据太多,不利于数据库的维护和重建。

 

关系模型  

设计思想: 

1 .使用表格表示实体和实体之间的关系(一对一 ,一对多,多对多)
 

实例:


学生选课系统表设计
其中选课表中的sut_id和cour_id分别是引用学生表和课程表的cour_id的外键;教课表也是如此。

优点:

1.数据存取路径对用户而言是完全隐蔽,程序和数据具有高度的独立性
2. 结构简单明了
3.有坚实的数学理论做基础,包括逻辑计算、数学计算等。

缺点:

 
1. 查询效率低 ((查询时只需指明数据存在的表和需要的数据所在的列,不用指明具体的查找路径),因此加大了系统的负担)

2. 由于查询效率较低,因此需要数据库管理系统对查询进行优化,加大了DBMS的负担;



数据结构:

约束:

实体完整性:实体的主属性不能取空值
 

参照完整性:若A关系中的某个或者某些属性参照B或其他几个关系中的属性,那么在关系A中该属性要么为空,要么必须出现B或者其他的关系的对应属性中。 

用户定义完整性:用户对某一个属性所指定的约束。例如,某些属性必须取唯一值,某些值的范围为0-100等。

 

 

发布了61 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/vjhghjghj/article/details/103657273