




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、倉 庫 管 理 系 統(tǒng) 摘 要本系統(tǒng)主要完成對(duì)物資倉庫的庫存管理,包括入庫、出庫,用戶信息,物資信息等四個(gè)方面。系統(tǒng)可以完成對(duì)各類信息的瀏覽、查詢、添加、刪除、修改等功能。系統(tǒng)的核心是入庫、出庫二者之間的聯(lián)系,每一個(gè)表的修改都將聯(lián)動(dòng)的影響其它的表,當(dāng)完成入庫或出庫操作時(shí)系統(tǒng)會(huì)自動(dòng)地完成庫存的修改。查詢功能也是系統(tǒng)的核心之一,其目的都是為了方便用戶使用。系統(tǒng)有完整的用戶添加、刪除和密碼修改功能,系統(tǒng)采用Microsoft Office中的Access 2000來設(shè)計(jì)數(shù)據(jù)庫,并使用開發(fā)工具eclipse.論文主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點(diǎn)的說明了系統(tǒng)設(shè)計(jì)的重點(diǎn)、設(shè)計(jì)思
2、想、難點(diǎn)技術(shù)和解決方案。關(guān)鍵字:數(shù)據(jù)庫,SQL語言,eclipse. 1 / 45AbstractSummary of the system of the major materials warehouse inventory management, including storage, warehousing, user information, Information materials in four aspects. System can be completed on various information browsing, query, add, delete, change,
3、and other functions. The core of the system is created, out of the links between the two, one for each table the amendment will affect other linkage of the table, Upon the completion of the delivery or removal operation system will automatically complete inventory changes. The inquiry is one of the
4、system's core, its aim is to facilitate the users. A complete system users to add, delete and change password function, system uses the Microsoft Office Access 2000 database design, and the use of development tools eclipse. This paper presents the development of the background issues, to be acco
5、mplished by the development and function of the process. Note the emphasis of the system design focus, design, technical difficulties and solutions. Keywords : database, SQL language, eclipse. 目 錄第一章 引言 61.1 課題來源 61.2 開發(fā)工具的選擇 6第二章 數(shù)據(jù)庫概論 92.1 數(shù)據(jù)庫的發(fā)展 9 2.1.1 數(shù)據(jù)庫的發(fā)展 9 2.1.2 數(shù)據(jù)庫階段的特點(diǎn) 10 2.1.3 數(shù)據(jù)庫技術(shù) 112.
6、2 數(shù)據(jù)庫理論基礎(chǔ) 12 2.2.1 數(shù)據(jù)庫模型 12 2.2.2 數(shù)據(jù)庫體系結(jié)構(gòu) 15 2.2.3 數(shù)據(jù)的獨(dú)立性 16 2.2.4 范式 112.3 SQL語言基礎(chǔ) 14 2.3.1 SQL簡介 14 2.3.2 SQL查詢 14 2.3.3 SQL數(shù)據(jù)更新 15第三章數(shù)據(jù)庫開發(fā)工具 163.1 Eclipse簡介 163.2 Access 簡介 17第四章 系統(tǒng)總體設(shè)計(jì) 184.1 系統(tǒng)需求分析 184.2 系統(tǒng)概要設(shè)計(jì) 20 4.2.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 20 4.2.2 數(shù)據(jù)庫設(shè)計(jì) ER圖設(shè)計(jì) 224.3系統(tǒng)詳細(xì)設(shè)計(jì) 24第五章 統(tǒng)應(yīng)用程序設(shè)計(jì) 265.1 系統(tǒng)窗體模塊
7、組成 265.2主窗體功能模塊的實(shí)現(xiàn) 265.3添加物資基本信息模塊 285.4 刪除所有物資信息 335.5添加物資入庫信息 335.6修改物資入庫信息 335.7查詢物資入庫信息 345.8添加物資出庫信息 345.9修改物資出庫信息 355.10 查詢物資出庫信息 355.11 查詢物資余額信息 365.12 添加用戶 365.13 修改用戶 375.14 刪除用戶 375.15 幫助 38結(jié)束語 39致謝 40參考文獻(xiàn) 41 第一章 引 言§1.1 課題來源隨著社會(huì)經(jīng)濟(jì)的迅速發(fā)展和科學(xué)技術(shù)的全面進(jìn)步,計(jì)算機(jī)事業(yè)的飛速發(fā)展,以計(jì)算機(jī)與通信技術(shù)為基礎(chǔ)的信息系統(tǒng)正處于蓬勃發(fā)展的時(shí)期
8、。隨著經(jīng)濟(jì)文化水平的顯著提高,人們對(duì)生活質(zhì)量及工作環(huán)境的要求也越來越高。與此同時(shí),為了管理大量的貨品,貨品倉庫也大量的出現(xiàn),倉庫的管理問題也就提上了日程。隨著物資的大量增加,其管理難度也越來越大,如何優(yōu)化倉庫的日常管理也就成為了一個(gè)大眾化的課題。在計(jì)算機(jī)飛速發(fā)展的今天,將計(jì)算機(jī)這一信息處理利器應(yīng)用于倉庫的日常管理已是勢必所然,而且這也將為倉庫管理帶來前所未有的改變,它可以帶來意想不到的效益,同時(shí)也會(huì)為企業(yè)的飛速發(fā)展提供無限潛力。采用計(jì)算機(jī)管理信息系統(tǒng)已成為倉庫管理科學(xué)化和現(xiàn)代化的重要標(biāo)志,它給企業(yè)管理來了明顯的經(jīng)濟(jì)效益和社會(huì)效益。主要體現(xiàn)在:極大提高了倉庫工作人員的工作效率,大大減少了以往入出
9、存流程繁瑣,雜亂,周期長的弊端?;趥}庫管理的全面自動(dòng)化,可以減少入庫管理、出庫管理及庫存管理中的漏洞,可以節(jié)約不少管理開支,增加企業(yè)收入。倉庫的管理的操作自動(dòng)化和信息的電子化,全面提高了倉庫的管理水平。隨著我國改革開放的不斷深入,經(jīng)濟(jì)飛速的發(fā)展,企業(yè)要想生存、發(fā)展,要想在激烈的市場競爭中立于不敗之地,沒有現(xiàn)代化的管理是萬萬不行的,倉庫管理的全面自動(dòng)化、信息化則是其中極其重要的部分。為了加快倉庫管理自動(dòng)化的步伐,提高倉庫的管理業(yè)務(wù)處理效率,建立倉庫管理系統(tǒng)已變得十分心要。入庫、出庫還是現(xiàn)在企業(yè)貨品倉庫管理的常規(guī)基本模式,雖然,最近又出現(xiàn)了很多新的管理模式,如:基于零庫存思想的沃爾瑪特管理方式,
10、但這些新的思想在中國大部分企業(yè)的管理中還是難以實(shí)現(xiàn)的。所以如何設(shè)計(jì)好倉庫管理系統(tǒng),盡可能地減少倉庫管理的重復(fù)性和低效性就成為當(dāng)前最為重要的問題。貨品倉庫管理的核心是入庫和出庫之間的聯(lián)系,如何處理好二者之間的關(guān)系是系統(tǒng)最為關(guān)鍵的部分。通過對(duì)倉庫管理日常工作的詳細(xì)調(diào)查,搜集了大量的資料,從系統(tǒng)結(jié)構(gòu)的組織,功能的實(shí)現(xiàn),技術(shù)的要求以及可行性等多方面進(jìn)行考慮,認(rèn)為本課題是一個(gè)適應(yīng)現(xiàn)今貨品倉庫管理需求的計(jì)算機(jī)信息管理系統(tǒng),具有一定的實(shí)際開發(fā)價(jià)值和使用價(jià)值。§1.2 開發(fā)工具的選擇自Java誕生以來,隨著Internet技術(shù)的普及和應(yīng)用需求的變化,以第四代語言為主的應(yīng)用開發(fā)產(chǎn)品發(fā)生了較大的變化,它
11、們不僅已成為人們開發(fā)應(yīng)用的開發(fā)工具,而且很多產(chǎn)品已發(fā)展成為一種強(qiáng)有力的應(yīng)用開發(fā)環(huán)境。這些新型的開發(fā)工具通常以一種集成軟件包的形式提供給開發(fā)人員,被稱為Studio(工作室)或Suite(程序組)?,F(xiàn)在,市場上可以選購的應(yīng)用開發(fā)產(chǎn)品很多,流行的也有數(shù)十種。目前在我國市場上最為流行、使用最多、最為先進(jìn)的可用作企業(yè)級(jí)開發(fā)工具的產(chǎn)品有:Microsoft公司的Visual Basic 6.0版Microsoft公司的Visual C+6.0版Borland公司的Delphi 6.0版IBM公司eclipse在目前市場上這些眾多的程序開發(fā)工具中,有些強(qiáng)調(diào)程語言的彈性與執(zhí)行效率;有些則偏重于可視化程序開發(fā)
12、工具所帶來的便利性與效率的得高,各有各的優(yōu)點(diǎn)和特色,也滿足了不同用戶的需求。Eclipse是一個(gè)開放源代碼的、與NetBeans、Sun ONE Studio和Borland Jbuilder類似的一種基于Java的整合型可擴(kuò)展開發(fā)平臺(tái),也是目前最著名的開源項(xiàng)目之一,IBM在最近幾年里也一直在大力支持該項(xiàng)目的發(fā)展,目標(biāo)是將其做成用以替代IBM Visual Age for Java(簡稱IVJ)的下一代IDE開發(fā)環(huán)境,并于2001年11月宣布投入4千萬美元資金到該項(xiàng)目的研發(fā)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,
13、包括 Java 開發(fā)工具(Java Development Tools,JDT)。其未來的目標(biāo)不僅僅是成為專門開發(fā)Java程序的IDE環(huán)境,根據(jù)Eclipse的體系結(jié)構(gòu),通過開發(fā)插件,它能擴(kuò)展到任何語言的開發(fā),甚至能成為圖片繪制的工具。目前,Eclipse已經(jīng)開始提供C語言開發(fā)的功能插件。更難能可貴的是,Eclipse是一個(gè)開放源代碼的項(xiàng)目,任何人都可以下載Eclipse的源代碼,并且在此基礎(chǔ)上開發(fā)自己的功能插件。也就是說未來只要有人需要,就會(huì)有建立在Eclipse之上的COBOL,Perl,Python等語言的開發(fā)插件出現(xiàn)。同時(shí)可以通過開發(fā)新的插件擴(kuò)展現(xiàn)有插件的功能,比如本系列文章為了進(jìn)行手
14、機(jī)應(yīng)用程序的開發(fā)就是通過J2ME插件的擴(kuò)展來加以實(shí)現(xiàn)的??梢詿o限擴(kuò)展,而且有著統(tǒng)一的外觀,操作和系統(tǒng)資源管理,這也正是Eclipse的潛力所在。Eclipse的主要組成Eclipse是一個(gè)開放源代碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成-Eclipse Platform、JDT、CDT和PDE。JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來支持插件開發(fā),Eclipse Platform則是一個(gè)開放的可擴(kuò)展IDE,提供了一個(gè)通用的開發(fā)平臺(tái)
15、。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開發(fā)工具的基礎(chǔ)。Eclipse Platform允許工具建造者獨(dú)立開發(fā)與他人工具無縫集成的工具從而無須分辨一個(gè)工具功能在哪里結(jié)束,而另一個(gè)工具功能在哪里開始。Eclipse SDK(軟件開發(fā)者包)是Eclipse Platform、JDT和PDE所生產(chǎn)的組件合并,它們可以一次下載。這些部分在一起提供了一個(gè)具有豐富特性的開發(fā)環(huán)境,允許開發(fā)者有效地建造可以無縫集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse項(xiàng)目生產(chǎn)的工具和來自其它開放源代碼的第三方軟件組合而成。Eclipse項(xiàng)目生產(chǎn)的軟件以 CPL發(fā)布,第三方組件有各自自身的
16、許可協(xié)議。第二章 數(shù)據(jù)庫概論§2.1 數(shù)據(jù)庫的發(fā)展數(shù)據(jù)庫處理在信息系統(tǒng)的研究中一直是非常重要的主題,然而,近年來,隨著World Wide Web(WWW)的猛增及Internet技術(shù)的迅速發(fā)展,使得數(shù)據(jù)庫技術(shù)之時(shí)成為最熱門技術(shù)之一。數(shù)據(jù)庫技術(shù)能使Internet應(yīng)用超越具有早期應(yīng)用特點(diǎn)的簡單的發(fā)布。同時(shí),Internet技術(shù)提供了一種向用戶發(fā)布數(shù)據(jù)庫內(nèi)容的標(biāo)準(zhǔn)化的訪問方法。這些技術(shù)沒有脫離經(jīng)典數(shù)據(jù)庫技術(shù)的要求。它們只是加重了數(shù)據(jù)庫技術(shù)的重要性。數(shù)據(jù)庫的設(shè)計(jì)和開發(fā)及包括藝術(shù)有包括工程。理解用戶的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫設(shè)計(jì)是一個(gè)藝術(shù)過程。把設(shè)計(jì)轉(zhuǎn)變?yōu)閷?shí)際的數(shù)據(jù)庫,并且這些
17、數(shù)據(jù)庫帶有功能完備、高效能的應(yīng)用,是一個(gè)工程過程。數(shù)據(jù)庫的目的是幫助人們跟蹤事務(wù)。最近,由于數(shù)據(jù)庫的普及,數(shù)據(jù)庫技術(shù)已經(jīng)被應(yīng)用到了新的領(lǐng)域,諸如用于Internet的數(shù)據(jù)庫或用于公司內(nèi)聯(lián)網(wǎng)的數(shù)據(jù)庫。數(shù)據(jù)庫也被越來越多地應(yīng)用于生成和維護(hù)多媒體應(yīng)用程序上。計(jì)算機(jī)的數(shù)據(jù)處理應(yīng)用,首先要把大量的信息以數(shù)據(jù)形式存放在存儲(chǔ)器中。存儲(chǔ)器的容量、存儲(chǔ)速率直接影響到數(shù)據(jù)管理技術(shù)的發(fā)展。從1956年生產(chǎn)出第一臺(tái)計(jì)算機(jī)到現(xiàn)在,存儲(chǔ)器的發(fā)展,為數(shù)據(jù)庫技術(shù)提供了良好的物質(zhì)基礎(chǔ)。使用計(jì)算機(jī)以后,數(shù)據(jù)處理的速度和規(guī)模,無論是相對(duì)于手工方式,還是機(jī)械方式,都有無可比擬的優(yōu)勢。通常在數(shù)據(jù)處理中,計(jì)算是比較簡單的而數(shù)據(jù)的管理卻比
18、較復(fù)雜。數(shù)據(jù)管理是指數(shù)據(jù)的收集、整理、組織、存儲(chǔ)、維護(hù)、檢索、傳送等操作,這部分操作是數(shù)據(jù)處理業(yè)務(wù)的基本環(huán)節(jié),而且是任何數(shù)據(jù)處理業(yè)務(wù)中必不可少的共有部分。數(shù)據(jù)管理技術(shù)的優(yōu)劣,將直接影響數(shù)據(jù)處理的效率。2.1.1 數(shù)據(jù)庫的發(fā)展數(shù)據(jù)管理技術(shù)的發(fā)展,與硬件(主要是外存)、軟件、計(jì)算機(jī)應(yīng)用的范圍有密切的聯(lián)系。數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)過三個(gè)階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫階段。人工管理階段和文件系統(tǒng)階段都有著相當(dāng)多的缺陷,諸如數(shù)據(jù)冗余性 ,數(shù)據(jù)不一致性以及數(shù)據(jù)聯(lián)系弱等等。也正是由于這些原因,促使人們研究新的數(shù)據(jù)管理技術(shù),從而產(chǎn)生了數(shù)據(jù)庫技術(shù)。20世紀(jì)60年代末發(fā)生的三件大事,層次模型IMS系統(tǒng)的推出
19、、關(guān)于網(wǎng)狀模型DBTG報(bào)告的發(fā)表以及關(guān)于關(guān)系模型論文的連續(xù)發(fā)表標(biāo)志著數(shù)據(jù)管理技術(shù)進(jìn)入數(shù)據(jù)庫階段。進(jìn)入70年代以后,數(shù)據(jù)庫技術(shù)得到迅速發(fā)展,開發(fā)了許多有效的產(chǎn)品并投入運(yùn)行。數(shù)據(jù)庫系統(tǒng)克服了文件系統(tǒng)的缺陷,提供了對(duì)數(shù)據(jù)更高級(jí)更有效的管理。當(dāng)進(jìn)入數(shù)據(jù)庫階段后,隨著數(shù)據(jù)管理規(guī)模一再擴(kuò)大,數(shù)據(jù)量急劇增加,為了提高效率,開始時(shí),人們只是對(duì)文件系統(tǒng)加以擴(kuò)充,在應(yīng)用文件中建立了許多輔助索引,形成倒排文件系統(tǒng)。但這并不能最終解決問題。在20世紀(jì)60年代末,磁盤技術(shù)取得重要進(jìn)展,具有數(shù)百兆容量和快速存取的磁盤陸續(xù)進(jìn)入市場,成本也不高,為數(shù)據(jù)庫技術(shù)的產(chǎn)生提供了良好的物質(zhì)條件。2.1.2 數(shù)據(jù)庫階段的特點(diǎn)(1)減少數(shù)
20、據(jù)的重復(fù)(Redundancy can be reduced)當(dāng)在一個(gè)非數(shù)據(jù)庫系統(tǒng)當(dāng)中,每一個(gè)應(yīng)用程序都有屬于他們自己的文件,由于無法有系統(tǒng)建立的數(shù)據(jù),因此常常會(huì)造成存儲(chǔ)數(shù)據(jù)的重復(fù)與浪費(fèi)。例如:在一家公司當(dāng)中,人事管理程序與工資管理程序或許都會(huì)使用到職員與部門的信息或文件,而我們可以運(yùn)用數(shù)據(jù)庫的方法,把這兩個(gè)文件整理起來,以減少多余的數(shù)據(jù),過度地占用存儲(chǔ)空間。(2)避免數(shù)據(jù)的不一致(Inconsistency can avoid)本項(xiàng)的特色,可以說是延伸前項(xiàng)的一個(gè)特點(diǎn),要說明這樣的一個(gè)現(xiàn)象,我們可以從下面這個(gè)實(shí)例來看:若是在同一家公司當(dāng)中,職員甲在策劃部門工作,且職員甲的記錄同時(shí)被存放在數(shù)據(jù)庫
21、的兩個(gè)地方,而數(shù)據(jù)庫管理系統(tǒng)卻沒有對(duì)這樣重要的情況加以控制,當(dāng)其中一條數(shù)據(jù)庫被修改時(shí),便會(huì)造成數(shù)據(jù)的不一致,但是,對(duì)于一個(gè)健全的數(shù)據(jù)庫管理系統(tǒng)而言,將會(huì)對(duì)這樣的情況加以控制,但有時(shí)并不需要刻意消除這種情形,應(yīng)當(dāng)視該數(shù)據(jù)庫的需求與效率來決定。 (3)數(shù)據(jù)共享(Data shared)對(duì)于數(shù)據(jù)共享的意義,并不是只有針對(duì)數(shù)據(jù)庫設(shè)計(jì)的應(yīng)用程序,可以使用數(shù)據(jù)庫中的數(shù)據(jù),對(duì)于其他撰寫好的應(yīng)用程序,同樣可以對(duì)相同數(shù)據(jù)庫當(dāng)中的數(shù)據(jù)進(jìn)行處理,進(jìn)而達(dá)到數(shù)據(jù)共享的目的。(4)強(qiáng)化數(shù)據(jù)的標(biāo)準(zhǔn)化(Standard can be enforced)由數(shù)據(jù)庫管理系統(tǒng),對(duì)數(shù)據(jù)做出統(tǒng)籌性的管理,對(duì)于數(shù)據(jù)的格式與一些存儲(chǔ)上的標(biāo)準(zhǔn)
22、進(jìn)行控制,如此一來,對(duì)于不同的環(huán)境的數(shù)據(jù)交換(Data Interchange)上將有很大的幫助,也能提高數(shù)據(jù)處理的效率。(5)實(shí)踐安全性的管理(Security restriction can be applied)通過對(duì)數(shù)據(jù)庫完整的權(quán)限控制,數(shù)據(jù)庫管理者可以確認(rèn)所有可供用戶存取數(shù)據(jù)的合法途徑渠道,并且可以事先對(duì)一些較重要或關(guān)鍵性的數(shù)據(jù)進(jìn)行安全檢查,以確保數(shù)據(jù)存取時(shí),能夠?qū)⑷魏尾划?dāng)損毀的情形降至最低。(6)完整性的維護(hù)(Integrity can be maintained)所謂完整性的問題,就是要確認(rèn)某條數(shù)據(jù)在數(shù)據(jù)庫當(dāng)中,是正確無誤的。正如(2)所述,若是無法控制數(shù)據(jù)的不一致性,便會(huì)產(chǎn)生完
23、整性不足的問題,所以,我們會(huì)發(fā)現(xiàn),當(dāng)數(shù)據(jù)重復(fù)性高的時(shí)候,數(shù)據(jù)不完整的情形也會(huì)增加,當(dāng)然,若是數(shù)據(jù)庫的功能完整,將會(huì)大大地提高數(shù)據(jù)完整性,也會(huì)增加數(shù)據(jù)庫的維護(hù)能力與維護(hù)簡便性。(7)需求沖突會(huì)獲得平衡(Conflicting requirements can be balance)在一個(gè)較大型的企業(yè)當(dāng)中,用戶不同的需求,往往會(huì)造成系統(tǒng)或數(shù)據(jù)庫在設(shè)計(jì)上的困擾,但是一個(gè)合適的數(shù)據(jù)庫系統(tǒng),可以通過數(shù)據(jù)庫管理員的管理,將會(huì)有效地整理各方面的信息,對(duì)于一些較重要的應(yīng)用程序,可以適時(shí)地提供較快速的數(shù)據(jù)存取方法與格式,以平衡多個(gè)用戶在需求上的沖突。2.1.3 數(shù)據(jù)庫技術(shù)從文件系統(tǒng)發(fā)展到數(shù)據(jù)庫系統(tǒng)是信息處理領(lǐng)域
24、的一個(gè)重大變化。在文件系統(tǒng)階段,人們關(guān)注的中心問題是系統(tǒng)功能的設(shè)計(jì),因而程序設(shè)計(jì)處于主導(dǎo)地位,數(shù)據(jù)只起著服從程序需要的作用。在數(shù)據(jù)庫方式下,信息處理觀念已為新體系所取代,數(shù)據(jù)占據(jù)了中心位置。數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)成為信息系統(tǒng)首先關(guān)心的問題,而利用這些數(shù)據(jù)的應(yīng)用程序設(shè)計(jì)則退居到以既定的數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ)的外圍地位。目前世界上已有數(shù)百萬個(gè)數(shù)據(jù)庫系統(tǒng)在運(yùn)行,其應(yīng)用已經(jīng)深入到人類社會(huì)生活的各個(gè)領(lǐng)域,從企業(yè)管理、銀行業(yè)務(wù)、資源分配、經(jīng)濟(jì)預(yù)測一直到信息檢索、檔案管理、普查統(tǒng)計(jì)等。并在通信網(wǎng)絡(luò)基礎(chǔ)上,建立了許多國際性的聯(lián)機(jī)檢索系統(tǒng)。我國20世紀(jì)90年代初在全國范圍內(nèi)裝備了12個(gè)以數(shù)據(jù)庫技術(shù)為基礎(chǔ)的大型計(jì)算機(jī)系統(tǒng),這些系
25、分布在郵電、計(jì)委、銀行、電力、鐵路、氣象、民航、情報(bào)、公安、軍事、航天和財(cái)稅等行業(yè)。數(shù)據(jù)庫技術(shù)還在不斷的發(fā)展,并且不斷地與其它計(jì)算機(jī)技術(shù)相互滲透。數(shù)據(jù)庫技術(shù)與網(wǎng)絡(luò)通信技術(shù)相結(jié)合,產(chǎn)生了分布式數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫技術(shù)與面向?qū)ο蠹夹g(shù)相結(jié)合,產(chǎn)生了面向?qū)ο髷?shù)據(jù)庫系統(tǒng)。在數(shù)據(jù)庫技術(shù)中有四個(gè)名詞,其概念應(yīng)該分清。(1)數(shù)據(jù)庫(database,DB):DB是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。DB能為各種用戶共享,具有最小冗余度,數(shù)據(jù)間聯(lián)系密切,而又有較高的數(shù)據(jù)獨(dú)立性。(2)數(shù)據(jù)庫管理系統(tǒng)(Database Management System,DBMS):DBMS是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或
26、應(yīng)用程序提供訪問DB的方法,包括DB的建立、查詢、更新及各種數(shù)據(jù)控制。DBMS總是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關(guān)系型和面向?qū)ο笮虳BMS。(3)數(shù)據(jù)庫系統(tǒng)(Database System,DBS):DBS是實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問的計(jì)算機(jī)軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng)。(4)數(shù)據(jù)庫技術(shù):這是一門研究數(shù)據(jù)庫的結(jié)構(gòu)、存儲(chǔ)、管理和使用的軟件學(xué)科。數(shù)據(jù)庫技術(shù)是操作系統(tǒng)的文件系統(tǒng)基礎(chǔ)上發(fā)展起來的。而DBMS本身要在操作系統(tǒng)的支持下才能工作。數(shù)據(jù)庫不僅用到數(shù)據(jù)結(jié)構(gòu)的知識(shí),而且豐富了數(shù)據(jù)結(jié)構(gòu)的內(nèi)容。在關(guān)系數(shù)據(jù)庫中要用到集合論、數(shù)理邏輯
27、的理論。因此,數(shù)據(jù)庫技術(shù)是一門綜合性較強(qiáng)的學(xué)科。§2.2數(shù)據(jù)庫理論基礎(chǔ)2.2.1 數(shù)據(jù)庫模型從20世紀(jì)50年代中期開始,計(jì)算機(jī)的應(yīng)用由科學(xué)研究部門逐步擴(kuò)展到企業(yè)、行政部門。至60年代,數(shù)據(jù)處理成為計(jì)算機(jī)的主要應(yīng)用。數(shù)據(jù)庫技術(shù)作為數(shù)據(jù)管理技術(shù),是計(jì)算機(jī)軟件領(lǐng)域的一個(gè)重要分支,產(chǎn)生于60年代末。現(xiàn)已形成相當(dāng)規(guī)模的理論體系和實(shí)用技術(shù)。模型是對(duì)現(xiàn)實(shí)世界的抽象。在數(shù)據(jù)庫技術(shù)中,我們用模型的概念描述數(shù)據(jù)庫的結(jié)構(gòu)與語義,對(duì)現(xiàn)實(shí)世界進(jìn)行抽象,表示實(shí)體類型及實(shí)體間聯(lián)系的模型稱為“數(shù)據(jù)模型” 。目前廣泛作用的數(shù)據(jù)模型可分為兩種類型。一種是獨(dú)立于計(jì)算機(jī)系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述
28、某個(gè)特定組織所關(guān)心的信息結(jié)構(gòu),這類模型稱為“概念數(shù)據(jù)模型” 。要領(lǐng)模型用于建立信息世界的數(shù)據(jù)模型,強(qiáng)調(diào)其語義表達(dá)功能,應(yīng)該概念簡單、清晰,易于用戶理解,它是現(xiàn)實(shí)世界的第一層抽象,是用戶和數(shù)據(jù)庫設(shè)計(jì)人員之間進(jìn)行交流的工具。這一其中著名的模型是“實(shí)體聯(lián)系模型” 。另一種數(shù)據(jù)模型是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),它是現(xiàn)實(shí)世界的第二層抽象。 這類模型涉及到計(jì)算機(jī)系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng),又稱為“結(jié)構(gòu)數(shù)據(jù)模型” 。例如,層次、網(wǎng)狀、關(guān)系、面向?qū)ο蟮饶P?。這類模型有嚴(yán)格的形式化定義,以便于在計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)。(1)層次模型。用樹型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型。樹的結(jié)點(diǎn)是記錄類型,每個(gè)非根結(jié)點(diǎn)有且只有一個(gè)父
29、結(jié)點(diǎn)。上一層記錄類型和下一層記錄類型間聯(lián)系是1N聯(lián)系。層次模型的特點(diǎn)是記錄之間的聯(lián)系通過指針實(shí)現(xiàn),查詢效率較高。但層次模型有兩個(gè)缺點(diǎn):一是只能表示1N聯(lián)系,雖然有多種輔助手段實(shí)現(xiàn)了MN聯(lián)系,但都較復(fù)雜,用戶不易掌握,二是由于樹型結(jié)構(gòu)層次順序的嚴(yán)格和復(fù)雜,引起數(shù)據(jù)的查詢和更新操作也很復(fù)雜,因此,編寫應(yīng)用程序也很復(fù)雜。(2)網(wǎng)狀模型。用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型。1969年DBTG報(bào)告提出的數(shù)據(jù)模型是網(wǎng)狀模型的主要代表。有向圖中的結(jié)點(diǎn)是記錄類型,有向邊表示從箭尾一端的記錄類型到箭頭一端的記錄類型間聯(lián)系是1N聯(lián)系。網(wǎng)狀模型的特點(diǎn):記錄之間聯(lián)系通過指針實(shí)現(xiàn),MN聯(lián)系也容易實(shí)現(xiàn)(每個(gè)M
30、N聯(lián)系可拆成兩個(gè)1N聯(lián)系),查詢效率較高。網(wǎng)狀模型的缺點(diǎn)是編寫應(yīng)用程序比較復(fù)雜,程序員必須熟悉數(shù)據(jù)庫的邏輯結(jié)構(gòu)。由于層次系統(tǒng)和網(wǎng)狀系統(tǒng)的應(yīng)用程序編制比較復(fù)雜,因此,從20世紀(jì)80年代中期起,其市場已被關(guān)系系統(tǒng)所取代。但是使用這兩種模型建立起的許多數(shù)據(jù)庫仍然在正常運(yùn)轉(zhuǎn),只是在外層加了個(gè)關(guān)系數(shù)據(jù)庫語言的接口。網(wǎng)狀模型有許多成功的產(chǎn)品,20世紀(jì)70年代的產(chǎn)品大部分網(wǎng)狀系統(tǒng),例如,Honeywell公司的IDS/、HP公司的IMAGE/3000、Burroughs公司的DMS、Umivac公司的DMS1100、Cullinet公司的IDMS、Cimcom公司的TOTAL等(3)關(guān)系模型。關(guān)系模型的主要
31、是用二維表格結(jié)構(gòu)表達(dá)實(shí)體集,用外鍵表示實(shí)體間聯(lián)系。關(guān)系模型是由若干個(gè)關(guān)系模式組成的集合。關(guān)系模式相當(dāng)于前面提到的記錄類型,它的實(shí)例稱為關(guān)系,每個(gè)關(guān)系實(shí)際上是一張二維表格。關(guān)系模型和層次、網(wǎng)狀模型的最大判別是用關(guān)鍵碼而不是用指針導(dǎo)航數(shù)據(jù),表格簡單用戶易懂,編程時(shí)并不涉及存儲(chǔ)結(jié)構(gòu),訪問技術(shù)等細(xì)節(jié)。關(guān)系模型是數(shù)學(xué)化模型。SQL語言是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)化語言,已得到了廣泛的應(yīng)用。20世紀(jì)70年代對(duì)關(guān)系數(shù)據(jù)庫的研究主要集中在理論和實(shí)驗(yàn)系統(tǒng)的開發(fā)方面。80年代初才形成產(chǎn)品,但很快得到廣泛的應(yīng)用和普及,并最終取代了層次、網(wǎng)狀數(shù)據(jù)庫產(chǎn)品。現(xiàn)在市場上典型的關(guān)系DBMS產(chǎn)品有DB2、ORACLE、SYBASE、IN
32、FORMIX和微機(jī)型產(chǎn)品Foxpro、Access等。關(guān)系模型和網(wǎng)狀、層次模型的最大區(qū)別是:關(guān)系模型用表格數(shù)據(jù)而不是通過指針鏈來表示和實(shí)現(xiàn)實(shí)體間聯(lián)系。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)簡單、易懂。只需用簡單的查詢語句就可對(duì)數(shù)據(jù)庫進(jìn)行操作。關(guān)系模型是數(shù)學(xué)化的模型,可把表格看成一個(gè)集合,因此集合論、數(shù)理邏輯等知識(shí)可引入到關(guān)系模型中來。關(guān)系模型已是一個(gè)成熟的有前途的模型,已得到廣泛應(yīng)用。(4)面向?qū)ο竽P汀D壳?,關(guān)系數(shù)據(jù)庫的使用已相當(dāng)普遍,但是,現(xiàn)實(shí)世界中仍然存在著許多含有復(fù)雜數(shù)據(jù)結(jié)構(gòu)的應(yīng)用領(lǐng)域,例如,CAD數(shù)據(jù)、圖形數(shù)據(jù)等,而關(guān)系模型在這方面的處理能力就顯得力不從心。因此,人們需要更高級(jí)的數(shù)據(jù)庫技術(shù)來表達(dá)這類信息
33、。面向?qū)ο蟮母拍钭钤绯霈F(xiàn)在程序設(shè)計(jì)語言中,隨后迅速滲透到計(jì)算機(jī)領(lǐng)域的每一個(gè)分支。面向?qū)ο髷?shù)據(jù)庫是面向?qū)ο蟾拍钆c數(shù)據(jù)庫技術(shù)相結(jié)合的產(chǎn)物。面向?qū)ο竽P湍芡暾孛枋霈F(xiàn)實(shí)世界的數(shù)據(jù)結(jié)構(gòu),具有豐富的表達(dá)能力,但模型相對(duì)較復(fù)雜,涉及的知識(shí)面也廣,因此面向?qū)ο髷?shù)據(jù)庫尚未達(dá)到關(guān)系數(shù)據(jù)庫那樣的普及程度。2.2.2 數(shù)據(jù)庫體系結(jié)構(gòu)數(shù)據(jù)庫的體系結(jié)構(gòu)分三級(jí):內(nèi)部級(jí)(internal),概念級(jí)(conceptual)和外部級(jí)(external)。這個(gè)三級(jí)結(jié)構(gòu)有時(shí)也稱為“三級(jí)模式結(jié)構(gòu)”,或“數(shù)據(jù)抽象的三個(gè)級(jí)別”,最早是在1971年通過的DBTG報(bào)告中提出,后來收入在1975年的美國ANSI/SPARC報(bào)告中。雖然現(xiàn)在DB
34、MS的產(chǎn)品多種多樣,在不同的操作系統(tǒng)支持下工作,但是大多數(shù)系統(tǒng)在總的體系結(jié)構(gòu)上都具有三級(jí)模式的結(jié)構(gòu)特征。從某個(gè)角度看到的數(shù)據(jù)特性稱為“數(shù)據(jù)視圖”(data view)。外部級(jí)最接近用戶,是單個(gè)用戶所能看到的數(shù)據(jù)特性。單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為“外模式”。概念級(jí)涉及到所有用戶的數(shù)據(jù)定義,是全局的數(shù)據(jù)視圖。全局?jǐn)?shù)據(jù)視圖的描述稱為“概念模式”。內(nèi)部級(jí)最接近于物理存儲(chǔ)設(shè)備,涉及到實(shí)際數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu)。物理存儲(chǔ)數(shù)據(jù)視圖的描述稱為“內(nèi)模式”。數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)是數(shù)據(jù)的三個(gè)抽象級(jí)別。它把數(shù)據(jù)的具體組織留給DBMS去做,用戶只要抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的表示和存儲(chǔ),這樣就減輕了用戶使用系
35、統(tǒng)的負(fù)擔(dān)。三級(jí)結(jié)構(gòu)之間往往差別很大,為了實(shí)現(xiàn)這三個(gè)抽象級(jí)別的聯(lián)系和轉(zhuǎn)換,DBMS在三級(jí)結(jié)構(gòu)之間提供兩個(gè)層次的映象(mappings):外模式/模式映象,模式/內(nèi)模式映象。此處模式是概念模式的簡稱。2.2.3 數(shù)據(jù)的獨(dú)立性由于數(shù)據(jù)庫系統(tǒng)采用三級(jí)模式結(jié)構(gòu),因此系統(tǒng)具有數(shù)據(jù)獨(dú)立性的特點(diǎn)。在數(shù)據(jù)庫技術(shù)中,數(shù)據(jù)獨(dú)立性是指應(yīng)用程序和數(shù)據(jù)之間相互獨(dú)立,不受影響。數(shù)據(jù)獨(dú)立性分成物理數(shù)據(jù)獨(dú)立性和邏輯數(shù)據(jù)獨(dú)立性兩級(jí)。(1)物理數(shù)據(jù)獨(dú)立性如果數(shù)據(jù)庫的內(nèi)模式要進(jìn)行修改,即數(shù)據(jù)庫的存儲(chǔ)設(shè)備和存儲(chǔ)方法有所變化,那么模式/內(nèi)模式映象也要進(jìn)行相當(dāng)?shù)男薷?,使概念模式盡可能保持不變。也就是對(duì)內(nèi)模式的修改盡量不影響概念模式,當(dāng)然,
36、對(duì)于外模式和應(yīng)用程序的影響更小,這樣,我們稱數(shù)據(jù)庫達(dá)到了物理數(shù)據(jù)獨(dú)立性。(2)邏輯數(shù)據(jù)獨(dú)立性如果數(shù)據(jù)庫的概念模式要進(jìn)行修改,譬如增加記錄類型或增加數(shù)據(jù)項(xiàng),那么外模式/模式映象也要進(jìn)行相應(yīng)的修改,使外模式盡可能保持不變。也就是對(duì)概念模式的修改盡量不影響外模式和應(yīng)用程序,這樣,我們稱數(shù)據(jù)庫達(dá)到了邏輯數(shù)據(jù)獨(dú)立性?,F(xiàn)有關(guān)系系統(tǒng)產(chǎn)品均提供了較高的物理獨(dú)立性,而對(duì)邏輯獨(dú)立性的支持尚有欠缺,例如,對(duì)外模式的數(shù)據(jù)更新受到限制等。2.2.4 范式建立起一個(gè)良好的數(shù)據(jù)指標(biāo)體系,是建立數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫的最重要的一環(huán)。一個(gè)良好的數(shù)據(jù)指標(biāo)體系是建立DB的必要條件,但不是充分條件。我們完全可以認(rèn)為所建指標(biāo)體系中的一個(gè)指標(biāo)
37、類就是關(guān)系數(shù)據(jù)庫中的一個(gè)基本表,而這個(gè)指標(biāo)類下面的一個(gè)個(gè)具體指標(biāo)就是這個(gè)基本表中的一個(gè)字段。但如果直接按照這種方式建庫顯然還不能算最佳。對(duì)于指標(biāo)體系中數(shù)據(jù)的結(jié)構(gòu)在建庫前還必須進(jìn)行規(guī)范化的重新組織。在數(shù)據(jù)的規(guī)范化表達(dá)中,一般將一組相互關(guān)聯(lián)的數(shù)據(jù)稱為一個(gè)關(guān)系(relation),而在這個(gè)關(guān)系下的每個(gè)數(shù)據(jù)指標(biāo)項(xiàng)則被稱為數(shù)據(jù)元素(data element),這種關(guān)系落實(shí)到具體數(shù)據(jù)庫上就是基本表,而數(shù)據(jù)元素就是基本表中的一個(gè)字段(field)。規(guī)范化表達(dá)還規(guī)定在每一個(gè)基本表中必須定義一個(gè)數(shù)據(jù)元素為關(guān)鍵字(key),它可以唯一地標(biāo)識(shí)出該表中其它相關(guān)的數(shù)據(jù)元素。在規(guī)范化理論中表是二維的,它有如下四個(gè)性質(zhì):在
38、表中的任意一列上,數(shù)據(jù)項(xiàng)應(yīng)屬于同一個(gè)屬性(如圖中每一列都存放著不同合同記錄的同一屬性數(shù)據(jù))。 表中所有行都是不相同的,不允許有重復(fù)組項(xiàng)出現(xiàn)(如圖中每一行都是一個(gè)不同的合同記錄)。在表中,行的順序無關(guān)緊要(如圖中每行存的都是合同記錄,至于先放哪一個(gè)合同都沒關(guān)系)。 在表中,列的順序無關(guān)緊要,但不能重復(fù)(如圖中合同號(hào)和合同名誰先誰后都沒關(guān)系,但二者不可重復(fù)或同名)。 在對(duì)表的形式進(jìn)行了規(guī)范化定義后,數(shù)據(jù)結(jié)構(gòu)還有五種規(guī)范化定義,定名為規(guī)范化模式,稱為范式。在這五種范式中,一般只用前三種,對(duì)于常用系統(tǒng)就足夠了。而且這五種范式是“向上兼容”的,即滿足第五范式的數(shù)據(jù)結(jié)構(gòu)自動(dòng)滿足一、二、三、四范式,滿足第四
39、范式的數(shù)據(jù)結(jié)構(gòu)自動(dòng)滿足第一、二、三范式,依此類推。第一范式(first normal form,簡稱1st NF)就是指在同一表中沒有重復(fù)項(xiàng)出現(xiàn),如果有則應(yīng)將重復(fù)項(xiàng)去掉。這個(gè)去掉重復(fù)項(xiàng)的過程就稱之為規(guī)范化處理。在本文所討論的開發(fā)方法里,1st NF實(shí)際上是沒有什么意義的。因?yàn)槲覀儼匆?guī)范化建立的指標(biāo)體系和表的過程都自動(dòng)保證了所有表都滿足1st NF。 第二范式(second normal form,簡稱 2nd NF)是指每個(gè)表必須有一個(gè)(而且僅一個(gè))數(shù)據(jù)元素為主關(guān)鍵字(primary key),其它數(shù)據(jù)元素與主關(guān)鍵字一一對(duì)應(yīng)。例如,在圖l9.7中如果我們將合同號(hào)定義為主關(guān)鍵字(其它數(shù)據(jù)元素中的
40、記錄數(shù)據(jù)都有可能重名,故不能作為主關(guān)鍵字),故只要知道了一個(gè)合同記錄的合同號(hào),就可以唯一地在同一行中找到該合同的任何一項(xiàng)具體信息。通常我們稱這種關(guān)系為函數(shù)依賴(functional depEndence)關(guān)系。即表中其它數(shù)據(jù)元素都依賴于主關(guān)鍵字,或稱該數(shù)據(jù)元素唯一地被主關(guān)鍵字所標(biāo)識(shí)。第三范式(third normal form,簡稱 3rd NF)就是指表中的所有數(shù)據(jù)元素不但要能夠唯一地被主關(guān)鍵字所標(biāo)識(shí),而且它們之間還必須相互獨(dú)立,不存在其它的函數(shù)關(guān)系。也就是說對(duì)于一個(gè)滿足了 2nd NF的數(shù)據(jù)結(jié)構(gòu)來說,表中有可能存在某些數(shù)據(jù)元素依賴于其它非關(guān)鍵宇數(shù)據(jù)元素的現(xiàn)象,必須加以消除。為防止數(shù)據(jù)庫出現(xiàn)
41、更新異常、插入異常、刪除異常、數(shù)據(jù)冗余太大等現(xiàn)象,關(guān)系型數(shù)據(jù)庫要盡量按關(guān)系規(guī)范化要求進(jìn)行數(shù)據(jù)庫設(shè)計(jì)。§2.3 SQL語言基礎(chǔ)2.3.1 SQL簡介用戶對(duì)數(shù)據(jù)庫的使用,是通過數(shù)據(jù)庫管理系統(tǒng)提供的語言來實(shí)現(xiàn)的。不同的數(shù)據(jù)庫管理系統(tǒng)提供不同的數(shù)據(jù)庫語言。關(guān)系數(shù)據(jù)庫管理系統(tǒng)幾乎都提供關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL。SQL 的全稱是Structured Query Language,即結(jié)構(gòu)化查詢語言。SQL語句可以從關(guān)系數(shù)據(jù)庫中獲得數(shù)據(jù),也可以建立數(shù)據(jù)庫、增加數(shù)據(jù)、修改數(shù)據(jù)。1986年ANSI采用SQL語言作為關(guān)系數(shù)據(jù)庫系統(tǒng)的標(biāo)準(zhǔn)語言,后被國際化標(biāo)準(zhǔn)組織(ISO)采納為國際標(biāo)準(zhǔn)。SQL語言使用方便、
42、功能豐富、簡潔易學(xué),是操作數(shù)據(jù)庫的工業(yè)標(biāo)準(zhǔn)語言,得到廣泛地應(yīng)用。例如關(guān)系數(shù)據(jù)庫產(chǎn)品DB2、ORACLE等都實(shí)現(xiàn)了SQL語言。同時(shí),其它數(shù)據(jù)庫產(chǎn)品廠家也紛紛推出各自的支持SQL的軟件或者與SQL的接口軟件。這樣SQL語言很快被整個(gè)計(jì)算機(jī)界認(rèn)可。SQL語言是一種非過程化語言,它一次處理一個(gè)記錄集合,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航。SQL語言允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對(duì)單個(gè)記錄進(jìn)行操作。SQL語言不要求用戶指定數(shù)據(jù)的存取方法,而是使用查詢優(yōu)化器,由系統(tǒng)決定對(duì)指定數(shù)據(jù)存取的最快速手段。當(dāng)設(shè)計(jì)者在關(guān)系表上定義了索引時(shí),系統(tǒng)會(huì)自動(dòng)利用索引進(jìn)行快速檢索,用戶不需知道表上是否有索引或者有什么類型的索引等細(xì)節(jié)。S
43、QL語言可以完成許多功能,例如: 查詢數(shù)據(jù) 在數(shù)據(jù)庫表格中插入、修改和刪除記錄 建立、修改和刪除數(shù)據(jù)對(duì)象 控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的存取 確保數(shù)據(jù)庫的一致性和完整性等2.3.2 SQL查詢數(shù)據(jù)查詢是關(guān)系運(yùn)算理論在SQL語言中的主要體現(xiàn),SELECT 語句是SQL查詢的基本語句,當(dāng)我們?cè)趯?duì)一個(gè)數(shù)據(jù)庫進(jìn)各種各樣的操作時(shí),使用的最多的就是數(shù)據(jù)查詢,在以SQL為基礎(chǔ)的關(guān)系數(shù)據(jù)庫中,使用的最多的就是SELECT查詢語句。SELECT語句的完整句法如下:SELECT 目標(biāo)表的列名或列表達(dá)式序列FROM 基本表和(或)視圖序列WHERE 行條件表達(dá)式GROUP BY 列名序列HAVING 組條件表達(dá)式ORDER
44、 BY列名 ASCDEAC我在SELECT語句中還使用了大量的保留字和通配符以進(jìn)行各種各樣的條件查詢。在系統(tǒng)中有大量的查詢按鈕,其使用了大量的查詢語句,而且這些查詢語句大部分使用的是模糊查詢,所以大量的使用了模式匹配符LIKE(判斷值是否與指定的字符通配格式相符)。在包含LIKE的查詢語句中可以使用兩個(gè)通配符:%(百分號(hào)):與零個(gè)或多個(gè)字符組成的字符串匹配;_(下劃線):與單個(gè)字符匹配。系統(tǒng)中的條件判斷往往包含多個(gè)條件,這時(shí)就需要使用邏輯運(yùn)算符NOT、AND、OR(用于多條件的邏輯連接),謂詞ALL以及保留字DISTINCT等等。做為SELECT語句還有很多的使用方法,這里就不再敘述。2.3.
45、3 SQL數(shù)據(jù)更新使用數(shù)據(jù)庫的目的是為了有效地管理數(shù)據(jù),而數(shù)據(jù)的插入、刪除和修改則是必不可少的一個(gè)功能。在本系統(tǒng)中就大量地使用了數(shù)據(jù)插入、刪除和修改這三種操作,現(xiàn)做一個(gè)簡單地介紹。數(shù)據(jù)插入往數(shù)據(jù)庫的基本表中插入數(shù)據(jù)使用的是INSERT語句,其方式有兩種:一種是元組值的插入,另一種是查詢結(jié)果的插入。在本系統(tǒng)中使用的是前一種方式,其句法如下:INSERT INTO 基本表名(列表名)VALUES(元組值)數(shù)據(jù)刪除往數(shù)據(jù)庫的基本表中刪除數(shù)據(jù)使用的是DELETE語句,其句法如下:DELETE FROM 基本表名 WHERE 條件表達(dá)式在些作一點(diǎn)說明,刪除語句實(shí)際上是“SELECT * FROM 基本表
46、名 WHERE 條件表達(dá)式”和DELETE操作的結(jié)合,每找到一個(gè)元組,就把它刪除。此外,DELETE語句只能從一個(gè)基本表中刪除元組,WHERE子句中條件可以嵌套,也可以是來自幾個(gè)基本表的復(fù)合條件。數(shù)據(jù)修改當(dāng)需要修改基本表中元組的某些列值時(shí),可以用UPDATE語句實(shí)現(xiàn),其句法如下:UPDATE基本表名SET列名=值表達(dá)式,列名=值表達(dá)式WHERE條件表達(dá)式第三章 數(shù)據(jù)庫開發(fā)工具§3.1 Eclipse簡介Eclipse 是開放源碼社區(qū),其項(xiàng)目專注于提供用于構(gòu)建軟件的可擴(kuò)展開發(fā)平臺(tái)和應(yīng)用程序框架。本文給出最新版本 Eclipse 的鏈接、有關(guān) IBM 參與 Eclipse 的信息以及一些
47、最有趣的 Eclipse 項(xiàng)目的指南。了解 Eclipse 對(duì)誰有益、為何如此重要、如何入門,以及在哪里可以了解有關(guān)它的更多信息。什么是Eclipse最簡短的說法是,Eclipse 是一個(gè)開放源碼社區(qū),專注于開發(fā)框架和示范工具的通用平臺(tái),從而使得構(gòu)建和部署軟件更簡單且成本有效。這個(gè)大型聯(lián)盟包括主要軟件供應(yīng)商、解決方案提供商、企業(yè)、教研機(jī)構(gòu)和個(gè)人,他們密切合作,一起創(chuàng)建一個(gè)生態(tài)系統(tǒng),以便用補(bǔ)充的產(chǎn)品、能力和服務(wù)增強(qiáng)和形成 Eclipse Platform。Eclipse 為三類支持者提供價(jià)值:基于 Eclipse 的產(chǎn)品的用戶將獲益于:· 提供對(duì)整個(gè) Eclipse 生態(tài)系統(tǒng)中研究和知
48、識(shí)的訪問 · 經(jīng)受開放源碼社區(qū)詳細(xì)審查而產(chǎn)生的高質(zhì)量軟件 · Eclipse 一致接口導(dǎo)致的重用技術(shù)的能力 使用 Eclipse 的 Java 技術(shù)開發(fā)人員將獲益于:· 世界級(jí) Java IDE · 跨平臺(tái)的本機(jī)外觀 · Java 工具的簡單擴(kuò)展 Eclipse 工具的開發(fā)人員將獲益于:· 可移植和可定制的平臺(tái) · 無縫的工具集成 · 端到端的解決方案 Eclipse有什么益處這是難以回答的問題,因?yàn)榇鸢溉Q于詢問的人。從研究人員的角度來看,Eclipse 提供了一個(gè)允許快速原型、協(xié)作并分享看法的構(gòu)建于通用架構(gòu)之上
49、的平臺(tái)。從工具開發(fā)人員的角度來看,可以訪問功能強(qiáng)大的可擴(kuò)展平臺(tái),從而使得快速有效地開發(fā)高質(zhì)量的工具變得十分容易。如果整個(gè)平臺(tái)太重量級(jí)以至于難以使用,Eclipse 提供了 Rich Client Platform (RCP),它用于不需要通用資源模型或平臺(tái)其他功能的應(yīng)用程序。RCP FAQ 是用于了解 RCP 能力的重要資源。查看此 FAQ 中列出的著名項(xiàng)目和流行應(yīng)用程序?qū)⑹鼓鷮?duì) Eclipse 的能力有所了解。Eclipse Platform 通過為平臺(tái)提供源代碼來構(gòu)建信心和信任。軟件開發(fā)人員厭倦了集成工具和嘗試了解如何使工具在環(huán)境中協(xié)同工作。讓 Eclipse Platform 成為開放源
50、碼計(jì)劃使得工具開發(fā)人員行為一致,而且不僅貢獻(xiàn)新的插件,還幫助改進(jìn)現(xiàn)有平臺(tái)。總之,Eclipse 的重要性在于,每個(gè)人 工具開發(fā)人員和用戶 都可以獲益于完全公開了如何以行業(yè)級(jí)開發(fā)工具,并最終惠及最終用戶。§3.2 Access 簡介建立一個(gè)數(shù)據(jù)庫我們有多種選擇,現(xiàn)在市場上有各種各樣的數(shù)據(jù)庫,而且每一種數(shù)據(jù)庫都有其自身的特點(diǎn),不能說哪一種更好,只能在其中尋找一種能更好地適應(yīng)系統(tǒng)需求、更好地滿足用戶的要求以及適應(yīng)開發(fā)人員的習(xí)慣。在本系統(tǒng)中,做為貨品倉庫管理系統(tǒng)是一個(gè)比較小的應(yīng)用系統(tǒng),它所產(chǎn)生和處理的數(shù)據(jù)量也比較小。因此,沒有必要使用像SQL Server和Oracle這樣的大型數(shù)據(jù)庫。我首
51、先想到的數(shù)據(jù)庫是Borland公司的Paradox數(shù)據(jù)庫。另外,Microsoft Office中的Access數(shù)據(jù)庫在計(jì)算機(jī)上的應(yīng)用比較普及,是開發(fā)小型數(shù)據(jù)庫系統(tǒng)的比較理想的選擇,所以,在本系統(tǒng)中我選擇了Access數(shù)據(jù)庫。Access做為一個(gè)數(shù)據(jù)庫管理系統(tǒng),它被集成在Microsoft Office中。Access數(shù)據(jù)庫處理的基本結(jié)構(gòu),采取關(guān)系型數(shù)據(jù)庫模式。與其他的數(shù)據(jù)庫系統(tǒng)相比,Access更加簡單易學(xué),一個(gè)普通的計(jì)算機(jī)用戶可以很快地掌握它。Access 2000的功能十分強(qiáng)大,利用它可以方便地實(shí)現(xiàn)對(duì)信息保存、維護(hù)、查詢、統(tǒng)計(jì)、打印、交流、發(fā)布,而且它可以十分方便地與Office其他組件
52、交流數(shù)據(jù),這些功能對(duì)一個(gè)一般用戶而言已經(jīng)足夠了。 第四章 系統(tǒng)總體設(shè)計(jì)軟件系統(tǒng)的總體設(shè)計(jì)大約要經(jīng)歷可行性分析和項(xiàng)目開發(fā)計(jì)劃,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測試以及維護(hù)等七個(gè)階段。可行性分析和項(xiàng)目開發(fā)計(jì)劃在前面已經(jīng)敘述,下面所要做的是進(jìn)行軟件需求分析,概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。編碼過程將在下一節(jié)論述,而測試和維護(hù)過程不在本文敘及。§4.1 系統(tǒng)需求分析在經(jīng)過前一階段的分析之后,我確定了我的開發(fā)課題為貨品倉庫管理?,F(xiàn)在所要做的是要準(zhǔn)確定義系統(tǒng)必須做什么以及系統(tǒng)必須具備的功能。軟件需求分析中我采用結(jié)構(gòu)化分析方法(Structured Analysis,簡稱SA),SA是面向數(shù)據(jù)流進(jìn)行需求分析的方法,像所有的軟件分析方法(如面向?qū)ο蠓治龇椒?、IDEF方法等等)一樣,SA也是一種建?;顒?dòng),它使用簡單易讀的符號(hào),根據(jù)軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,描繪滿足功能要求的軟件模型。在系統(tǒng)中我采用數(shù)據(jù)流圖(DFD)這種半形式化的描述方式表達(dá)需求。它是一種功能模型,以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,只反映系統(tǒng)必須完成的邏輯功能。經(jīng)過對(duì)系統(tǒng)的分析首先得到系統(tǒng)的頂層DFD,如下:登入系統(tǒng)驗(yàn)證用戶信息系統(tǒng)主窗體物資基本信
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 線描小蝸牛課件
- 農(nóng)村小學(xué)勞動(dòng)教育課程的現(xiàn)狀及對(duì)策研究
- 保險(xiǎn)公估業(yè)務(wù)保險(xiǎn)行業(yè)自律規(guī)定考核試卷
- 安全生產(chǎn)培訓(xùn)制度建立考核試卷
- 風(fēng)險(xiǎn)管理中的預(yù)測性維護(hù)技術(shù)考核試卷
- 節(jié)假日與特殊日期營銷考核試卷
- 五金店私域流量運(yùn)營與客戶關(guān)系管理系統(tǒng)的整合考核試卷
- 護(hù)理培訓(xùn)年度總結(jié)
- 私募股權(quán)投資基金培訓(xùn)課件
- 中國膨化食品行業(yè)競爭態(tài)勢及盈利戰(zhàn)略研究報(bào)告(2025-2026)
- 家鄉(xiāng)生態(tài)環(huán)境調(diào)查報(bào)告
- 班主任經(jīng)驗(yàn)交流ppt省名師優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件市賽課一等獎(jiǎng)?wù)n件
- 新航標(biāo)職業(yè)英語·綜合英語1Unit-7-(課堂PPT)
- 交強(qiáng)險(xiǎn)互碰自賠處理辦法介紹
- 小說閱讀答題技巧
- 煤礦掘進(jìn)機(jī)司機(jī)理論知識(shí)測評(píng)考試題庫(300題)
- CC++程序設(shè)計(jì)-同濟(jì)大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 2023年天津市特種設(shè)備相關(guān)管理資格考試電梯考試試卷(包含答案)
- 民航服務(wù)溝通PPT完整全套教學(xué)課件
- 圍手術(shù)期的臨床營養(yǎng)治療指南
- 某工業(yè)安裝工程設(shè)備監(jiān)理實(shí)施細(xì)則
評(píng)論
0/150
提交評(píng)論