【发布时间】:2014-06-06 09:14:22
【问题描述】:
我对表格设计有点困惑。
方法 1) 使用第一种方法,我可以从 phone_book 表中选择所有电话号码,并通过指定类型过滤掉员工电话号码。 方法2)在第二种方法中,我可以通过加入两个表来选择全部,并且可以检索员工电话号码。
我对地址也有同样的问题。我有员工、客户、员工和其他人的地址。我已经用谷歌搜索了,但仍然无法选择哪种方法是正确的。哪种方法是正确的,为什么另一种方法不正确,还有其他更好的设计?
方法一
employee
id | name
1 e
customer
id | name
1 c
phone_book
type | fk_id | phone
e 1 123123123
c 1 451323123
方法二
employee
id | name
1 e
customer
id | name
1 c
employee_phone_book
emp_id | phone
1 1231233434
2 6273343423
customer_phone_book
cus_id | phone
1 5231233434
2 1251233434
编辑: 员工和客户可以有多个电话号码。与地址详细信息相同。
【问题讨论】:
标签: sql database normalization