ruby-on-rails - 实验室计算机预约数据库设计

标签 ruby-on-rails database database-design entity-relationship

我想创建一个应用程序,使用户能够在实验室中预订计算机(如果他们想在特定时间使用计算机)。用户可以预订 future 15 天的计算机。那么,我应该如何为这个应用程序设计数据库。

最佳答案

  1. 首先定义您的实体和属性。如果你能先做一个概念设计就更好了。

  2. 比你逻辑地设计它。

例如,您的实体可能是:


用户、计算机、预订。 您的属性可能是:

用户(一些唯一的个人 ID 号、姓名、电子邮件*、电话号码*)

主键以粗体显示。带星号 *可选

计算机(唯一计算机序列号、NumberOfComputerInLab)

预订(自动增量编号用户PK计算机PK、预订日期、TimeFrom、TimeTill)

PrimaryKey 由三个属性组成,使其具有唯一性。随着时间的推移,同一用户可能会保留同一台计算机,但 AutoincrementNumber 字段将使复合 PK 唯一。

预订(UserPK)引用用户(SomeUniquePersonalIDnumber) 引用计算机(UniqueComputerSerialNumber)的保留(ComputerPK)


  • 定义这些属性的字段类型 (Integer/Varchar/...)基于您想要的查询语言 使用。
  • 将以上所有内容转换为创建数据库的命令, table 等
  • 关于ruby-on-rails - 实验室计算机预约数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52515828/

    相关文章:

    ruby-on-rails - Rails 中的 request.remote_ip 和 request.ip 有什么区别?

    ruby-on-rails - 如何使用 MongoMapper 追踪内存泄漏?

    ruby-on-rails - 安装 Rails 但它说我没有 :)

    sql - ActiveRecord:查找与某个值有关联的记录

    sql - 如何计算列成员数据库表的算术表达式?

    mysql - CSV 数据标准化

    mysql - 如何为以下用例设计表格?

    java - 为什么我这里有 NullPointerException?

    database-design - 非主键属性是否应该成为 DynamoDB 表定义的一部分?

    database-design - 数据库中是否需要命名空间?