0

这是我的 excel 电子表格,我正在尝试将其转换为适当的数据库。干燥和传感器是产品/商品。我喜欢建立一个可以灵活添加更多产品的数据库。它们的“类型”和“千伏”等属性也可以包含多个值。

Excel 列

我没有设计数据库的经验。我目前的设计是

    table_company
       company_id
       company_name
       etch...
    table_dry_ctd_type
       company_id
       record_id
       dry_ctd_type
    table_dry_vtd_kV
       company_id
       record_id
       dry_vtd_kV

       I ended up with 13 tables. 

业务规则(如果需要):

-company 可以有 0 到多个产品

-products 可以有 0 到多个子类别。

-产品类型和KV可以保存多个值。

- 类型不需要有 kV

4

1 回答 1

0

根据您提供的信息,我将创建以下 3 个表:

  • 公司资料
  • 产品类型(字段:[uniqueID]; ptID; pName; pSubName; subPType)所以数据是:
    1, 1, "DRY", NULL, NULL ( pSubNameNULL == Product Type "definition" field)
    2, 1, "DRY", "CTD", ???--不管什么' type' 字段的值为
    3, 1, "DRY", "VTD", ???
    , ...
    6, 2, "Sensors", "VCS",???
    如果需要根据产品子类型多次获取数据,也可以添加一个ptSubID-numeric- 字段并基于该字段获取数据
  • 数据表存储companyID,productTypeUniqueIDKVegamount或您可能拥有或不拥有的其他“价值数据”
    如果添加productTypeUniqueID到产品类型表中,也请在此处添加!

添加新公司、产品类型或产品子类型是显而易见的。获取数据看起来像:


SELECT CMP.compName AS 'Company Name',PRD.pname AS 'Product',PRD.pSubName AS 'subProduct',PRD.pType AS 'Type',DTA.KV AS 'KV', DTA.amount
FROM data_table AS DTA
     LEFT OUTER JOIN company_table AS CMP ON CMP.compID=DTA.compID
     LEFT OUTER JOIN product_table AS PRD ON (PRD.ptID=DTA.ptID [AND PRD.ptSubID=DTA.ptSubID])
WHERE PRD.ptID=1 --all "DRY" products
/** or: **/ WHERE (PRD.ptID=1 AND PRD.ptSubID<>2) AND CMP.compID=8

但它可能会因以下原因而有所不同:

  • 将使用最常见的数据检索类型
  • 您未分享的详细信息,但重要的搜索关键字(例如子产品的尺寸)
  • 产品更新/更改频率、产品类型/子类型更新/更改
  • 可能会出现典型的变化——基于业务经验——例如“我们不再使用产品子类型”



希望这可以帮助!

于 2013-06-12T15:02:31.260 回答