沒有比喻地理解數據庫(DB)

没有比喻的情况下理解数据库(DB)的方法以及数据库的结构, 持久性, 高效查询, 完整性, 关系的技术定义

• bamchi • 5,602
目录

没有比喻的情况下理解数据库(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. 1:N (一对多)
    例如:建筑物 → 房间
    一个建筑物有多个房间。

  2. N:N (多对多)
    例如:用户 ↔ 项目
    需要中间表。

  3. 1:1 (一对一)
    例如:用户 → 用户资料

这种关系导致
数据不仅仅是一个简单的列表
而是具有有机结构。


6⃣ 事务(Transaction)

数据库提供“准确性”的最核心功能。

事务指的是逻辑上的一个操作单元
所有操作要么全部成功,
要么全部失败。

例如:账户转账

  • 取款成功
  • 存款失败 → 这种情况系统绝对不应该允许。

事务可以防止这种问题。

原子性 = 没有部分成功的完全成功或完全失败


7⃣ 总结 — 数据库的基本功能仅有三种

简而言之,没有比喻:

1) 使数据结构化存储

2) 永久保存

3) 有效快速地查找和管理数据

为了实现这三点
有关系,约束条件,索引,事务等功能。


为什么这种方式很重要?

Web服务的本质是
“接收,存储和展示数据”。

换句话说,理解概念上的数据库意味着
理解Web服务的核心结构。

没有比喻的概念解释
读者可以自己在脑海中
建立逻辑结构
并进行系统性思考。

这就是
AI Native时代的核心能力。

评论

发表评论

您的邮箱不会公开,仅用于回复通知。

继续阅读

获取新文章通知

Bamchi Blog 发布新内容时,我们会通过邮件通知您。

您的邮箱仅用于新文章通知。