




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
10級信管專業(yè)103班數(shù)據(jù)庫應(yīng)用系統(tǒng)課程設(shè)計課程論文PAGE信息工程學(xué)院《數(shù)據(jù)庫課程設(shè)計》論文題目:醫(yī)藥銷售數(shù)據(jù)庫設(shè)計學(xué)號:專業(yè)班級:姓名:指導(dǎo)老師:完成日期:引言 -1-1.需求分析 -1-2.?dāng)?shù)據(jù)庫結(jié)構(gòu)設(shè)計 -4-2.1概念設(shè)計 -4-2.1.1分E-R圖建立 -5-2.2邏輯設(shè)計 -7-2.2.1建立關(guān)系模式 -8-2.2.2關(guān)系模式規(guī)范化處理 -9-2.2.3用戶子模式建立 -9-2.2.4關(guān)系模式邏輯結(jié)構(gòu)定義 -9-3.?dāng)?shù)據(jù)庫物理設(shè)計 -10-3.1索引 -10-3.2觸發(fā)器 -10-3.3存儲過程 -10-4.?dāng)?shù)據(jù)庫實施與測試 -11-4.1數(shù)據(jù)庫實施 -11-4.1.1數(shù)據(jù)庫及數(shù)據(jù)庫對象建立 -11-4.1.2數(shù)據(jù)入庫 -11-4.2數(shù)據(jù)庫測試 -11-5.總結(jié) -12-6.附錄 -12-6.1附錄一數(shù)據(jù)字典 -12-6.1.1數(shù)據(jù)項 -12-6.1.2數(shù)據(jù)結(jié)構(gòu) -14-6.1.3數(shù)據(jù)流 -15-6.1.4處理邏輯 -17-6.1.5數(shù)據(jù)存儲 -18-6.2附錄二關(guān)系表 -19-6.3附錄三Sql語句 -23-6.4附錄四Sql語句驗證 -31-6.5附錄五Oracle語句 -36-6.6附錄六Oracle語句驗證 -41-
醫(yī)藥銷售數(shù)據(jù)庫設(shè)計學(xué)生姓名張文萍(信息工程學(xué)院信息管理與信息系統(tǒng)10級3班)摘要目前中小型藥店的營業(yè)規(guī)模不斷的擴(kuò)大,藥品的數(shù)量和種類不斷增加。對于許多仍處于人工管理階段的藥店來說,管理也越來越復(fù)雜。如果以藥店工作人員的增加來實現(xiàn)藥品的管理,雖然能使工作變得方便起來,但是這樣帶來更大的經(jīng)濟(jì)開銷,對于中小型藥店來說要解決實際問題并不是很合適。開發(fā)藥品進(jìn)銷存管理系統(tǒng)可以很大程度上方便管理人員對藥品的管理,實現(xiàn)藥品管理的高效化和統(tǒng)一化。為便于管理的方便性和可行性。根據(jù)現(xiàn)階段的應(yīng)用需求的開發(fā)目標(biāo)設(shè)計藥品進(jìn)銷存數(shù)據(jù)庫管理系統(tǒng)。實現(xiàn)藥品采購,庫存和銷售管理的功能,完成對藥品從采購到銷售的流水作業(yè)的數(shù)據(jù)管理功能。關(guān)鍵字:藥品;數(shù)據(jù)庫設(shè)計;藥品采購入庫銷45-引言當(dāng)今社會不斷的進(jìn)步,醫(yī)藥超市以及便民藥店等藥品銷售服務(wù)機(jī)構(gòu)已經(jīng)走入了人們的生活,成為了人們生活必不可少的一部分,在很大程度上方便了人們的生活。為了在更大程度上滿足人們的需求,許多藥店的的規(guī)模進(jìn)一步擴(kuò)大,管理也進(jìn)一步改善。逐步的走向
市場銷售的成熟化,管理的成熟化。而方便有效的管理手段已經(jīng)成為了所有管理部門管理的有力工具,經(jīng)營和運行整個藥店藥品進(jìn)銷存工作。傳統(tǒng)的管理手段在今天的高速發(fā)展的時代中,已經(jīng)不再體現(xiàn)人工管理的優(yōu)勢了,繁復(fù)和大量的手工記錄和計算給管理帶來了更多的重復(fù)工作,如果能將復(fù)雜的各類管理過程封裝在一個操作中,執(zhí)行每個管理步驟時使用相對應(yīng)的功能,那就能給管理者帶來更大的便捷。數(shù)據(jù)庫設(shè)計的目標(biāo)就是為用戶和各種應(yīng)用系統(tǒng)提供一個信息基礎(chǔ)設(shè)施和高效的運行環(huán)境。隨著科學(xué)技術(shù)的不斷提高,計算機(jī)科學(xué)日漸成熟,其強大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用.作為計算機(jī)應(yīng)用的一部分,使用計算機(jī)對物資信息進(jìn)行管理,具有比手工管理所無法比擬的優(yōu)點.例如:檢索迅速,查找方便,可靠性高,存儲量大等。這些優(yōu)點能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學(xué)化,正規(guī)化管理的重要條件。針對典型的進(jìn)銷存管理系統(tǒng),以醫(yī)藥銷售行業(yè)的藥品進(jìn)銷存業(yè)務(wù)為載體,設(shè)計藥品進(jìn)銷存管理系統(tǒng)。以滿足藥店管理者對各類檔案數(shù)據(jù)的管理,以現(xiàn)代化的思維模式去經(jīng)營。1.需求分析需求分析階段就是分析用戶的需求,這也是設(shè)計數(shù)據(jù)庫的起點。藥品進(jìn)銷存管理系統(tǒng)是中型的藥店管理人員方便藥店作業(yè)的各個流程的工作為目的的。在設(shè)計需求分析這個階段,主要確定藥品進(jìn)銷存的業(yè)務(wù)流程、數(shù)據(jù)流程,以及要實現(xiàn)的功能、目標(biāo),還要用來判定設(shè)計結(jié)果是否符合實際和實用,達(dá)到最初的設(shè)計目標(biāo),就是進(jìn)一步完善藥品管理系統(tǒng)的功能,使銷售服務(wù)更加方便,也能在很大程度上減輕工作者的負(fù)擔(dān)。藥品進(jìn)銷存管理的主要目標(biāo)就是通過藥品銷售的整個作業(yè)流程管理和控制及對庫存數(shù)據(jù)有效的統(tǒng)計和分析,以保證管理的暢通,使決策人員及早發(fā)現(xiàn)問題,采取相應(yīng)措施,調(diào)整管理方式,同時,通過數(shù)據(jù)的分析,可以或得當(dāng)前市場信息,也便于管理人員不斷的進(jìn)行管理的優(yōu)化和提高管理水平。通過查詢資料和分析當(dāng)前的藥店經(jīng)營狀況,明確用戶的需求而進(jìn)行設(shè)計。并完成業(yè)務(wù)流程圖和數(shù)據(jù)流程圖。進(jìn)一步創(chuàng)建數(shù)據(jù)字典,完成數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)處理功能模塊。業(yè)務(wù)流圖主要是闡述整個藥品進(jìn)銷存過程的流水作業(yè)過程,包括藥品的采購,庫存管理和銷售。實現(xiàn)進(jìn)銷存的有機(jī)統(tǒng)一結(jié)合。經(jīng)過進(jìn)一步的分析,詳細(xì)的業(yè)務(wù)流圖如圖1-1所示。圖1-1藥品進(jìn)銷存管理系統(tǒng)業(yè)務(wù)流圖數(shù)據(jù)流程圖反映的是藥店作業(yè)過程的數(shù)據(jù)去向和流向。通過數(shù)據(jù)流程圖,抽象現(xiàn)實世界的數(shù)據(jù)到藥品進(jìn)銷存的物理模型。再根據(jù)這個物理模型要抽象出信息流,將物理模型轉(zhuǎn)化成邏輯模型,反映信息在系統(tǒng)中的流動、處理和存儲情況,在整個過程中,所得到的數(shù)據(jù)流程圖可如下圖1-2至圖1-6所示,分為頂層數(shù)據(jù)流圖,第一層數(shù)據(jù)流圖,第二層數(shù)據(jù)流圖。圖1-2頂層數(shù)據(jù)流圖圖1-3第一層層數(shù)據(jù)流圖圖1-4第二層層數(shù)據(jù)流圖(采購)圖1-5第二層層數(shù)據(jù)流圖(銷售)圖1-6第二層層數(shù)據(jù)流圖(報損管理)圖1-7第二層層數(shù)據(jù)流圖(盤存管理)2.?dāng)?shù)據(jù)庫結(jié)構(gòu)設(shè)計主要包括概念設(shè)計和邏輯設(shè)計兩個部分。2.1概念設(shè)計將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)(概念模型)的過程。要能充分的反應(yīng)事物與事物之間的聯(lián)系,是對現(xiàn)實世界的一個真實模型。在需求分析階段得到的應(yīng)用需求首先抽象為信息世界的結(jié)構(gòu)才能更好的用某一DBMS實現(xiàn)這些需求。E-R模型是概念模型的有力工具。逐一設(shè)計分E-R圖,再將所有的分E-R圖綜合成系統(tǒng)的總E-R圖。2.1.1分E-R圖建立分E-R圖的建立依據(jù)于數(shù)據(jù)流圖的建立。以下可從第二層數(shù)據(jù)流圖分別建立分E-R圖。詳見圖2-1至2-8。圖2-1分E-R圖圖2-2分E-R圖圖2-3分E-R圖圖2-4分E-R圖圖2-5分E-R圖圖2-6分E-R圖圖2-7分E-R圖圖2-8分E-R圖綜合各部分的分E-R圖,藥品進(jìn)銷存管理系統(tǒng)的總體E-R圖的設(shè)計如下圖2-10所示。圖2-10全局E-R圖2.2邏輯設(shè)計邏輯結(jié)構(gòu)設(shè)計的任務(wù)就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。根據(jù)DBMS產(chǎn)品以及不同系統(tǒng)的限制,設(shè)計邏輯結(jié)構(gòu)時一般有以下三個步驟:首先將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系,網(wǎng)狀,層次模型;將轉(zhuǎn)換來的關(guān)系,網(wǎng)狀,層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;最后對數(shù)據(jù)模型進(jìn)行優(yōu)化。藥品管理系統(tǒng)的設(shè)計采用關(guān)系模型。E-R圖轉(zhuǎn)化為關(guān)系模型實際上就是要將實體型、實體的屬性和實體型之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式。一個實體型轉(zhuǎn)換為一個關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。對于實體型間的聯(lián)系有以下不同的情況:一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系沒模式,則與聯(lián)系向連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式,與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實體的碼組成關(guān)系的碼或關(guān)系的碼的一部分。2.2.1建立關(guān)系模式藥品進(jìn)銷存系統(tǒng)涉及到的關(guān)系主要有:供應(yīng)廠家和藥品為m:n(多對多)的關(guān)系,將它們之間的聯(lián)系轉(zhuǎn)換為獨立的關(guān)系模式。倉庫和藥品的關(guān)系為1:n(1對多),將其之間的聯(lián)系與n端實體合并。職工和倉庫的關(guān)系為1:n(一對多)的關(guān)系,也將其之間的聯(lián)系與n端實體合并。客戶和藥品之間的聯(lián)系為m:n(多對多)的關(guān)系,將它們之間的聯(lián)系轉(zhuǎn)換為獨立的關(guān)系模式。具體的轉(zhuǎn)換如下所示,主鍵或外鍵已標(biāo)注:(主鍵加粗,外鍵下劃線)供應(yīng)商(供應(yīng)商編號,供應(yīng)商名稱,供應(yīng)商地址,供應(yīng)商電話)藥品(藥品名稱,藥品分類,藥品劑型,藥品單價,藥品保質(zhì)期)職員(職員編號,職員姓名,職員類別)倉庫(倉庫編號,倉庫類別,倉庫地址)客戶(客戶編號,客戶姓名,客戶性別,客戶電話)采購(采購單編號,供應(yīng)商編號,藥品名稱,職員編號,采購量,采購日期)發(fā)貨(發(fā)貨單編號,供應(yīng)商編號,藥品名稱,職員編號,發(fā)貨量,發(fā)貨日期)客戶訂藥(訂藥單編號,客戶編號,藥品名稱,職員編號,訂藥量,訂藥日期)銷售(銷售單編號,客戶編號,藥品名稱,職員編號,銷售量,銷售日期)入庫(入庫單編號,藥品名稱,倉庫編號,職員編號,入庫量,入庫日期)出庫(出庫單編號,藥品名稱,倉庫編號,職員編號,出庫量,出庫日期)報損(報損單編號,藥品名稱,倉庫編號,職員編號,報損量,報損原因)盤存(盤存單編號,藥品名稱,倉庫編號,職員編號,盤存量)采購?fù)素?購?fù)素泦尉幪?,供?yīng)商編號,藥品名稱,職員編號,退貨量,退貨原因)客戶退貨(戶退貨單編號,客戶編號,藥品名稱,職員編號,退貨量,退貨原因)2.2.2關(guān)系模式規(guī)范化處理關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的規(guī)范化要求,對于不同的規(guī)范化程度可用范式來衡量。范式是符合某一種級別的關(guān)系模式的集合,是衡量關(guān)系模式規(guī)范化程度的標(biāo)準(zhǔn),達(dá)到的關(guān)系才是規(guī)范化的。一個低一級范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個高一級范式的關(guān)系模式的集合。在本系統(tǒng)中,所有建立的表都符合三范式。2.2.3用戶子模式建立根據(jù)需求分析,研究建立滿足不同需求的用戶子模式,各個子模式的建立在更大程度上方便數(shù)據(jù)操作。用戶子模式的定義如表3-1所示。具體實現(xiàn)過程見附錄。供應(yīng)商(供應(yīng)商編號,供應(yīng)商名稱,供應(yīng)商地址,供應(yīng)商電話)藥品(藥品名稱,藥品分類,藥品劑型,藥品單價,藥品保質(zhì)期)藥品銷售(藥品名稱,銷售量,銷售日期)倉庫報損(倉庫編號,藥品名稱,報損量)庫存(倉庫編號,藥品名稱,盤存量)編號名稱作用V-1Vi_supplier查詢供應(yīng)商的信息V-2Vi_goods查詢各類藥品的信息V-3Vi_sale查詢藥品銷售信息V-4Vi_baosun查詢倉庫藥品報損信息V-5Vi_Kucun查詢倉庫藥品庫存信息表2-12.2.4關(guān)系模式邏輯結(jié)構(gòu)定義對每個關(guān)系模式要以表格形式描述其具體內(nèi)容。關(guān)系模式的表格形勢將以附錄二形式列出。3.?dāng)?shù)據(jù)庫物理設(shè)計主要包括數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法就是數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于選定的數(shù)據(jù)庫管理系統(tǒng)。為一個給定的邏輯數(shù)據(jù)模型選取一個最合適的應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計。這一階段主要的任務(wù)是確定數(shù)據(jù)庫的物理結(jié)構(gòu),并不斷的進(jìn)行優(yōu)化處理,主要建立索引,觸發(fā)器,存儲過程。3.1索引建立索引是加快查詢速度的有效手段。如果訪問某一數(shù)據(jù)項的頻率較高時,可為之建立索引。而系統(tǒng)在存取數(shù)據(jù)時會自動選擇合適的索引作為存取路徑,對用戶是透明的。在本系統(tǒng)由于藥品和供應(yīng)廠家的訪問頻率較大,故為之建立索引。由于在使用時供應(yīng)商的信息表,藥品信息表,客戶信息表訪問的次數(shù)較多。故為之建立索引。建立的索引如下表所示。表3-1編號名稱定義備注I-1In_SupName見附錄3.2觸發(fā)器觸發(fā)器是用戶定義在關(guān)系表上的一類由事件驅(qū)動的過程。觸發(fā)器的定義可以更加便捷的實現(xiàn)數(shù)據(jù)的操作,增加數(shù)據(jù)操作的靈活性,對數(shù)據(jù)有更大的控制能力。這里只要建立觸發(fā)器來實現(xiàn)對數(shù)據(jù)的約束條件。如進(jìn)貨量,藥品入庫時保質(zhì)期的檢測等。主要建立的觸發(fā)器見表。編號觸發(fā)器名稱定義作用T-1tri_C02見附錄三限制刪除C-02客戶的退貨記錄T-2tri_Acc見附錄三限制某一藥品入庫量不小于400T-3tri_gprice見附錄三限制更新的藥品價格不小于1元,小于元的改為1元T-4tri_gshelf見附錄三保質(zhì)期到2010年的不允許插入T-5tri_buy見附錄三限制采購量更新量不小于100表3-23.3存儲過程存儲過程可以實現(xiàn)數(shù)據(jù)庫操作的增刪改功能,在執(zhí)行時需要調(diào)用。運用想函數(shù)一樣,也可以有參數(shù)的參與。定義存儲過程提供了過程封裝的效果,執(zhí)行只需調(diào)用,在更大程度上簡化了數(shù)據(jù)處理過程。藥品的進(jìn)銷存過程部分存儲過程如下表所示。表3-3編號存儲過程名稱定義作用P-1Goods_shelf見附錄三查詢某一藥品保質(zhì)期P-3pro_Gtype見附錄三查詢劑型為普通片的藥品P-4pro_cback見附錄三查詢某種原因的藥品的退貨量P-5pro_addgoods見附錄三插入一條藥品信息P-6pro_delgoods見附錄三刪除一條藥品記錄P-7pro_orderSale見附錄三按藥品銷量排序P-8pro_updIn見附錄三更新入庫量4.?dāng)?shù)據(jù)庫實施與測試數(shù)據(jù)庫的物理設(shè)計階段之后就進(jìn)入了實施階段,這一階段要用SQL2008來操作。具體的數(shù)據(jù)庫,數(shù)據(jù)表,視圖,索引和存儲過程等都是這個階段用SQL語句創(chuàng)建。4.1數(shù)據(jù)庫實施4.1.1數(shù)據(jù)庫及數(shù)據(jù)庫對象建立藥店的藥品管理所涉及的對象主要包括:數(shù)據(jù)庫、基本表、視圖、索引、觸發(fā)器以及存儲過程。以實現(xiàn)對數(shù)據(jù)的操作的簡便和有效。(詳細(xì)的sql代碼見附錄三)。4.1.2數(shù)據(jù)入庫對各個主要數(shù)據(jù)表要錄入20條以上的記錄,方法可用EXCEL批量導(dǎo)入,也可以逐條錄入。4.2數(shù)據(jù)庫測試主要內(nèi)容是對建立的數(shù)據(jù)庫及數(shù)據(jù)庫對象進(jìn)行測試具體要求:(1)要設(shè)計好測試數(shù)據(jù)(2)對測試的結(jié)果要以圖片形式,同時注意圖片的格式(3)對測試結(jié)果進(jìn)行分析,是否滿足設(shè)計要求。(數(shù)據(jù)操作的驗證詳見附錄,存儲過程的驗證詳見附錄四。)5.總結(jié)在此次數(shù)據(jù)庫設(shè)計中,我有一下心得及體會:一.在這學(xué)期的數(shù)據(jù)庫系統(tǒng)概論學(xué)習(xí)中,因為對數(shù)據(jù)庫系統(tǒng)的認(rèn)識不夠深刻,以及平時所做的練習(xí)都是老師給定的表,自己只是做簡單的查詢,刪除,更新工作,所以給了我一個很大的誤區(qū):數(shù)據(jù)庫系統(tǒng)只是一個很簡單的系統(tǒng),它只會做簡單的工作。在老師說做數(shù)據(jù)庫設(shè)計師,我覺得就是一個簡單的事情。但是我錯了,在這次實習(xí)中我遇到了很多的問題,比如:對于我的題目《醫(yī)藥銷售管理系統(tǒng)》,在對現(xiàn)實的抽象上我遇到了較多的問題,我覺得自己可以做的業(yè)務(wù)一經(jīng)老師的指導(dǎo)才知道看似簡單的問題其實是那么的復(fù)雜。二.實習(xí)時,我深刻的感受到了數(shù)據(jù)庫設(shè)計是環(huán)環(huán)嵌套的,只有做好了需求分析,有了好的數(shù)據(jù)流圖,才會使后期的工作順利的展開,否則就會在折回來接著做需求分析,所以我們要花大量的時間去做需求分析。在此次實習(xí)中我按時完成了數(shù)據(jù)庫設(shè)計的要求。同時經(jīng)過實習(xí)我知道了做任何事都要事先考慮好所有可能發(fā)生的事情,然后做好相應(yīng)的準(zhǔn)備。6.附錄6.1附錄一數(shù)據(jù)字典6.1.1數(shù)據(jù)項數(shù)據(jù)項編號數(shù)據(jù)項名數(shù)據(jù)項含義與其他數(shù)據(jù)項關(guān)系類型Dl-1Supnumber供應(yīng)商編號varchar(10)Dl-2Supname供應(yīng)商名稱varchar(30)Dl-3Supadress供應(yīng)商地址varchar(30)Dl-4Supphone供應(yīng)商電話varchar(20)Dl-5Gsname藥品名稱varchar(20)Dl-6Gkind藥品分類varchar(20)Dl-7Gtype藥品劑型varchar(20)Dl-8Gprice藥品單價floatDl-9Gshelf藥品保質(zhì)期dateDl-10Empnumber職員編號varchar(10)Dl-11Empkind職員類別varchar(10)Dl-12Empname職員姓名varchar(10)Dl-13Hounumer倉庫編號varchar(10)Dl-14Houkind倉庫類別varchar(10)Dl-15Houaddr倉庫地址varchar(20)Dl-16Buynumber采購單編號varchar(10)Dl-17Buydate采購日期dateDl-18Buyliang采購量intDl-19Sendnumber發(fā)貨單編號varchar(10)Dl-20Sendliang發(fā)貨量intDl-21Senddate發(fā)貨日期dateDl-22Lostnumber報損單編號varchar(10)Dl-23Lostreas報損原因varchar(30)Dl-24Lostliang報損量intDl-25Swnumber實物清單編號varchar(10)Dl-26Swliang實物數(shù)量intDl-27Jcnumber盤查記錄單編號varchar(10)Dl-28Jcliang記錄量intDl-29Pancnumber盤存單編號varchar(10)Dl-30Pancliang盤存實際量intDl-31Dynumber訂藥單編號varchar(10)Dl-32Dydate訂藥日期dateDl-33Dyliang訂藥數(shù)量intDl-34Salenumber銷售單編號varchar(10)Dl-35Saledate銷售日期dateDl-36Saleliang銷售量intDl-37Cusnumber客戶編號varchar(10)Dl-38Cusname客戶姓名varchar(10)Dl-39Cussex客戶性別varchar(2)Dl-40Cusphone客戶電話varchar(20)Dl-41Innumber藥品入庫單編號varchar(10)Dl-42Indate藥品入庫日期dateDl-43Inliang藥品入庫量intDl-44Outnumber藥品出庫單編號varchar(10)Dl-45Outreas藥品出庫原因varchar(30)Dl-46Outdate藥品出庫時間dateDl-47Outliang藥品出庫量intDl-48CBacknum客戶退貨單編號varchar(10)Dl-49Cbackliang客戶退貨單量intDl-50Cbackreas客戶退貨原因varchar(30)Dl-51Sbacknum藥店退貨單編號varchar(10)Dl-52Sbackliang藥店退貨單數(shù)量intDl-53Sbackreas藥店退貨原因varchar(30)6.1.2數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)編號數(shù)據(jù)結(jié)構(gòu)名稱數(shù)據(jù)結(jié)構(gòu)含義數(shù)據(jù)結(jié)構(gòu)組成DS-1Supplier供應(yīng)商Supnumber,Supname,Supadress,SupphoneDS-2Customer客戶Cusnumber,Cusname,Cussex,CusphoneDS-3Goods藥品Gname,Gkind,Gtype,Gprice,GshelfDS-4Hourse倉庫Hounumber,Houkind,HouaddrDS-5Employer職員Empnumber,Empname,EmpkindDS-7Buylist采購單Buynumber,Buydate,Buyliang,Gname,Supnumber,EmpnumberDS-8Sendlist發(fā)貨單Sendnumber,Sendliang,Senddate,Gname,Supnumber,EmpnumberDS-9Lostlist報損單Lostnumber,Lostreas,Lostliang,Gname,Empnumber,HounumberDS-10Swlist實物清單Swlistnumber,Swliang,Gname,Empnumber,HounumberDS-11Jclist盤查記錄單Jcnumber,Empnumber,JcliangDS-12Panclist盤存單Pancnumber,Pancliang,Gname,Hounumber,EmpnumberDS-13Dyaolist訂藥單Dynumber,Dydate,Dyliang,Gname,Cusnumber,EmpnumberDS-14Salelist銷售單Salenumber,Saledate,Saleliang,Cusnumber,Empnumber,GnameDS-15Inlist入庫單Innumber,Indate,Inliang,Gname,Empnumber,HounumberDS-16Outlist出庫單Outnumber,Outdate,Outliang,Gname,Empnumber,HounumberDS-17Cbacklist客戶退貨單CBacknumber,Cbackliang,Cbackreas,Gname,Cusnumber,EmpnumberDS-18Sbacklist采購?fù)素泦蜸backnumber,Sbackliang,Sbackreas,Gname,Empnumber,Supnumber6.1.3數(shù)據(jù)流數(shù)據(jù)流名稱簡述數(shù)據(jù)流來源數(shù)據(jù)流去向數(shù)據(jù)流組成數(shù)據(jù)流量高峰流量發(fā)貨單供應(yīng)商發(fā)出的收貨單供應(yīng)商驗收貨品模塊Sendnumber,Sendliang,Senddate,Gname,Supnumber,Empnumber15/月30/月采購單采購部發(fā)給供應(yīng)商的采購單采購部供應(yīng)商Buynumber,Buydate,Buyliang,Gname,Supnumber,Empnumber15/月30/月合格單采購部發(fā)給庫管員的進(jìn)貨單采購部庫管模塊Buynumber,Buydate,Buyliang,Gnumber,Gsname,Empnumber,Kugname15/月30/月不合格單采購部發(fā)給退貨部的清單采購部退貨模塊Buynumber,Buydate,Buyliang,Gnumber,Gsname15/月30/月退貨單退貨部發(fā)給供應(yīng)商的退貨單退貨部供應(yīng)商Sbacknumber,Sbackliang,Sbackreas,Gname,Empnumber,Supnumber15/月30/月入庫單庫管員編制的入庫記錄庫管員編制庫存記錄模塊Innumber,Indate,Inliang,Gname,,Hounumber30/月60/月退貨記錄單退貨部向供應(yīng)商的退單記錄退貨部編制退貨記錄模塊Sbacknum,Sbackliang,Sbackreas,Sbackdate,Gnumber,Gsname31/月61/月采購記錄單采購部編制的采購記錄采購部采購記錄模塊SendnumberSendliangSenddate,Gnumber,Gsname,Supnumber,Supname32/月62/月訂貨單客戶發(fā)出的訂貨單客戶銷售部Dynumber,Dydate,Dyliang,Gname,Cusnumber,Empnumber50/月100/月銷售單銷售部給客戶的銷售記錄銷售部客戶Salenumber,Saledate,Saleliang,Cusnumber,Empnumber,Gname51/月101/月出庫單銷售部給庫房的出庫記錄銷售部庫房Outnumber,Outdate,Outliang,Gname,Empnumber,Hounumber52/月102/月退貨單客戶給退貨部的退貨單客戶退貨模塊CBacknumber,Cbackliang,Cbackreas,Gname,Cusnumber,Empnumber15/月30/月銷售記錄單銷售部編制的銷售記錄銷售部銷售記錄模塊Salenumber,Saledate,Saleliang,Cusnumber,Empnumber16/月31/月退貨記錄單退貨部給客戶的退單記錄退貨部編制退貨記錄模塊CBacknumber,Cbackliang,Cbackdate,Gnumber,Cusnumber17/月32/月退單退貨部審核通過的客戶退單客戶退貨模塊CBacknum,Cbackliang,Cbackreas,Cbackdate,Gnumber,Cusnumber18/月33/月退貨確認(rèn)單退貨部給庫房的退貨記錄退貨部庫房CBacknum,Cbackliang,Cusnumber,Empnumber,19/月34/月報損單庫管給主管部的報損記錄庫管員編制主管部Lostnumber,Lostreas,Lostliang,Gname,Empnumber,Hounumber30/月50/月不合格報損單主管檢查不生效的報損單主管部庫管Lostnumber,Lostliang,Gnumber,Gsname,Empnumber31/月51/月合格報損單主管檢查生效的報損單主管部報損模塊Lostnumber,Lostliang,Gnumber32/月52/月報損記錄單主管檢查的生效報損記錄單主管部報損記錄模塊Lostnumber,Lostliang,Gnumber33/月53/月報損清單主管部發(fā)給庫房的報損記錄主管部庫房記錄模塊Lostnumber,Lostliang,Gnumber,Empnumber34/月54/月藥品清單庫管發(fā)給盤查部的實物清單庫管員編制盤查部Pancnumber,Pancdate,Pancliang,Gnumber,Empnumber35/月55/月記錄單盤查部盤查后的記錄單盤查部編制盤查部Pancnumber,Pancdate,Pancliang,Gnumber36/月56/月盤存單賬務(wù)不實盤查部生成新的盤存單盤查部編制庫房和盤存記錄Pancnumber,Pancliang,Gname,Hounumber,Empnumber37/月57/月盤存清單盤查部發(fā)給庫房的記錄盤查部編制庫房記錄模塊Pancnumber,Pancdate,Pancliang,Gnumber,Empnumber38/月58/月盤存記錄單盤查部生成的盤查記錄盤查部編制盤查記錄模塊Pancnumber,Pancdate,Pancliang,Gnumber,Empnumber38/月58/月6.1.4處理邏輯處理邏輯編號處理邏輯名稱簡述輸入的數(shù)據(jù)流處理輸出的數(shù)據(jù)流處理頻率P1.1驗收采購部檢驗來貨F1發(fā)貨單根據(jù)發(fā)貨單檢驗商品F3合格單,F(xiàn)4不合格單30/月P1.2入庫檢驗合格入庫F3合格單登記庫存賬目F6入庫記錄單,F(xiàn)8采購記錄單35/月P1.3退貨檢驗不合格退去F4不合格單確定退貨F5退貨單,F(xiàn)7退貨記錄單10/月P2.1銷售銷售部向客戶賣貨F9訂貨單導(dǎo)購提貨F10銷售單,F(xiàn)11出庫單50/月P2.2確認(rèn)退貨退貨部處理客戶退貨單F12退貨單處理退貨單F15退單5/月P2.3退貨客戶退貨成功F15退單客戶退貨成功F14退貨記錄單,F(xiàn)16退貨確認(rèn)單5/月P3.1主管檢查主管檢查報損單F17報損單根據(jù)報損單檢查報損F18不合格報損單,F(xiàn)19合格報損單1/月P3.2確定報損單主管接受合格報損單F19合格報損單確定報損單F20報損記錄單,F(xiàn)21報損清單1/月P3.3報損不生效主管反饋不合格報損單F18不合格報損單向庫管反饋不合格報損單F18不合格報損單1/月P4.1存貨清查對倉庫存貨清查F22藥品清單根據(jù)藥品清單存貨清查F23記錄單2/月P4.2對比賬單對比清查結(jié)果F23記錄單根據(jù)藥品清單對比記錄單F22藥品清單,F(xiàn)24盤存單3/月P4.3確定盤存單確定盤存單F24盤存單登記盤存和庫存記錄F25盤存清單,F(xiàn)26盤存記錄單4/月6.1.5數(shù)據(jù)存儲數(shù)據(jù)存儲編號數(shù)據(jù)存儲名稱簡述數(shù)據(jù)存儲組成相關(guān)聯(lián)的處理S1庫存記錄商品入庫出庫,客戶退貨,報損盤存清查后修改庫存量商品編號,倉庫編號,存儲量P1.2,P2.2,P2.3,P3.2,P4.3S2采購記錄商店從供應(yīng)商采購的貨物記錄供應(yīng)商編號,商品編號,商品名,商品數(shù)量,商品價格P1.2S3退貨記錄商店退給供應(yīng)商的退貨記錄供應(yīng)商編號,商品編號,商品名,商品數(shù)量P1.3S4銷售記錄商品賣給客戶的銷售記錄商品編號,客戶編號,商品名,商品數(shù)量P2.1S5退貨記錄客戶退給商店的退貨記錄商品編號,客戶,商品名,商品數(shù)量P2.3S6報損記錄庫房報損記錄倉庫編號,商品編號,商品名,報損數(shù)量P3.2S7盤存記錄商品盤存清查的記錄倉庫編號,商品編號,商品名,實際數(shù)量P4.36.2附錄二關(guān)系表供應(yīng)商列名數(shù)據(jù)類型約束主外鍵供應(yīng)商編號varchar(10)notnull主鍵供應(yīng)商名稱varchar(30)notnull——供應(yīng)商地址varchar(40)——供應(yīng)商電話varchar(20)——藥品列名數(shù)據(jù)類型約束主外鍵藥品名稱varchar(30)notnull主鍵藥品分類varchar(20)——藥品劑型varchar(20)——藥品單價floatnotnull——藥品保質(zhì)期date——職員列名數(shù)據(jù)類型約束主外鍵職員編號varchar(10)notnull主鍵職員姓名varchar(10)——職員類別varchar(10)——倉庫列名數(shù)據(jù)類型約束主外鍵倉庫編號varchar(10)notnull主鍵倉庫類別varchar(10)——倉庫地址varchar(20)——客戶列名數(shù)據(jù)類型約束主外鍵客戶編號varchar(10)notnull主鍵客戶姓名varchar(10)notnull——客戶性別varchar(2)——客戶的電話varchar(20)——采購列名數(shù)據(jù)類型約束主外鍵采購單編號varchar(10)notnull主鍵供應(yīng)商編號varchar(10)notnull外鍵藥品名稱varchar(30)notnull外鍵職員編號varchar(10)notnull外鍵采購量intnotnull——采購日期date——發(fā)貨列名數(shù)據(jù)類型約束主外鍵發(fā)貨單編號varchar(10)notnull主鍵供應(yīng)商編號varchar(8)notnull外鍵藥品名稱varchar(30)notnull外鍵職員編號varchar(10)notnull外鍵發(fā)貨量intnotnull——發(fā)貨日期date——采購?fù)素浟忻麛?shù)據(jù)類型約束主外鍵采購?fù)素泦尉幪杤archar(10)notnull主鍵供應(yīng)商編號varchar(10)notnull外鍵藥品名稱varchar(30)notnull外鍵職員編號varchar(10)notnull外鍵退貨量intnotnull——退貨原因varchar(30)——客戶退貨列名數(shù)據(jù)類型約束主外鍵客戶退貨單編號varchar(10)notnull主鍵客戶編號varchar(10)notnull外鍵藥品名稱varchar(30)notnull外鍵職員編號varchar(10)notnull外鍵退貨量intnotnull——退貨原因varchar(30)——銷售列名數(shù)據(jù)類型約束主外鍵銷售單編號varchar(10)notnull主鍵客戶編號varchar(10)notnull外鍵藥品名稱varchar(30)notnull外鍵職員編號varchar(10)notnull外鍵銷售量intnotnull——銷售日期date——客戶訂藥列名數(shù)據(jù)類型約束主外鍵訂藥單編號varchar(10)notnull主鍵客戶編號varchar(10)notnull外鍵藥品名稱varchar(30)notnull外鍵職員編號varchar(10)notnull外鍵訂藥量intnotnull——訂藥日期date——入庫列名數(shù)據(jù)類型約束主外鍵入庫單編號varchar(10)notnull主鍵藥品名稱varchar(30)notnull外鍵倉庫編號varchar(10)notnull外鍵職員編號varchar(10)notnull外鍵入庫量intnotnull——入庫日期date——出庫列名數(shù)據(jù)類型約束主外鍵出庫單編號varchar(10)notnull主鍵藥品名稱varchar(30)notnull外鍵倉庫編號varchar(10)notnull外鍵職員編號varchar(10)notnull外鍵出庫量intnotnull——出庫日期date——報損列名數(shù)據(jù)類型約束主外鍵報損單編號varchar(10)notnull主鍵藥品名稱varchar(30)notnull外鍵倉庫編號varchar(10)notnull外鍵職員編號varchar(10)notnull外鍵報損量intnotnull——報損原因varchar(30)——盤存列名數(shù)據(jù)類型約束主外鍵盤存單編號varchar(10)notnull主鍵藥品名稱varchar(30)notnull外鍵倉庫編號varchar(10)notnull外鍵職員編號varchar(10)notnull外鍵盤存量intnotnull——6.3附錄三Sql語句createdatabaseYYJXC--表createtableSupplier(Supnumbervarchar(10)primarykey,Supnamevarchar(30)notnull,Supadressvarchar(40)notnull,Supphonevarchar(20))createtableGoods(Gnamevarchar(30)primarykey,Gkindvarchar(20),Gtypevarchar(20),Gpricefloatnotnull,Gshelfdate)createtableEmployer(Empnumbervarchar(10)primarykey,Empnamevarchar(10),Empkindvarchar(10))createtableHourse(Hounumbervarchar(10)primarykey,Houkindvarchar(10),Houaddrvarchar(20))createtableCustomer(Cusnumbervarchar(10)primarykey,Cusnamevarchar(10)notnull,Cussexvarchar(2)check(Cussexin('男','女')),Cusphonevarchar(20))createtableBuylist(Buynumbervarchar(10)primarykey,Supnumbervarchar(10),Gnamevarchar(30),Empnumbervarchar(10),Buyliangintnotnull,Buydatedate,foreignkey(Supnumber)referencesSupplier(Supnumber),foreignkey(Gname)referencesGoods(Gname),foreignkey(Empnumber)referencesEmployer(Empnumber))createtableSendlist(Sendnumbervarchar(10)primarykey,Supnumbervarchar(10),Gnamevarchar(30),Empnumbervarchar(10),Sendliangintnotnull,Senddatedate,foreignkey(Supnumber)referencesSupplier(Supnumber),foreignkey(Gname)referencesGoods(Gname),foreignkey(Empnumber)referencesEmployer(Empnumber))createtableSbacklist(Sbacknumbervarchar(10)primarykey,Supnumbervarchar(10),Gnamevarchar(30),Empnumbervarchar(10),Sbacklingintnotnull,Sbackreasvarchar(30),foreignkey(Supnumber)referencesSupplier(Supnumber),foreignkey(Gname)referencesGoods(Gname),foreignkey(Empnumber)referencesEmployer(Empnumber))createtableDyaolist(Dynumbervarchar(10)primarykey,Gnamevarchar(30),Cusmumbervarchar(10),Empnumbervarchar(10),Dyliangintnotnull,Dydatedate,foreignkey(Cusmumber)referencesCustomer(Cusnumber),foreignkey(Gname)referencesGoods(Gname),foreignkey(Empnumber)referencesEmployer(Empnumber))createtableSalelist(Salenumbervarchar(10)primarykey,Gnamevarchar(30),Cusmumbervarchar(10),Empnumbervarchar(10),Saleliangintnotnull,Saledatedate,foreignkey(Cusmumber)referencesCustomer(Cusnumber),foreignkey(Gname)referencesGoods(Gname),foreignkey(Empnumber)referencesEmployer(Empnumber))createtableCbacklist(Cbacknumbervarchar(10)primarykey,Gnamevarchar(30),Cusnumbervarchar(10),Empnumbervarchar(10),Cbackliangintnotnull,Cbackreasvarchar(30),foreignkey(Cusnumber)referencesCustomer(Cusnumber),foreignkey(Gname)referencesGoods(Gname),foreignkey(Empnumber)referencesEmployer(Empnumber))createtableInlist(Innumervarchar(10)primarykey,Gnamevarchar(30),Hounnumbervarchar(10),Empnumbervarchar(10),Inliangintnotnull,Indatedate,foreignkey(Hounnumber)referencesHourse(Hounumber),foreignkey(Gname)referencesGoods(Gname),foreignkey(Empnumber)referencesEmployer(Empnumber))createtableOutlist(Outnumbervarchar(10)primarykey,Gnamevarchar(30),Hounnumbervarchar(10),Empnumbervarchar(10),Outliangintnotnull,Outdatedate,foreignkey(Hounnumber)referencesHourse(Hounumber),foreignkey(Gname)referencesGoods(Gname),foreignkey(Empnumber)referencesEmployer(Empnumber))createtableLostlist(Lostnumbervarchar(10)primarykey,Gnamevarchar(30),Hounnumbervarchar(10),Empnumbervarchar(10),Lostliangintnotnull,Lostreasvarchar(30),foreignkey(Hounnumber)referencesHourse(Hounumber),foreignkey(Gname)referencesGoods(Gname),foreignkey(Empnumber)referencesEmployer(Empnumber))createtablePanclist(Pancnumbervarchar(10)primarykey,Gnamevarchar(30),Hounnumbervarchar(10),Empnumbervarchar(10),Pancliangintnotnull,foreignkey(Hounnumber)referencesHourse(Hounumber),foreignkey(Gname)referencesGoods(Gname),foreignkey(Empnumber)referencesEmployer(Empnumber))--視圖createviewVi_supplierasselect*fromSuppliercreateviewVi_goodsasselect*fromGoodscreateviewVi_saleasselectGname,SaleliangfromSalelistcreateviewVi_baosunasselectGname,LostliangfromLostlistcreateviewVi_pancunasselectGname,PancliangfromPanclist--索引createnonclusteredindexIn_SupnameonSupplier(SupName)--觸發(fā)器--限制刪除C-02客戶的退貨記錄createtriggertri_C02onCbacklistinsteadofdeleteasbeginifexists(select*fromdeletedwhereCusnumber='C-02')print'刪除記錄'end--測試deletefromCbacklistwhereCusnumber='C-02'--限制某一藥品入庫量不小于400createtriggertri_AcconInlistinsteadofinsert,updateasdeclare@Gnamechar(30),@Inliangintselect@Gname=Gname,@Inliang=Inliangfrominsertedif@Inliang<400print'入庫量小于400'--測試insertintoInlistvalues('I-25','牛黃解毒片','H-01','E-16',300,'2011-4-15')--限制更新的藥品價格不小于1元,小于1元的改為1元createtriggertri_gpriceonGoodsinsteadofinsert,updateasdeclare@Gnamevarchar(30),@Gpricefloatselect@Gname=Gname,@Gprice=Gpricefrominsertedif@Gprice<1updateGoodssetGprice=1whereGname=@Gname--測試insertintoGoodsvalues('三黃片','處方藥','普通片',0.5,'2012-9-1')--保質(zhì)期到2010年的不允許插入createtriggertri_gshelfonGoodsforinsertasifexists(select*fromGoodswhereYear(Gshelf)<2012)beginprint'藥品已過期'rollbackend--測試insertintoGoodsvalues('瀉立停','處方藥','普通片',3,'2009-1-7')--限制采購量更新量不小于100createtriggertri_buyonBuylistforinsert,updateasifexists(select*frominsertedwhereBuyliang<100)beginprint'采購量小于100'end--測試insertintoBuylistvalues('B-26','S-11','保和丸','E-04',50,'2012-1-12')--存儲過程--查詢某一藥品保質(zhì)期createprocedureGoods_shelf@Gnamevarchar(30)asselectGname藥品名,Gshelf保質(zhì)期fromGoodswhereGname=@Gname--測試執(zhí)行結(jié)果execGoods_shelf@Gname='防風(fēng)通圣丸'--查詢劑型為普通片的藥品createprocedurepro_GtypeasselectGname藥品名,Gtype劑型fromGoodswhereGtype='普通片'--測試執(zhí)行結(jié)果execpro_Gtype--查詢某種原因的藥品的退貨量createprocedurepro_cback@BackSakevarchar(30)asselectGoods.Gname藥品名,Cbackliang退貨量,Cbackreas退貨原因fromGoods,CbacklistwhereGoods.Gname=Cbacklist.GnameandCbackreas=@BackSake--測試執(zhí)行結(jié)果execpro_cback'損壞'execpro_cback'數(shù)量有誤'--插入一條藥品信息createprocedurepro_addgoods@Gnamevarchar(30),@Gkindvarchar(20),@Gtypevarchar(20),@Gpricefloat,@GshelfdateasinsertintoGoodsvalues(@Gname,@Gkind,@Gtype,@Gprice,@Gshelf)--測試執(zhí)行結(jié)果execpro_addgoods'牛黃解毒片','處方藥','普通片',1.2,'2013-2-3'--刪除一條藥品記錄createprocedurepro_delgoods@Gnamechar(30)asdeletefromGoodswhereGname=@Gname--測試執(zhí)行結(jié)果execpro_delgoods'牛黃解毒片'--按銷售量排序createprocedurepro_orderSaleasselectGoods.Gname藥品名,Saleliang銷售量fromGoods,SalelistwhereGoods.Gname=Salelist.GnameorderbySaleliangdesc--測試執(zhí)行結(jié)果execpro_orderSale--更新入庫量createprocedurepro_updInasupdateInlistsetInliang=Inliang+500--測試執(zhí)行結(jié)果execpro_updIndropprocedurepro_updIn6.4附錄四Sql語句驗證視圖過程驗證:視圖驗證結(jié)果(Vi_supplier)視圖驗證結(jié)果(Vi_sale)視圖驗證結(jié)果(Vi_pancun)存儲過程驗證:存儲過程驗證(Goods_shelf)存儲過程驗證(pro_Gtype)存儲過程驗證(pro_cback)存儲過程驗證(pro_orderSale)存儲過程驗證(pro_updIn)觸發(fā)器驗證:觸發(fā)器驗證(tri_C02)觸發(fā)器驗證(tri_Acc)觸發(fā)器驗證(tri_gprice)觸發(fā)器驗證(tri_gshelf)觸發(fā)器驗證(tri_buy)6.5附錄五Oracle語句--視圖:createorreplaceviewVi_supplierasselect*fromSuppliercreateorplaceviewVi_pancunasselectGname,PancliangfromPanclist--存儲過程:--輸出退貨單為B-11的信息createorreplaceprocedurep1isv_sbacknumbersbacklist.sbacknumber%type;v_supnumbersbacklist.supnumber%type;v_gnamesbacklist.gname%type;v_empnumbersbacklist.empnumber%type;v_sbackliangsbacklist.sbackling%type;v_sbackreassbacklist.sbackreas%type;beginselectsbacknumber,supnumber,gname,empnumber,sbackling,sbackreasintov_sbacknumber,v_supnumber,v_gname,v_empnumber,v_sbackliang,v_sbackreasfromsbacklistwheresbacknumber='SB-11';dbms_output.put_line(v_sbacknumBer||''||v_supnumber||''||v_gname||''||v_empnumber||''||v_sbackliang||''||v_sbackreas);end;--測試結(jié)果beginp1;end;--輸出指定劑型的藥品的入庫量createorreplaceprocedurep2(v_typegoods.gtype%type)isv_gnameinlist.gname%type;v_inlianginlist.inliang%type;cursorc1isselectinlist.gname,inliangfromgoods,inlistwheregoods.gname=inlist.gnameandgtype=v_type;beginopenc1;loopfetchc1intov_gname,v_inliang;exitwhenc1%notfound;dbms_output.put_line(v_gname||''||v_inliang);endloop;closec1;end;--測試結(jié)果declarev_typevarchar2(10):='普通片';beginp2(v_type);end;--插入一條藥品信息Createorreplaceprocedurep3(v_gnamegoods.gname%type,v_gkindgoods.gkind%type,v_gtypegoods.gtype%type,v_gpricegoods.gprice%type,v_gshelfgoods.gshelf%type)asbegininsertintogoods(gname,gkind,gtype,gprice,gshelf)values(v_gname,v_gkind,v_gtype,v_gprice,v_gshelf);commit;end;--測試結(jié)果declarev_gnamevarchar2(30):='感冒膠囊';v_gkindvarchar2(10):='處方藥';v_gtypevarchar2(10):='顆粒';v_gpricenumber:=2.1;v_gshelfdate:=to_date('2012-11-1','YYYY-MM-DD');beginp3(v_gname,v_gkind,v_gtype,v_gprice,v_gshelf);end;--刪除一條藥品信息createorreplaceprocedurep4(v_gnamegoods.gname%type)asbegindeletefromgoodswheregname=v_gname;commit;end;--測試結(jié)果declarev_gnamevarchar2(30):='感冒膠囊';beginp4(v_gname);end;--按銷售量排序createorreplaceprocedurep5isv_gnamegoods.gname%type;v_saleliangsalelist.saleliang%type;cursorc1isselectgoods.gname,saleliangfromsalelist,goodswheregoods.gname=salelist.gnameorderbySaleliangdesc;begin openc1; loop fetchc1intov_gname,v_saleliang; exitwhenc1%notfound; dbms_output.put_line(v_gname||''||v_saleliang); endloop; closec1;end;--測試結(jié)果beginp5;end;--更新某藥品入庫量createorreplaceprocedurep6(v_gnameininlist.gname%type)isbeginupdateinlistsetinliang=inliang+100wherev_gname=gname;commit;end;--測試結(jié)果declarev_gnamevarchar2(30):='穿心蓮片';beginp6(v_gname);end;--觸發(fā)器:--限制刪除C-02客戶的退貨記錄createorreplacetriggert1beforedeleteoncbacklistforeachrowbegindeletefromcbacklistwherecusmumber='c-02';end;--測試結(jié)果deletefromcbacklistwherecusmumber='c-02';--限制入庫量不少于400createorreplacetriggert2beforeinsertoninlistforeachrowbeginif(:new.inliang<400)thendbms_output.put_line('入庫量小于400');endif;end;--測試結(jié)果insertintoinlistvalues('I-26','舒必利','H-01','E-16',200,to_date('2012-12-4','YYYY-MM-DD'))--限制更新的藥品價格不小于1元,小于1元的改為1元createorreplacetriggert3beforeinsertorupdateongoodsforeachrowbeginif(:new.gprice<1)thenupdategoodssetgprice=1;endif;end;--測試結(jié)果insertintoGoodsvalues('一針','處方藥','普通片',0.5,'2012-9-1')commit;--保質(zhì)期到2010年的不允許插入createorreplacetriggert4beforeinsertongoodsforeachrowbeginif(:new.gshelf<to_date('2010-1-1','YYYY-MM-DD'))thendbms_output.put_line('藥品已過期');endif;end;--測試結(jié)果insertintoGoodsvalues('瀉立停','處方藥','普通片',3,to_date('2009-1-7','YYYY-MM-DD'));commit;--限制采購量更新量不小于100createorreplacetriggert5beforeinsertonbuylistforeachrowbeginif(:new.buyliang<100)thendbms_output.put_line('采購量小于100');endif;end;--測試結(jié)果insertintoBuylistvalues('B-27','S-11','保和丸','E-04',50,to_date('2012-1-12','
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水泥購銷合同協(xié)議
- 環(huán)保水處理項目合作框架協(xié)議
- 學(xué)校食堂蔬菜采購合同
- 股份制企業(yè)的合同文書規(guī)范與管理
- 蔬菜種植合作的協(xié)議書(3篇)
- 兩人合作合同
- 環(huán)保產(chǎn)業(yè)技術(shù)創(chuàng)新與應(yīng)用合同
- 公司股權(quán)分配合同協(xié)議年
- 派遣合同就業(yè)協(xié)議書
- 人才委托協(xié)議
- 2025年2級注冊計量師專業(yè)實務(wù)真題附答案
- 2025年春季學(xué)期教導(dǎo)處工作計劃及安排表
- 果實品質(zhì)評價體系建立與應(yīng)用-深度研究
- 人教版小學(xué)六年級下冊音樂教案全冊
- 12J201平屋面建筑構(gòu)造圖集(完整版)
- 20CS03-1一體化預(yù)制泵站選用與安裝一
- (完整版)四年級上冊數(shù)學(xué)豎式計算題100題直接打印版
- 數(shù)理統(tǒng)計考試試卷及答案解析
- 排水溝施工合同電子版(精選5篇)
- 《酒店品牌建設(shè)與管理》課程教學(xué)大綱
- 大氣商務(wù)企業(yè)培訓(xùn)之團(tuán)隊合作的重要性PPT模板
評論
0/150
提交評論