我通常不会设计数据库,因此我对如何规范(或不)注册用户的表有疑问。我怀疑的领域是:
此外,是否有人知道找到真实世界数据库架构/规范化示例的好地方?
由于
答案 0 :(得分:1)
locationTown
- 直接将其存储在用户表中。否则你将不得不搜索现有的城镇,考虑拼写错误和代码案例。还有一些人使用非标准字符和语言(克拉科夫与克拉科夫对克拉科夫,另见:romanization)。如果你真的想要一个有城镇的桌子,至少提供自动完成的盒子,这样用户更有可能选择现有的城镇。否则准备大量重复或几乎重复。
maritalStatus
- 另一方面,这应该在一个单独的表中。或者更准确:使用单个字符或数字来表示婚姻状况。将此映射到人类可读形式的额外表格只是为了方便(请记住i18n)并且外键约束确保不使用不正确的状态。
答案 1 :(得分:-2)
我不会太担心 - 数据库规范化(3NF等)已经over-emphasized in academia and isn't overly practical in industry。此外,我们需要查看您的整个架构,以判断这些实现的适当位置。在您担心规范化之前,请专注于对常用列进行索引。
在潜水之前,您可能需要先查看this SO question。