我可以从头开始设计数据库。设计列作为唯一键时,我应该使用唯一的整数,还是应该尝试使值可解释。因此,如果我在医院中有一个病房名称的查找表,那么id列是否包含与病房名称或仅仅是唯一整数有关的唯一代码?
答案 0 :(得分:1)
抵制带有意义的id值重载的诱惑。使用其他属性来存储您正在考虑填入ID的信息。
使用"意思"重载id。是坏事,因为:
如果多次尝试过这个想法,那就永远不会成功。在每种情况下,该想法都被删除,并引入surrogate IDs来替换神奇的ID,并承担与该任务相关的所有风险和开发成本。
在我的职业生涯中,已经看到上面列出的大多数问题确实发生了。
答案 1 :(得分:0)
您不应该使用查找表。使表格成为innodb并使用参照完整性将表连接在一起。您的id列应始终设置为primary列,并应设置为auto increment。永远不要试图弥补自己的ID。您应该查看有关参照完整性的一些教程,并学习如何将表与其他表相关联。