【问题标题】:Database schema for different object types不同对象类型的数据库模式
【发布时间】:2013-03-12 07:39:28
【问题描述】:

我正在创建一个具有不同类型对象的新应用程序。例如显示器、鼠标和键盘。不同的对象有自己的属性。

显示器:品牌、分辨率、颜色等 鼠标:品牌、类型、有线/无线 等等

问题: 不同类型对象的最佳架构是什么?

  1. 单表
  2. 多表

给定单表(查询性能原因),属性将是 db 列类型,但是由于不同类型的对象具有不同的属性,这怎么可能?并且在设计时可能会有未知的对象,将来可能会添加。这会导致很多列吗?

另一方面,在列出所有对象时,多个表是否会遇到性能问题(查询多个表)?

提前致谢。

【问题讨论】:

    标签: mysql sql database


    【解决方案1】:

    这听起来有点像Many-to-Many 关系,在这种情况下,您应该创建 3 表设计,

    对象列表

    • ObjectID (PK)
    • 对象名称
    • 其他列...

    属性列表

    • PropertyID (PK)
    • 属性名称
    • 其他栏目

    Object_Property

    • ObjectID (FK) -- 这应该是带有 PropertyID 的复合主键
    • PropertyID (FK)
    • 其他列...

    【讨论】:

      猜你喜欢
      • 2013-11-30
      • 2022-01-15
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      • 2020-03-27
      • 2023-03-05
      • 2015-09-04
      • 2020-11-28
      相关资源
      最近更新 更多