2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  畢業(yè)設計(論文)</b></p><p>  基于JAVA的郴州市的公交查詢系統(tǒng)的設計與實現(xiàn)</p><p>  姓   名 </p><p>  系 別、 專 業(yè) 計算機科學系 網(wǎng)絡工程專業(yè) </p>&l

2、t;p>  導 師 姓 名、職 稱 講師 </p><p>  完 成 時 間 2012年 3 月 2日 </p><p><b>  目 錄</b></p><p><b>  摘   要I</b><

3、;/p><p>  ABSTRACTII</p><p><b>  1  緒  論1</b></p><p>  1.1 數(shù)據(jù)庫技術1</p><p>  1.1.1 數(shù)據(jù)庫體系結構1</p><p>  1.1.2 數(shù)據(jù)庫管理信息系統(tǒng)(DBMS)1

4、</p><p>  1.2 公交查詢系統(tǒng)2</p><p>  1.2.1 系統(tǒng)功能2</p><p>  1.2.2系統(tǒng)運行環(huán)境2</p><p>  1.2.4 系統(tǒng)開發(fā)工具2</p><p>  1.2.4現(xiàn)狀與前景2</p><p>  1.3 本文所作的

5、工作3</p><p>  2 基于Eclispe平臺下的開發(fā)技術4</p><p>  2.1 Java語言介紹4</p><p>  2.1.1 Java 語言簡介4</p><p>  2.1.2 Java技術平臺簡介7</p><p>  2.1.3 Java 程序框架7</p>

6、;<p>  2.1.4 Java 優(yōu)點8</p><p>  2.1.4 J2EE技術簡介8</p><p>  2.2 JSP技術介紹8</p><p>  2.2.1 JSP與ASP的簡單比較8</p><p>  2.2.2 JSP運行環(huán)境9</p><p>  2.2.3 JSP頁面示

7、例9</p><p>  2.3 B/S結構介紹12</p><p>  2.3.1 Java程序框架13</p><p>  2.3.2 B/S架構具備極大的優(yōu)越性13</p><p>  2.4 J2EE所運用到的數(shù)據(jù)庫技術14</p><p>  2.4.1關系模型的基本概念14</p>

8、<p>  2.4.2關系型數(shù)據(jù)庫16</p><p>  2.4.3關系數(shù)據(jù)語言17</p><p>  2.5 SQL語言介紹18</p><p>  2.5.1 SQL的組成18</p><p>  2.5.2 SQL的數(shù)據(jù)查詢19</p><p>  2.5.3 SQL的數(shù)據(jù)更新19&l

9、t;/p><p>  3公交查詢系統(tǒng)設計分析21</p><p>  3.1應用需求分析21</p><p>  3.2 系統(tǒng)功能模塊劃分21</p><p>  3.3 系統(tǒng)數(shù)據(jù)庫設計24</p><p>  3.3.1概念設計24</p><p>  3.3.2 邏輯設計2

10、6</p><p>  3.4 本章小結28</p><p>  4  公交查詢系統(tǒng)設計分析29</p><p>  4.1 查詢模塊的功能實現(xiàn)29</p><p>  4.2 管理更新的功能實現(xiàn)31</p><p>  4.3 公交線路管理33</p&

11、gt;<p>  4.4 本章小結35</p><p><b>  5總結35</b></p><p><b>  參考文獻35</b></p><p><b>  致 謝37</b></p><p><b>  摘 

12、60; 要</b></p><p>  如今計算機網(wǎng)絡發(fā)展非常迅速,時間的重要性對于人們來說不言而喻,人們出行越來越注重時間的節(jié)約,城市公交已經(jīng)成為出行的一種主要的方式,本文結合公交運行的實際來對公交查詢信息系統(tǒng)進行可行性研究,通過詳實的問題定義與需求分析并且進行了合理的設計,提出了在B/S模式下的三層體系結構,應用了當前最流行的Eclispe開發(fā)環(huán)境,后臺采用了以目前最穩(wěn)定的SQL Server20

13、05數(shù)據(jù)庫為開發(fā)平臺。該系統(tǒng)可以幫助查詢人員找到能最快到達目的地,并且節(jié)約費用。通過瀏覽器查詢,通過計算機網(wǎng)絡全面聯(lián)網(wǎng),實現(xiàn)中心控制、自動更新、更多的查詢方式、和GIS系統(tǒng)的互聯(lián)互通等等更多更強大的功能。從這方面來說,此系統(tǒng)具有美好的應用前景。</p><p>  關鍵詞:管理信息系統(tǒng);B/S結構;數(shù)據(jù)庫;WEB服務器;JSP</p><p><b>  ABSTRACT<

14、/b></p><p>  Now computer network development very quickly,The importance of time for people to self-evident,People pay more and more attention to the travel time saving,City bus travel has become one of

15、the main way,Combining with the actual operation of the bus to query information system of public transport for feasibility study,Through detailed problem definition and demand analysis and the reasonable design,Put forw

16、ard the B/S model with three layers of the system structure, the application of the most </p><p>  Key words: the management information system; The B/S structure; Database; WEB server. JSP.</p><p

17、><b>  1  緒  論</b></p><p>  數(shù)據(jù)庫技術作為數(shù)據(jù)管理技術,是計算機軟件領域的一個重要分支,產(chǎn)生于60年代末。現(xiàn)已形成相當規(guī)模的理論體系和實用技術。優(yōu)秀的數(shù)據(jù)庫設計是應用成功的基石。萬萬丈高樓平地起,數(shù)據(jù)庫設計如同高樓的基石,是開發(fā)高品質應用的前提。</p><p><b>  1.1 數(shù)據(jù)庫技術</

18、b></p><p>  1.1.1 數(shù)據(jù)庫體系結構</p><p>  數(shù)據(jù)的體系結構分成三級:內部級(Internal),概念級(Conceptual)和外部級(External)。這個三級結構有時也稱為“三級模式結構”。1 外部級:最接近用戶,是單個用戶所能看到的數(shù)據(jù)特性。單個用戶使用的數(shù)據(jù)視圖的描述稱為“外模式”。2 概念級:涉及到所有

