醫(yī)藥銷售管理及數(shù)據(jù)庫管理知識分析原理(共33頁).doc_第1頁
醫(yī)藥銷售管理及數(shù)據(jù)庫管理知識分析原理(共33頁).doc_第2頁
醫(yī)藥銷售管理及數(shù)據(jù)庫管理知識分析原理(共33頁).doc_第3頁
醫(yī)藥銷售管理及數(shù)據(jù)庫管理知識分析原理(共33頁).doc_第4頁
醫(yī)藥銷售管理及數(shù)據(jù)庫管理知識分析原理(共33頁).doc_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫原理及應用課程設計設計題目 醫(yī)藥銷售管理系統(tǒng) 設計時間至 2012.1.4 學生姓名 學生學號 所在班級 指導教師 摘 要根據(jù)醫(yī)藥管理系統(tǒng)的需求分析結果總結系統(tǒng)內實體及聯(lián)系并繪制系統(tǒng)的局部ER圖然后畫出全局ER圖。結合需求分析與概念結構設計把設計好的ER圖轉換為DBMS所支持的數(shù)據(jù)模型所符合的邏輯結構,運用SQL數(shù)據(jù)庫管理系統(tǒng)建好表和相關約束。關鍵詞: 醫(yī)藥管理系統(tǒng);ER圖;DBMS;數(shù)據(jù)模型;SQL目 錄1課題描述32設計過程42.1 需求分析42.1.1 系統(tǒng)目標與要求42.1.2 系統(tǒng)分析42.1.3 業(yè)務流程圖42.2 系統(tǒng)邏輯方案52.2.1 數(shù)據(jù)流程圖(DFD):52.2.2

2、 數(shù)據(jù)字典(簡稱DD)62.3系統(tǒng)總體結構設計7軟件系統(tǒng)總體結構設計7數(shù)據(jù)存儲的總體設計7系統(tǒng)功能模塊設計72.4數(shù)據(jù)庫詳細設計8數(shù)據(jù)庫設計82.4.2 數(shù)據(jù)庫的完整性和安全性122.5 數(shù)據(jù)庫操作(SQL Server2000語句完成)13創(chuàng)建醫(yī)藥銷售管理系統(tǒng)13創(chuàng)建藥品類別索引信息表13建立存儲過程向表中插入、修改、刪除數(shù)據(jù)14建立存儲過程實現(xiàn)單表查詢15視圖建立17建立INSERT觸發(fā)器17建立DELETE觸發(fā)器17建立UPDATE觸發(fā)器17總 結19參考文獻201課題描述近年來,中國醫(yī)藥行業(yè)迅速發(fā)展,藥店企業(yè)多業(yè)態(tài)經營,倉儲式大型超市、中等規(guī)模超市、便利連鎖綜合發(fā)展。隨著規(guī)模的擴大,傳

3、統(tǒng)的醫(yī)藥管理已經不能適應發(fā)展的需要,很難在激烈的競爭中生存。通過對從事醫(yī)藥產品的零售、批發(fā)等工作企業(yè)的深入調查,發(fā)現(xiàn)其業(yè)務主要包括企業(yè)藥品銷售、出入庫管理、企業(yè)的財務、人事管理等。醫(yī)藥管理是一項瑣碎、復雜而又十分細致的工作。手工進行企業(yè)日常的藥品銷售、出入庫的工作,容易出現(xiàn)“開空單”的現(xiàn)象,且呆賬、錯賬時有發(fā)生,而且費時費力。本系統(tǒng)在設計中考慮和克服了上述問題,實現(xiàn)了企業(yè)管理工作的系統(tǒng)化、規(guī)范化和自動化。開發(fā)環(huán)境:CPU:Intel Pentium4 2GHz內存:1G操作系統(tǒng):Microsoft Windows XP后臺數(shù)據(jù)庫在Microsoft SQL Server 20002設計過程本系

