没有比喻的情况下理解数据库(DB) - 结构化数据,永久存储和快速检索的系统
数据库(Database)是
“用于存储,管理和在需要时快速提供数据的系统”。
这里有三个核心原则。
1⃣ 数据的结构化(Structure)
数据不能以任何形式存储。
数据库必须根据确定的结构进行存储。
这个结构主要由三个元素组成:
Database
数据可以存在的最顶层空间。
一个数据库可以包含多种类型的数据集。
Table
具有相同属性(Attributes)的数据集合。
例如:建筑物列表,会员列表,帖子列表等。
每个表都有固定的结构(Schema)。
也就是说,哪些属性存在,名称是什么,数据类型是什么都已明确定义。
Record
存储在表中的单个数据单位。
记录根据表的模式进行存储
并且每个属性(Column)都有一个值(Value)。
总结一下:
数据库是存储空间,表是数据集,记录是单个数据。
(技术定义,非比喻)
2⃣ 数据的持久性(Persistence)
应用程序只能在运行时保留数据。
但是Web服务在关闭后
信息应该仍然可用。
数据库的一个核心目标之一是
永久保存数据。
- 即使重新启动服务器也会保留
- 不会丢失随着时间的推移
- 随时可以再次访问相同的值
这是与内存(RAM)或临时缓存不同的
数据库独有的本质角色。
3⃣ 数据的高效查询(Query)
数据库存在的最实用原因是
“快速从大量数据中找到所需数据”。
查询由名为Query的命令组成。
在SQL中常用的形式:
SELECT *
FROM buildings
WHERE city = 'Seoul';
这个命令的意义非常结构化。
- 从哪个表中(Buildings)
- 仅显示满足条件的数据(city = ‘Seoul’)
- 以何种方式显示(SELECT *)
数据库内部使用
索引,搜索算法,排序方式等
在数十万到数百万条数据中
非常快速地返回符合条件的结果。
这种速度决定了数据库的质量。
4⃣ 完整性(Integrity)
数据库不仅仅是存储空间。
存储的数据必须在逻辑上一致且可信。
完整性通过以下元素进行管理。
- NOT NULL: 必须有值
- UNIQUE: 不能重复
- PRIMARY KEY: 唯一标识每个记录
- FOREIGN KEY: 确保与其他表的关系
- CHECK约束: 值必须满足特定条件
通过这些规则
系统会自动过滤错误数据。
数据库不仅仅是存储
也是管理数据质量的系统。
5⃣ 关系(Relationship)
关系型数据库(RDB)的核心是字面意思上的“关系”。
表之间相互连接
可以表示更复杂的结构。
主要关系:
1:N (一对多)
例如:建筑物 → 房间
一个建筑物有多个房间。N:N (多对多)
例如:用户 ↔ 项目
需要中间表。1:1 (一对一)
例如:用户 → 用户资料
这种关系导致
数据不仅仅是一个简单的列表
而是具有有机结构。
6⃣ 事务(Transaction)
数据库提供“准确性”的最核心功能。
事务指的是逻辑上的一个操作单元
所有操作要么全部成功,
要么全部失败。
例如:账户转账
- 取款成功
- 存款失败 → 这种情况系统绝对不应该允许。
事务可以防止这种问题。
原子性 = 没有部分成功的完全成功或完全失败
7⃣ 总结 — 数据库的基本功能仅有三种
简而言之,没有比喻:
1) 使数据结构化存储
2) 永久保存
3) 有效快速地查找和管理数据
为了实现这三点
有关系,约束条件,索引,事务等功能。
为什么这种方式很重要?
Web服务的本质是
“接收,存储和展示数据”。
换句话说,理解概念上的数据库意味着
理解Web服务的核心结构。
没有比喻的概念解释
读者可以自己在脑海中
建立逻辑结构
并进行系统性思考。
这就是
AI Native时代的核心能力。