Database-Design

“寬”、非規範化視圖/查詢的術語是什麼?

  • January 22, 2021

一個設計良好的關係數據庫模式往往具有相對大量的相對較小的規範化表——我認為,雪花群描述了這種情況。

為了訪問關係數據,查詢是必要的,將這些單獨的表連接到相對較大、非規範化但非常視圖(或虛擬表)中

這種“寬”視圖/查詢的公認術語是什麼——由小型規範化表的多個有用連接產生的實用“虛擬表”?

多年來,我對數據庫設計進行了相當多的思考。我只是沒有太多最近的實踐經驗,所以不一定熟悉這些術語。

我很確定您正在尋找的術語是派生關係

在關係術語中,單個規範化表稱為基本關係(或基本表)。在 SQL 數據庫管理系統 (DBMS) 中,此類關係(表)是藉助數據定義語言 (DDL) 聲明的關係。

在這些基本關係(或基本表)上應用某些關係操作(例如 JOIN)的事實產生了一種不同類型的關係,稱為派生關係(或派生表)。將這種關係​​視為“虛擬”表(正如您正確指出的那樣)可能是有用的,它是“玩”上述基本表的結果。此類表是在 SQL DBMS 中藉助數據操作語言 (DML) 聲明的。

為了獲得實際優勢,可以將派生關係(表)設置為 DBMS 中的 VIEW。當然,它們中的一些可以是寬的,一些可以是窄的,這方面是由所涉及的基本關係的數量和特定操作中定義的屬性(列)的數量決定的。

為了支持上述內容,並且因為您想要一個公認的術語,有必要參考權威來源。最好的自然是關係模型的發明者 Edgar Frank Codd 博士。關於這些類型的關係(表),這裡是他的論文Extending the Database Relational Model to Capture More Meaning的一小段摘錄:

基本關係是獨立於數據庫中的其他關係定義的關係,即沒有任何基本關係可以完全(獨立於時間)從任何其他基本關係推導出來。派生關係是可以完全從基本關係派生出來的關係。正是這種關係通常用於為使用者或應用程序提供他們自己的數據庫視圖

這是他的書The Relational Model for Database Management: Version 2的摘錄2:

$$ R $$以某種實現定義的方式由儲存的數據在內部表示的關係或 R 表稱為基本關係或基本 R 表。除了基本 R 表之外的所有 R 表都稱為派生關係,或者同義地稱為派生 R 表。派生關係的一個範例是視圖。視圖是根據其他 R 表定義的虛擬 R 表,僅由其定義表達式表示。

參考

1 Codd, EF(1979 年 12 月)。擴展數據庫關係模型以獲取更多含義,ACM Transactions on Database Systems,第 4 卷第 4 期(第 397-434 頁)。紐約,紐約,美國。

2 Codd, EF(1990 年 1 月)。關係模型第 2 版簡介。在數據庫管理的關係模型:第 2 版(第 17-18 頁)中。美國馬薩諸塞州波士頓:Addison-Wesley

我聽說過數據的“扁平化”視圖……這意味著關係的層次結構已被刪除。

引用自:https://dba.stackexchange.com/questions/97229