4、統(tǒng)進行了建立數(shù)據(jù)庫的必要性和可行性的分析,需求分析,數(shù)據(jù)庫的概念設計、邏輯設計、物理設計和數(shù)據(jù)庫的實現(xiàn)、運行、維護以及相應的前臺的主要功能模塊的開發(fā)。2.1 需求分析 系統(tǒng)目標與要求要求本系統(tǒng)能夠投入實際的使用并且滿足基本的功能要求。要求具有較高的可靠性、安全性和易維護性,具有較高的可移植性。本系統(tǒng)實現(xiàn)了以下的功能:基本信息模塊:包括藥品信息、員工信息、客戶信息、供應商信息四個子模塊。(1)進貨管理模塊:包括入庫登記、入庫登記查詢二個子模塊。(2)庫房管理模塊:包括庫存查詢、庫存盤點、退貨處理三個子模塊。(3)銷售管理模塊:包括銷售登記、銷售退貨、銷售報表查詢三個子模塊。(4)財務統(tǒng)計模塊:包

5、括當日統(tǒng)計、當月統(tǒng)計二個子模塊。(5)系統(tǒng)維護模塊:包括數(shù)據(jù)安全管理、操作員管理、權限設置三個模塊。說明:根據(jù)對現(xiàn)實中醫(yī)藥銷售管理業(yè)務,將用戶分為二類超級管理員(經理)、普通管理員(操作員)。 系統(tǒng)分析用戶活動及活動圖(1)經理主要參與活動有: 查詢銷售情況和財務狀況以便了解本企業(yè)的經營狀況,作出相應的決策; 管理員工,了解不同員工的上班時間和他的相關的業(yè)績; 客戶的管理,了解客戶的數(shù)量,注銷有問題的客戶; 供應商的管理,了解供應信息,選擇最合適的供應商。(2)營業(yè)員主要活動有:醫(yī)藥銷售管理是指對藥品信息的錄入、更新、修改和刪除;查詢藥品信息,以了解是否有該藥品和庫存等信息;銷售藥品,出庫記錄

6、;退還藥品,入庫記錄;現(xiàn)金收支是指對進出帳目的記錄統(tǒng)計。(3)顧客主要活動:查詢藥品信息;選購藥品。 業(yè)務流程圖2.2 系統(tǒng)邏輯方案系統(tǒng)分析的主要成果是系統(tǒng)的邏輯模型。本系統(tǒng)的邏輯模型主要是以系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典為主要描述工具。即在無紙化網絡考試系統(tǒng)管理方式和業(yè)務流程進行認真分析和研究的基礎上,排除現(xiàn)有組織機構和業(yè)務分工所造成的信息障礙。 數(shù)據(jù)流程圖(DFD):數(shù)據(jù)流圖是組織中信息運動的抽象。是在調研的基礎上,從系統(tǒng)的科學性、管理的合理性、實際運動的可行性角度出發(fā)。將信息處理功能和彼此之間的聯(lián)系自頂向下,逐層分解,從邏輯上精確地描述系統(tǒng)應具有的數(shù)據(jù)加工功能、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲及數(shù)

7、據(jù)來源和去向(外部實體)等項目。在數(shù)據(jù)流程圖中可以很清楚的看到數(shù)據(jù)的流向,藥品信息的數(shù)據(jù)分別能夠流向經理、員工和顧客。藥品銷售信息的信息也流經理。藥品銷售信息記錄的是藥品銷售和退還的信息。顧客表信息從顧客流出又可以流回到顧客和員工、經理。 數(shù)據(jù)字典(簡稱DD)繪制DFD,只是對數(shù)據(jù)處理和彼此之間的聯(lián)系進行了說明。為進一步明確數(shù)據(jù)的詳細內容和數(shù)據(jù)加工過程,應將數(shù)據(jù)流圖中的全部數(shù)據(jù)流及其組成部分的數(shù)據(jù)元素,數(shù)據(jù)存儲,數(shù)據(jù)加工,通過數(shù)據(jù)字典描述清楚,以便于此后系統(tǒng)設計的進行。這就需要開發(fā)人員編寫詳細的數(shù)據(jù)字典,來描述系統(tǒng)開發(fā)過程的細節(jié)。下面列出本系統(tǒng)中的數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲、加工處理和數(shù)據(jù)結構的

