1 / 192

Java 概論與實作 Java System Concepts 網路資料庫設計 Network Database Programming 賈蓉生 胡大源 林金池 編著

Java 概論與實作 Java System Concepts 網路資料庫設計 Network Database Programming 賈蓉生 胡大源 林金池 編著. 第一篇. Java 資料庫環境.

Télécharger la présentation

Java 概論與實作 Java System Concepts 網路資料庫設計 Network Database Programming 賈蓉生 胡大源 林金池 編著

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java概論與實作 Java System Concepts 網路資料庫設計 Network Database Programming 賈蓉生 胡大源 林金池 編著

  2. 第一篇 Java資料庫環境

  3. 在眾多資料庫中,本書選定Java/Access為範例資料庫系統,以實作方式表現網站資料庫之功能。Access應屬最方便且功能完整之資料庫,凡有Office的電腦,開機即可使用,無需再另添購軟體。Java是功能強大的物件導向語言,本身即擁有網路功能,是多數網路電玩採用的設計語言,也是多數大銀行建立網路銀行的設計語言,本書使用Java,網路遠端操作資料庫之各項應用。在眾多資料庫中,本書選定Java/Access為範例資料庫系統,以實作方式表現網站資料庫之功能。Access應屬最方便且功能完整之資料庫,凡有Office的電腦,開機即可使用,無需再另添購軟體。Java是功能強大的物件導向語言,本身即擁有網路功能,是多數網路電玩採用的設計語言,也是多數大銀行建立網路銀行的設計語言,本書使用Java,網路遠端操作資料庫之各項應用。

  4. 第一章 Java系統安裝

  5. 1-1 簡介 • 本系列叢書使用標準版J2SE,亦即標準版開發套件(J2SE Development Kit),簡稱為jdk。讀者可於網站(http://java.sun.com) 下載、或使用本書隨書光碟提供之Java系統安裝程式,如何安裝、如何設定?請參考本章執行步驟。 • 本章內容包括安裝Java 系統軟體(jdk-6.0)、設定Java環境、編輯第一個Java程式、編譯Java程式、執行類別檔案。

  6. 1-2 安裝Java 系統軟體(jdk-6.0) • jdk-6.0為Java程式之系統軟體,讀者可於 “http://java.sun.com” 免費下載、或使用本書光碟C:\BookJavaVol_5\System已備妥之執行檔 “jdk-6u6-windows-i586-p.exe”。

  7. 1-3 設定Java環境 • Java之所有系統執行式均備儲於C:\Program Files\Java\jdk1.6.0_06\bin目錄內。當要編譯Java程式、或執行Java程式碼時,必須先將該程式或程式碼移置於此目錄內,才可執行,甚為不便。 • 為了避免必須將程式碼移置至C:\Program Files\Java\ jdk1.6.0_06\bin目錄內之不便,讓任一目錄內之Java程式、或Java程式碼均可在自己目錄內執行,我們應設定Java執行路徑之環境。

  8. 1-4 編輯第一個Java程式 • 可儲存Java程式之編輯工具非常多,筆者認為 “記事本” 最為樸實,負擔輕、效率高,因此建議讀者以 “記事本” 為Java程式之編輯器。 • 1 class MyfirstJava{ • 2 public static void main(String[ ] args){ • 3 System.out.println("My first Java program"); • 4 } • 5 }

  9. 第二章 第一個Java網站資料庫

  10. 2-1 簡介 • 在尚未真正進入基礎網站資料庫精髓之前,為了讓讀者先觸摸Java與Access之網站資料庫關係,本章將作片段基礎介紹:建立資料庫、設定ODBC、網路輸入/讀取資料。

  11. 2-2 建立Access資料庫(Establish Database) • 本書使用Java/Access系統,以Access2007為範例資料庫(如要使用其他資料庫,請自行按規定轉換),本節以手動於目錄C:\BookJavaVol_5\Program\ch02建立範例資料庫Book.accdb。

  12. 2-3 建立資料表(Establish Table) • 延續前節資料庫Book.accdb, • 於目錄C:\BookJavaVol_5\Program\ch02、開啟資料庫Book.accdb \ 建立資料表。

  13. 2-4 設定ODBC • 當資料庫建立完成後(如前節之Book.accdb),我們雖可立即以手動方式輸入/讀取資料。但却無法藉由Win作業系統,以應用程式輸入/讀取資料。 • 為了要藉由Win作業系統之應用程式輸入/讀取資料,必須先設定ODBC(Open Database Connectivity),用以連通Win作業系統與資料庫。

  14. 2-5 遠端輸入(Network Writing) • 設計Server/Client程式,於Client端鍵入指令,經由網路對Server端之資料庫作資料輸入。本章用意是請讀者體驗第一個Java網站資料庫之資料輸入,有關設計細節將於爾後各章節另詳細介紹。 • 參考範例01

  15. 2-6 遠端讀取(Network Reading) • 設計Server/Client程式,於Client端鍵入指令,經由網路對Server端之資料庫作資料讀取。本章用意是請讀者體驗第一個Java網站資料庫之資料讀取,有關設計細節將於爾後各章另詳細介紹。 • 參考範例02

  16. 第二篇 網路串流(Data Stream in Network)

  17. 人說Java語言有許多其他語言所不能及的優點,網路資料串流就是其中最大優點之一,不需要如其他語言大張旗鼓地先架設網站平台,然後才可執行網路資料傳遞,Java只需於程式中寫幾列程式碼,即可執行網路資料傳遞。人說Java語言有許多其他語言所不能及的優點,網路資料串流就是其中最大優點之一,不需要如其他語言大張旗鼓地先架設網站平台,然後才可執行網路資料傳遞,Java只需於程式中寫幾列程式碼,即可執行網路資料傳遞。 • 有關Java在網路上之應用,讀者可參考本系列叢書第二冊 “Java網路入門程式, 碁峰EL0049”,本篇將以Server / Client為兩組端點、設計Java網路程式,觀察如何將資料納入網路串流,傳輸於兩端點之間。

  18. 第三章 網路結構概念 (Network Structure Concepts)

  19. 3-1 簡介 • 網路系統 (Network System) 是多個處理器(Processors) 的組合,各處理器散置於各不同地區,彼此間互不共享記憶體,各有其自己的記憶體(Memory),以地區網路(LAN Local Area Network) 或廣域網路(WAN Wide Area Network) 互通訊息。本章將探討網路系統結構之概念。

  20. 3-2 網路意義(Background) • 網路系統(Network System) 是多個電腦處理器(Processors) 的組合,從小型的手持微電腦、個人電腦、到大型的工作站,散置於各不同地區(Sites),由網路互相連通、互相支援。

  21. 3-3 節點連接(Topology) • 網路系統是將散置於各處的處理器(Processors) 以網路連接,互通訊息。其中有許多連接方式,各有其優缺點,我們考量的重點有: • (1) 實體安裝代價(Installation Cost):連接線愈多,實體代 • 價愈高。 • (2) 通訊時間代價(Communication Cost):連接線愈多,兩 • 節點連通途徑愈多,有較多最短途徑的選擇,節省通 • 訊時間,致通訊時間代價降低。 • (3) 執行方便考量(Availability):連接線愈多,兩節點連通 • 途徑愈多,有較多選擇途徑。同時如果有一連線損壞, • 也有較多機會以其他途徑取代之。

  22. 3-4 網路通訊(Communication) • 當探討網路通訊,我們須考量:(1) 名稱解析(Naming Resolution),各節點之行程(Processes) 如何在廣大的網域中互相定址對方?(2) 路由策略(Routing Strategies),如何在網域中選擇傳遞資料之途徑?(3) 連接策略(Connection Strategies),網路中如何安排多個行程同時傳遞資料?(4) 衝突避免(Contention),當發生網路上爭議的問題時,如何解決?

  23. 3-5 網路通訊協定(Communication Protocols) • 網路上電腦節點眾多且資料格式不盡相同,強迫互相傳遞資料,將無法順利執行。我們必須設定一個各節點都可接受的協定(Protocol),讓所有節點都依協定的要求遂行資料傳遞,如此才可順利執行。 • 網路通訊協定(Communication Protocols) 是以多階層(Multiple Layers) 方式設計,網域網路採用國際標準組織(ISO International Standards Organization) 所提出的協定(Protocol)

  24. 3-6 網路故障處理(Robustness) • 網路節點眾多,發生故障的機會更是稀鬆平常,如連線故障(Failure of Link)、電腦節點故障(Failure of Site)、資料遺失(Loss of Message) 等。 • 為了維護網路隨時保持良好狀態,網路應有能力執行:偵測故障(Detect Failure)、重組系統(Reconfiguration)、與修補故障(Recovery from Failure)。

  25. 3-7 網站資料庫處理(Database in Network) • 1、於Server端建立資料庫,設定ODBC連接Win作業系統; • 2、於Server端設計網站程式:(1)建立網站;(2)建立連接平台,等待Client端來連接;(3)建立輸入/輸出串流,與Client端傳遞資料;(4)經由Win作業系統連通資料庫。 • 3、於Client端設計網路程式:(1)建立連接平台,連接Server端;(2)建立輸入/輸出串流,將操作指令傳遞至Server端,同時接收Server端回傳之訊息。

  26. 第四章 網路連接(Server/Client Connection)

  27. 4-1 簡介 • 本章將介紹Server / Client端點如何作網路連接。設計Server端網路程式,等待被Client端連接;設計Client端網路程式,連接Server端。 • Server端以設定之執行埠(port) 建置網站平台(ServerSocket),再以網站平台建立連接平台(Socket),當Client端有訊息來連接時,以連接平台(Socket) 之接收功能接受連接,並捉取Client端的網址(IP) 印出之。Client端以Server之網址(IP)、及設定之執行埠(port) 建立網路連接平台(Socket,由Client端連接Server端。

  28. 4-2 ServerSocket Class • java.net.ServerSocket繼承自Object,此類別產生的新物件,可依本機之網址(IP)、與設定之執行埠(port) 建立Server端網站平台(ServerSocket),等待Client端來連接。其中執行埠(port) 不得設定已被使用者(參考附錄A),否則將無法成功建立。 • 參考範例03

  29. 4-3 InetAddress Class • java.net.InetAddress繼承自Object,此類別可依指定電腦之名稱或IP,建立一個網路位置,使用在封包(Datagram Packet) 或網路平台(Socket) 之類別內。此類別無建構子,故無法以建構子產生新物件,但可以類別方法程序回傳一個物件(如範例04之列06)。

  30. 4-4 Socket Class • java.net.Socket繼承自Object,此類別產生的新物件,可依網站之IP和port,與Server網站連接,進而以網路串流執行遠端讀取或寫入。 • 參考範例05

  31. 4-5 指令參數與Server/Client連接 • 指令參數是位於執行指令後端之參數。於前節、於程式內固定設置IP與port,一旦完成編譯後,即無法改變,極不方便。如果改以指令參數(Command Parameters)就可機動設定IP與port,我們可將完成之編譯碼,使用於任何Server/Client之連接,這也是正式應用之設計方式。 • 參考範例06

  32. 第五章 訊息傳遞(Message Transition)

  33. 5-1 簡介 • 當Server端與Client端連接後,彼此以網路串流將資料相互傳遞。本章介紹如何於Client端以指令參數輸入訊息,交由網路輸出串流物件,傳送至Server端印出,再讀取Server端設定之訊息,回傳至Client端印出,完成以網路串流相互傳遞訊息。

  34. 5-2 DataInputStream Class • java.io.DataInptStream繼承(extends) 自FilterInputStream→InputStream→Object,且承作(implements) 自DataInput。此類別為串流物件,可用於讀取網路平台之輸入串流。

  35. 5-3 DataOutputStream Class • java.io.DataOutptStream繼承(extends) 自FilterOutputStream→ OutputStream→ Object,承作(implements) 自DataOutput。此類別為串流物件,可用於從網路平台輸出串流。

  36. 5-4 PrintStream Class • java.io.PrintStream繼承(extends) 自FilterOutputStream→ OutputStream→ Object。此類別為串流物件,可用於從網路平台輸出串流,與DataOutputStream有相同的功能,使用環境則更為普遍。

  37. 5-5 訊息傳遞操作(Message Transition) • 以類別DataInputStream、PrintStream設計輸入/輸出網路串流,設計Server/Client範例程式07,將Client端之參數訊息傳遞至Server端,同時將Server端之即定訊息回傳至Client端。 • 參考範例07

  38. 為了傳遞中文訊息,我們改以DataOutputStream建立輸出串流物件,以其方法程序writeUTF() 網路輸出中英文字串訊息、以readUTF() 讀取網路中英文字串訊息。 • 參考範例08

  39. 第三篇 資料庫建立(Establish Database)

  40. 除了由手動建立資料庫框架之外,其餘如資料表建立(Tables)、檢視表建立(Views)、資料輸入(Input)、資料新增(Insert)、資料更新(Update) 資料刪除(Delete)等,均可藉由Java程式在網路上作遠端操作。 • 筆者強烈推薦讀者參考本系列叢書第四冊 “資料庫入門程式, 碁峰EL0051”,先行了解各類型問題的操作指令。本篇將以Server/Client網路連接方式,由Client端鍵入指令,遠端操作Server端之資料庫。

  41. 第六章 資料表建立(Establish Tables)

  42. 6-1 簡介 • 當手動建立資料庫以後,我們即可利用網路,遠端操作該資料庫。資料庫建立於Server端,指令由Client端鍵入,執行操作。 • 本章將以範例實作,介紹如何遠端操作資料表建立(Tables Establish)、限制設定(Constraints)、欄位變更(Fields Alter)、資料表刪除(Tables Delete)。

  43. 6-2資料型態(Datatype)

  44. 6-3資料表建立(Tables Establish) • 於Server端,參考2-2節手動建立資料庫(Database),參考2-4節設定ODBC,使資料庫與Win作業系統(Operating System) 連通;設計Server端應用程式(Application Program),連通Win作業系統與資料庫;設計Client端操作程式,鍵入指令經由網路遠端操作資料庫,建立資料表。 • 參考範例09

  45. 6-4 限制設定(Constraints) • 建立資料表時,我們可對各欄位之內容作一些限制(Constraints),常用的限制有:主索引欄位設定、必須資料欄位設定、獨一無二欄位設定。 • SQL語言提供指令 “PRIMARY KEY” 設定主索引欄位;提供指令 “NOT NULL” 設定必須資料欄位;提供指令 “UNIQUE” 設定獨一無二欄位。 • 參考範例10

  46. 6-5資料表變更(Alter Table) • 資料表變更常用於資料型態變更(Alter Data Type)、與欄位變更(Alter Field),前者為改變資料之型態或長度;後者為增加欄位或刪除欄位。

  47. 6-5-1資料型態變更(Alter Data Type) • SQL語言提供指令 “ALTER TABLE tablename ALTER COLUMN field type(n)” 變更資料之型態(type) 或長度(n)。 • 參考範例11

  48. 6-5-2 欄位增刪(Add/Drop Fields) • SQL語言提供指令 “ALTER TABLE tablename ADD COLUMN field type(n)” 增加新欄位;提供指令 “ALTER TABLE tablename DROP COLUMN field” 刪除欄位。 • 參考範例13

  49. 6-6 資料表刪除(Drop Table) • 於本章前數節、我們探討到如何以Java建立資料表、變更資料表,本節將延續探討刪除資料表。SQL語言提供指令 “DROP TABLE tablename” 刪除資料表。 • 參考範例15

  50. 第七章 資料變更(Data Modification)

More Related