数据库:拆分表
我最近读了很多关于数据库,冗余等的内容。
现在我正在构建一个用户表,它将保存关于在我的系统中注册的用户的所有信息。
用户表应该包含:身份证(PK),用户名,密码,电子邮件和地址(街道,城市,邮编,国家)。
我应该拆分地址并创建另一个只保存用户地址的表格,如:id(PK),street,city,zipcode,country,user_id(FK))? 我甚至可以在这里把邮政编码和国家分割到新的桌子上。
这是否有意义,特别是将邮政编码和国家分成一个新表格?
干杯!
那么我在这里想到了一些冗余方面的问题。 把国家放在一张桌子里,而不是一次又一次地在我的用户桌上写下来不是更好吗? - >冗余
对于大多数情况,答案是否定的。 为什么需要额外的连接来查找地址? 为什么两个表有一对一的关系?
正如其他人所说,除非你确信性能有所提高,否则不要让你的生活复杂化。
我个人并没有看到将这些细节分解成分离表格的附加价值。
即使您不太经常使用地址/邮政编码,您也可以使用SELECT username,email..
而不是SELECT *..
SELECT username,email..
只选择必要的字段SELECT *..