sql数据库可用性约束

时间:2013-12-09 12:18:31

标签: mysql database-design mysql-workbench

enter image description here

我正在尝试构建一个数据库。 我必须建立的一个约束是,一个工具一次只能由一个人使用。我的问题是如何实现这个?

我创建了一个AvailableInstrument表。它从一个视图中得出,该视图使所有具有雇用结束日期的工具<现在()

但我不知道如何在这个数据库模型中实现约束。

请帮助:D

1 个答案:

答案 0 :(得分:0)

为此,我可以创建一个包含所有可能的乐器类型的InstrumentType域表。仪器表,包括所有仪器和租用表,每次雇用一台仪器。 您可以将租赁表用于历史记录,当然您也不能在此处设置该约束。最简单的方法是确保两个音乐家不能雇用一个乐器就是在Instrument to FK中为使用它的实际音乐家创建一个可以为空的列。 另一件可以帮助它的是创建一个在该租用表中具有默认值的returned_datetime列以及一个覆盖它的唯一索引和工具ID,以确保在该默认返回日期只有一个instrumentId。