19、用戶的數(shù)據(jù)定義、是全局的數(shù)據(jù)視圖。全局視圖的描述稱為“概念模式”。3 內部級:最接近于物理存儲設備,涉及到實際數(shù)據(jù)存儲的結構物理存儲數(shù)據(jù)視圖的描述稱為“內模式”。數(shù)據(jù)庫的三級模式結構是數(shù)據(jù)的三個抽象級別。它把數(shù)據(jù)的具體組織留給DBMS去做,用戶只要抽象地處理數(shù)據(jù),而不必關心數(shù)據(jù)在計算機中的表示和存儲,這樣就減輕了用戶使用系統(tǒng)的負擔。</p><p>  1.1.

20、2 數(shù)據(jù)庫管理信息系統(tǒng)(DBMS)</p><p>  數(shù)據(jù)庫管理系統(tǒng)(DBMS)是指數(shù)據(jù)庫系統(tǒng)中管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫系統(tǒng)的核心組成部分。對數(shù)據(jù)庫的一切操作,包括定義、查詢、更新及各種控制,都是通過DBMS進行的。在不同的計算機系統(tǒng)中,由于缺乏統(tǒng)一的標準,即使同種數(shù)據(jù)模型的DBMS,它們在用戶接口、系統(tǒng)功能方面也常常是不相同的。用戶對數(shù)據(jù)庫進行操作,是

21、由DBMS把操作從應用程序帶到外部級、概念級、再導向內部級,進而操作存儲器中的數(shù)據(jù)。DBMS的主要目標,是使數(shù)據(jù)作為一種可管理的資源處理。DBMS的主要功能為:1 數(shù)據(jù)庫定義功能:DBMS提供數(shù)據(jù)定義語言(DDL)定義數(shù)據(jù)庫的三級結構,包括外模式、概念模式、內模式及基相互之間的映象,定義數(shù)據(jù)的完整性、安全控制等約束。因此,在DBMS中應包括DDL的編譯程序。2

22、 數(shù)據(jù)庫的操縱功能:DBMS提供數(shù)據(jù)操縱語言(DML)實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的操作?;镜臄?shù)據(jù)操作分成兩類四種:檢索(查詢)、更新(插入、刪除、修改)3 數(shù)據(jù)庫的保護功能:數(shù)據(jù)庫中的數(shù)據(jù)</p><p>  4 數(shù)據(jù)庫的恢復:在數(shù)據(jù)庫被破壞或數(shù)據(jù)不正確時,系統(tǒng)有能力把數(shù)據(jù)庫恢復到正確的狀態(tài)。5 數(shù)據(jù)庫的并發(fā)控制:DBMS的并發(fā)控制子系統(tǒng)能防止錯誤發(fā)

23、生,正確處理好多用戶、多任務環(huán)境下的并發(fā)操作。6 數(shù)據(jù)庫的完整性控制:保證數(shù)據(jù)庫中數(shù)據(jù)及語義的正確性和有效性,防止任何對數(shù)據(jù)造成錯誤的操作。7 數(shù)據(jù)庫的安全性控制:防止未經(jīng)授權的用戶蓄謀或無意地存取數(shù)據(jù)庫中的數(shù)據(jù),以免數(shù)據(jù)的泄露、更改或破壞。8 數(shù)據(jù)庫的存儲管理:把各種DML語句轉換成低層的文件系統(tǒng)命令,起到數(shù)據(jù)的存儲、檢索和更新的作用。9 數(shù)

24、據(jù)庫的維護功能:它有許多實用程序提供給數(shù)據(jù)庫管理員:</p><p>  數(shù)據(jù)裝載程序備份程序文件重組織程序性能監(jiān)控程序10 數(shù)據(jù)字典:數(shù)據(jù)庫系統(tǒng)中存放三級結構定義的數(shù)據(jù)庫稱為數(shù)據(jù)字典(DD)。對數(shù)據(jù)庫的操作都要通過訪問DD才能實現(xiàn),通常DD中還存放數(shù)據(jù)庫運行時的統(tǒng)計信息。</p

25、><p>  1.2 公交查詢系統(tǒng) </p><p>  1.2.1 系統(tǒng)功能</p><p>  1 基于瀏覽器(B/S模式)的公交線路分類查詢;</p><p>  2 數(shù)據(jù)的錄入、修改、添加、刪除。</p><p>  1.2.2系統(tǒng)運行環(huán)境

26、該系統(tǒng)采用Browser/Server模式進行設計: 在服務器上運行Web發(fā)布服務器、數(shù)據(jù)庫程序,服務器操作系統(tǒng)為WindowsNT/2000/XP/2003 server,客戶機操作為Windows9×/ NT/2000/XP/2003,其上運行瀏覽器程序,服務器和客戶機可為同一設備。</p><p>  1.2.4 系統(tǒng)開發(fā)工具

27、該系統(tǒng)采用JDK Java環(huán)境進行開發(fā),數(shù)據(jù)庫服務器為MySQL,WEB發(fā)布服務器為Tomcat Server;客戶端使用瀏覽器運行程序,整個系統(tǒng)調試成功。</p><p>  1.2.4現(xiàn)狀與前景 </p><p>  公交查詢系統(tǒng)現(xiàn)狀分析:鑒于中國目前的經(jīng)濟發(fā)展狀況,中國人出行還是以公交車為主,所以每個城市的公交系統(tǒng)都比較龐大發(fā)達。公交查詢系統(tǒng)是近兩年出現(xiàn)的新生事物,每

28、個城市的發(fā)展狀況也是良莠不齊。目前的公交查詢系統(tǒng),基本上具備一下功能:采用車站站點查詢、車次查詢、路線分析查詢三種查詢形式,不僅能夠查詢到各條線路的起停站點,同時還能夠分析出換乘車輛情況。 </p><p>  公交查詢系統(tǒng)的發(fā)展前景:未來的公交查詢系統(tǒng),將是基于B/S架構,通過瀏覽器查詢,通過計算機網(wǎng)絡全面聯(lián)網(wǎng),實現(xiàn)中心控制、自動更新、更多的查詢方式、和GIS系統(tǒng)的互聯(lián)互通等等更多更強大的功能。<

29、;/p><p>  1.3 本文所作的工作</p><p>  本文首先介紹了城市公交查詢系統(tǒng)的應用背景、開發(fā)環(huán)境以及選用的開發(fā)工具與數(shù)據(jù)庫的關系,闡明了計算機互聯(lián)網(wǎng)絡的概念。并對數(shù)據(jù)庫的體系結構、DBMS進行了介紹;介紹關系型數(shù)據(jù)庫的基本概念,著重說明了幾個關鍵概念的定義;然后對SQL語言作了一個介紹說明;從特點和功能入手,介紹Java、JSP;并且介紹了B/S模式的概念、特點;用

