邻接学科概念 / Tables, Rows, Columns and Records
表、行、列与记录
表是同类事实的集合,行或记录是一条事实,列是这类事实的属性,单元格是某条事实在某个属性上的值。
关键字段
Identity · 身份
- 子类型
- 概念
- 父级类目
- 数据库设计
What · 是什么
- 定义
- 表是同类事实的集合,行或记录是一条事实,列是这类事实的属性,单元格是某条事实在某个属性上的值。
Why · 为什么
- 核心问题
- 一张表的每个字段到底描述什么,每一行应该代表什么?
- 作用机制
- 先确定一行的粒度,再为该粒度选择属性;每个单元格尽量保存一个可解释的值。
Where · 在哪里
- 表现形式
- 设计良好的表能清楚回答“这一行代表什么”;字段名称、类型和允许为空的规则共同表达含义。
How · 怎么做
- 主要用途
- 为表设计确定粒度、字段含义和可接受的数据类型。
Evidence · 证据
- 局限与边界
- 字段拆得过细会增加查询复杂度,字段塞得过多会产生重复和歧义;粒度不清通常比字段数量更危险。
Lifecycle · 生命周期
- 状态
- 草稿
Content · 补充内容
- 兼容标签
- 关系型数据库
相关设计机制
关系来自本地关系表,并包含反向关联。
- 数据库设计Database Design属于
研究如何把真实问题中的对象、属性和关系组织成可靠、可查询、可维护的数据结构。
- 基础 SQL 与 CRUDBasic SQL and CRUD反向 · 依赖于
SQL 是操作关系型数据的声明式语言;CRUD 分别指创建、读取、更新和删除数据。
- 实体、属性与关系Entities, Attributes and Relationships反向 · 依赖于
实体是需要被识别的对象或概念,属性描述实体,关系描述实体之间发生的联系或事实。
- 规范化与反规范化Normalization and Denormalization反向 · 依赖于
规范化是通过拆分表和明确依赖来减少不必要重复与更新异常;反规范化是在有明确读写权衡时主动保留部分重复。