8、數(shù)據(jù)字典。數(shù)據(jù)字典可采用圖表格式或較緊湊的記錄格式描述,本文采用的是圖表格式。數(shù)據(jù)項的DD表列舉如下:表2.1 藥品編號的數(shù)據(jù)字典 數(shù) 據(jù) 項系統(tǒng)名:醫(yī)藥銷售管理系統(tǒng) 編號:I001 名稱:藥品編碼 別名: 數(shù)據(jù)項值: 類型:字符型 長度:6個字節(jié) 取值范圍:簡述:每種藥品都具有唯一的編號,它是某種藥品的唯一標識符,每種藥品都有唯一的編號,如“011976”通常用前兩位數(shù)字表示入庫的年份,中間兩位表示類別,最后兩位表示該藥的序號。如果該類藥數(shù)超過100種時,可用“0119A0”表示第100種藥。修改記錄:編寫日期審核日期表2.2 藥品名稱 數(shù) 據(jù) 項系統(tǒng)名:醫(yī)藥銷售管理系統(tǒng) 編號:I002 名

9、稱:藥品名稱 別名:數(shù)據(jù)項值: 類型:字符型 長度:32個字節(jié) 取值范圍:簡述:每種藥品都具有唯一藥品標識。修改記錄:編寫日期審核日期表2.3 密碼 數(shù) 據(jù) 項系統(tǒng)名:醫(yī)藥銷售管理系統(tǒng) 編號:I003 名稱:售價 別名:數(shù)據(jù)項值: 類型:數(shù)值型 長度:8個字節(jié) 取值范圍:簡述:每種藥品都要設置一個銷售價格。修改記錄:編寫日期審核日期2.3系統(tǒng)總體結構設計軟件系統(tǒng)總體結構設計軟件系統(tǒng)總體結構設計的主要任務就是將整個系統(tǒng)合理的劃分成各個功能模塊,正確處理模塊之間與模塊內部的聯(lián)系及它們之間的調用關系和數(shù)據(jù)聯(lián)系,定義各模塊的內部結構等,本系統(tǒng)的軟件總體結構按分解協(xié)調的原則,信息隱蔽抽象的原則,自頂向下

10、的原則,一致性原則,面向用戶的原則進行設計。數(shù)據(jù)存儲的總體設計 按用途分類可把本系統(tǒng)文件分成以下幾種:(1) 主文件:系統(tǒng)中的主文件是最重要的共享文件,主要存放具有固定值屬性的數(shù)據(jù)。它需要長期保存,并不斷更新。(2) 處理文件:處理文件包含下一次更新文件所需要的全部記錄,本系統(tǒng)中的處理文件如新聞登錄日志文件、待審核項目信息文件。系統(tǒng)功能模塊設計通過對系統(tǒng)的數(shù)據(jù)流圖進行分析,進一步進行功能分解,直到分解成含義明確,功能單一的功能模塊,從而得到系統(tǒng)的功能模塊結構圖。2.4數(shù)據(jù)庫詳細設計數(shù)據(jù)庫設計數(shù)據(jù)庫的設計是指對一個給定的應用環(huán)境,構造數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),滿足各種用戶需求。作為信息

11、資源開發(fā)、管理和服務的一種有效的手段,數(shù)據(jù)庫技術的應用已越來越廣泛,從小型的單項事務處理系統(tǒng)到大型的信息系統(tǒng)大都用先進的數(shù)據(jù)庫技術來保持系統(tǒng)數(shù)據(jù)的安全性、完整性和共享性。對一個實際的系統(tǒng)來說,數(shù)據(jù)庫表的設計在遵循數(shù)據(jù)庫理論的同時,必須能用開發(fā)工具來實現(xiàn)用戶在各方面提出的功能要求。 E-R圖:在系統(tǒng)的數(shù)據(jù)庫設計中,先要對系統(tǒng)分析得到的數(shù)據(jù)字典中的數(shù)據(jù)存儲進行分析,分析各數(shù)據(jù)存儲之間的關系,然后才能得出系統(tǒng)的關系模式。可以采用E-R圖的方法來進行數(shù)據(jù)結構分析,E-R設計方法是一種通過E-R圖來描述現(xiàn)實世界信息結構的DB設計方法。E-R圖由實體、屬性、聯(lián)系三部分組成。各分E-R圖說明如下: 經理E-