30、軟件工程的方法分析城市公交查詢系統(tǒng),對整個系統(tǒng)進行了需求分析、功能模塊劃分,并通過ER圖對數(shù)據(jù)庫進行概念設計;對城市公交查詢系統(tǒng)的具體設計,描述了查詢、錄入模塊的實現(xiàn)過程。 最后,在結束語的總結部分指出了系統(tǒng)的亮點以及不足之處,簡單介紹了自己開發(fā)過程中的體會與心得:在摸索中實踐,在實踐中摸索。</p><p>  2 基于Eclispe平臺下的開發(fā)技術</p><p>  Jav

31、a是Sun Microsystems于1995年推出的高級編程語言,Java 領域的JavaSE、JavaEE技術已發(fā)展成為同C#和.NET平分天下的應用軟件開發(fā)平臺和技術。</p><p>  在 Sun 正式發(fā)布 JSP(JavaServer Pages) 之后,這種新的 Web 應用開發(fā)技術很快引起了人們的關注。 JSP 為創(chuàng)建高度動態(tài)的 Web 應用提供了一個獨特的開發(fā)環(huán)境。按照 Sun 的說法, JSP

32、 能夠適應市場上包括 Apache WebServer,IIS4.0 在內的 85% 的服務器產(chǎn)品。</p><p>  當今比較流行的軟件技術研發(fā)模式是C/S和B/S的體系結構。C/S(Client/Server)結構,即客戶機和服務器結構。通過C/S可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。</p><p>  Ecli

33、pse 這樣功能完整且成熟的開發(fā)環(huán)境,是由藍色巨人IBM 所釋出。IBM 花了4 千萬美金來開發(fā)這個IDE(Integrated Development Environment)。第一版1.0 在2001 年11 月釋出,隨后逐漸受到歡迎。Eclipse已經(jīng)成為開放原始碼計劃(Open Source Project),大部分的開發(fā)扔然掌握在IBM手中,但是有一部份由eclipse.org的軟件聯(lián)盟主導。</p><p

34、>  2.1 Java語言介紹</p><p>  2.1.1 Java 語言簡介</p><p>  Java不僅可以開發(fā)桌面應用程序如銀行軟件、商場結算軟件;還可以開發(fā)面向Internet的應用程序,如當紅的網(wǎng)上數(shù)碼商城、阿里巴巴、易趣網(wǎng)等都是用java開發(fā)出來的。</p><p>  Java是一種跨平臺,適合于分布式計算環(huán)境的面向對象編程語言。具體來說

35、,它具有如下特性: </p><p>  簡單性、面向對象、分布式、解釋型、可靠、安全、平臺無關、可移植、高性能、多線程、動態(tài)性等。 </p><p>  下面我們將重點介紹Java語言的面向對象、平臺無關、分布式、多線程、可靠和安全等特性。 </p><p><b>  1 面向對象 </b></p><p>  面向

36、對象其實是現(xiàn)實世界模型的自然延伸。現(xiàn)實世界中任何實體都可以看作是對象。對象之間通過消息相互作用。另外,現(xiàn)實世界中任何實體都可歸屬于某類事物,任何對象都是某一類事物的實例。如果說傳統(tǒng)的過程式編程語言是以過程為中心以算法為驅動的話,面向對象的編程語言則是以對象為中心以消息為驅動。用公式表示,過程式編程語言為:程序=算法+數(shù)據(jù);面向對象編程語言為:程序=對象+消息。 </p><p>  所有面向對象編程語言都支持三個

37、概念:封裝、多態(tài)性和繼承,Java也不例外?,F(xiàn)實世界中的對象均有屬性和行為,映射到計算機程序上,屬性則表示對象的數(shù)據(jù),行為表示對象的方法(其作用是處理數(shù)據(jù)或同外界交互)。所謂封裝,就是用一個自主式框架把對象的數(shù)據(jù)和方法聯(lián)在一起形成一個整體。可以說,對象是支持封裝的手段,是封裝的基本單位。Java語言的封裝性較強,因為Java無全程變量,無主函數(shù),在Java中絕大部分成員是對象,只有簡單的數(shù)字類型、字符類型和布爾類型除外。而對于這些類型,

38、Java也提供了相應的對象類型以便與其他對象交互操作。 </p><p>  多態(tài)性就是多種表現(xiàn)形式,具體來說,可以用“一個對外接口,多個內在實現(xiàn)方法”表示。舉一個例子,計算機中的堆??梢源鎯Ω鞣N格式的數(shù)據(jù),包括整型,浮點或字符。不管存儲的是何種數(shù)據(jù),堆棧的算法實現(xiàn)是一樣的。針對不同的數(shù)據(jù)類型,編程人員不必手工選擇,只需使用統(tǒng)一接口名,系統(tǒng)可自動選擇。運算符重載(operator overload)一直被認為是一

39、種優(yōu)秀的多態(tài)機制體現(xiàn),但由于考慮到它會使程序變得難以理解,所以Java最后還是把它取消了。 </p><p>  繼承是指一個對象直接使用另一對象的屬性和方法。事實上,我們遇到的很多實體都有繼承的含義。例如,若把汽車看成一個實體,它可以分成多個子實體,如:卡車、公共汽車等。這些子實體都具有汽車的特性,因此,汽車是它們的“父親”,而這些子實體則是汽車的“孩子”。Java提供給用戶一系列類(class),Java的類

40、有層次結構,子類可以繼承父類的屬性和方法。與另外一些面向對象編程語言不同,Java只支持單一繼承。 </p><p><b>  2 平臺無關性 </b></p><p>  Java是平臺無關的語言是指用Java寫的應用程序不用修改就可在不同的軟硬件平臺上運行。平臺無關有兩種:源代碼級和目標代碼級。C和C++具有一定程度的源代碼級平臺無關,表明用C或C++寫的應用程

