簡體   English   中英

如何在SQL Server 2012數據庫的一個表中分配許多列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM