我正在设计一个数据库,存储产品(存储、CPU、mobos、内存等)和有关产品的信息
(规格、销售特定产品的零售商和价格)
部件号和产品(mobo、内存等)表是否应使用一对一关系?或者我应该将每个部件号存储在它自己的产品表中,并将价格和产品表与部件号链接在一起?
Er图
http://prntscr.com/b5ovuj
桌子

Cpu table

=========================================
Id |part_number_id | Specifications ....
=========================================
1  |          1    |
2  |          2    |
3  |          3    |
4  |          4    |
=========================================

Mobo table
=========================================
Id   |part_number_id| Specifications ....
=========================================
101  |      101     |
102  |      102     |
103  |      103     |
104  |      104     |
=========================================

Memory table
=========================================
Id   |part_number_id | Specifications ....
=========================================
201  |      501      |
202  |      502      |
203  |      503      |
204  |      504      |
=========================================



Retailers
=========================================
Id |      name     |  Logo
=========================================
1  |     Pcparts   |  pcparts.png
2  |     bestpc    |  bestpc.png
3  |      LMNC     |  lmnc.png
4  |      GGWP     |  ggwp.png
=========================================


part_numbers
=======================
Id |    part_number
=======================
1  |   BX80646I74790K
2  ||BX80646I54690K
3  |BX80648I75820K
4  |FD8350FRHKBOX
5  |FD6300WMHKBOX
6  |BX80646G3258
7  |BX80646I54590
8  |BX80646I34160
101|FD8320FRHKBOX
102|BX80646I54460
103|BX80648I75930K
201|BX80646I54690
202|FD9590FHHKWOF
203|AD740KYBJABOX
======================



Price
==============================================================================
Id | part_number_id |  retailer_id |         product_url           |  Price
==============================================================================
1  |        1       |       1      |http://www.example.com/prod/id |  122.33
2  |        1       |       2      |http://www.example.com/prod/id |  133.41
3  |        1       |       3      |http://www.example.com/prod/id |  110.00
4  |        1       |       4      |http://www.example.com/prod/id |  105.05
5  |       101      |       1      |http://www.example.com/prod/id |  122.33
6  |       201      |       2      |http://www.example.com/prod/id |  133.41
7  |       101      |       3      |http://www.example.com/prod/id |  110.00
8  |       101      |       4      |http://www.example.com/prod/id |  288,19
9  |       201      |       1      |http://www.example.com/prod/id |  244,19
10 |       204      |       2      |http://www.example.com/prod/id |  277.09
==============================================================================

最佳答案

如果您认为并假设此表中的零件号为part_numbers,请使用一个表。如果此表中的零件号是唯一的,则不能再引入3个表来减少冗余。
您可以在unique中再设置一个field/attribute作为part_number,在这里您可以指定:CPU、内存或Mobo。

10-07 17:47