41、序不用修改只需重新編譯就可以在不同平臺上運行。</p><p>  Java主要靠Java虛擬機(JVM)在目標碼級實現(xiàn)平臺無關性。JVM是一種抽象機器,它附著在具體操作系統(tǒng)之上,本身具有一套虛機器指令,并有自己的棧、寄存器組等。但JVM通常是在軟件上而不是在硬件上實現(xiàn)。(目前,SUN系統(tǒng)公司已經(jīng)設計實現(xiàn)了Java芯片,主要使用在網(wǎng)絡計算機NC上。 </p><p>  另外,Java芯片

42、的出現(xiàn)也會使Java更容易嵌入到家用電器中。)JVM是Java平臺無關的基礎,在JVM上,有一個Java解釋器用來解釋Java編譯器編譯后的程序。Java編程人員在編寫完程序后,通過Java編譯器將Java源程序編譯為JVM的字節(jié)代碼。任何一臺機器只要配備了Java解釋器,就可以運行這個程序,而不管這種字節(jié)碼是在何種平臺上生成的。另外,Java采用的是基于IEEE標準的數(shù)據(jù)類型。通過JVM保證數(shù)據(jù)類型的一致性,也確保了Java的平臺無關

43、性。 </p><p>  Java的平臺無關性具有深遠意義。首先,它使得編程人員所夢寐以求的事情(開發(fā)一次軟件在任意平臺上運行)變成事實,這將大大加快和促進軟件產(chǎn)品的開發(fā)。其次Java的平臺無關性正好迎合了“網(wǎng)絡計算機”思想。如果大量常用的應用軟件(如字處理軟件等)都用Java重新編寫,并且放在某個Internet服務器上,那么具有NC的用戶將不需要占用大量空間安裝軟件,他們只需要一個Java解釋器,每當需要使

44、用某種應用軟件時,下載該軟件的字節(jié)代碼即可,運行結果也可以發(fā)回服務器。目前,已有數(shù)家公司開始使用這種新型的計算模式構筑自己的企業(yè)信息系統(tǒng)。 </p><p><b>  3 分布式 </b></p><p>  分布式包括數(shù)據(jù)分布和操作分布。數(shù)據(jù)分布是指數(shù)據(jù)可以分散在網(wǎng)絡的不同主機上,操作分布是指把一個計算分散在不同主機上處理。 Java支持WWW客戶機/服務器計算模

45、式,因此,它支持這兩種分布性。對于前者,Java提供了一個叫作URL的對象,利用這個對象,你可以打開并訪問具有相同URL地址上的對象,訪問方式與訪問本地文件系統(tǒng)相同。對于后者,Java的applet小程序可以從服務器下載到客戶端,即部分計算在客戶端進行,提高系統(tǒng)執(zhí)行效率。 </p><p>  Java提供了一整套網(wǎng)絡類庫,開發(fā)人員可以利用類庫進行網(wǎng)絡程序設計,方便得實現(xiàn)Java的分布式特性。 </p>

46、;<p>  4 可靠性和安全性 </p><p>  Java最初設計目的是應用于電子類消費產(chǎn)品,因此要求較高的可靠性。Java雖然源于C++,但它消除了許多C++不可靠因素,可以防止許多編程錯誤。首先,Java是強類型的語言,要求顯式的方法聲明,這保證了編譯器可以發(fā)現(xiàn)方法調用錯誤,保證程序更加可靠;其次,Java不支持指針,這杜絕了內存的非法訪問;第三,Java的自動單元收集防止了內存丟失等動態(tài)

47、內存分配導致的問題;第四,Java解釋器運行時實施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪問的越界,最后,Java提供了異常處理機制,程序員可以把一組錯誤代碼放在一個地方,這樣可以簡化錯誤處理任務便于恢復。 </p><p>  由于Java主要用于網(wǎng)絡應用程序開發(fā),因此對安全性有較高的要求。如果沒有安全保證,用戶從網(wǎng)絡下載程序執(zhí)行就非常危險。Java通過自己的安全機制防止了病毒程序的產(chǎn)生和下載程序對本地系統(tǒng)的威脅破壞。當J

48、ava字節(jié)碼進入解釋器時,首先必須經(jīng)過字節(jié)碼校驗器的檢查,然后,Java解釋器將決定程序中類的內存布局,隨后,類裝載器負責把來自網(wǎng)絡的類裝載到單獨的內存區(qū)域,避免應用程序之間相互干擾破壞。最后,客戶端用戶還可以限制從網(wǎng)絡上裝載的類只能訪問某些文件系統(tǒng)。 </p><p>  上述幾種機制結合起來,使得Java成為安全的編程語言。 </p><p><b>  5 多線程 <

49、/b></p><p>  線程是操作系統(tǒng)的一種新概念,它又被稱作輕量進程,是比傳統(tǒng)進程更小的可并發(fā)執(zhí)行的單位。 </p><p>  C和C++采用單線程體系結構,而Java卻提供了多線程支持。Java在兩方面支持多線程。一方面,Java環(huán)境本身就是多線程的。若干個系統(tǒng)線程運行負責必要的無用單元回收,系統(tǒng)維護等系統(tǒng)級操作;另一方面,Java語言內置多線程控制,可以大大簡化多線程應用

50、程序開發(fā)。Java提供了一個類Thread,由它負責啟動運行,終止線程,并可檢查線程狀態(tài)。Java的線程還包括一組同步原語。這些原語負責對線程實行并發(fā)控制。利用Java的多線程編程接口,開發(fā)人員可以方便得寫出支持多線程的應用程序,提高程序執(zhí)行效率。必須注意地是,Java的多線程支持在一定程度上受運行時支持平臺的限制。例如,如果操作系統(tǒng)本身不支持多線程,Java的多線程特性可能就表現(xiàn)不出來。</p><p>  2

51、.1.2 Java技術平臺簡介</p><p>  1 JavaSE:Java Platform,Standard Edition</p><p>  J2SE 包含那些構成Java語言核心的類。比如:數(shù)據(jù)庫連接、接口定義、輸入/輸出、網(wǎng)絡編程,主要用于桌面應用軟件的編程。</p><p>  2JavaME:Java 2 Micro Edition </p&

52、gt;<p>  J2ME是Java 2的一個組成部分,它與J2SE、J2EE并稱。根據(jù)Sun的定義:J2ME是一種高度優(yōu)化的Java運行環(huán)境,主要針對消費類電子設備的,例如蜂窩電話和可視電話、數(shù)字機頂盒、汽車導航系統(tǒng)等等。J2ME技術在1999年的JavaOne Developer Conference大會上正式推出,它將Java語言的與平臺無關的特性移植到小型電子設備上,允許移動無線設備之間共享應用程序。</p&

