2013-12-09 38 views
0

enter image description heresql數據庫可用性約束

我想構建一個數據庫。 我必須建立一個約束,一臺儀器一次只能由一個人使用。我的問題是我將如何實現這一點?

我創建了一個AvailableInstrument表。從一個視圖中吸取所有具有租用結束日期的工具<現在()

但我不知道如何在此數據庫模型中實現約束。

請幫助:d

+0

您正在使用哪些DBMS? –

+0

Im使用MysqlWorkbench – user3075549

+0

MySQL Workbench不是一個DBMS,它是一個客戶端工具。但是我假設你正在使用MySQL。 –

回答

0

爲了這個任務,我可以創造一個InstrumentType域表與所有可能的工具類型。儀器表包含所有儀器和每次租用儀器時租用表。 您可以使用租金錶作爲歷史記錄,當然您不能在這裏放置該限制。最簡單的方法是確保樂器不能由兩位音樂家錄製,即在Instrument to FK創建一個可爲空的列,以供使用它的實際音樂家使用。 幫助它的另一件事是創建一個returned_datetime列,該列在該租賃表中具有一個默認值,並使用覆蓋該列的唯一索引和儀器ID來確保在該默認返回日期只有一個instrumentId。