數據庫建表有兩種方式,橫表和豎表。
橫表是常用的,比較通用的建表方式。
但是有些場景用橫表不太合適。
比如問卷調查,存儲用戶的回答,就不太方便使用橫表。因為每一次問卷調查,題目數量都不相同。
又比如,配置選項,就不太適合橫表,因為配置項隨時都可能變化。
這個時候,就可以考慮使用豎表來存儲。
橫標的優點:橫標的有點事顯示的較為清晰直觀,同時在字段的選擇上更為科學合理,具體的字段可以根據具體情況划分字段類型。
橫標的缺點:不方便擴展和公用,也就是說設計了一張橫標,只能在固定的某一種特定的相對不變的場景下使用,比如加字段,或者類似的業務想公用一張橫表,都有局限。
豎表的優點:最大的特點是可以靈活擴展存儲的內容,同時具有一定的公用性。因為豎表的存儲結構不受字段個數的限制,可以存儲具有一定共性的業務數據。
豎表的缺點:豎表的字段類型要兼容,比如橫標可以根據具體的值設計成varchar,decimal,datetime等,橫標為了兼容以上字段類型,只能設計成varchar的,可能會浪費一定的空間。