53、gt;<p>  3JavaEE:Java Platform,Enterprise Edition  </p><p>  J2EE是一種利用Java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關的復雜問題的體系結構。J2EE技術的基礎就是核心Java平臺或Java 2平臺的標準版,J2EE不僅鞏固了標準版中的許多優(yōu)點,例如"編寫一次、隨處運行"的特性、方便存取數(shù)據(jù)庫

54、的JDBC 、PI、CORBA技術以及能夠在Internet應用中保護數(shù)據(jù)的安全模式等等,同時還提供了對 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結構。</p><p>  2.1.3 Java 程序框架</p><

55、;p>  public class HelloSODI {//外層框架</p><p>  public static void main(String[ ] args) {//Java入口程序框架</p><p>  …這里填寫代碼!...</p><p><b>  }</b></p><p><b>

56、;  }</b></p><p>  2.1.4 Java 優(yōu)點</p><p><b>  1 跨越平臺的限制</b></p><p>  盡管目前Windows桌面系統(tǒng)一統(tǒng)天下,但是服務器系統(tǒng)采用的操作系統(tǒng)卻具有多樣性,包括Linux、Unix、Windows NT/2000Server等系統(tǒng)都可以實現(xiàn)企業(yè)級應用。即便是桌面系統(tǒng)

57、,中國政府出于安全和國家戰(zhàn)略的考慮,希望有自己的操作系統(tǒng),Linux的出現(xiàn)使這種想法變成了現(xiàn)實,不久也許國產(chǎn)的Linux系統(tǒng)將占據(jù)更多桌面系統(tǒng)的市場份額。</p><p>  傳統(tǒng)的C/S架構的軟件需要針對不同的操作系統(tǒng)開發(fā)不同版本的軟件,面對眾多的操作系統(tǒng)和軟件快速的升級換代, 采用這一架構開發(fā)軟件,對于企業(yè)的IT投資無疑是一種巨大的風險。而采用Java語言實現(xiàn)的B/S架構的軟件產(chǎn)品真正做到了“一次編寫處處運行

58、(Write Once, Run Anywhere)” ,對企業(yè)而言,可以規(guī)避將來更換操作系統(tǒng)所帶來的風險。</p><p><b>  2 健壯的系統(tǒng)</b></p><p>  Java語言實現(xiàn)的軟件具有天然的健壯性。這是Java語言自身的特性保證的。利用Java寫成的軟件幾乎不可能造成系統(tǒng)崩潰,這正是安全性要求很高的企業(yè)級應用所不可或缺的特性。</p>

59、;<p>  2.1.4 J2EE技術簡介 </p><p>  J2EE是純粹基于Java的解決方案。1998年,Sun發(fā)布了EJB 1.0標準。EJB為企業(yè)級應用中必不可少的數(shù)據(jù)封裝、事務處理、交易控制等功能提供了良好的技術基礎。至此,J2EE平臺的三大核心技術Servlet、JSP和EJB都已先后問世。1999年,Sun正式發(fā)布了J2EE的第一個版本。緊接著,遵循J2EE標準,為企業(yè)級應用提供

60、支撐平臺的各類應用服務軟件爭先恐后地涌現(xiàn)了出來。IBM的WebSphere、BEA的WebLogic都是這一領域里最為成功的商業(yè)軟件平臺。隨著開源運動的興起,JBoss等開源世界里的應用服務新秀也吸引了許多用戶的注意力。到2003年時,Sun的J2EE版本已經(jīng)升級到了1.4版,其中三個關鍵組件的版本也演進到了Servlet 2.4、JSP 2.0和EJB 2.1。至此,J2EE體系及相關的軟件產(chǎn)品已經(jīng)成為了Web服務端開發(fā)的一個強有力的

61、支撐環(huán)境。</p><p>  2.2 JSP技術介紹:</p><p>  2.2.1 JSP與ASP的簡單比較</p><p>  JSP 與 Microsoft 的 ASP 技術非常相似。兩者都提供在 HTML 代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。在 ASP 或 JSP 環(huán)境下, HTML 代碼主要負責描述信息的顯示樣式,而程序代碼則用來

62、描述處理邏輯。普通的 HTML 頁面只依賴于 Web 服務器,而 ASP 和 JSP 頁面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結果被重新嵌入到 HTML 代碼中,然后一起發(fā)送給瀏覽器。 ASP 和 JSP 都是面向 Web 服務器的技術,客戶端瀏覽器不需要任何附加的軟件支持。 ASP 的編程語言是 VBScript 之類的腳本語言, JSP 使用的是 Java ,這是兩者最明顯的區(qū)別。此外, AS

63、P 與 JSP 還有一個更為本質的區(qū)別:兩種語言引擎用完全不同的方式處理頁面中嵌入的程序代碼。在 ASP 下, VBScript 代碼被 ASP 引擎解釋執(zhí)行;在 JSP 下,代碼被編譯成 Servlet 并由 Java 虛擬機執(zhí)行,這種編譯操作僅在對 JSP 頁面的第一次請求時發(fā)生。 </p><p>  2.2.2 JSP運行環(huán)境</p><p>  Sun 公司的 JSP

64、主頁在 http://www.javasoft.com/products/jsp/index.html ,從這里還可以下載 JSP 規(guī)范,這些規(guī)范定義了供應商在創(chuàng)建 JSP 引擎時所必須遵從的一些規(guī)則。在運行 JSP 示例頁面之前,請注意一下安裝 JSWDK 的目錄,特別是“ work ”子目錄下的內容。執(zhí)行示例頁面時,可以在這里看到 JSP 頁面如何被轉換成 Java 源文件,然后又被編譯成 class

65、文件(即 Servlet )。 JSWDK 軟件包中的示例頁面分為兩類,它們或者是 JSP 文件,或者是包含一個表單的 HTML 文件,這些表單均由 JSP 代碼處理。與 ASP 一樣, JSP 中的 Java 代碼均在服務器端執(zhí)行。因此,在瀏覽器中使用“查看源文件”菜單是無法看到 JSP 源代碼的,只能看到結果 HTML 代碼。所有示例的源代碼均通過一個單獨的“ examples ”頁面提供。 </p>&

