什麼是關聯式資料庫?
關聯式資料庫是一種資料庫,可儲存及整理具有定義關聯的資料點,以供快速存取。在關聯式資料庫中,資料會整理成資料表,保存每個實體的相關資訊,並透過資料列和資料行呈現預先定義的類別。以這種方式來結構化資料可讓存取有效率又有彈性,因此關聯式資料庫最為常見。關聯式資料庫也是專為了解結構化查詢語言 (SQL) 而建置,這是一種標準化的程式設計語言,用於儲存、操作和擷取資料。SQL 中有用於建立資料表的內建語言,稱為資料定義語言 (DDL);也有用於操作資料的語言,稱為資料操作語言 (DML)。
關聯是什麼意思? 關聯代表指出或構成關聯。對資料庫而言,關聯的定義方式主要套用於資料本身。關聯式資料集之間會有預先定義的關聯。舉例來說,包含公司客戶資訊的資料集可能也會包含連結到每個帳戶的個人交易資料。關聯式資料庫著重於儲存的資料元素之間的關聯。
關聯式資料庫的特性:
-
關聯式資料庫包含多個實體
-
標準查詢語言 (SQL) 是關聯式資料庫的標準介面
-
關聯式資料庫已高度結構化,並使用結構描述 (邏輯和實體) 來呈現
-
關聯式資料庫可減少資料備援
關聯式資料庫如何運作
關聯式資料庫通常會使用資料表,其中將資料按資料列 (包含實體) 和資料行 (包含實體屬性) 整理。此流程稱為正規化。每一資料列都有唯一識別碼或索引鍵,可將資料表聯繫在一起,藉此建立關聯。查詢關聯式資料庫時,系統會使用該索引鍵,尋找不同資料集之間的關聯資料。舉例來說,技術支援中心可能想要透過問題類型、問題解決時間和客戶滿意度來追蹤客戶互動。在此資料庫中,用來建立關聯並讓資料表結構正常運作的功能就是統一客戶識別碼。
關聯式資料庫的範例
凡是資料點彼此關聯,且必須以一致、安全的規則式方法管理的資訊需求,關聯式資料庫都非常實用。這就是關聯式資料庫最受企業和公司歡迎的原因。當企業想要從自己的資料中提取深入解析時,他們會仰賴關聯式資料庫來產生實用的分析。許多企業都是使用關聯式資料庫來產生可以追蹤庫存、財務、銷售或進行未來預測的報告。
關聯式資料庫中的資料會以什麼方式整理? 關聯式資料庫中的資料會儲存在具有關聯的資料表中,且可進行搜尋和擷取。在關聯式資料庫中,資料庫結構會定義如何以邏輯和實體方式整理資料。
關聯式資料庫具有所謂的「一致性模式」或「完整性」,以四個準則為基礎:不可部分完成性 (Atomicity)、一致性 (Consistency)、隔離性 (Isolation) 與耐用性 (Durability) (簡稱為 ACID)。以下是每個 ACID 資料庫屬性的值:
- 不可部分完成性會定義組成完整交易的元素。
- 一致性會定義規則以維持交易後的資料完整性。
- 隔離性會讓其他人無法看到交易成效,以免他們彼此競爭。
- 耐用性會確保資料變更會在每次認可交易後成為永久變更。
這些準則讓關聯式資料庫在需要高精確度的應用程式中成為實用的工具,例如金融和零售交易,又稱為線上交易處理 (OLTP)。從餘額查詢到帳戶往來轉帳,金融機構都仰賴資料庫來追蹤大量客戶資料。關聯式資料庫對銀行業而言十分理想,因為它專門用來處理大量客戶和頻繁地交易資料變更,且擁有快速的回應時間。
關聯式資料庫的範例包括 SQL Server、Azure SQL 受控執行個體、Azure SQL Database、MySQL、PostgreSQL 和 MariaDB。
在這個 Microsoft Learn 教學課程中,探索基礎關聯式資料概念。
什麼是 MySQL 關聯式資料庫?
My 結構化查詢語言 (MySQL) 是常見的開放原始碼 SQL 關聯式資料庫,可執行所有基本 SQL 命令,例如寫入和查詢資料。MySQL 是可靠、穩定且安全的資料庫管理系統 (DBMS),由於可支援大部分的主流程式設計語言和通訊協定,因此受到廣泛採用。事實上,MySQL 十分強固,足以做為許多大型組織的主要資料存放區。MySQL 也適合做為軟體、硬體和設備的內嵌資料庫。
一般而言,MySQL 關聯式資料庫包含經過強化且富有彈性的安全性功能,例如主機驗證和密碼加密流量。Web 開發人員通常偏好使用 MySQL,因為它易於使用且具備生產力功能,例如可更新的檢視、預存程序,以及觸發程序 (當資料庫伺服器中發生特定動作時會執行的特殊程序)。MySQL 是熱門的電子商務平台交易引擎,因為它擅長管理交易、客戶設定檔和產品庫存資訊等事物。MySQL 的設計旨在與其他系統高度相容,另外也支援虛擬環境 (例如雲端平台) 中的部署。
什麼是關聯式資料庫管理系統?
關聯式資料庫管理系統能以可調整的方式協助控管資料。關聯式資料庫是專為管理大量企業關鍵客戶資訊所設計。然而,隨著資料庫中的資料逐漸增加且日益複雜,讓資料保持井然有序、易於存取且安全無虞變得更為困難。這就是資料庫管理系統 (DBMS) 派上用場的時候,它可以為關聯式資料表新增一層管理工具。就像各種資料庫結構一樣,不同的管理系統提供不同層級的組織、可擴縮性和運用方式。當系統管理員處理即時收到的大量結構化與非結構化資料時,關聯式資料庫管理系統可協助他們分析並彙總資料,以找出預先定義的關聯。透過 RDBMS 控管資料可為企業創造最高的價值,因為它可以更妥善管理用於多個應用程式或位於多個位置的資料。
RDBMS 使用可在使用者、應用程式和資料庫間提供一致介面的軟體,讓資料使用者可以更輕鬆地進行瀏覽。這也對處理巨量資料特別有效,因為其資料量必須具備這樣的一致性,使用者才能加入查詢。根據您的資料所在位置、所用的結構類型,以及您計劃的擴縮方式選擇 DBMS。
什麼是關聯式資料庫模型?
關聯式資料庫模型通常已高度結構化,且了解 SQL 程式設計語言。許多資料庫都使用關聯式模型,因為它們旨在整理資料並識別重要資料點之間的關聯,以便更輕鬆地排序和尋找資訊。大部分的關聯式模型會遵循傳統資料行和資料列型的資料表結構,藉此提供有效、直覺式且有彈性的結構化資料儲存方式。關聯式模型也能解決資料庫中存在多個任意資料結構的問題。
關聯式資料庫模型的範圍小至桌面系統,大至雲端式系統。它們使用 SQL 資料庫,也可處理各項要求與更新的 SQL 陳述式。關聯式模型是由邏輯資料結構 (資料表、索引和檢視) 定義,並與實體記憶體結構 (實體檔案) 分開保存。關聯式資料庫模型能維持不同應用程式和資料庫副本 (又稱為執行個體) 之間的資料完整性,因此具有資料一致性的特徵。藉由關聯式模型資料庫,同一資料庫的多個執行個體一律可擁有相同的資料。
專為雲端設計的關聯式資料庫會自動依高可用性進行設置,這代表資料會在多個分別位於不同可用性區域的成員上複製或建立副本。這樣一來,即使單一資料中心停機,也可繼續存取資料。
巨量資料和關聯式資料庫
傳統關聯式資料庫專用於處理大量結構化資料。這讓關聯式資料庫特別適合結構化的巨量資料,因為其仰賴 SQL 且可運用資料庫管理系統控管資料。然而,巨量資料擁有更大量且更複雜的資料集,增加了更多變化,這表示資料結構化的情況逐漸變少,而來自新來源的資料變多。非關聯式資料庫 (通常又稱為 NoSQL 資料庫) 通常就會在此時派上用場,它能以不同於關聯式 (SQL) 資料庫處理資料列和資料表的方式,處理大量快速變化的非結構化資料。