簡體   English   中英

SQl參考表-動態列

[英]SQl reference table - dynamic columns

我想創建一個參考表。 行和列的數量可以隨着時間增長(並且變得多余)。 列名稱也可能隨時間而變化。 假設第(n)行的“位置”列中的值為“ IT工程師”。 對於列結構中最下方的特定行(n),讓我在“ Behind Sheds”列中說,這是我需要檢索的值。 如果列數是固定的,那沒問題,但是現在可以使用T-SQL動態添加列,這很容易做到,甚至重命名這些列。 我的問題是,為上述示例動態添加列是一種好的做法,還是有更好的選擇?如何?

謝謝。

可能最好使用帶有字段的加法表之類的東西: person_id (主表的外鍵), person_param (例如“位置”), person_value (例如“ IT工程師”)?

我相信您的問題是實施EAV模型的正確選擇。

基本上沒有20列,而是有3列:

  • 實體
  • 屬性(也稱為列名)
  • 價值(實際上可能是更多價值,不同類型的價值,而您只是填充了正確的價值)

這樣,對於數據庫中的10個實體(每個實體具有20列),您可以在EAV表中填充200行數據。 它具有較低的性能,較難查詢,但確實具有靈活性,因此您甚至可以使每個實體具有不同的屬性集。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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