我正在设计一个具有以下属性依赖关系的数据库: 方法1:A< -B< -C< -D 方法2:A< -B,{A,B}< C,{A,B,C}< -D;
我需要你帮助解决哪种方法更好。感谢
修改
方法1的样本表
Country_info -------------,州信息,city_info,village_info
id | country_id |名称
表格对象
id | state_id | country_id
id | division_id | STATE_ID
id | village_id | division_id
现在,我有一个村庄的身份证,我想知道它所属国家的名称。在抵达该国之前,我将不得不寻找该部门。
使用第二种方法,村表将包含division_id,state_id和country_id。
谢谢!
答案 0 :(得分:1)
如果村庄是"主要"经常使用的对象(并且它经常使用它与其他表的关系)然后通过使用第二种方法,你将减少代码行数并提高性能(例如按国家过滤村庄)。 / p>
答案 1 :(得分:1)
KISS。
表1:企业/个人/等人拥有地址和城市。
表2:城市还包括Viliage,State,Province,Country_code,Postal_code等等。
规范化每一层都是过度的。
如果您有六张桌子,请想象获得地址所有部分所需的JOINs
数量!