我在這個設計問題上遇到困難,希望能有所幫助。數據設計辯論
我有一個醫生辦公室,提供某些特權,目前只有5個特權,但可以添加更多特權。這些權限中的每一個都具有「是」或「否」的狀態,但將來可能會有更細粒度的狀態,並且這些權限中的每一個都與某個位置(呃,住院,門診)相關,他們也可能在將來擴展。
因此,目前我有表OfficePrivileges,PrivilegeLocation,PrivilegeType,PrivilegeStatus。
OfficePrivilege是PrivilegeLocation和DoctorOffice之間的連接表。它具有OfficeID和PrivilegeLocationID的雙主鍵。
有一次,我將類型和狀態加入到OfficePrivileges表中,然後切換到讓類型表成爲位置和狀態的子元素爲子類型。它們都是單個主鍵表。
如果你在設計這套表格,你會怎麼做?我在想,這幾乎是一個層次問題。我恨他們。我想將編輯屏幕放在頂部具有位置的交叉表中,在側面輸入,細節爲狀態。這是它目前是如何在系統中,我試圖整合,但它的一個COBOL和後端處理層次不是關係數據庫更好....
編輯:以幫助清理混亂:
對於我的例子,有承認特權,參加特權,諮詢特權和外科特權。這些地點是住院病人,急診室,門診病人和手術/手術。目前狀態僅爲是或否。但他們可能會根據客戶的需求在未來發生變化。
此信息存儲在我的數據庫的表中。
您可能會發現訪問控制列表(ACL)很有趣。 – NullUserException 2010-08-09 14:59:19
特權如何實際工作?是全部還是全無?或者某些用戶是否只有只讀權限?或編輯但不刪除? – scunliffe 2010-08-09 15:00:54
@scunliffe:我相信他在談論醫院特權。在醫學界,如果醫生可以將您送到特定的醫院,那麼該醫生在該醫院享有「特權」。 – AllenG 2010-08-09 15:06:30