我想弄清楚什么是最好的解决方案,以防我想创建两个表,其中一个表存储user_id
和name
,address
等列。第二个表只用于存储登录名和密码数据。
到目前为止,我的想法是创建没有主键的登录表。我可以在第一个表中使用引用user_id
的外键,在更新/删除时使用级联关系,因此每个表中的数据将保持相关。但我担心我的解决方案并不好。你有更好的想法吗?顺便说一下,我还没有进入索引概念,所以你能帮助我吗?
答案 0 :(得分:1)
经验法则:如果您有一对处于1:1关系的表,那么您可能设计错了。
在保证垂直分区的情况下,性能有例外,但您的情况并非如此。
有多种方法可以“隐藏”列:
VIEWs
,以及表和视图的权限。我更喜欢最后一个选项。
密码应通过salted +加密的单向哈希存储。然后,如果它们被意外暴露,密码不会受到损害。
对于FOREIGN KEYs
,我更喜欢在应用中编码业务逻辑,而不是依赖于FK的有限功能。