数据库管理系统——数据模型
摘要:本篇博客简述了学习数据库中有关数据模型的基本知识。
摘要:本篇博客简述了学习数据库中有关数据模型的基本知识。
目录
一、数据模型
什么是数据模型?
- 数据模型是现实世界数据特征的抽象。
- 数据模型是用来描述数据、组织数据的。
- 数据模型是数据库系统的核心和基础。
什么是数据建模?
数据建模是将现实世界的数据抽象到机器世界的技术,数据建模过程的两步抽象:
- 将现实世界抽象为信息世界:现实世界的客观对象抽象为概念模型。
- 将信息世界转换为机器世界:概念模型转换为某一数据管理系统支持的数据模型。
二、数据模型的三要素
数据模型的三要素是指数据结构、数据操纵和完整性约束。
1.数据结构
数据结构是用来描述数据库组成对象以及对象之间的联系
数据结构是对系统静态特性的描述
2.数据操纵
数据操作是对数据库中各种对象的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。如查询、更新(包括插入、删除、修改)
数据操作主要用于描述系统的动态特性
3.完整性约束
完整性约束的本质是一种约束规则
完整性规则是对数据模型中数据的一种制约规则,限定符合数据模型的数据库状态,以保证数据的正确、有效和相容
三、概念模型
什么是概念模型?
概念模型是现实世界到机器世界的一个中间层次,用于信息世界的建模。
它是数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
对概念模型的基本要求是:
- 较强的语义表达能力
- 简单、清晰、易于用户理解
信息世界的基本概念有哪些?
实体:客观存在并可相互区别的事物,如人、事、物和抽象的概念等。
属性:实体所拥有的特性。
码:唯一标识实体的属性集合。
实体型:用实体名及其属性名的集合来抽象和刻画同类实体。如在学校的数据库管理系统中,“学生”就是一个实体型。它规定了学生这个群体所共有的属性,如学号、姓名、性别、专业等。
实体集:同一类型实体的集合。
联系:实体内部与外部之间的联系。通常有一对一、一对多和多对多等类型。
四、常见的数据模型
1.层次模型和层次数据库
层次模型以“树结构”来表示数据记录之间的联系,是层次数据库的基本模型
层次模型是数据库系统中最早出现的数据模型,采用树形结构来表示各类实体以及实体间的联系。
除根节点外,其他结点有且只有一个父亲结点,层次数据库的典型代表是IBM公司的IMS数据库。
结点之间通常存在一对一或一对多的关系
层次模型的优点和缺点:
- 优点:数据结构简单清晰、查询效率高
- 缺点:不能表示非层次关系的数据、对插入和删除操作的限制多
2.网状模型和网状数据库
网状模型以“图结构”来表示数据记录之间的联系,是网状数据库的基本模型
网状模型采用图形结构来表示各类实体以及实体间的联系。允许一个以上的节点无父亲节点和一个节点可以有多个父亲。第一个网状数据库系统是IDS。
网状模型的优点和缺点:
- 优点:能够更直接地描述现实世界、具有良好的性能、存取效率高
- 缺点:结构复杂,尤其是数据结构不断扩大以后;DDL、DML语言复杂;
3.关系模型和关系数据库
1970年,IBM公司的埃德加·科德(Edgar F. Codd)首次提出了关系模型的概念 。之后又陆续提出了关系代数、关系演算、关系的第一第二第三范式等理论。1981年,ACM授予其图灵奖,以表彰他在关系数据库研究方面的杰出贡献。
网状模型以“表结构”来表示数据记录之间的联系,是关系数据库的基本模型
关系模型和我们常用的表格类似,但专业术语有所不同:
关系:一个关系对应通常说的一张表元组:表中一行即为一个元组
属性:表中一列即为一个属性
码:又称键。是表中某一列属性或某一组属性,可以用来唯一标识一个元组
域:属性值取值的集合称为域
分量:元组中的一个属性值
关系模式:是对关系的描述(可以理解为这个表是由什么组成的),比如:学生学号、姓名、性别、专业)
关系模型的数据操纵与完整性约束:
关系的完整性约束条件
- 实体完整性
- 参照完整性
- 用户定义的完整性
关系模型的优点和缺点:
优点:
- 建立在严格的数学概念基础上
- 概念单一(实体之间的联系都用关系来表示)
- 关系模型的存取路径对用户是隐蔽的(安全保密,简化程序员工作)
缺点:
- 存取路径对用户隐蔽,查询效率不如层次模型和网状模型
- 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度
常见的关系型数据库:
Oracle 、Microsoft SQL Server、IBM DB2、 MySQL、GaussDB、SQLite
4.NoSQL
NoSQL = Not only SQL,是在关系型数据库上的扩展形式
在下一章的博客数据库管理系统——数据模型之关系模型-CSDN博客中, 我们将对数据模型中的关系模型作进一步的讲述。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)