首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

使用 JDBC 建立資料庫存取程式完整指南:從正規化到連線實作

     編輯:Java 程式設計入門

什麼是資料庫?

資料庫是以某種檔案結構儲存的一系列資訊表,這種檔案結構使您能夠存取這些表、選擇表中的欄、對表進行排序以及根據各種標準選擇列。資料庫通常有多個索引與這些表中的許多欄相關聯,所以我們能盡可能快地存取這些表。

資料表正規化設計

以員工記錄為例,您可以設想一個含有員工姓名、地址、薪資、扣稅以及津貼等內容的表。這些內容是否應保存在一個表格中?幾乎可以肯定不應該如此。不同類別員工的薪資範圍可能沒有區別;這樣,您可以僅將員工類型儲存在員工記錄表中,而將薪資範圍儲存在另一個表中,透過類型編號與這個表關聯。

正規化三大範式

  • 第一正規化 (1NF):表中的每個儲存格應該只有一個值(永遠不可能是一個陣列)。
  • 第二正規化 (2NF):滿足 1NF,並且每一個非主鍵欄完全依賴於主鍵欄。這表示主鍵和該行中的剩餘儲存格之間是 1 對 1 的關係。
  • 第三正規化 (3NF):滿足 2NF,並且所有非主鍵欄是互相獨立的。任何一個資料欄中包含的值都不能從其他欄的資料計算得到。

現在,幾乎所有的資料庫都是基於「第三正規化 (3NF)」創建的。這意味著通常都有相當多的表,每個表中的資訊欄都相對較少。

從資料庫獲取資料:SQL 查詢實戰

假設我們希望生成一個包含員工及其薪資範圍的表。我們發現,獲得這些表的查詢形式如下所示:

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 標準被認為是一種基礎標準,而且已更新多次。

資料庫種類與 JDBC 架構

  • PC 資料庫:dBase、Borland Paradox、Microsoft Access、FoxBase
  • 資料庫伺服器:IBM DB/2、Microsoft SQL Server、Oracle、Sybase、SQLBase、XDB

所有這些資料庫產品都支援多種相對類似的 SQL 方言。ODBC (Open Database Connectivity) 提供了廠商獨立的介面,而 JDBC 是對 ODBC API 進行的一種面向物件的封裝和重新設計,它易於學習和使用,並且真正能夠使您編寫不依賴廠商的程式碼,用以查詢和操縱資料庫。

除 Microsoft 之外,多數廠商都採用了 JDBC,並為其資料庫提供了 JDBC 驅動程式;這使您可輕鬆地真正編寫幾乎完全不依賴資料庫的程式碼。另外,JavaSoft 和 Intersolv 已開發了一種稱為 JDBC-ODBC Bridge 的產品,可使您連接還沒有直接 JDBC 驅動程式的資料庫。支援 JDBC 的所有資料庫必須至少可以支援 SQL-92 標準。這在很大程度上實現了跨資料庫和平台的可移植性。

安裝與使用 JDBC

JDBC 的類別都被歸到 java.sql 套件中,在安裝 Java JDK 1.4 時會自動安裝。若您想使用 JDBC-ODBC Bridge,驅動程式可從 Sun 的 Java 網站輕鬆找到並下載。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved