adjacent concept / 图书馆数据库设计案例
Library Database Design Case
通过图书、作者、会员和借阅需求,完整演示从粒度、实体、关系和 ER 图到 SQLite DDL 与典型查询的数据库设计过程。
Key fields
Identity
- Subtype
- 案例
- Parent Taxonomy
- Database Design
What
- Definition
- 通过图书、作者、会员和借阅需求,完整演示从粒度、实体、关系和 ER 图到 SQLite DDL 与典型查询的数据库设计过程。
- Prerequisite Knowledge
- Database Design Process, Basic SQL and CRUD, Choosing Relational or Graph Databases, Junction Tables
Why
- Core Question
- 怎样把一个小型图书馆的借阅需求设计成可解释、可约束、可查询的数据库?
- Mechanism
- 先拆出实体与事实,再用外键和中间表表达关系,最后用约束、样例数据和查询验证模型。
Where
- Manifestation
- 模型包含 authors、books、book_authors、members、loans 五张表,以及作者检索、当前借阅和会员统计查询。
How
- Primary Use
- 把前面的概念串成一次可复盘的设计练习,并展示关系模型与图谱表达的差异。
Evidence
- Limitations
- 这是入门级模型,未覆盖馆藏副本、预约、罚款、分馆、并发借阅和完整权限系统。
Lifecycle
- Status
- 草稿
Additional content
- Legacy Tags
- 关系型数据库 · SQL · ER 图 · 键 · 知识图谱 · 图数据库 · 案例
Related content
Relationships come from the local knowledge graph and include reverse links.
- Database Design数据库设计Related
研究如何把真实问题中的对象、属性和关系组织成可靠、可查询、可维护的数据结构。
- Basic SQL and CRUD基础 SQL 与 CRUDRelated
SQL 是操作关系型数据的声明式语言;CRUD 分别指创建、读取、更新和删除数据。
- Choosing Relational or Graph Databases关系型数据库与图数据库如何选择Related
数据库选择应根据数据结构、主要查询、完整性要求、事务边界、团队生态和运维成本做权衡,而不是根据流行程度决定。
- Database Design Process数据库设计流程Related
数据库设计流程是把业务需求逐步转成概念模型、关系表、约束和可验证查询的过程。
- Junction Tables多对多关系如何拆成中间表Related
中间表是把多对多关系拆成两条一对多关系的表,每一行表示一对实体之间的一次关联。