【问题标题】:MySQL Database modelMySQL 数据库模型
【发布时间】:2017-12-21 14:58:20
【问题描述】:

请告诉我这个数据库模型是否正确。在我的数据库中,我想存储有关计算机集(计算机 + 显示器 + 打印机)的信息。有可能,该套装有两个或更多显示器和打印机。

【问题讨论】:

  • 能否请您提供更多关于 set 和 set 设备关系的详细信息,并且需要定义 set_device 和设备本身之间的关系,在这种关系中,一个具有给定 id 的设备可以属于多个设置不同的所有者,我认为这不是真的,但我认为显示器、打印机和计算机你做得很好
  • @SirvanParaste,一套 = 一个所有者 :)
  • 一组 = 多台设备?一台设备 = 多台计算机、打印机、显示器、其他?
  • 一套 = 一台计算机,但有许多打印机、许多显示器和其他
  • 所以上面的模型不正确,我会更新我的答案,如果有用你可以接受它

标签: mysql database database-design


【解决方案1】:

更新 根据您提供的详细信息,我认为您不需要 set_device 表,因为它会导致问题,您需要在代码中处理它,

例如:ID为p1的人有一个ID为S1的集合 并且 ID 为 P2 的人有一个 ID 为 S2 的集合 给定一个 ID 为 D1 的设备, 在本例中的 set_device 表中,您可以看到这样的记录:

> id     device_id   set_id
> 1      D1          S1
> 2      D1          S2

这是不允许的,最好删除该表并将set_id作为fk添加到设备表中。

这种方式集可以有多个设备,但每台设备也仅限于一个集和一个所有者。

根据新细节更新:one_set = one_computer 和许多显示器、打印机。

在这种情况下,最好将设备和计算机表合并为一个表。

请注意,在这个设计中,每组可以有很多台电脑!!如果您在计算机和设置之间有一对一的关系,那么您可以将它们组合成一个表,然后设计就可以了。

希望这会对您有所帮助。 如果您提供更多详细信息,我将更新答案。

【讨论】:

    猜你喜欢
    • 2012-06-11
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 2020-02-20
    • 2015-02-06
    • 1970-01-01
    • 2011-10-16
    相关资源
    最近更新 更多