【问题标题】:sql database Availability constraintsql数据库可用性约束
【发布时间】:2013-12-26 13:19:28
【问题描述】:

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

我创建了一个 AvailableInstrument 表。它从一个视图中得出,该视图采用了所有具有租用结束日期 的工具

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

请帮忙:D

【问题讨论】:

  • 您使用的是哪个 DBMS?
  • 我正在使用 MysqlWorkbench
  • MySQL Workbench 不是 DBMS,它是一个客户端工具。但我假设你当时正在使用 MySQL。
  • 哎呀。没错,我正在使用 mysql。这是一个学校作业,所以我只是在构建数据库并查询它

标签: mysql database-design mysql-workbench


【解决方案1】:

为了这个任务,我可以创建一个包含所有可能仪器类型的 InstrumentType 域表。包含所有仪器的仪器表和每次租用仪器时放置的租金表。 您可以将租用表用于历史记录,当然您不能在此处放置该约束。确保乐器不能被两个音乐家租用的最简单方法是在 Instrument 上创建一个可为空的列,以便对使用它的实际音乐家进行 FK。 帮助它的另一件事是在该租用表中创建一个带有默认值的 returned_datetime 列,以及一个覆盖它的唯一索引和工具 ID,以确保在该默认返回日期只有一个工具 ID。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 2011-08-28
    • 1970-01-01
    • 2017-12-23
    • 2014-01-26
    • 2011-06-27
    相关资源
    最近更新 更多