66、lt;p>  2.2.3 JSP頁面示例</p><p>  下面我們分析一個簡單的 JSP 頁面。您可以在 JSWDK 的 examples 目錄下創(chuàng)建另外一個目錄存放此文件,文件名字可以任意,但擴展名必須為 .jsp 。從下面的代碼清單中可以看到, JSP 頁面除了比普通 HTML 頁面多一些 Java 代碼外,兩者具有基本相同的結構。 Java 代碼是通過 < % 和 %> 符號加入到 H

67、TML 代碼中間的,它的主要功能是生成并顯示一個從 0 到 9 的字符串。在這個字符串的前面和后面都是一些通過 HTML 代碼輸出的文本。   < html>< head>< title>JSP 頁面 < /title>< /head>< body><

68、%@ page language="java" %>< %! String str="0"; %>< % for (int i=1; i < 10; i++) {str = str + i;</p><p>  } %> JSP

69、 輸出之前。  < p>< %= str %> </ p></p><p>  JSP 輸出之后。  < /body> < /html>

70、</p><p>  這個 JSP 頁面可以分成幾個部分來分析: </p><p>  首先是 JSP 指令。它描述的是頁面的基本信息,如所使用的語言、是否維持會話狀態(tài)、是否使用緩沖等。 JSP 指令由 < %@ 開始, %> 結束。在本例中,指令“ < %@ page language="java" %> ”只簡單地定義了本例使用的是 Java

71、 語言(當前,在 JSP 規(guī)范中 Java 是唯一被支持的語言)。 接下來的是 JSP 聲明。 JSP 聲明可以看成是定義類這一層次的變量和方法的地方。 JSP 聲明由 < %! 開始, %> 結束。如本例中的“ < %! String str="0"; %> ”定義了一個字符串變量。在每一項聲明的后面都必須有一個分號,就象在普通 Java 類中聲明成員變量一樣。 位于 < % 和 %&

72、gt; 之間的代碼塊是描述 JSP 頁面處理邏輯的 Java 代碼,如本例中的 for 循環(huán)所示。 最后,位于 < %= 和 %> 之間的代碼稱為 JSP 表達式,如本例中的“ < %= str %> ”所示。 JSP 表達式提供了一種將 JSP 生成的數(shù)值嵌入 HTML 頁面的簡單方法。</p><p>  會話狀態(tài)維持是 Web 應用開發(fā)者必須面對的問題。有多種方法可以用來解決這個問

73、題,如使用 Cookies 、隱藏的表單輸入域,或直接將狀態(tài)信息附加到 URL 中。 Java Servlet 提供了一個在多個請求之間持續(xù)有效的會話對象,該對象允許用戶存儲和提取會話狀態(tài)信息。 JSP 也同樣支持 Servlet 中的這個概念。</p><p>  在 Sun 的 JSP 指南 中可以看到許多有關隱含對象的說明(隱含的含義是,這些對象可以直接引用,不需要顯式地聲明,也不需要專門的代碼創(chuàng)建其實例)

74、。例如 request 對象,它是 HttpServletRequest 的一個子類。該對象包含了所有有關當前瀏覽器請求的信息,包括 Cookies , HTML 表單變量等等。 session 對象也是這樣一個隱含對象。這個對象在第一個 JSP 頁面被裝載時自動創(chuàng)建,并被關聯(lián)到 request 對象上。與 ASP 中的會話對象相似, JSP 中的 session 對象對于那些希望通過多個頁面完成一個事務的應用是非常有用的。為說明 s

75、ession 對象的具體應用,接下來我們用三個頁面模擬一個多頁面的 Web 應用。第一個頁面( q1.html )僅包含一個要求輸入用戶名字的 HTML 表單,代碼如下:< html>< body>< FORM METHOD=POST ACTION="q2.jsp">

76、請輸入您的姓名:</p><p>  您喜歡吃什么 ?< input type=text name="food"></p><p>  </p>< input type=submit value="SUBMIT">

77、</p><p>  < /form>< /body>< /html>第三個頁面也是一個 JSP 頁面( q3.jsp ),主要任務是顯示問答結果。它從 session 對象提取 thename 的值并顯示它,以此證明雖然該值在第一個頁面輸入,但通過 session 對

78、象得以保留。 q3.jsp 的另外一個任務是提取在第二個頁面中的用戶輸入并顯示它:< html>< body>< %@ page language="java" %>< %! String food=""; %>

79、< %food = request.getParameter("food");String name = (String) session.getValue("thename");%></p><p>  2.3 B/S結構介紹</p>

80、<p>  B/S(Browser/Server)結構即瀏覽器和服務器結構。它是隨著Internet技術的興起而對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),主要事務邏輯在服務器端(Server)實現(xiàn)。大大簡化了客戶端電腦載荷,減少了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本。B/S方式可以形成所謂三層以上的結構。B/S結構是一次到

81、位開發(fā),能實現(xiàn)不同人員,從不同地點,以不同的接入方式訪問和操作共同的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺和管理訪問權限,服務器數(shù)據(jù)庫也很安全。特別是在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構管理軟件更為方便、快捷、高效。B/S工作機制如圖3-1所示:</p><p>  傳統(tǒng)的C/S架構(客戶機/服務器,Client/Server)方式中,業(yè)務邏輯位于客戶端,每完成一項事務,都要頻繁地訪問數(shù)據(jù)庫,使得網(wǎng)絡上數(shù)據(jù)流量

82、非常大,對于慢速連接的用戶,甚至無法使用。</p><p>  圖 3.1 B/S工作機制</p><p>  2.3.1 Java程序框架</p><p>  為彌補上述C/S架構的缺陷,人們發(fā)展出了三層或多層架構:客戶機—中間件(應用服務器)—數(shù)據(jù)庫服務器(Client—Middle ware—Database Server)。在這種架構中,業(yè)務邏輯放置于中間

83、件服務器上,大量的數(shù)據(jù)流也位于中間件和數(shù)據(jù)庫之間,而客戶機只是簡單地發(fā)出請求,中間件接受請求后進行事務處理并將處理的結果返回給客戶機,這一類型的客戶機也稱之為“廋客戶”。B/S架構實際上是三層架構的一種,所不同的是客戶端就是目前幾乎每臺電腦中都有的網(wǎng)絡瀏覽器,而中間件則是Web應用服務器。注意到主要的業(yè)務邏輯均由位于Web應用服務器上的Servlet和JSP程序或EJB來處理。</p><p>  2.3.2 B

