資料庫建表有兩種方式,橫表和豎表。
橫表是常用的,比較通用的建表方式。
但是有些場景用橫表不太合適。
比如問卷調查,儲存使用者的回答,就不太方便使用橫表。因為每一次問卷調查,題目數量都不相同。
又比如,配置選項,就不太適合橫表,因為配置項隨時都可能變化。
這個時候,就可以考慮使用豎表來儲存。
橫標的優點:橫標的有點事顯示的較為清晰直觀,同時在字段的選擇上更為科學合理,具體的字段可以根據具體情況劃分字段型別。
橫標的缺點:不方便擴充套件和公用,也就是說設計了一張橫標,只能在固定的某一種特定的相對不變的場景下使用,比如加欄位,或者類似的業務想公用一張橫表,都有侷限。
豎表的優點:最大的特點是可以靈活擴充套件儲存的內容,同時具有一定的公用性。因為豎表的儲存結構不受字段個數的限制,可以儲存具有一定共性的業務資料。
豎表的缺點:豎表的字段型別要相容,比如橫標可以根據具體的值設計成varchar,decimal,datetime等,橫標為了相容以上字段型別,只能設計成varchar的,可能會浪費一定的空間。
SQL豎表轉橫表 橫表轉豎表
豎表轉橫表 豎表結構 name course grade 張三語文 75張三 數學80 張三英語 90李四 語文95 李四數學 55轉換後橫表結構 name 語文數學 英語張三 7580 90李四 9555 0sql語句 1 select name,2sum case course when 語文 ...
豎表轉橫表
今天遇到乙個要求將豎表轉換成橫表。以前看過豎表轉橫表但沒寫過,現記錄下來以供學習。任務大體要求如下 教師號 星期號 是否有課 有 有 有 有 有 寫一條sql語句讓你變為這樣的表 教師號 星期一 星期二 星期三 建表 create table teac info teac no number,day...
關於豎表轉橫表的問題
關於豎表轉橫表的問題 dinya 內容摘要 在開發過程,經常遇到一些將表的顯示方式進行轉換的需求,我們習慣性稱之為豎表到橫表的轉換,本文通過乙個例子來簡要說明常見的兩種豎表轉橫表的問題。本文適宜讀者範圍 oracle 初級,中級 系統環境 os windows 2000 professional 英...