01.数据模型
数据模型核心知识点全解析:从现实对象到计算机存储
数据模型是数据库系统的核心基础,它搭建起现实世界与计算机世界的连接桥梁,让客观存在的事物能被计算机高效存储、管理和操作。本文将结合数据模型三要素、三大常见数据模型及三层数据抽象三大核心知识点,以高校教务系统选课授课场景为例,通俗拆解数据模型的底层逻辑。
一、核心前置:数据抽象的三层转换
在理解数据模型前,需先明确现实世界→信息世界→机器世界的转换逻辑,这是数据模型发挥作用的核心场景。
转换过程举例(高校教务系统选课授课)
-
现实世界:客观存在的对象与联系
高校教务场景中,客观对象包括学生、教师、课程、班级、选课记录。这些对象有各自的属性(如学生的学号、姓名、专业;课程的课程号、学分、学时),也存在相互联系(如一名学生可选多门课,一门课可被多名学生选;一名教师可授多门课,一门课可由多名教师讲授)。 -
信息世界:概念数据模型抽象
对现实世界的对象与联系进行抽象,用E-R图(实体-联系图) 呈现核心逻辑:- 实体:学生(属性:学号、姓名、专业、年级)、教师(属性:教师工号、姓名、院系、职称)、课程(属性:课程号、课程名、学分、学时)
- 联系:学生-课程(多对多,1名学生选多门课,1门课被多名学生选)、教师-课程(多对多,1名教师授多门课,1门课由多名教师授)、班级-学生(一对多,1个班级包含多名学生)
-
机器世界:逻辑与物理数据模型落地
- 逻辑数据模型:将E-R图转换为计算机可识别的二维表结构(关系模型),拆分出
学生表、教师表、课程表、选课表、授课表,明确表间关联(如选课表关联学生表的学号和课程表的课程号)。 - 物理数据模型:定义数据实际存储方式,比如指定字段类型(
选课日期设为日期类型)、存储引擎(如MySQL的InnoDB)、索引(为课程号建立索引提升查询效率)。
- 逻辑数据模型:将E-R图转换为计算机可识别的二维表结构(关系模型),拆分出
二、必懂基础:数据模型的三要素
数据模型的三要素是其核心骨架,分别定义了数据的组织方式、操作规则、约束条件,三者缺一不可。
1. 数据结构:数据库的“骨架”
数据结构是所研究对象类型的集合,决定了数据库的整体结构,是区分不同数据模型的核心依据。
举例说明
以教务系统为例:
- 层次模型的结构:以“学校”为根结点,下挂“院系”结点,再下挂“班级”结点,最后下挂“学生”结点,形成树形结构。
- 关系模型的结构:以二维表为核心,
学生表、课程表、选课表通过字段关联,形成网状的表结构。 - 核心作用:数据结构定义了数据库包含哪些对象、对象的属性有哪些,是数据库搭建的基础。
2. 数据操作:数据库的“动态能力”
数据操作是对数据库中对象及实例允许执行的操作集合,包含操作本身和操作规则,是数据库实现数据管理的核心手段。
举例说明
以关系模型为例,教务系统中常见操作:
- 查询:查询选了“数据库原理”课程的学生名单。
- 新增:新增一门“Python程序设计”课程。
- 修改:更新某门课程的学分(如将3学分调整为4学分)。
- 删除:删除无效的选课记录(如未完成选课流程的空记录)。
- 操作规则:比如新增选课记录时,需保证
学号和课程号均为有效存在的值,避免无效数据录入。
3. 数据约束条件:数据库的“安全防线”
数据约束条件是一组完整性规则,用于限制数据及其联系,保证数据的正确性、一致性和有效性。
举例说明
结合教务系统场景,常见约束条件:
- 主键约束:
学生表的学号设为主键,保证每个学生的编号唯一,不能重复、不能为空。 - 外键约束:
选课表的学号作为外键,关联学生表的学号,保证选课记录对应的学生真实存在。 - 非空约束:
课程表的课程名字段设为非空,避免录入课程时遗漏名称信息。 - 范围约束:
选课表的成绩字段取值范围为0-100,避免出现150、-10等不合理数据。 - 唯一约束:
教师表的教师工号设为唯一,保证工号不重复。
三、核心重点:三大常见数据模型详解
数据模型的发展经历了层次模型、网状模型到关系模型的演变,其中关系模型是当前主流,以下结合教务系统实例拆解三大模型的特点与适用场景。
1. 层次模型:树形结构的“早期代表”
层次模型用树型结构表示数据间联系,是最早出现的主流数据模型之一。
核心特点
- 有且仅有一个根结点(无双亲结点),如教务系统中以“学校”为根结点。
- 根以外的其他结点有且仅有一个双亲结点,如“班级”结点的双亲只能是“院系”结点。
实例与局限
以教务系统的层次模型为例:### 数据模型的三要素
数据结构、数据操作和数据约束条件是数据模型的三个核心组成部分。
数据结构
描述数据库中的对象类型及其集合,包括数据的逻辑结构和存储方式。例如关系模型中的表、字段和记录。
数据操作
定义对数据库中对象的操作集合,包括增删改查等操作及其规则。例如SQL语言中的INSERT、SELECT等。
数据约束条件
规定数据及其关联的完整性规则,确保数据的正确性和一致性。例如主键约束、外键约束。
常见数据模型
层次模型、网状模型和关系模型是三种经典的数据模型。
层次模型
采用树形结构表示数据间的联系,适用于一对多关系。 这个组织结构图象一棵树。按照层次模型建立的数据库系统称为层次模型数据库系统。
- 仅有一个根节点,无父节点。
- 非根节点有且仅有一个父节点。
- 典型代表:IBM的IMS系统。

网状模型
采用网状结构表示复杂的数据关系,支持多对多联系。
- 允许节点有多个父节点。允许有一个以上的结点无双亲。
- 支持节点间的多种联系类型。
- 按照网状数据结构建立的数据库系统称为网状数据库系统,典型代表:DBTG系统。

关系模型
通过二维表(关系)组织数据,是目前最广泛使用的模型。
-
(1)字段(属性)
二维表格的每一列称为一个字段(即属性)。其中字段名(属性名称)相当于标题栏中的标题。 -
(2)记录(元组)
二维表格中的每—行称为—条记录(元组)。记录是若干个相关属性组成的。 -
(3)二维表(关系)
一个二维表格就是一个关系。它是由相关记录组成的。 -
典型代表:Oracle、MySQL、SQL Server等。

数据转换过程
现实世界对象需经过信息世界和机器世界的转换才能存储为计算机数据:
- 现实世界:客观存在的实体及其关系(如学生、课程)。
- 信息世界:通过概念模型(如ER图)抽象为实体和属性。
- 机器世界:转换为具体的数据模型(如关系表)并存储。
这一过程确保了数据的结构化与可管理性。
使用计算机管理现实世界的对象,需要将客观存在的对象转换为计算机存储的数据。整个转换过程经历了现实世界、信息世界和机器世界3个层次,相邻层次之间的转换都依赖不同的数据模型。下面通过一张图描述客观对象转换为计算机存储数据的过程。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)