12、R圖: 供應商E-R圖: 員工E-R圖: 藥品銷售清單E-R圖: 客戶E-R圖: 藥品E-R圖: 整體E-R圖: 關系模式與碼:藥品信息(藥品編號,藥品名稱,藥品類別代號,售價,進價,庫存量,供應商,有效期) 外碼:藥品類別代號、 供應商藥品分類索引信息(藥品類別代號,類別說明)員工信息(員工號,姓名,用戶名,密碼,職位,權限)客戶信息(客戶號,客戶名稱,聯(lián)系人,聯(lián)系方式,客戶所在城市)供應商信息(供應商號,供應商名稱,聯(lián)系人,聯(lián)系方式,供應商所在城市)藥品銷售信息(銷售編碼,銷售日期,藥品編碼,藥品名稱,單價,數(shù)量,供應商,總額,銷售員編碼) 外碼:銷售員編碼、藥品編碼 關系模式優(yōu)化: 在上

13、述關系模式中,每一個分量都是不可分割的數(shù)據(jù)項所以都符合第一范式;而且前四個關系模式都是單個屬性作為碼,沒有任何非主屬性對碼部分函數(shù)依賴,在藥品銷售信息內雖由三個屬性作為碼,但也不存在非主性對碼的部分函數(shù)依賴,所以上都符合第二范式;藥品信息、藥品類別索引、客戶信息、供應商信息四個關系模式中都不存在非主屬性對碼的傳遞函數(shù)依賴,都屬于第三范式。在員工信息關系模式中,員工是按照權限分類的,職位不同權限也不同,這樣該關系模式就存在了非主屬性對碼的傳遞依賴:職工號->職位,職位->權限,所以就將用員工信息分解為如下現(xiàn)個模式:員工信息(員工號,姓名,用戶名,用戶口令,職位)職位權限信息(職位,權

14、限)本系統(tǒng)不考慮職工信息的管理,為了使銷售員編號與銷售員的職工號連系起來,并能通過職工姓名和職位來修改用戶信息所以把員工的部分信息(職工號,姓名,職位)和經理(用戶名,密碼)合成了員工信息(員工號,姓名,用戶名,密碼,職位,權限)以便系統(tǒng)功能的實現(xiàn),所以在此不采用模式分解。藥品銷售信息中有大量的數(shù)據(jù)冗余,表達不明確,將其分解為如下兩個模式:藥品銷售主表(銷售編碼,銷售日期,銷售員編號,總金額)藥品銷售子表(銷售編碼,銷售日期,藥品編碼,藥品名稱,單價,數(shù)量,供應商) 數(shù)據(jù)庫設計對上述E-R圖所需的實體需要的幾個關鍵表的設計如下:表名:藥品信息表字段名字段類型長度主鍵或外鍵字段值約束對應中文屬性

15、名MedicineCodeChar6Primary KeyNot Null藥品編碼MedicineNameVarchar32 Not Null藥品名稱MedKindCodeChar10Foreign keyNot Null藥品類別代碼PriceMoney8  售價ListPriceMoney8  進價NumberInt4  庫存量FirmCodeChar10 Foreign key 供應商UsefulllifeDatetime8  有效期至表名:客戶信息字段名字段類型長度主鍵或外鍵字段

16、值約束對應中文屬性名GuestCodeChar10Primary KeyNot Null客戶編碼GuestNameVarchar16 Not Null客戶名稱gLinkVarchar12  聯(lián)系人gLinkTellVarchar11  聯(lián)系方式CityVarchar8  所在城市表名:供應商信息字段名字段類型長度主鍵或外鍵字段值約束對應中文屬性名FirmCodeChar10Primary KeyNot Null供應商編碼FirmNameVarchar16 Not Null供應商名稱LinkVarchar12

17、0; 聯(lián)系人LinkTellVarchar11  聯(lián)系電話CityVarchar8  所在城市表名:藥品銷售主表字段名字段類型長度主鍵或外鍵字段值約束對應中文屬性名SaleNoint4Primary KeyNot Null銷售編碼WorkNoChar10Foreign keyNot Null銷售員編碼SaleDateDateTime8  銷售日期AmountMoney8  總金額表名:藥品銷售子表字段名字段類型長度主鍵或外鍵字段值約束對應中文屬性名SaleNoint4Primary KeyNot Null

18、銷售編碼MedicineCodeChar6Foreign keyNot Null藥品編碼MedicineNameVarchar32 Not Null藥品名稱PriceMoney8  售價NumberInt4  數(shù)量UnitChar8  單位AmountMoney8  金額表名:藥品類別索引信息字段名字段類型長度主鍵或外鍵字段值約束對應中文屬性名MedKindCodeChar10Primary KeyNot Null藥品類別代碼KindExplanationVarchar12 Not Null類別

