什麼是關聯資料庫?
關聯資料庫是一組資訊,以預先定義的關係彙整資料,可將資料儲存在一或多個資料表 (或「關係」) 的資料欄或資料列中,以便輕鬆查看及瞭解各種不同資料結構之間有何關聯。「關係」是不同資料表之間的邏輯連結,是根據這些資料表之間的互動來建立。
瞭解 Google Cloud 的關聯資料庫 Cloud SQL、Cloud Spanner 和 PostgreSQL 適用的 AlloyDB 如何協助您降低營運成本和建構轉型應用程式。
準備好了嗎?建立可免費試用 90 天的 Cloud Spanner 執行個體,免費享有 10 GB 儲存空間。
關聯資料庫定義
關聯資料庫 (RDB) 是在資料表、資料列和資料欄中建構資訊的方式。RDB 可透過彙整資料表來建立資訊之間的關聯或關係,以便輕鬆瞭解各資料點之間的關係並取得深入分析。
關聯資料庫模型
關聯資料庫模型由來自 IBM 的 E.F. Codd 於 1970 年代開發,允許任何資料表使用通用屬性與其他資料表建立關聯。Codd 不是使用階層結構來整理資料,而是提出改用資料模型,此資料模型中的資料已在資料表中儲存、存取及建立關聯,而不需重新整理內含資料表的資料表。
關聯資料庫是一個試算表檔案集合,可協助企業整理、管理和建立資料關聯。在關聯資料庫模型中,每個「試算表」都是儲存資訊的資料表,以資料欄 (屬性) 和資料列 (記錄或值組) 表示。
屬性 (資料欄) 會指定資料類型,而每筆記錄 (或資料列) 含有該特定資料類型的值。關聯資料庫中的所有資料表都有一個屬性,稱為「主鍵」,這是資料列的專屬識別碼,而且每個資料列都可使用「外鍵」 (其他現有資料表的主鍵參照) 來為不同資料表建立關係。
讓我們來看看關聯資料庫模型的實際運作方式:
假設您有「客戶」資料表和「訂單」資料表。
「客戶」資料表含有客戶相關資料:
- 客戶 ID (主鍵)
- 客戶名稱
- 帳單地址
- 收件地址
在「客戶」資料表中,客戶 ID 是一組主鍵,專門用來在關聯資料庫中識別客戶。所有客戶的客戶 ID 都不同。
「訂單」資料表含有訂單的相關交易資訊:
- 訂單 ID (主鍵)
- 客戶 ID (主鍵)
- 訂購日期
- 運送日期
- 訂單狀態
這裡顯示用於識別特定訂單的主鍵為訂單 ID。您可以使用外鍵來連結「客戶」資料表中的客戶 ID,藉此將客戶連結至訂單。
這兩個資料表現在是以共用的客戶 ID 建立關聯,因此您可以查詢兩個資料表以建立正式報表,或使用其他應用程式的資料。舉例來說,零售分公司主管可以針對在特定日期完成購物交易的所有客戶產生相關報表,或找出上個月哪些客戶訂單的送達日期有所延遲。
以上敘述只是簡單的說明。但關聯資料庫也能顯示資料之間的複雜關係,讓您在資料符合資料庫的預先定義關聯結構定義時,可在更多資料表中參照資料。
由於資料是以預先定義關係的形式整理,所以您可以在宣告時查詢資料。宣告式查詢可定義您要從系統中擷取的內容,而無須指出系統如何計算結果。此為關聯系統的核心,而非其他系統。
關聯資料庫範例
現在,您已瞭解關聯資料庫的運作方式,接著您可以探索許多使用關聯資料庫模型的關聯資料庫管理系統。關聯資料庫管理系統 (RDBMS) 是用來建立、更新及管理關聯資料庫的程式。一些最著名的 RDBMS 包括 MySQL、PostgreSQL、MariaDB、Microsoft SQL Server 和 Oracle 資料庫。
由於 Cloud SQL、Cloud Spanner 和 AlloyDB 等雲端式關聯資料庫提供資料庫的代管服務 (包括維護、修補、容量管理、佈建和基礎架構支援),因此日漸普及。
準備好了嗎?建立可免費試用 90 天的 Cloud Spanner 執行個體,免費享有 10 GB 儲存空間。
關聯資料庫的優點
關聯資料庫模型的主要優點,在於能以簡單直覺的方式呈現資料,並輕鬆存取相關的資料點。因此,關聯資源最常用在需要管理大量結構化資料的組織,從追蹤庫存、處理交易資料到應用程式記錄皆由機構負責管理。
使用關聯資料庫管理和儲存資料還有其他優勢,包括:
彈性
您不需要變更整個資料庫結構或影響現有的應用程式,就能輕鬆新增、更新或刪除資料表和關係,也可以視需要對資料進行其他變更。
ACID 法規遵循
關聯資料庫支援 ACID (獨立性、一致性、隔離、耐用性) 效能,以確保不論發生錯誤、失敗或其他潛在事故,都能確保資料有效性。
易用性
使用 SQL 可以輕鬆執行複雜的查詢,有了這項技術,即使是非技術人員也能瞭解如何與資料庫互動。
協同合作
多位使用者可同時操作及存取資料。內建的鎖定功能可防止系統在更新資料時同時存取資料。
內建安全防護機制
角色型的安全機制可確保資料存取權僅限於特定使用者。
資料庫正規化
關聯資料庫採用稱為「正規化」的設計技術,可降低資料備援能力,並改善資料完整性。
關聯資料庫和非關聯資料庫
關聯和非關聯資料庫 (NoSQL 資料庫) 的主要差異在於資料的儲存和整理方式。非關聯資料庫不會以規則式表格形式儲存資料。而是將資料儲存為個別且未連結的檔案,並可用於複雜的非結構化資料類型,例如文件或互動式多媒體檔案。
與關聯資料庫不同,NoSQL 資料庫採用彈性的資料模型,適合用來儲存經常變更的資料或處理各類型資料的應用程式。
相關產品和服務
Google Cloud 提供多項全代管關聯資料庫服務,可滿足您的業務需求,包括淘汰地端部署資料中心、執行軟體式服務 (SaaS) 應用程式,以及遷移核心業務系統。
我們的關聯資料庫服務讓您有更多選擇,將工作負載移至雲端的方式比以往更多。讓開發人員享有更多彈性和自由,以及有更多時間可以專心打造最優質的應用程式。