目錄
結構(數據庫)
編輯數據庫模式是以數據庫管理系統 (DBMS) 支持的正式語言描述的數據庫結構。 術語模式指的是數據組織,作為數據庫構建方式的藍圖(在關系數據庫的情況下分為數據庫表)。 數據庫模式的正式定義是一組強加于數據庫的稱為完整性約束的公式(句子)。 這些完整性約束確保模式各部分之間的兼容性。 所有約束都可以用相同的語言表達。 數據庫可以被認為是數據庫語言實現中的一種結構。 創建的概念模式的狀態被轉換為顯式映射,即數據庫模式。 這描述了真實世界的實體是如何在數據庫中建模的。
數據庫模式根據數據庫管理員對可能應用程序的了解,指定可以輸入數據庫的事實,或可能的最終用戶感興趣的事實。 數據庫模式的概念與謂詞演算中的理論概念起著相同的作用。 該理論的模型與數據庫密切相關,可以在任何時刻將其視為數學對象。 因此,模式可以包含表示特定于應用程序的完整性約束的公式和特定于一種數據庫類型的約束,所有這些都以相同的數據庫語言表示。 在關系數據庫中,模式定義表、字段、關系、視圖、索引、包、過程、函數、隊列、觸發器、類型、序列、物化視圖、同義詞、數據庫鏈接、目錄、XML 模式和其他元素。
數據庫通常將其模式存儲在數據字典中。 盡管模式是用文本數據庫語言定義的,但該術語通常用于指代數據庫結構的圖形描述。 換句話說,模式是定義數據庫中對象的數據庫結構。
在 Oracle 數據庫系統中,術語模式的含義略有不同。
模式集成的理想要求
編輯下面列出的要求會影響生成的模式的詳細結構。 某些應用程序不需要滿足所有這些條件,但這四個要求是最理想的。
重疊保存輸入映射中指定的每個重疊元素也在數據庫模式關系中。擴展重疊保存與源的重疊元素關聯的特定于源的元素被傳遞到數據庫模式。規范化源數據中的獨立實體和關系應該 沒有在數據庫模式中以相同的關系組合在一起。 特別是,如果分組將獨立實體或關系置于同一位置,則源特定模式元素不應與重疊模式元素分組。最小性如果刪除數據庫模式的任何元素,則數據庫模式不理想。
兩個模式集成的示例
編輯假設我們想要一個中介模式來集成兩個旅游數據庫,Go-travel 和 Ok-flight。
Go-travel有兩個關系:
Go-flight(flight-number, time, meal(yes/no))Go-price(航班號,日期,價格)
Ok-flight 只有一個關系:
Ok-flight(航班號、日期、時間、價格、直飛(是/否))
Go-travel 和 Ok-flight 模式中的重疊信息可以用中介模式表示:
航班(航班號、日期、時間、價格)
Oracle 數據庫的特殊性
編輯在 Oracle 數據庫的上下文中,模式對象是一種邏輯數據存儲結構。
Oracle 數據庫將單獨的模式與每個數據庫用戶相關聯。模式包含模式對象的集合。 模式對象的示例包括:
- 表格
- 觀點
- 序列
- 同義詞
- 索引
- 集群
- 數據庫鏈接
- 快照
- 程序
- 職能
- 套餐
另一方面,非模式對象可能包括:
- 用戶
- 角色
- 背景
- 目錄對象
架構對象與磁盤上存儲其信息的物理文件沒有一對一的對應關系。 但是,Oracle 數據庫將模式對象邏輯地存儲在數據庫的表空間中。 每個對象的數據物理上包含在一個或多個表空間的數據文件中。 對于某些對象(例如表、索引和集群),數據庫管理員可以指定 Oracle RDBMS 在表空間的數據文件中為對象分配多少磁盤空間。
模式和表空間之間沒有必然關系:一個表空間可以包含來自不同模式的對象,并且單個模式的對象可以駐留在不同的表空間中。 然而,Oracle 數據庫的特殊性確實強制了非同質性的平臺識別。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/249392/