邻接学科概念 / Library Database Design Case
图书馆数据库设计案例
通过图书、作者、会员和借阅需求,完整演示从粒度、实体、关系和 ER 图到 SQLite DDL 与典型查询的数据库设计过程。
关键字段
Identity · 身份
- 子类型
- 案例
- 父级类目
- 数据库设计
What · 是什么
- 定义
- 通过图书、作者、会员和借阅需求,完整演示从粒度、实体、关系和 ER 图到 SQLite DDL 与典型查询的数据库设计过程。
- 前置知识
- 数据库设计流程、基础 SQL 与 CRUD、关系型数据库与图数据库如何选择、多对多关系如何拆成中间表
Why · 为什么
- 核心问题
- 怎样把一个小型图书馆的借阅需求设计成可解释、可约束、可查询的数据库?
- 作用机制
- 先拆出实体与事实,再用外键和中间表表达关系,最后用约束、样例数据和查询验证模型。
Where · 在哪里
- 表现形式
- 模型包含 authors、books、book_authors、members、loans 五张表,以及作者检索、当前借阅和会员统计查询。
How · 怎么做
- 主要用途
- 把前面的概念串成一次可复盘的设计练习,并展示关系模型与图谱表达的差异。
Evidence · 证据
- 局限与边界
- 这是入门级模型,未覆盖馆藏副本、预约、罚款、分馆、并发借阅和完整权限系统。
Lifecycle · 生命周期
- 状态
- 草稿
Content · 补充内容
- 兼容标签
- 关系型数据库 · SQL · ER 图 · 键 · 知识图谱 · 图数据库 · 案例
相关设计机制
关系来自本地关系表,并包含反向关联。
- 数据库设计Database Design属于
研究如何把真实问题中的对象、属性和关系组织成可靠、可查询、可维护的数据结构。
- 基础 SQL 与 CRUDBasic SQL and CRUD依赖于
SQL 是操作关系型数据的声明式语言;CRUD 分别指创建、读取、更新和删除数据。
- 关系型数据库与图数据库如何选择Choosing Relational or Graph Databases依赖于
数据库选择应根据数据结构、主要查询、完整性要求、事务边界、团队生态和运维成本做权衡,而不是根据流行程度决定。
- 数据库设计流程Database Design Process依赖于
数据库设计流程是把业务需求逐步转成概念模型、关系表、约束和可验证查询的过程。
- 多对多关系如何拆成中间表Junction Tables依赖于
中间表是把多对多关系拆成两条一对多关系的表,每一行表示一对实体之间的一次关联。