0

我正在創建一個windows窗體應用程序,它必須控制辦公大樓中人員的進入和退出。這些人可能是訪客或員工,每個人都必須在大樓入口處使用訪問卡。當該人是訪問者時,卡將被暫時編程,並且員工應該使用他們自己的卡。我的疑問是關於我的數據庫。有沒有辦法很好地做到這一點?這些卡片(無論是員工還是訪客)都有一個強大的鑰匙,可以識別出它來自十字轉門的製造商,我無法改變它。所以,我的結構是:兩個分開的表格vs一個有兩列的表格

在我的數據庫中,我有一張桌子,在那裏我保持卡。當有人試圖進入大樓內時,旋轉門將發送到我的系統的訪問日期和時間以及卡片代碼。現在我不知道如何區分員工和訪客。我應該爲員工和訪客分配流量表嗎?對於員工流程表,我使用相同的ID從卡表中獲取員工卡。在訪問者流程表中,我需要知道誰是訪問者使用臨時卡(臨時卡的密鑰永遠不會改變,所以我不能只依賴於我的密鑰)。或者,我應該只有一個帶有Visitor_ID和Worker_ID列的流表,其中一個將始終爲空(所以我知道它是否是具有值的字段的員工或訪問者)。

誰能告訴我哪個更適用,爲什麼?

+2

難道你不能有一個名爲IsEmployee的列,它存儲0或1來表示她是否是員工? – Minh 2015-01-15 17:21:23

回答

1

員工和訪客都是人。特別是可能(或可能不)具有分配給他們的訪問卡的人。

我將有一個People表具有與AccessCard表的外鍵關係。如果你只關心這個人是否是員工或訪問者,但是你存儲的信息是相同的,那麼布爾列就可以了。如果您的系統爲員工和/或訪問者存儲其他信息,請創建一個員工和訪問者表,並從人員到這些人員之間建立外鍵關係。

+0

謝謝@ Eric-J。我可以嘗試一下! – 2015-01-15 19:51:40

1

我會創建單個表來存儲員工和訪問者,然後爲Type(E,V)添加一個額外的列。

相關問題