【发布时间】:2015-08-15 01:10:24
【问题描述】:
有一个来源提供以下格式的数据,我必须根据这种格式设计表格。我应该保留它们现有的结构还是将它们分成几张表?
第一张桌子:
ItemId PropertyId Value
A1 10 Black
A1 20 16gb
A1 30 Iphone6
A1 1000 Apple
属性参考表:
PropetyID Value
10 Color
20 Memory Size
30 Item Name
100 Product Group
可以有超过 2000 个不同的属性。最后设计的表格应该能够回答以下问题:
How many white iPhones of 16gb were sold?
【问题讨论】:
-
这看起来像是一道作业题。 StackOverflow 社区不应该做你的功课。
-
一般来说,将此标记为家庭作业,或提供您所做的一些尝试。
-
EAV 模型使用起来可能很痛苦,但它有它的位置。我认为基本规则是根据数据类型将数据分开,因此日期保存在日期数据类型中,整数保存在 INT 中等。这可以通过根据数据类型将数据分成单独的表来完成。
标签: mysql database database-design normalization