2012-03-27 27 views
2

我有一個不相交的ER圖,其中我的表「僱員」是不相交到餐桌「工薪階層」和表「小時工」數據庫不相交的關係描述

如何執行在Microsoft Access這些表之間的關係?

我的當前表如下:

「僱員」 的Employee_ID(主鍵) 姓 姓氏

「工薪階層」 Annual_salary

「每小時僱員」 Hourly_rate

回答

2

在Salaried Employee和Hourly Employee表中有一個EmployeeID。

然後,您可以使用JOIN:

SELECT Employee.Firstname, [Salaried Employee].Annual_salary, [Hourly Employee].Hourly_rate 
FROM Employee 
JOIN [Salaried Employee] ON [Salaried Employee].EmployeeID = Employee.Employee_ID 
JOIN [Hourly Employee] ON [Hourly Employee].EmployeeId = Employee.Employee_ID 
+0

在這種情況下,Salaried Employee中使用的EmployeeID是外鍵?不是主鍵? – exxcellent 2012-03-27 09:51:57

+0

正確。我將設計數據庫,以便Salaried Employee表具有SalaryID(主鍵)和EmployeeID字段作爲外鍵。 Hourly_Employee表應該有一個HourlyID字段(主鍵)和一個EmployeeID字段作爲外鍵。 – 2012-03-27 09:58:53

+0

SalariedID和HourlyID字段在這裏是多餘的。我會省略它們,並將EmployeeID作爲所有三個表的主鍵。 – phoog 2012-03-27 16:57:52

1

我寧願用僱員爲所有三個表的主鍵,定義和[僱員]之間的一個一對一的關係[工薪階層] ,以及[Employee]和[Hourly Employee]之間的另一種一對一關係。這減少了你的存儲開銷。