即使你的公司仍然相對較小型,資料庫的成長可能已經超出開始時所訂的範圍。當這種情況發生時,新的應用程式將與更大型、更強大的資料庫連接。同時,原本的資料庫仍將在業務活動中(減少)扮演一個角色。最終,你需要管理各種資料庫,而每個資料庫都有自己的功能、專用語法和連線通訊協定。
管理多個資料庫需要使用多個用戶端應用程式,或找到一個可以容納你使用的所有資料庫的應用程式。其中一個工具是 Navicat Premium。它不僅支援大多數主要的資料庫管理系統(DBMS),而且它是可以同時連線至所有這些系統的少數工具之一!
在本篇文章中,我們將研究管理多個資料庫的一些挑戰,並提供如何使用 Navicat Premium 克服這些挑戰的一些實際範例。
連線至多個資料庫
建立與多個資料庫的連線並非易事,因為每個資料庫產品都有自己的連線參數。例如,某些資料庫需要預設資料庫,而其他資料庫則不需要。Navicat 透過為每種資料庫類型提供一致的「連線」對話方塊來撫平這些差異,螢幕之間只有一些微小的變化。以下是 Windows 上 MySQL 的「新增連線」對話方塊和 macOS 上 SQL Server 的「新增連線」對話方塊的比較:
如需有關連線至多個資料庫的更多資訊,請參閱一篇最近的文章。
查詢多個資料庫
在 SQL 查詢方面,大多數 DBMS 支援一組標準化的 SQL 語句和函式。除此之外,許多資料庫供應商試圖透過包含一組額外的擴充 SQL 功能來將其產品區分開來。例如,樞紐分析表是一個統計資料表,它摘要(例如資料庫、試算表或商業智能程式中)一個更大量資料表的資料。此摘要可能包括總和、平均值或其他統計資訊,樞紐分析表以有意義的方式將這些資訊組合在一起。
對於樞紐分析表的資料庫支援在各 DBMS 之間差異很大,如下所述:
- PostgreSQL 是一種物入關聯式資料庫管理系統,允許使用 tablefunc 模組建立樞紐分析表。
- MariaDB 是一個 MySQL 分支,允許使用 CONNECT儲存引擎的樞紐分析表。
- Microsoft Access 支援名為「交叉資料表」查詢的樞紐分析查詢。
- Oracle 資料庫和 SQL Server 支援 PIVOT 作業。
- 一些不直接支援樞紐分析功能的受歡迎的資料庫,例如 SQLite,通常可以使用內嵌函式、動態 SQL 或子查詢來模擬樞紐分析功能。
在 Navicat 中,你可以使用一個語句查詢多個資料庫,只要你可以用兩個通用欄位聯結各個資料表,並且查詢中所有資料庫都支援該語法:
這裡有一篇關於查詢多個資料庫的文章。
總結
在今天的文章中,我們研究了管理多個資料庫的一些挑戰,並回顧了如何使用 Navicat Premium 克服這些挑戰的一些實際範例。
Navicat Premium 適用於 Windows、macOS 和 Linux 作業系統,並支援 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 資料庫。它還與 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、Google Cloud 和 MongoDB Atlas 等雲端資料庫相容。今天下載並試用吧!