1 簡(jiǎn)介1.1.課程設(shè)計(jì)目的及要求數(shù)據(jù)庫課程設(shè)計(jì)是為數(shù)據(jù)庫原理及應(yīng)用課程而獨(dú)立開設(shè)的實(shí)踐性課程。數(shù)據(jù)庫課程設(shè)計(jì)對(duì)于鞏固數(shù)據(jù)庫知識(shí),加強(qiáng)學(xué)生的實(shí)際動(dòng)手能力和提高學(xué)生綜合素質(zhì)十分必要。本課程分為系統(tǒng)分析與數(shù)據(jù)庫設(shè)計(jì)、應(yīng)用程序設(shè)計(jì)和系統(tǒng)集成調(diào)試三個(gè)階段進(jìn)行。 數(shù)據(jù)庫課程設(shè)計(jì)的主要目標(biāo)是: a.加深對(duì)數(shù)據(jù)庫系統(tǒng)、程序設(shè)計(jì)語言的理論知識(shí)的理解和應(yīng)用水平。 b.通過設(shè)計(jì)實(shí)際的數(shù)據(jù)庫系統(tǒng)應(yīng)用課題,進(jìn)一步熟悉數(shù)據(jù)庫管理系統(tǒng)的操作技術(shù),提高動(dòng)手能力,提高分析問題和解決問題的能力。 1.2.課程設(shè)計(jì)的主要內(nèi)容運(yùn)用數(shù)據(jù)庫基本理論與應(yīng)用知識(shí),在微機(jī)RDBMS(SQL Server)的環(huán)境上建立一個(gè)數(shù)據(jù)庫應(yīng)用系統(tǒng)。要求把現(xiàn)實(shí)世界的事物及事物之間的復(fù)雜關(guān)系抽象為信息世界的實(shí)體及實(shí)體之間聯(lián)系的信息模型,再轉(zhuǎn)換為機(jī)器世界的數(shù)據(jù)模型和數(shù)據(jù)文件,并對(duì)數(shù)據(jù)文件實(shí)施檢索、更新和控制等操作。 背景資料: 1) 有一個(gè)存放商品的倉(cāng)庫,每天都有商品出庫和入庫。 2) 每種商品都有名稱、生產(chǎn)廠家、型號(hào)、規(guī)格等。 3) 出入庫是必須填寫出入庫單據(jù),單據(jù)包括商品名稱、生產(chǎn)廠家、型號(hào)、規(guī)格、數(shù)量、日期、時(shí)間、入庫單位(或出庫單位)名稱、送貨(或提貨)人姓名。 設(shè)計(jì)要求: 1) 進(jìn)行需求分析,編寫數(shù)據(jù)字典。 2) 設(shè)計(jì)E-R圖。 3) 設(shè)計(jì)出入庫單據(jù)的錄入。 4) 實(shí)現(xiàn)按商品名稱、出入庫日期的查詢。 5) 實(shí)現(xiàn)分別安日、月和年對(duì)出入庫商品數(shù)量的統(tǒng)計(jì)。 1.3.開發(fā)工具JBuilder 是目前最好的Java開發(fā)工具之一,在協(xié)同管理、對(duì)J2EE和XML的支持等方面都非常的優(yōu)秀,它的這些特性是其他同類產(chǎn)品無法比擬的。同時(shí)它在Applet和EJB開發(fā)方面也具有獨(dú)特的優(yōu)勢(shì),使得它在J2EE工程開發(fā)界具有獨(dú)特的優(yōu)勢(shì),成為目前最流行的Java開發(fā)工具之一。一般來講Jbuilder提供了企業(yè)數(shù)據(jù)庫的動(dòng)態(tài)鏈接,可以開發(fā)出基于網(wǎng)絡(luò)的動(dòng)態(tài)分布計(jì)算數(shù)據(jù)庫管理系統(tǒng)。在現(xiàn)在的企業(yè)信息管理系統(tǒng)的實(shí)現(xiàn)中通常是結(jié)合Jbuilder和Weblogic_server來共同實(shí)現(xiàn)數(shù)據(jù)庫開發(fā)系統(tǒng)。Jbuilder的主要特性包括四個(gè)方面: (1)Tomcat組件的集成:Tomcat組件是業(yè)界公認(rèn)的優(yōu)秀的網(wǎng)絡(luò)開發(fā)軟件,Jbuilder和它集成,大大方便了Java在網(wǎng)絡(luò)和數(shù)據(jù)庫分布計(jì)算方面的應(yīng)用,使得Java的Web開發(fā)更容易。 (2)企業(yè)信息化應(yīng)用的開發(fā)功能:可以據(jù)此集成多種應(yīng)用服務(wù)器,大大方便了Java在企業(yè)信息化方面的應(yīng)用。提高了企業(yè)信息化的水平,促進(jìn)了Java在工程界的廣泛應(yīng)用。 (3)非常簡(jiǎn)單的程序發(fā)布功能:只需簡(jiǎn)單的步驟便可將自己的程序打包進(jìn)行發(fā)布,大大方便了用戶使用和發(fā)布自己的程序。 (4)由于在現(xiàn)在的軟件開發(fā)中團(tuán)隊(duì)合作是最重要的,Jbuilder就提供了團(tuán)隊(duì)開發(fā)能力,可以集成多種版本控制產(chǎn)品,方便了不同層次的用戶使用。 Jbuilder是按照SUN公司提供J2EE標(biāo)準(zhǔn)來構(gòu)筑的,它是一個(gè)遵循J2EE標(biāo)準(zhǔn)的可視化集成開發(fā)環(huán)境,目前在業(yè)界具有廣泛的用戶,成為一個(gè)處于市場(chǎng)領(lǐng)先地位的跨平臺(tái)環(huán)境,主要用于構(gòu)建一些具有行業(yè)實(shí)力的企業(yè)Java小程序,如為企業(yè)信息化而產(chǎn)生的客戶前臺(tái)瀏覽界面,為特定的用戶開發(fā)一些專業(yè)的程序包和特定的類庫。 JBuilder繼承了Borland公司開發(fā)工具系列的優(yōu)秀特性,繼承了許多Delphi和C++ Builder產(chǎn)品的優(yōu)秀特性,這使得用過這兩種產(chǎn)品的用戶很容易的就可以過渡到JBuilder的開發(fā)環(huán)境當(dāng)中,熟練的開發(fā)出高質(zhì)量的Java程序。在JBuilder這個(gè)開發(fā)環(huán)境中實(shí)際上包含了用戶在Java集成開發(fā)環(huán)境中所需要的一切東西。包括對(duì)常用的面向?qū)ο笳Z言UML建模工具的支持。我們可以在這個(gè)環(huán)境下對(duì)系統(tǒng)進(jìn)行建模,進(jìn)行系統(tǒng)調(diào)試,對(duì)系統(tǒng)進(jìn)行打包發(fā)布。 SQL Server 在管理企業(yè)信息方面最靈活和最經(jīng)濟(jì)高效。在盡可能提高服務(wù)質(zhì)量的同時(shí)削減了管理成本。除極大地提高質(zhì)量和性能以外,SQL Server作為微軟公司的數(shù)據(jù)庫產(chǎn)品,能夠和絕大多數(shù)建立在Windows XP平臺(tái)上的軟件兼容,具有很強(qiáng)的兼容性,并且SQL Server本身功能也十分強(qiáng)大,其中還有SQL查詢分析器、SQL Server 服務(wù)管理器、企業(yè)管理器等功能強(qiáng)大的工具,所以我選擇SQL Server作為我們的的后臺(tái)數(shù)據(jù)庫。 2算法說明2.1.需求分析數(shù)據(jù)字典1.對(duì)圖中"采購(gòu)",在數(shù)據(jù)字典中可對(duì)其作如下描述: 處理過程:確定訂單 說明:采購(gòu)員以購(gòu)買計(jì)劃為準(zhǔn),確定價(jià)格,數(shù)量,總金額,供應(yīng)商,在采購(gòu)過程中生成訂單及訂單. 輸入:計(jì)劃單編號(hào) 輸出:訂單 預(yù)訂單 程序提要: A在購(gòu)買計(jì)劃表中查找是否在價(jià)格范圍之內(nèi) B在價(jià)格范圍之內(nèi),則單價(jià)乘以數(shù)量是否在總金額范圍之內(nèi) C若A,B都滿足,則添加一條記錄 D處理完后,形成訂單和預(yù)訂單 2.對(duì)圖中"檢驗(yàn)",在數(shù)據(jù)字典中可對(duì)其作如下描述: 處理過程:核對(duì)物品信息后生成入庫單 說明:送貨員將物品送到后,管理員以預(yù)訂單為準(zhǔn)核對(duì)物品信息,確定無誤后,登記入庫單. 輸入:預(yù)訂單編號(hào) 輸出:入庫單 程序提要: A在預(yù)訂單中查找物品(例如:M)信息進(jìn)行核對(duì) B如若無誤,則在入庫單中添加一條物品(M)記錄 C核對(duì)完后,形成入庫單 3.對(duì)圖中"入庫",在數(shù)據(jù)字典中可對(duì)其作如下描述: 處理過程:入庫后修改(增加)現(xiàn)有庫存表 說明:入庫后增加現(xiàn)有庫存表 輸入:入庫單編號(hào) 輸出:現(xiàn)有庫存表 程序提要: A在入庫單中查找到每一種物品的數(shù)量,在現(xiàn)有庫存表中相應(yīng)增加 B處理完后,形成現(xiàn)有庫存表 4.對(duì)圖中"出庫",在數(shù)據(jù)字典中可對(duì)其作如下描述: 處理過程:出庫后登記入庫單并修改(減少)現(xiàn)有庫存表 說明:提貨員提交出庫申請(qǐng),由管理員批準(zhǔn)后,登記出庫單并修改(減少)現(xiàn)有庫存表 輸入:出庫申請(qǐng)編號(hào) 輸出:出庫單 現(xiàn)有庫存表 程序提要:A在出庫申請(qǐng)單中查找物品(例如:M)信息進(jìn)行核對(duì),出庫數(shù)量是否超過庫存或出庫后數(shù)量小于最小庫存 B如若無誤,則在出庫單中添加一條物品(M)記錄 C核對(duì)完后,形成出庫單 D在出庫單中查找到每一種物品的數(shù)量,在現(xiàn)有庫存表中相應(yīng)加減少 E處理完后,形成現(xiàn)有庫存表 5.對(duì)圖中"對(duì)比",在數(shù)據(jù)字典中可對(duì)其作如下描述: 處理過程:核對(duì)歸還物品信息后生成還庫單 說明:將物品歸還時(shí),管理員以出庫單為準(zhǔn)核對(duì)物品信息,確定無誤后,登記還庫單,如若有誤,登記懲罰表. 輸入:出庫單編號(hào) 輸出:還庫單 懲罰表 程序提要: A管理員在出庫單中查找物品(例如:M)信息進(jìn)行核對(duì) B如若無誤,則在還庫單中添加一條物品(M)記 C核對(duì)完后,形成入庫單 D如若有誤,則登記懲罰表 E處理完后,形成懲罰表 6.對(duì)圖中"歸還入庫",在數(shù)據(jù)字典中可對(duì)其作如下描述: 處理過程:還庫后修改(增加)現(xiàn)有庫存表 說明:還庫后增加現(xiàn)有庫存表 輸入:還庫單編號(hào) 輸出:現(xiàn)有庫存表 程序提要: A在還庫單中查找到每一種物品的數(shù)量,在現(xiàn)有庫存表中相應(yīng)增加 B處理完后,形成現(xiàn)有庫存表 2.2.概念模型設(shè)計(jì)
圖2-1 E-R圖 2.3.?dāng)?shù)據(jù)庫設(shè)計(jì)
圖2-2關(guān)系圖表: 1).表2-1商品表 
create table SHANGPIN (Sno char(5) primary key, Sname char(20) unique, Sleibie char(10), --食物,衣物,生活用品,家用電器等等 Sxinghao char(8) unique, Sdanwei char(2) not null, --件,個(gè)等等 Sprice int ); 2).表2-2倉(cāng)庫表 
create table CANGKU (Cno char(5) primary key, Cname char(20) ); 3).表2-3庫存表 
create table STORE (Sno char(5), Cno char(5), NUM int, primary key(Sno,Cno), foreign key(Sno)references SHANGPIN(Sno),
信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
|