要清楚,通過可修改加入查看我的意思是從兩個或多個表的連接構造的視圖,允許插入/更新/刪除操作,修改任何/所有的組件表。可修改的連接視圖是否合理的設計選擇?
這可能是一個Postgres的具體問題,不知道。如果其他DBMS具有可修改連接視圖的特殊功能,我也感興趣,因爲據我所知,它們在標準SQL中是不可能的。
我正在研究一個postgres模式,並且我最近的一些閱讀建議可以使用替代規則構建可修改的聯接視圖(CREATE RULE ... DO INSTEAD ...
)。可修改的連接視圖似乎是可取的,因爲它允許在接口後面隱藏強大的規範化,爲經典抽象提供了機制。規則是實施的唯一選擇,因爲目前爲triggers cannot be set on views。
但是,我試圖設計的第一個可修改視圖遇到了問題,我發現許多人認爲非平凡規則是有害的(請參閱this SO answer的評論中的鏈接)。另外,我在網上找不到任何可修改的連接視圖的例子。
問題(編輯提上問題較細分):
- 你有修改的連接視圖中,您可以提供選擇/插入一個具體的例子任何經驗/刪除/更新的能力?
- 它們是否具有實用性,即它們是否可以透明地處理而不必在礦井/黑洞周圍tip手?腳?
- 在功能/努力率和可維護性方面,它們是否曾經是一個很好的設計選擇?
將不勝感激鏈接到關於這個主題的例子/討論。謝謝。
來自其中一位開發者的觀點博客:http://petereisentraut.blogspot.com/2010/07/update-on-views.html – 2011-04-05 00:50:52