【发布时间】:2021-05-30 00:43:26
【问题描述】:
我有一个具有以下数据结构的数据库:
USER 表:
Id Name
1 Alice
2 Bob
3 Charlie
文件夹表:
Id Name User
1 Invoices 2
2 Contracts 3
3 Receipts 3
文档表:
Id Name User Folder
1 Birth Certificate 1 null
2 Fax Machine Receipt 3 3
3 Work NDA 3 2
4 Laptop Invoice 2 1
5 Job Application 2 null
这是我将其概念化的架构:
这里的想法是用户拥有文档和文件夹,这些文档可以可选地分类到文件夹中。我需要一个约束来确保文档仅被分类到拥有该文档的同一用户拥有的文件夹中(即 DOCUMENT(user) = FOLDER(user)),或者一种巧妙的方式来规范化模式以防止出现哪个文档的用户与文件夹的用户不匹配。
【问题讨论】:
-
什么循环? PS 为什么你认为这涉及到数据库规范化? (“规范化”并不意味着“重新排列”或“约束”或“设计良好”。) PS 这是一个常见问题解答。在考虑发布之前,请阅读手册和谷歌任何错误消息以及您的问题/问题/目标的许多清晰、简洁和精确的措辞,带有和不带有您的特定名称/字符串/数字、“site:stackoverflow.com”和标签;阅读许多答案。如果您发布问题,请使用一个短语作为标题。反映你的研究。 How to Ask
标签: postgresql database-design foreign-keys relational-database database-normalization