19、說明表名:員工信息字段名字段類型長度主鍵或外鍵字段值約束對應中文屬性名WorkNoChar10Primary KeyNot Null職工號NameVarchar12  姓名UserRegNameChar6 Not Null用戶登錄名PasswordChar10 Not Null用戶口令PositionChar10  用戶身份PowerInt4  用戶權限 數(shù)據(jù)庫的完整性和安全性 數(shù)據(jù)庫的完整性數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫管理系統(tǒng)(DBMS)用一定的機制來檢查數(shù)據(jù)庫中的數(shù)據(jù)是否滿足規(guī)定的條件完整性約

20、束條件,數(shù)據(jù)的約束條件是語義的體現(xiàn),將作為模式的一部分存入數(shù)據(jù)庫中。本系統(tǒng)中定義了表與表之間的聯(lián)系有助于實現(xiàn)完整性規(guī)則,一般在程序中實現(xiàn)具體的完整性控制。實體完整性例如:CREATE TABLE MedInfor/*創(chuàng)建藥品信息表*/ (MedicineCode char(6) constraint M_PRIM PRIMARY KEY, MedicineName varchar(8) NOT NULL, MedKindeCode char(10) FOREIGN KEY REFERENCES MedID(MedKindeCode), Price Money(8), ListPrice Mon

21、ey(8), Number Int(4), FirmCode char(10) FOREIGN KEY REFERENCES FirmInfor(FirmCode), Userfulllife Datetime)參照完整性例如:create table sellMain/*創(chuàng)建醫(yī)藥銷售主表*/ (SaleNo int constraint SM_PRIM PRIMARY KEY, WorkNo char(10) FOREIGN KEY REFERENCES WorkInfor(WorkNo), SaleDate DateTime, Amount Money) 數(shù)據(jù)庫的安全性數(shù)據(jù)庫的安全性是指保

22、護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄漏、更改或破壞。在數(shù)據(jù)庫系統(tǒng)中,大量的數(shù)據(jù)集中存放,而且為許多用戶直接共享,是寶貴的信息資源,系統(tǒng)的安全保護措施就顯得更為重要,它保護數(shù)據(jù)庫防止惡意的破壞和非法的存取。本系統(tǒng)包括數(shù)據(jù)庫的安全和服務器的安全。采用管理員表示和鑒定的方法實現(xiàn)數(shù)據(jù)庫的安全,此安全管理措施并不在前臺開發(fā)工具中實現(xiàn),而是在后臺數(shù)據(jù)庫中實現(xiàn)。在登錄數(shù)據(jù)庫時,系統(tǒng)讓管理員戶表示自己的身份,不同的管理員權限不同,系統(tǒng)進行核實,鑒別此管理員是否為合法用戶,若是,系統(tǒng)進一步核實用戶,通常要求用戶輸入口令,系統(tǒng)和對用戶口令以鑒別用戶身份。服務器的安全也是通過用戶在登錄服務器時輸入合法的用戶名和

23、密碼來實現(xiàn)的。這是一種簡單可行的方法,實現(xiàn)起來比較方便。沒有采用更加復雜的系統(tǒng)安全管理措施是因為本管理系統(tǒng)一般是應用在校園網中,采用安全管理措施主要是為了防止沒有修改權限的用戶無意間修改了數(shù)據(jù),因此采用用戶標識和鑒定的安全管理措施就能夠保障數(shù)據(jù)庫的安全性。2.5 數(shù)據(jù)庫操作(SQL Server2000語句完成)數(shù)據(jù)庫的選擇和部分重要SQL代碼創(chuàng)建醫(yī)藥銷售管理系統(tǒng)create database MedicalManagerSystem/*創(chuàng)建醫(yī)藥銷售管理系統(tǒng)*/use MedicalManagerSystem創(chuàng)建藥品類別索引信息表create table MedID/創(chuàng)建藥品類別索引信息表 (

24、MedKindeCode char(10) constraint MI_PRI PRIMARY KEY, KindExplanation varchar(12) NOT NULL)其余略建立存儲過程向表中插入、修改、刪除數(shù)據(jù) 插入數(shù)據(jù)的存儲過程 create proc MedID_procMedKindeCode char(10),KindExplanation varchar(12)asinsert into MedID (MedKindeCode,KindExplanation) values(MedKindeCode ,KindExplanation )exec MedID_proc &

