[英]How distribute many columns in one table in SQL Server 2012 database
我正在考虑数据库中的问题。
我的产品有一张桌子。 它几乎没有适用于所有常见产品的列。 但是产品属于制造商。 每个制造商都需要一些列来指定产品规格。 所以我在考虑我们桌子的分布。
我认为将所有这些存储在一个表中会浪费内存。 例如,因为我有2万个产品用于Apple,而华硕则有30k,MSI有40k ..因此,如果我在一张表中将苹果的所有列全部存储为70k条记录,则为NULL。
另一个想法是,我每个制造商的表都很少,产品中的某些键指向Apple带有列的特定表。例如,键可以是apple1,apple2等。 但是有了这个主意,很难用其特定的列来显示所有产品。
所以我想问问是否有人在数据库中考虑这个问题。
我正在为数据库使用SQL Server 2012。
感谢您对这个问题的帮助。
建立数据库的目的是将信息作为一组相关的集合进行处理……并使用选择标准来获取您要使用的内容。 您应该根据您的信息元素的工作方式进行设计。
然后,您可以选择类似Apple的信息,例如
select xxx
from Product p, Manufacturer m
where p.manufacturerID = m.manufacturerID and m.name = "Apple"
您可以使用这种结构...这只是示例...
如果要比较规格,则带有产品数据的表格会更加复杂...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.