資料庫入門程式.ppt.ppt
《資料庫入門程式.ppt.ppt》由会员分享,可在线阅读,更多相关《資料庫入門程式.ppt.ppt(350页珍藏版)》请在三一办公上搜索。
1、,Java系列概論資料庫入門程式Java System Concepts and Database Programming 賈蓉生 胡大源 林金池 編著,第一篇,Java資料庫環境,本書在眾多資料庫中,選定Java/Access資料庫系統,以實作方式表現資料庫之功能。Access應屬最方便且功能不輸其他者,凡有Office的電腦,開機即可使用,無需另添購軟體。Java是功能強大的物件導向語言,本身即擁有網路功能,是多數網路電玩採用的設計語言,也是多數大銀行建立網路銀行的設計語言,本書使用Java剖析資料庫之各項應用。,第一章,Java系統安裝,1-1 簡介,本系列書籍使用標準版J2SE,亦即標
2、準版開發套件(J2SE Development Kit),簡稱為jdk。讀者可於網站(http:/)下載、或使用本書隨書光碟提供之Java系統安裝程式,如何安裝、如何設定?請參考本章執行步驟。本章內容包括安裝Java 系統軟體(jdk-6.0)、設定Java環境、編輯第一個Java程式、編譯Java程式、執行類別檔案。,1-2 安裝Java 系統軟體(jdk-6.0),jdk-6.0為Java程式之系統軟體,讀者可於“http:/”免費下載昇陽(Sun)之最新版、或使用本書光碟C:BookJavaVol_4System已備妥之執行檔“jdk-6u4-windows-i586-p.exe”。,1
3、-3 設定Java環境,Java之執行式均備儲於C:Program FilesJavajdk1.6.0_04bin目錄內(如下圖)。當要編譯Java程式、或執行Java程式碼時,必須先將該程式或程式碼移置於此目錄內,才可執行,甚為不便。,1-4 編輯第一個Java程式,可儲存Java程式之編輯工具非常多,筆者認為“記事本”最為樸實,負擔輕、效率高,因此建議讀者以“記事本”為Java程式之編輯器。,第二章,第一個Java資料庫應用,2-1 簡介,我們可以關聯代數(Relation Algebra)輕易地解釋非常困難的查詢邏輯、並藉SQL資料庫語言實作執行,而Java却可流暢地驅動SQL執行各類查
4、詢邏輯。在尚未真正進入資料庫精髓之前,為了讓讀者先觸摸Java與Access之關係,本章將片段基礎介紹:建立資料庫、設定ODBC、建立資料表、輸入資料、讀取資料。,2-2 建立Access資料庫,本書使用Java/Access系統,以Access2007為範例資料庫(如要使用其他資料庫請自行按規定轉換),本節以手動於目錄C:BookJavaVol_4Programch0202_2建立資料庫Book.accdb。,2-3 設定ODBC,當資料庫建立完成後(如前節之Book.accdb),我們可立即以手動方式建立資料表(Data Tables)、輸入/讀取資料。但却無法藉由Win作業系統之應用程式
5、來建立資料表、輸入/讀取資料。如果要藉由Win作業系統之應用程式來建立資料表、輸入/讀取資料,必須先設定ODBC(Open Database Connectivity),用以連通Win作業系統與資料庫。,2-4 建立資料表,資料表(Data Relation Tabes)為儲存資料的表格,包括欄位(Field)與資料型態(Type)。本節將分別介紹:手動資料表(by hands)、Java資料表(by Java)。在查詢操作上,因手動資料表操作複雜,有些查詢邏輯不易執行,但我們可以關聯代數(Relation Algebra)輕易地解釋非常困難的查詢邏輯、並藉SQL資料庫語言實作執行,而Java
6、却可流暢地驅動SQL執行各類查詢邏輯。,2-4-2 Java建立資料表(by Java),1、設定ODBC,將資料庫與Win系統連接2、載入驅動程式sun.jdbc.odbc.JdbcOdbcDriver,執行方法為:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver):3、建立連接物件,連接資料庫,執行方法為:Connection con=DriverManager.getConnection(jdbc:odbc:xxx);其中con為連接物件,xxx為資料庫邏輯名稱。4、以連接物件之方法程序createStatement()建立敘述物件,執行方法為:Sta
7、tement stmt=con.createStatement();其中stmt為敘述物件。5、依SQL語言建立字串“create table”,其中“”為設定之資料表名稱及所屬各欄位。再以敘述物件之方法程序executeUpdate()建立資料表,執行方法為:stmt.executeUpdate(xxxxx);其中xxxxx為SQL字串。,範例01:設計檔案CreateTable02_4_2.java,其功能為解釋以Java建立資料表。,01 import java.sql.*;02 public class CreateTable02_4_2 03 public static void m
8、ain(String args)04 String JDriver=sun.jdbc.odbc.JdbcOdbcDriver;05 String connectDB=jdbc:odbc:Book02_4;06 try 07 Class.forName(JDriver);08 09 catch(java.lang.ClassNotFoundException e)10 System.out.println(ForName:+e.getMessage();11,範例01:續,12 try 13 Connection con=DriverManager.getConnection(connectDB
9、);14 Statement stmt=con.createStatement();15 String query=create table 書目_by_Java(+編號 Text(20),+書名 Text(20),+作者 Text(10),+書價 Number+);16 stmt.executeUpdate(query);17 stmt.close();18 con.close();19 20 catch(SQLException e)21 System.out.println(SQLException:+e.getMessage();22 23 24,2-5-2 Java輸入資料表(by
10、Java),當以Java對資料庫(Data Bases)之資料表(Data Tables)輸入資料時,其關鍵步驟與2-4-2節相同,唯一不同者是將項5之SQL字串“create table”改成“insert into”。,範例02:設計檔案InsertTable02_5_2.java,其功能為解釋以Java將資料輸入資料表。,01 import java.sql.*;02 public class InsertTable02_5_2 03 public static void main(String args)04 String JDriver=sun.jdbc.odbc.JdbcOdbcD
11、river;05 String connectDB=“jdbc:odbc:Book02_5”;06 try 07 Class.forName(JDriver);08 09 catch(java.lang.ClassNotFoundException e)10 System.out.println(ForName:+e.getMessage();11,範例02:續1,12 try 13 Connection con=DriverManager.getConnection(connectDB);14 Statement stmt=con.createStatement();15 String qu
12、ery1=insert into 書目_by_Java values(+001,資料庫 系統概論,賈蓉生,527);16 String query2=insert into 書目_by_Java values(+002,Java基礎入門程式,賈蓉生,442);17 String query3=insert into 書目_by_Java values(+003,Java網路入門程式,賈蓉生,476);18 String query4=insert into 書目_by_Java values(+004,Java動畫遊戲程式,賈蓉生,500);19 String query5=insert in
13、to 書目_by_Java values(+005,Java資料庫入門程式,賈蓉生,480);,範例02:續2,20 String query6=insert into 書目_by_Java values(+006,Java網站資料庫程式,賈蓉生,510);21 stmt.executeUpdate(query1);22 stmt.executeUpdate(query2);23 stmt.executeUpdate(query3);24 stmt.executeUpdate(query4);25 stmt.executeUpdate(query5);26 stmt.executeUpdate
14、(query6);27 stmt.close();28 con.close();29 30 catch(SQLException e)31 System.out.println(SQLException:+e.getMessage();32 33 34,2-6 讀取資料表,當以Java對資料庫(Data Bases)之資料表(Data Tables)讀物資料時,其關鍵步驟與2-4-2節相同,不同者有:(1)將SQL字串改成 select*from xxx,其中xxx為資料表名稱;(2)以該SQL字串建立ResultSet物件;(3)以該ResultSet物件藉while迴圈讀取資料表內的每筆資
15、料。,範例03:設計檔案PrintTable02_6.java,其功能為解釋以Java讀取資料表之內容。,01 import java.sql.*;02 public class PrintTable02_6 03 public static void main(String args)04 String JDriver=sun.jdbc.odbc.JdbcOdbcDriver;05 String connectDB=jdbc:odbc:Book02_6;06 try 07 Class.forName(JDriver);08 09 catch(java.lang.ClassNotFoundEx
16、ception e)10 System.out.println(ForName:+e.getMessage();11,範例03:續,12 try 13 Connection con=DriverManager.getConnection(connectDB);14 Statement stmt=con.createStatement();15 ResultSet rs=stmt.executeQuery(select*from 書目_by_Java);16 System.out.println(編號+t+書名+t+t+t+作者+t+書價);17 while(rs.next()18 System
17、.out.println(rs.getString(編號)+t+rs.getString(書名)+t+rs.getString(作者)+t+rs.getInt(書價);19 20 stmt.close();21 con.close();22 23 catch(SQLException e)24 System.out.println(SQLException:+e.getMessage();25 26 27,2-7 習題(Exercises),01、我們可手動作資料庫應用,為何還要藉助Java來作資料庫應用?02、設定ODBC(Open Database Connectivity)有何意義?03
18、、當以Java建立資料庫(Data Bases)之資料表(Data Tables)時,其關鍵步驟為何?04、當以Java對資料庫(Data Bases)之資料表(Data Tables)輸入資料時,其關鍵步驟為何?05、當以Java對資料庫(Data Bases)之資料表(Data Tables)讀物資料時,其關鍵步驟為何?,第二篇,Java資料庫關聯查詢,資料庫(Database)設計的重點考量為資料儲存(Data Store)與資料查詢(Data Query),儲存資料要井然有序,查詢資料要迅速有效,前者將於爾後詳細討論,本篇將專業討論“如何以Java程式使用SQL字串作迅速有效地資料查詢
19、?”。,第三章,基礎操作(Basic Operations),3-1 簡介,本章將針對現今資料庫使常用的資料錄關聯模型(Record Relational Model),在資料查詢上,作有系統地探討,以Access2007為範例資料庫、以Java為程式語言、以SQL為查詢語言,執行各類基礎查詢。,3-3 SQL查詢基礎架構(Basic Query Structure),關聯式資料庫(Relational Database)是由多個資料表(Relations)組合而成,每一資料表都有一個獨一無二的名稱,其查詢語言SQL是由三組子句(Clauses)所組成:欄位選取子句(select Clause
20、)、資料表選取子句(from Clause)、與條件子句(where Clause)。,3-5 欄位選取查詢(select Clause),關聯式資料庫(Relational Database)是由數個資料表(Relational Table)所組成,表格為資料錄(Record)形態,由數個欄位(Columns)組成。欄位與欄位間、表格與表格之間有其一定的數學關係,依照這些關係,我們可精準地執行指定之查詢。,範例04:設計Java程式Select_04.java,使用資料庫Bank03.accdb之資料表Deposit(如圖3-3-4),試請“印出欄位branch_name之各資料內容”。,0
21、1 import java.sql.*;02 public class Select_04 03 public static void main(String args)04 String JDriver=sun.jdbc.odbc.JdbcOdbcDriver;05 String connectDB=jdbc:odbc:Bank03;06 try 07 Class.forName(JDriver);08 09 catch(java.lang.ClassNotFoundException e)10 System.out.println(ForName:+e.getMessage();11,範例
22、04:續,12 try 13 Connection con=DriverManager.getConnection(connectDB);14 Statement stmt=con.createStatement();15 ResultSet rs=stmt.executeQuery(SELECT branch_name+FROM Deposit);16 System.out.println(branch_name);17 System.out.println(-);18 while(rs.next()19 System.out.println(rs.getString(branch_name
23、);20 21 stmt.close();22 con.close();23 24 catch(SQLException e)25 System.out.println(SQLException:+e.getMessage();26 27 28,範例05:參考範例04,設計Java程式Select_05.java,使用資料庫Bank03.accdb之資料表Deposit(如圖3-3-4),試請“印出欄位branch_name之各資料內容,使用distinct”。,(1)SQL查詢句設計為:SELECT distinct branch_name FROM Deposit(2)設計程式Select
24、_05.java(參考本書CD檔案)。,範例06:參考範例05,設計Java程式Select_06.java,使用資料庫Bank03.accdb之資料表Deposit(如圖3-3-4),試請“印出欄位branch_name之各資料內容,使用all”。,(1)SQL查詢句設計為:SELECT all branch_name FROM Deposit(2)設計程式Select_06.java(參考本書CD檔案)。,範例07:設計Java程式Select_07.java,使用資料庫Bank03.accdb之資料表Deposit(如圖3-3-4),試請“印出欄位branch_name、customer
25、_name之各資料內容”。,(1)SQL查詢句設計為:SELECT branch_name,customer_name FROM Deposit(2)設計程式Select_07.java(參考本書CD檔案)。,範例08:設計Java程式Select_08.java,使用資料庫Bank03.accdb之資料表Deposit(如圖3-3-4),試請“於存款額(balance)配發5%利息,印出欄位branch_name、customer_name、balance之各資料內容”。,(1)SQL查詢句設計為:SELECT branch_name,customer_name,balance*1.05 a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 資料庫入門 程式 ppt
链接地址:https://www.31ppt.com/p-2209492.html