25、#39;0001','口腔潰瘍'exec MedID_proc '0002','感冒'exec MedID_proc '0003','發(fā)燒'exec MedID_proc '0004','拉肚子'exec MedID_proc '0005' ,'外傷'其余略 刪除數(shù)據(jù)的存儲過程 create proc MedID_delete_procMedKindeCode char(10)asdelete from MedId where MedKinde

26、Code=MedKindeCodeexec MedID_delete_proc '0002'其余略 修改數(shù)據(jù)的存儲過程 create proc MedID_update_procMedKindeCode char(10),KindExplanation varchar(12),MedKindeCode1 char(10)asupdate MedID set MedKindeCode=MedKindeCode,KindExplanation=KindExplanation where MedKindeCode=MedKindeCode1其余略建立存儲過程實現(xiàn)單表查詢 /*建立名為

27、“單表查詢1”的存儲過程,用來查詢某種藥品的信息*/ create proc 單表查詢1MedicineCode char(6)ASselect *from MedInfor where MedicineCode=MedicineCode 其余略建立存儲過程實現(xiàn)連接查詢 /*建立名為“連接查詢1”的存儲過程,用來查詢某個藥品名稱對應的藥品類型的信息*/ create proc 連接查詢1MedicineName varchar(8)asselect MedicineName ,KindExplanationfrom MedInfor,MedIDwhere MedID.MedKindeCode=

28、MedInfor.MedKindeCode and MedicineName=MedicineName/建立存儲過程實現(xiàn)嵌套查詢/*建立名為“嵌套查詢1”的存儲過錯,用來查詢某類藥品的銷售量*/create proc 嵌套查詢1KindExplanation varchar(12)asselect Number from sellChild where MedicineCode In(select MedicineCode from MedID where KindExplanation=KindExplanation)/*建立名為“嵌套查詢2”的存儲過錯,用來查詢某個供應商提供的商品*/cr

29、eate proc 嵌套查詢2FirmName varchar(16)asselect MedicineName from MedInfor where FirmCode In (select FirmCode from FirmInfor where FirmName=FirmName)建立存儲過程實現(xiàn)集合查詢/*建立名為“集合查詢1”的存儲過錯,用來查詢提供某類商品的供應商數(shù)*/create proc 集合查詢1MedicineName varchar(8)asselect avg(FirmCode) from FrimInfor where FirmCode in(select Firm

30、Code from MedInfor,FrimInfor where MedInfor.FirmCode=FrimInfor.FirmCode and MedicineName=MedicineName)其余略視圖建立由供應商信息表“FirmInfor”建立一個視圖,該視圖由供應商信息表的所有列構成*/create view 供應商信息(供應商編碼,供應商名稱,聯(lián)系人,聯(lián)系電話,所在城市)asselect* from FirmInfor建立INSERT觸發(fā)器/*建立INSERT觸發(fā)器*/create trigger MedID_insert on MedIDfor insertas if(se

31、lect count(*)from MedID_med,insertedwhere MedID_med.MedKindeCode=inserted.MedKindeCode)=0rollback transaction建立DELETE觸發(fā)器 create trigger delete_MedID on MedIDfor deleteasselect* from MedIDdeclare MedKindeCode char(10) select MedKindeCode=MedKindeCode from deleteddelete from MedIDwhere MedKindeCode=Me

32、dKindeCodeselect*from MedID建立UPDATE觸發(fā)器 create trigger MedID_update on MedIDfor updateasif update(MedKindeCode)beginraiserror('you can not modify this column',16,1)rollback transactionend總 結本次課程設計調查從事醫(yī)藥產品的零售、批發(fā)等工作的企業(yè),根據(jù)其具體情況,設計醫(yī)藥銷售管理系統(tǒng)。加深了對數(shù)據(jù)庫課程知識的理解。由于時間倉促,軟件還有很多不足之處,如:藥品信息查詢部分不夠完善,軟件代碼交冗余、效

