【问题标题】:MySQL DataBase design QuestionMySQL数据库设计问题
【发布时间】:2010-08-17 23:33:28
【问题描述】:

鉴于以下情况,我正在考虑设计数据库的最佳方法。

  • 酒店客房单位超过 1000 间。
  • 每个酒店房间单元都有一个包含大约 100 种不同类型物品的列表,并附有数量。库存是每个酒店房间的标准。但是每个项目的数量是可以改变的。

例如 3 个咖啡杯、2 条毛巾等。

我还需要跟踪每个单元丢失或损坏的物品...

设计数据库的最佳方式是什么?

是否有一个表格,其中包含每个唯一物品、其数量、其财产 ID、每个财产 ID 的丢失和损坏物品?

有没有更好的方法呢?

【问题讨论】:

    标签: sql mysql database database-design data-modeling


    【解决方案1】:

    房间表 项目表 引用房间和项目的包含表:

    Rooms
    Number  ID
    101     1
    102     2
    
    Items
    Name    ID   NumberLost   NumberDamaged  
    Lamp    1    3            0
    Chair   2    0            1
    
    Contains
    RoomID  ItemID  Quantity
    1       1       1
    1       2       3
    2       1       1
    2       2       4
    

    【讨论】:

    • 您可以修改它以添加额外信息,但这应该让您了解如何构建关系。
    • 非常感谢您的回答。非常感谢!
    【解决方案2】:
    Room[roomID, roomNumber, roomSize]
    Item[itemID, itemPrice, itemName]
    RoomItem[roomID, itemID, quantity, damaged]
    

    与房间和物品(称为 RoomItem)具有多对多关系。然后可以具体说明房间中物品的数量和房间中损坏物品的数量。

    【讨论】:

    • +1 特别适用于针对 RoomItem 存储损坏的数量。 (还应包括丢失的数量。)
    猜你喜欢
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多