我無法找到解決構建獨特索引表的問題的方法。獨特索引的故障構造表
我有哪裏的項目被保留一個表,但是也有一些用於彌補
ItemID - INT
Date - DATE
TimeOfDay - INT (morning = 1, afternoon = 2)
ReservationStatus - VARCHAR (expired, cancelled, confirmed, cancelled by admin)
的問題是與reservationStatus字段進行多個領域。系統應該允許多行被取消,但只有一行被確認或過期(應用程序從確認變爲過期)。我出來的想法,任何幫助將不勝感激。
編輯:
全表結構
ReservationID - PK Auto-incrementing Integer
SubItemID - INT FK
MemberID - INT FK
Date - DATE
TimeOfDay - INT
ReservationStatus - VARCHAR
SubItemID,日期的TimeOfDay,更改爲reservationStatus必須是唯一的:一個以上的成員不能預留相同的子項下午在同一天。
我通過我的應用程序驗證了這一點,但是我想通過表結構來確保完整性(在程序員錯誤的情況下)。
這是整桌嗎?是否有與每行相關的用戶ID?你是否考慮過使用ENUM來保留狀態而不是VARCHAR? – ModulusJoe
_「對於同一個'ItemID',系統應該允許多行被取消」_?另外,桌子的PK是什麼? – geomagas
@acyclic - 我省略了其他字段,請參閱編輯。請原諒我,但我對ENUM不熟悉,現在將對此進行研究。 – Raythe