84、/S架構具備極大的優(yōu)越性</p><p>  1 面向電子商務時代的技術</p><p>  將來所有的應用系統(tǒng)幾乎都在互聯(lián)網(wǎng)或企業(yè)內部廣域網(wǎng)上運行,發(fā)展電子商務成為企業(yè)不可避免的信息化道路。B/S架構的軟件正是電子商務的基石,正是這類軟件使得移動辦公和分布式協(xié)同工作真正成為現(xiàn)實。無論在世界的那個角落,只需要一臺可以聯(lián)網(wǎng)的設備(計算機、PDA甚至手機)都可以方便地與客戶聯(lián)系和與他人協(xié)同工作

85、。</p><p>  2 軟件操作、維護和升級方式的革命</p><p>  軟件系統(tǒng)的改進和升級越來越頻繁,B/S架構的產(chǎn)品在維護和升級方面具備顯著的優(yōu)勢。無論用戶的規(guī)模有多大,有多少分支機構都不會增加任何維護升級的工作量,所有的操作只對服務器進行,通過遠程連接服務器,異地的運維人員甚至于可以做到遠程維護和升級,這對人力、時間、費用的節(jié)省是相當驚人的。所有的客戶端只是瀏覽器,所有的操作

86、都和上網(wǎng)瀏覽網(wǎng)頁類似,使用者接受的培訓也僅限于業(yè)務邏輯而無需將大量精力浪費學習軟件操作上。</p><p><b>  3 系統(tǒng)整合</b></p><p>  無論是辦公自動化(OA)系統(tǒng),人力資源(HR)系統(tǒng),客戶關系管理(CRM)系統(tǒng),ERP等等,發(fā)展的趨勢是不斷融合。而采用統(tǒng)一的B/S結構開發(fā)的產(chǎn)品無論是現(xiàn)在還是將來都是最好的選擇,它提供了真正意義上無縫地與其

87、它系統(tǒng)進行整合的方案。</p><p>  2.4 J2EE所運用到的數(shù)據(jù)庫技術</p><p>  關系數(shù)據(jù)庫應用數(shù)學方法來處理數(shù)據(jù)庫中的數(shù)據(jù),關系數(shù)據(jù)庫系統(tǒng)是支持關系模型的數(shù)據(jù)庫系統(tǒng)。最早將這類方法用于數(shù)據(jù)處理的是1962年CODASYIL發(fā)表的“信息代數(shù)”,然而30多年來,關系數(shù)據(jù)庫系統(tǒng)的研究和開發(fā)取得了輝煌的成就。關系數(shù)據(jù)庫系統(tǒng)從實驗室走向了社會,成為最重要、應用最廣泛的數(shù)據(jù)庫系統(tǒng)

88、,大大促進了數(shù)據(jù)庫應用領域的擴大和深入。</p><p>  關系數(shù)據(jù)庫的設計中,一個非常重要的被視為理論問題的內容是如何構造合理的關系,使之能準確地反應現(xiàn)實世界,有利于應用和具體的操作。這一問題就是關系規(guī)范化要研究的問題。主要包括:</p><p>  1函數(shù)依賴及Armstrong公理系統(tǒng);</p><p>  2為什么要對模式進行分解,如何分解;</p&

89、gt;<p>  3如何判斷關系模式達到幾范式;</p><p>  4如何求屬性的閉包及如何求最小函數(shù)依賴集,這幾種理論信息構成了關系數(shù)據(jù)庫的骨架。</p><p>  2.4.1關系模型的基本概念 </p><p>  用二維表格結構表示實體集,外鍵表示實體間聯(lián)系的數(shù)據(jù)模型稱為關系模型。數(shù)據(jù)模型是對現(xiàn)實世界的模擬。 </p&g

90、t;<p>  1 二維表格舉例--職工登記表,如表2.1</p><p>  表2.1 職工登記表</p><p><b>  2  鍵(KEY)</b></p><p>  鍵由一個或幾個屬性組成,在實際使用中,有下列幾種鍵:</p><p> ?。?) 超鍵(Super Key)

91、:在關系中能惟一標識元組的屬性集稱為關系模式的超鍵。(2) 候選鍵(Candidate Key):不含有多余屬性的超鍵稱為候選鍵。也就是在候選鍵中,若要再刪除屬性,就不是鍵了。(3) 主鍵:(Primary Key):用戶選作元組標識的一個侯選鍵稱為主鍵。一般,如不加說明,則鍵是指主鍵。3  關系的定義和性質

92、我們可以用集合的觀點定義關系。關系是一個元數(shù)為K(K>=1)的元組的集合。把關系看成是一個集合,集合中的元素是元組,每個元組的屬性個數(shù)應相同。在關系模型中,對關系作了下列規(guī)范性限制:</p><p>  (1)關系中每一個屬性值都是不可分解的。</p><p>  (2)關系中允許出現(xiàn)相同的元組(沒有重復元組)</p><p> ?。?)由于關系是一個集

93、合,因此不考慮元組間的順序,即沒有行序。</p><p> ?。?) 元組中,屬性在理論上也是無序的,但在使用時按習慣考慮列的順序。</p><p>  關系數(shù)據(jù)庫的設計理論主要包括三個方面的內容:數(shù)據(jù)依賴、范式,模式設計方法。其中數(shù)據(jù)依賴起著核心的作用。</p><p>  4 函數(shù)依賴(Functional dependency , FD)的定義

94、</p><p>  設R(U)是一個關系模式,U是R的屬性集合,X和Y是U的子集。對于R(U)的任何一個可能的關系r,如果r中不存在兩個元組,它們在X上的屬性值相同,而在Y上的屬性值不同,則稱“Y函數(shù)依賴于X” ,記作X→Y。如果X→Y,并且對于X的任一真子集X ’,都有Y 不函數(shù)依賴于X ’,則稱“Y完全函數(shù)依賴于X” ,記作X f Y 。若X→Y,但Y不完全函數(shù)依賴于X,則稱“Y部分函數(shù)依賴于X”

