我正在創建預訂應用程序並儘可能地規範了數據庫。我的問題是以下幾點,我應該在數據庫中創建視圖,在我對WHERE子句中的組合視圖進行選擇性選擇之前再次組合表,還是在將視圖加入視圖之前過濾表更好?規範化表,SQL聯接和視圖
編輯:包括的例子。
第一種方案首先創建組合視圖,然後在組合視圖執行SELECT(這個視圖可能有數以千計的記錄):
CREATE VIEW appc as
SELECT * FROM appointment
LEFT OUTER JOIN chair
ON appointment.chair_idchair = chair.idchair
SELECT * FROM appc
WHERE chair_idchair = 1;
第二種方案將第一過濾表的左的連接,然後創建基於過濾表的視圖,那麼連接將使用這種更小的觀點提出:
CREATE VIEW appf as
SELECT * FROM appointment
WHERE chair_idchair = 1;
SELECT * FROM appf
LEFT OUTER JOIN chair
ON appf.chair_idchair = chair.idchair
你可以舉一個你想到的兩種不同風格的例子嗎? –