当产品变化很大时,设计产品数据库模式的最佳方法是什么?

时间:2015-08-27 04:11:01

标签: database database-design relational-database database-schema filemaker

我正在尝试使用FileMaker 14设计产品数据库。我们的产品主要是:

  • 适配器:HDMI到DisplayPort; USB转VGA; USB转以太网; SD / micro SD卡/ Compact Flash读卡器......

  • 扩展坞:USB-C到DisplayPort / HDMI / USB-A 2.0 / USB-A 3.0 / USB-C 3.0 / USB-C 2.0 / AUX-in / AUX-out等...... < / p>

  • USB集线器:2/4/6/8/10端口USB集线器,可通过总线或电源适配器供电,带或不带以太网等......

  • 未来可能还有其他类型的产品

我希望数据库能够输出规格表,其中包括:

  • 型号
  • 产品名称
  • 图像(如果打印一个,如果在笔记本电脑或平板电脑上显示,则为多个)
  • 上游界面(各种视频,数据,音频)
  • 下游接口(各种视频,数据,音频)
  • 电源(总线或电源适配器,不同类型的电源适配器)
  • 尺寸
  • 重量
  • 运营环境
  • 支持的操作系统

我试图尽可能地将这些标准化,但我对如何实现接口感到困惑。选项我认为我有:

  1. 将它们拼凑在一个表中

    ProductUpstreamInterfaces:
    ProductID (primary foreign key)
    USB-A2
    USB-A3
    USB-B
    USB-C2
    USB-C3
    Thunderbolt1
    Thunderbolt2
    Thunderbolt3
    AUX-in
    AUX-out
    HDMI
    .
    .
    .
    

    ProductDownstreamInterfaces:
    ProductID (primary foreign key)
    USB-A2
    USB-A3
    USB-B
    USB-C2
    USB-C3
    Thunderbolt1
    Thunderbolt2
    Thunderbolt3
    AUX-in
    AUX-out
    HDMI
    .
    .
    .
    

    每个字段的值都是数量。

  2. 将它们分开

    ProductInterfaces:
    ProductID (primary foreign key)
    InterfaceID (foreign key)
    Quantity
    Direction_1Up2Down (1 for up; 2 for down)
    

    Interfaces:
    InterfaceID (primary key)
    Interface (eg. HDMI/DisplayPort/USB-C2/USB-C3/AUX-in/AUX-out, etc...)
    
  3. 选项1似乎非常混乱。

    选项2似乎更好,但我不确定我是否会遇到任何问题......两者中哪一个更好?有更好的方法吗?

0 个答案:

没有答案