33、率不高等等,都相關功能缺乏認識造成的。在今后的學習中我們會加強理論的實踐的結合,通過不斷摸索來彌補自己在軟件制作方面的差距。參考文獻1 苗雪蘭,劉瑞新,宋歌.數(shù)據(jù)庫系統(tǒng)原理及應用教程M.北京.機械工業(yè)出版社.20102 薩師煊,王 珊.數(shù)據(jù)庫系統(tǒng)概論M.北京:高等教育出版社.19973 劉真原.SQL SERVER2000培訓教程M.北京:清華大學出版社.20034 李清國.Windows 2000+ ASP SQL Server案例教程M.上海: 中科多媒體電子出版社.20015 李曉黎.ASP+SQLSERVER網絡應用系統(tǒng)開發(fā)指南M.北京.人民郵電出版社.2004附件:醫(yī)藥銷售管理系統(tǒng)S

34、QL語句,如下:create database MedicalManagerSystem/*創(chuàng)建醫(yī)藥銷售管理系統(tǒng)*/use MedicalManagerSystemcreate table MedID/*創(chuàng)建藥品類別索引信息*/ (MedKindeCode char(10) constraint MI_PRI PRIMARY KEY, KindExplanation varchar(12) NOT NULL)create table MedInfor/*創(chuàng)建藥品信息表*/ (MedicineCode char(6) constraint M_PRIM PRIMARY KEY, Medicine

35、Name varchar(8) NOT NULL, MedKindeCode char(10) FOREIGN KEY REFERENCES MedID(MedKindeCode), Price Money, ListPrice Money, Number Int, FirmCode char(10) FOREIGN KEY REFERENCES FirmInfor(FirmCode), Userfulllife Datetime)create table GueInfor/*創(chuàng)建客戶信息表*/ (GuestCode char(10) constraint G_PRIM PRIMARY KEY

36、, GuestName varchar(16) NOT NULl, GLink varchar(12), GLinkTell varchar(11), City varchar(8)create table FirmInfor/*創(chuàng)建供應商信息表*/ (FirmCode char(10) constraint F_PRIM PRIMARY KEY, FirmName varchar(16) NOT NULL, Link varchar(12), LinkTell varchar(11), City varchar(8)create table WorkInfor/*創(chuàng)建員工信息表*/ (Wor

37、kNo char(10) constraint W_PRIM PRIMARY KEY, Name varchar(12), UserRegName char(6) NOT NULL, Password char(10) NOT NULL, Position char(10), Power Int) create table sellMain/*創(chuàng)建醫(yī)藥銷售主表*/ (SaleNo int constraint SM_PRIM PRIMARY KEY, WorkNo char(10) FOREIGN KEY REFERENCES WorkInfor(WorkNo), SaleDate DateT

38、ime, Amount Money)create table sellChild/*創(chuàng)建醫(yī)藥銷售子表*/ (SaleNo int constraint SC_PRIM PRIMARY KEY, MedicineCode char(6) FOREIGN KEY REFERENCES MedInfor(MedicineCode), MedicineName varchar(32) NOT NULL, Price Money, Number Int, Uint char(8), Amount Money) /*插入數(shù)據(jù)的存儲過程 */create proc MedID_procMedKindeCod

39、e char(10),KindExplanation varchar(12)asinsert into MedID (MedKindeCode,KindExplanation) values(MedKindeCode ,KindExplanation )exec MedID_proc '0001','口腔潰瘍'exec MedID_proc '0002','感冒'exec MedID_proc '0003','發(fā)燒'exec MedID_proc '0004','拉肚子

40、9;exec MedID_proc '0005' ,'外傷'create proc MedInfor_procMedicineCode char(6),MedicineName varchar(8),MedKindeCode char(10),Price money,ListPrice money,Number int,FirmCode char(10),Userfulllife Datetimeasinsert into MedInfor(MedicineCode ,MedicineName,MedKindeCode,Price,ListPrice,Numbe

41、r,Supplicer,Userfulllife) values(MedicineCode,MedicineName,MedKindeCode,Price,ListPrice,Number,FirmCode,Userfulllife)exec MedInfor_proc '1001','板藍根','0002',5,3,'100','014','2010-12-5'exec MedInfor_proc '2002','四季感康','0002',14,10

42、.5,'150','051','2010-12-12'exec MedInfor_proc '2003','銀黃顆粒','0002',12,8.8, '120 ','014','2012-10-6'exec MedInfor_proc '2004','感冒清熱軟膠囊','0002',17,12, '150','015', '2011-11-1'exec Me

43、dInfor_proc '3001','阿斯匹林','0003',15,11,'100','014','2010-12-1'exec MedInfor_proc '3002','布洛芬','0003',21,17.5,'120','051','2010-6-5'exec MedInfor_proc '4001','瀉利挺','0004',25,20,'

44、;120','015','2012-10-2'exec MedInfor_proc '4002','諾氟沙星膠囊','0004',15,12,'100','015','2012-9-16'exec MedInfor_proc '5001','碘酒','0005',5,2.5,'50' ,'051','2012-10-12'exec MedInfor_proc 

45、9;5002','創(chuàng)口貼','0005',2,1,'250','014','2015-5-1'create proc GueInfor_procGuestCode char(10),GuestName varchar(16),GLink varchar(12),GLinkTell varchar(11),City varchar(8)asinsert into GueInfor(GuestCode,GuestName,GLink,GLinkTell,City) values(GuestCode,GuestN

46、ame,GLink,GLinkTell,City)exec GueInfor_proc '015112','zhangsan','xiaozhang','668401','jiaxing'exec GueInfor_proc '065114','lisi','xiaofang','614425','yuyao'exec GueInfor_proc '052114','wangwu','xiaowu

47、','659024','wenzhou'exec GueInfor_proc '043115','zhaoliu','xiaowu','615874','shangyu'exec GueInfor_proc '014221','awu','xiaozhang','651283','linan'exec GueInfor_proc '025471','asha',&#

48、39;xiaofang','691472','dongyang'create proc FirmInfor_procFirmCode char(10),FirmName varchar(16),Link varchar(12),LinkTell varchar(11),City varchar(8)asinsert into FirmInfor(FirmCode,FirmName,Link,LinkTell,City)values(FirmCode,FirmName,Link,LinkTell,City)exec FirmInfor_proc '

49、015','yangshengtang','xiaotai','681472','huzhou'exec FirmInfor_proc '014','baozhilin','zhangqing','658421','deqing'exec FirmInfor_proc '051','pinmingdayaofang','oudan','65417','xiangshan&#

50、39;create proc WorkInfor_procWorkNo char(10),Name varchar(12),UserRegName char(6),Password char(10),Position char(10),Power Intasinsert into WorkInfor(WorkNo,Name,UserRegName,Password,Position,Power)values(WorkNo,Name,UserRegName,Password,Position,Power)exec WorkInfor_proc '075101','ZKL&

51、#39;,'zkl01','456789','jingli',''exec WorkInfor_proc '075201','ZJM','zjm01','123789','dongshi',''exec WorkInfor_proc '075215','WMX','wmx05','147258','xiaomi',''exec WorkInf

52、or_proc '075120','ZZW','zzm20','123456','buzhang',''create proc sellMain_procSaleNo int,WorkNo char(10),SaleDate DateTime,Amount Moneyasinsert into sellMain(SaleNo,WorkNo,SaleDate,Amount)values(SaleNo,WorkNo,SaleDate,Amount)exec sellMain_proc '12&#

53、39;,'075101','2009-1-1',1000exec sellMain_proc '13','075201','2009-1-1',1500exec sellMain_proc '15','075215','2009-1-1',800exec sellMain_proc '20','075120','2009-1-1',1200alter proc sellChild_procSaleNo int,Medic

54、ineCode char(6),MedicineName varchar(32),Price Money,Number Int,Uint char(8),Amount Moneyasinsert into sellChild(SaleNo,MedicineCode,MedicineName,Price,Number,Uint,Amount)values(SaleNo,MedicineCode,MedicineName,Price,Number,Uint,Amount)exec sellChild_proc '13','1001','板藍根',5,

55、'20','bao',100exec sellChild_proc '15','2002','四季感康',14,'15','he',210exec sellChild_proc '20','3001','阿斯匹林',15,'20','he',300/*刪除數(shù)據(jù)的存儲過程*/ create proc MedID_delete_procMedKindeCode char(10)asdelete from MedId where MedKindeCode=MedKindeCodeexec MedID_delete_proc '0002'create proc MedInfor_delete_procMedicineNa

溫馨提示

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

評論

0/150

提交評論