數據庫橫表、縱表
橫表表結構:主鍵、字段1、字段2 、字段3。
縱表表結構:主鍵、字段代碼、字段值;字段代碼為字段1、字段2、字段3.
縱表、橫表優劣對比:
1.縱表在使用時由于行數過多,統計用戶數或對用戶分檔時需要進行GROUP BY操作,性能低下,且操作不便,為提高性能,通常對縱表進行匯總,形成橫表。
2.數據挖掘時用到的寬表一般也要求是橫表結構。
3.縱表對于從數據庫到內存的的映射效率有影響:縱表的初始映射較慢,變更映射要快。
4.橫表一目了然,但如果給橫表加一個字段,就必須要重建表結構,而縱表只需要添加一行記錄就可以增加一個字段;但縱表對于數據描述不清晰,容易造成數據庫的數據量過多。
5.縱表轉橫表:
Select student_no max (decode(fileld_name, ‘student_name’,field_value)) as student_name fromcuc_student group by student_no;
Student_no --primary key
Field_name, filed_value: -- 縱表的字段代碼,字段值
Student_name -- 字段代碼的字段名稱,變為橫表的一個字段
Cuc_student –表名