95、,記作X P Y 。如果X→Y,Y→Z,且Y≮ X, X不函數(shù)依賴于Y,則稱“Z傳遞函數(shù)依賴于X”。</p><p><b>  5  范式</b></p><p>  在對表的形式進行了規(guī)范化定義后,數(shù)據(jù)結構還有五種規(guī)范化定義,定名為規(guī)范化模式,稱為范式。在這五種范式中,一般只用前三種,對于常用系統(tǒng)就足夠了。而且這五種范式是“向上兼容”的,即滿足第五范式的

96、數(shù)據(jù)結構自動滿足一、二、三、四范式,滿足第四范式的數(shù)據(jù)結構自動滿足第一、二、三范式,……,依此類推。第一范式(first normal form,簡稱1st NF)就是指在同一表中沒有重復項出現(xiàn),如果有則應將重復項去掉。這個去掉重復項的過程就稱之為規(guī)范化處理。在本文所討論的開發(fā)方法里,1st NF實際上是沒有什么意義的。因為我們按規(guī)范化建立的指標體系和表的過程都自動保證了所有表都滿足1st NF。

97、第二范式(second normal form,簡稱 2nd NF)是指每個表必須有一個(而且僅一個)數(shù)據(jù)元素為主關鍵字(primary key),其它數(shù)據(jù)元素與主關鍵字一一對應。例如,在圖l9.7中如果我們將合同號定義為主關鍵字(其它數(shù)據(jù)元素中的記錄數(shù)據(jù)都有可能重名,故不能作為主關鍵字),故只要知道了一個合同記錄的合同號,就可以唯一地在同一行中找到該合同的任何一項具</p><p>  2.4.2關系型數(shù)據(jù)庫

98、</p><p>  1 關系數(shù)據(jù)庫簡介</p><p>  提出關系模型的是美國IBM公司的E.F.Codd,1970年提出關系數(shù)據(jù)模型E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, 《Communication of the ACM》,1970;之后,提出了關系代數(shù)和關系演算的概念;1972年提出

99、了關系的第一、第二、第三范式;1974年提出了關系的BC范式。</p><p><b>  2 關系數(shù)據(jù)庫</b></p><p>  在一個給定的應用領域中,所有關系的集合構成一個關系數(shù)據(jù)庫。</p><p>  3 關系數(shù)據(jù)庫的型與值</p><p>  關系數(shù)據(jù)庫的型:關系數(shù)據(jù)庫模式,對關系數(shù)據(jù)庫的描述。<

100、/p><p>  關系數(shù)據(jù)庫模式包括若干域的定義和在這些域上定義的若干關系模式。</p><p>  關系數(shù)據(jù)庫的值:關系模式在某一時刻對應的關系的集合,簡稱為關系數(shù)據(jù)庫。</p><p>  2.4.3關系數(shù)據(jù)語言 </p><p><b>  1 關系代數(shù)語言</b></p><p>  (1)傳

101、統(tǒng)的集合運算</p><p>  包括并(Union),差(Difference), 交(Intersection),笛卡爾積(Cartesian Product)。</p><p>  集合R和S具有相同的目n(即兩個關系都有n個屬性)并且相應的屬性取自同一個域,則:</p><p>  并:R∪S :仍為n目關系,由屬于R或屬于S的元組組成</p>

102、<p>  R∪S = { t|t ? R∨t ?S }</p><p>  差:R - S :仍為n目關系,由屬于R而不屬于S的所有元組組成</p><p>  R -S = { t|t?R∧t?S }</p><p>  交:R∩S:仍為n目關系,由既屬于R又屬于S的元組組成</p><p>  R∩S = { t|t ? R

103、∧t ?S }</p><p><b>  或</b></p><p>  R∩S = R –(R-S)</p><p>  笛卡爾積:嚴格地講應該是廣義的笛卡爾積(Extended Cartesian Product) </p><p>  R: n目關系,k1個元組</p><p>  S:

104、m目關系,k2個元組</p><p><b>  R×S :</b></p><p>  列:(n+m)列元組的集合,元組的前n列是關系R的一個元組,后m列是關系S的一個元組</p><p>  行:k1×k2個元組</p><p>  R×S = {tr ts |tr ?R ∧ ts?S

105、}</p><p> ?。?)專門的集合運算</p><p>  選擇(Selection),投影(Projection),連接(Join),除(Division)。</p><p>  選擇:又稱為限制(Restriction)。</p><p><b>  選擇運算符的含義:</b></p><p

106、>  在關系R中選擇滿足給定條件的諸元組</p><p>  σF(R) = {t|t?R∧F(t)= '真'}。</p><p>  其中F:選擇條件,是一個邏輯表達式,基本形式為: X1θY1</p><p>  投影:從R中選擇出若干屬性列組成新的關系:</p><p>  πA(R) = { t[A] | t

107、?R }。</p><p>  其中,A:R中的屬性列</p><p><b>  連接:也稱為θ連接</b></p><p>  連接運算的含義:從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組</p><p>  R∞S = { tr ∈R∧ts∈S∧tr[A]θts[B] }</p><p&g

108、t;  A和B:分別為R和S上度數(shù)相等且可比的屬性組</p><p><b>  θ:比較運算符 </b></p><p>  連接運算從R和S的廣義笛卡爾積R×S中選?。≧關系)在A屬性組上的值與(S關系)在B屬性組上值滿足比較關系θ的元組.</p><p>  除:給定關系R (X,Y) 和S (Y,Z),其中X,Y,Z

109、為屬性組。</p><p>  R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。</p><p>  R與S的除運算得到一個新的關系P(X),P是R中滿足下列條件的元組在 X 屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合,記作:</p><p>  R÷S = {tr [X] | tr∈ R∧πY (S)∩ Yx }<

110、;/p><p>  Yx:x在R中的象集,x = tr[X]</p><p><b>  2 關系演算語言</b></p><p>  元組關系演算語言 ALPHA</p><p>  域關系演算語言 QBE</p><p>  2.5 SQL語言介紹</p>

111、;<p>  SQL(Structured Query Language)即“結構式查詢語言”。SQL雖然名為查詢語言,但實際上具有定義、查詢、更新和控制等多種功能。由于它使用方便、功能豐富、語言簡單易學,很快得到應用和推廣。從20世紀70年代末起,在推出的關系數(shù)據(jù)庫系統(tǒng)產(chǎn)品ORACLE、SQL/DS、DB2、SYBASE上實現(xiàn)了SQL語言。很快,SQL語言被整個計算機界認可。1987年6月,國際標準化組織(ISO)采納為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論