資料庫結構是應用程式或軟體開發的一個組成部分,尤其是那些圍繞資料和資料庫的開發。簡而言之,資料庫結構是用於定義一組資料的結構或佈局的術語。
換句話說,它描述了資料將如何組織和連線。因此,資料庫結構可能包括結構物件,如表、檢視、欄位、關係、包、索引、型別和許多其他元素。
資料庫設計者建立資料庫結構以建立來自特定資料組的重要元素、屬性和連線。
它以結構圖的形式出現,向資料庫管理員解釋資料將如何儲存在關係或非關聯式資料庫中。此外,圖表的大小和複雜性取決於專案。
此外,資料庫結構是設計資料庫管理系統 (DBMS)和關聯式資料庫管理系統 (RDBMS) (如MySQL、PostgreSQL和Oracle )所必需的。
本文將解釋資料庫中兩種主要的結構型別、它們的整合要求,並提供幾個示例。
什麼是結構?
結構是程式設計師構建和編碼資料庫的框架或藍圖。它可以幫助資料庫使用者理解和了解儲存的資訊。
邏輯和物理資料庫結構
在資料庫設計方面,有兩種型別的結構——邏輯結構和物理結構。
邏輯資料庫結構
邏輯資料庫結構描述了將應用於資料的邏輯約束或規則。主要關注的是理解資料實體,包括它們的關係和屬性。
建立此結構不應僅限於特定的DBMS。無論您使用哪個平臺,邏輯資料庫設計都將保持不變。
顯示邏輯設計的一種方法是製作稱為實體關係圖(ER圖)的視覺化表示。Microsoft Visio和LucidChart是一些可用於建立圖表的軟體。ER圖通常顯示:
- 所有重要的實體。
- 每個實體的屬性。
- 唯一標識實體的特定例項的主鍵。
- 另外,描述實體之間關係的外來鍵。
例如,假設實體“Book”具有以下屬性——標題、主題、出版商和年份。它的主鍵是“ISBN”。此外,“Book”與實體“Author”有關係,由外來鍵“Author ID”表示。
請記住,不同專案的邏輯結構是通過多種方式建立的。它們還將具有不同的語法來描述資料的邏輯約束和架構。
物理資料庫結構
物理資料庫結構表示資料在儲存系統中的物理組織方式,通常以檔案和索引的形式。它將邏輯資料庫結構轉換為適用於特定 DBMS 的物理資料結構。
表結構都顯示在物理資料庫結構設計中。這包括列名、資料型別和約束。另外,主鍵、外來鍵以及它們之間的關係。
物理資料庫模型還具有以下特徵:
- 解釋專案的資料需求。
- 指定了所有表和列。
- 外來鍵用於確定表之間的連線。
- 由於物理限制,它可能與邏輯模型不同。
在這個階段,您正在對映:
- 實體到表。
- 列的屬性。
- 唯一索引的主鍵。
- 非唯一索引的外來鍵。
資料庫結構整合要求
一個資料庫可以有多個結構。因此,要讓它們無縫工作,需要滿足以下要求:
- 重疊儲存——確保結構中重疊的元素位於資料庫結構表中。
- 擴充套件重疊保留——將與重疊元素連線的實體——但只出現在一個結構中——複製到生成的資料庫結構中。
- 規範化——避免將獨立的元素和關係組合在一個表中。
- 最小性——檢查任何資料庫結構中的實體都沒有丟失。
資料庫結構示例
既然您知道什麼是結構及其要求,那麼讓我們看看 SQL 和 PostgreSQL 資料庫中的結構示例。
1.SQL
SQL伺服器中的結構是連結到資料庫系統的無限資料庫物件的集合。它包括表、函式、檢視和索引。它是一種邏輯型別的結構,具有許多優點。例如:
- 一個結構可以在多個資料庫中使用。
- 安全許可權可以保護表和索引等資料庫物件。
- 轉移結構的所有權是可能的。
- 在資料庫中建立的物件可以在結構之間移動。
- 它有助於操作和訪問資料庫物件的過程。
在SQL中建立結構的一般語法是:
CREATE SCHEMA [schema_title] [AUTHORIZATION owner] [DEFAULT CHARACTER SET set_name] [PATH schema_title[, ...]] [ ANSI CREATE statements [...] ] [ ANSI GRANT statements [...] ];
使用的引數有:
- schema_title – 建立的結構的名稱。
- AUTHORIZATION owner – 擁有架構的使用者的名稱。
- DEFAULT CHARACTER SET set_name – 定義結構物件的預設字符集。
- PATH schema_title[, …] – 可選檔案路徑和名稱。
- ANSI CREATE statements […] – 由一個或多個CREATE語句組成。
- ANSI GRANT statements […] – 由一個或多個GRANT語句組成。
2. PostgreSQL
PostgreSQL中的結構是一個包含命名資料庫物件的名稱空間。這包括表、資料型別、索引、函式、檢視和運算子。它確保所有物件都有唯一的名稱。
一個資料庫可以有多個結構,但每個結構都只是一個資料庫的一部分。兩個結構中的不同物件也可以共享相同的名稱。
在PostgreSQL 9.3.13中建立資料庫結構的語法是:
CREATE SCHEMA schema_title [ AUTHORIZATION user] [ schema_element [ ... ] ] CREATE SCHEMA AUTHORIZATION user [ schema_element [ ... ] ] CREATE SCHEMA IF NOT EXISTS schema_title [ AUTHORIZATION user ] CREATE SCHEMA IF NOT EXISTS AUTHORIZATION user
PostgreSQL還自動為每個新資料庫建立一個公共結構。在這裡您可以找到沒有結構名稱的物件。
小結
資料庫 結構是指儲存在資料庫中的資料的組織的計劃或圖表。有兩種型別的結構——邏輯的和物理的。第一個表示資料的組織方式,第二個定義其物理儲存的結構。
資料庫結構對於建立資料庫和資料庫管理系統至關重要。它幫助使用者理解和閱讀儲存在資料庫中的資訊。
評論留言