資料庫是以某種檔案結構儲存的一系列資訊表,這種檔案結構使您能夠存取這些表、選擇表中的欄、對表進行排序以及根據各種標準選擇列。資料庫通常有多個索引與這些表中的許多欄相關聯,所以我們能盡可能快地存取這些表。
以員工記錄為例,您可以設想一個含有員工姓名、地址、薪資、扣稅以及津貼等內容的表。這些內容是否應保存在一個表格中?幾乎可以肯定不應該如此。不同類別員工的薪資範圍可能沒有區別;這樣,您可以僅將員工類型儲存在員工記錄表中,而將薪資範圍儲存在另一個表中,透過類型編號與這個表關聯。
現在,幾乎所有的資料庫都是基於「第三正規化 (3NF)」創建的。這意味著通常都有相當多的表,每個表中的資訊欄都相對較少。
假設我們希望生成一個包含員工及其薪資範圍的表。我們發現,獲得這些表的查詢形式如下所示:
SELECT DISTINCTROW Employees.Name, SalaryRanges.Min,
SalaryRanges.Max FROM Employees INNER JOIN SalaryRanges
ON Employees.SalaryKey = SalaryRanges.SalaryKey
ORDER BY SalaryRanges.Min;
這種語言稱為結構化查詢語言,即 SQL,而且它是幾乎目前所有資料庫都可以使用的一種語言。SQL-92 標準被認為是一種基礎標準,而且已更新多次。
所有這些資料庫產品都支援多種相對類似的 SQL 方言。ODBC (Open Database Connectivity) 提供了廠商獨立的介面,而 JDBC 是對 ODBC API 進行的一種面向物件的封裝和重新設計,它易於學習和使用,並且真正能夠使您編寫不依賴廠商的程式碼,用以查詢和操縱資料庫。
除 Microsoft 之外,多數廠商都採用了 JDBC,並為其資料庫提供了 JDBC 驅動程式;這使您可輕鬆地真正編寫幾乎完全不依賴資料庫的程式碼。另外,JavaSoft 和 Intersolv 已開發了一種稱為 JDBC-ODBC Bridge 的產品,可使您連接還沒有直接 JDBC 驅動程式的資料庫。支援 JDBC 的所有資料庫必須至少可以支援 SQL-92 標準。這在很大程度上實現了跨資料庫和平台的可移植性。
JDBC 的類別都被歸到 java.sql 套件中,在安裝 Java JDK 1.4 時會自動安裝。若您想使用 JDBC-ODBC Bridge,驅動程式可從 Sun 的 Java 網站輕鬆找到並下載。