版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、成績 09信計2011-2012 (一) 數(shù)據(jù)庫原理及應(yīng)用課程設(shè)計 設(shè)計題目醫(yī)藥銷售管理系統(tǒng) 設(shè)計時間2011. 12. 29 至 2012. 1.4 學(xué)生姓名 學(xué)生學(xué)號 所在班級 指導(dǎo)教師 醫(yī)藥銷售管理系統(tǒng) 一可行性性研究 近年來,中國醫(yī)藥行業(yè)迅速發(fā)展,藥店企業(yè)多業(yè)態(tài)經(jīng)營,倉儲式大型超市、 中等規(guī)模超市、便利連鎖綜合發(fā)展。隨著規(guī)模的擴大,傳統(tǒng)的醫(yī)藥管理已經(jīng)不能 適應(yīng)發(fā)展的需要,很難在激烈的競爭中生存。 通過對從事醫(yī)藥產(chǎn)品的零售、批發(fā)等工作企業(yè)的深入調(diào)查,發(fā)現(xiàn)其業(yè)務(wù)主要 包括企業(yè)藥品銷售、出入庫管理、企業(yè)的財務(wù)、人事管理等。醫(yī)藥管理是一項瑣 碎、復(fù)雜而乂十分細致的工作。手工進行企業(yè)日常的藥品銷
2、售、出入庫的工作, 容易出現(xiàn)“開空單”的現(xiàn)象,且呆賬、錯賬時有發(fā)生,而且費時費力。本系統(tǒng)在 設(shè)計中考慮和克服了上述問題,實現(xiàn)了企業(yè)管理工作的系統(tǒng)化、規(guī)范化和自動化。 二系統(tǒng)需求分析 2.1.1系統(tǒng)目標(biāo)與要求 要求本系統(tǒng)能夠投入實際的使用并且滿足基本的功能要求。要求具有較高的 可靠性、安全性和易維護性,具有較高的可移植性。 本系統(tǒng)實現(xiàn)了以下的功能: (1) 基本信息模塊:包括藥品信息、 模塊。 (2) (3) (4) (5) (6) 員工信息、客戶信息、供應(yīng)商信息四個子 進貨管理模塊:包括入庫登記、 庫房管理模塊: 銷售管理模塊: 財務(wù)統(tǒng)計模塊: 系統(tǒng)維護模塊: 入庫登記查詢二個子模塊。 庫存盤
3、點、退貨處理三個子模塊。 銷售退貨、銷售報表查詢?nèi)齻€子模塊。 包括庫存查詢、 包括銷售登記、 包括當(dāng)日統(tǒng)計、當(dāng)月統(tǒng)計二個子模塊。 包括數(shù)據(jù)安全管理、操作員管理、權(quán)限設(shè)置三個模塊。 說明:根據(jù)對現(xiàn)實中醫(yī)藥銷售管理業(yè)務(wù),將用戶分為二類超級管理員(經(jīng)理)、 普通管理員(操作員)。 2.1. 2系統(tǒng)分析 用戶活動及活動圖 (1) 經(jīng)理主要參與活動有: 查詢銷售情況和財務(wù)狀況以便了解本企業(yè)的經(jīng)營狀況,作出相應(yīng)的決 策; 管理員工,了解不同員工的上班時間和他的相關(guān)的業(yè)績; 客戶的管理,了解客戶的數(shù)量,注銷有問題的客戶; 供應(yīng)商的管理,了解供應(yīng)信息,選擇最合適的供應(yīng)商。 (2) 營業(yè)員主要活動有: 醫(yī)藥銷售
4、管理是指對藥品信息的錄入、更新、修改和刪除; 查詢藥品信息,以了解是否有該藥品和庫存等信息; 銷售藥品,出庫記錄; 退還藥品,入庫記錄; 現(xiàn)金收支是指對進岀帳U的記錄統(tǒng)計。 (3)顧客主要活動: 查詢藥品信息; 選購藥品。 2. 1. 3業(yè)務(wù)流程圖 經(jīng)理 員工 醫(yī)藥銷售管理系 統(tǒng) 紗品展本情況査詢 財務(wù)狀 況管理 現(xiàn)金流出管理 現(xiàn)金流入管理 VAAWV 供應(yīng)商 管理 J供應(yīng)商品信息 員工信息 醫(yī)藥退貨信息 醫(yī)藥銷售信息 一現(xiàn)金流出管理 現(xiàn)金流入管理 日營業(yè)額管理 査詢藥品信息 客戶 選購藥品 2. 2系統(tǒng)邏輯方案 系統(tǒng)分析的主要成果是系統(tǒng)的邏輯模型。本系統(tǒng)的邏輯模型主要是以系統(tǒng)的 數(shù)據(jù)流圖和數(shù)
5、據(jù)字典為主要描述丄具。即在無紙化網(wǎng)絡(luò)考試系統(tǒng)管理方式和業(yè)務(wù) 流程進行認真分析和研究的基礎(chǔ)上,排除現(xiàn)有組織機構(gòu)和業(yè)務(wù)分工所造成的信息 障礙。 2 2.1數(shù)據(jù)流程圖(DFD): 數(shù)據(jù)流圖是組織中信息運動的抽象。是在調(diào)研的基礎(chǔ)上,從系統(tǒng)的科學(xué)性、 管理的合理性、實際運動的可行性角度出發(fā)。將信息處理功能和彼此之間的聯(lián)系 自頂向下,逐層分解,從邏輯上精確地描述系統(tǒng)應(yīng)具有的數(shù)據(jù)加工功能、數(shù)據(jù)輸 入、數(shù)據(jù)輸出、數(shù)據(jù)存儲及數(shù)據(jù)來源和去向(外部實體)等項Lk 在數(shù)據(jù)流程圖中可以很清楚的看到數(shù)據(jù)的流向,藥品信息的數(shù)據(jù)分別能夠流 向經(jīng)理、員工和顧客。藥品銷售信息的信息也流經(jīng)理。藥品銷售信息記錄的是藥 品銷售和退還的
6、信息。顧客表信息從顧客流出乂可以流回到顧客和員工、經(jīng)理。 2. 2.2數(shù)據(jù)字典(簡稱DD) 繪制DFD,只是對數(shù)據(jù)處理和彼此之間的聯(lián)系進行了說明。為進一步明確數(shù) 據(jù)的詳細內(nèi)容和數(shù)據(jù)加工過程,應(yīng)將數(shù)據(jù)流圖中的全部數(shù)據(jù)流及其組成部分的數(shù) 據(jù)元素,數(shù)據(jù)存儲,數(shù)據(jù)加工,通過數(shù)據(jù)字典描述清楚,以便于此后系統(tǒng)設(shè)計的 進行。這就需要開發(fā)人員編寫詳細的數(shù)據(jù)字典,來描述系統(tǒng)開發(fā)過程的細節(jié)。 下面列出本系統(tǒng)中的數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲、加工處理和數(shù)據(jù)結(jié)構(gòu)的數(shù) 據(jù)字典。數(shù)據(jù)字典可釆用圖表格式或較緊湊的記錄格式描述,本文采用的是圖表 格式。 數(shù)據(jù)項的DD表列舉如下: 表2.1藥品編號的數(shù)據(jù)字典 數(shù)據(jù)項 系統(tǒng)名:醫(yī)藥銷
7、售管理系統(tǒng) 編號:1001名稱:藥品編碼別名: 數(shù)據(jù)項值:類型:字符型長度:6個字節(jié)取值范圍: 簡述:每種藥品都具有唯一的編號,它是某種藥品的唯一標(biāo)識符,每種藥 品都有唯一的編號,如“011976”通常用前兩位數(shù)字表示入庫的年份,中間兩 位表示類別,最后兩位表示該藥的序號。如果該類藥數(shù)超過100種時,可用 “0119A0”表示第100種藥。 修改記錄: 編 寫 日期 審 核 日期 表2. 2藥品名稱 數(shù)據(jù)項 系統(tǒng)名:醫(yī)藥銷售管理系統(tǒng) 編號:1002名稱:藥品名稱別名: 數(shù)據(jù)項值:類型:字符型長度:32個字節(jié)取值范圍: 簡述:每種藥品都具有唯一藥品標(biāo)識。 修改記錄: 編 寫 日期 審 核 日期
8、表23密碼 數(shù)據(jù)項 系統(tǒng)名:醫(yī)藥銷售管理系統(tǒng)編號:1003名稱:售價別名: 數(shù)據(jù)項值:類型:數(shù)值型長度:8個字節(jié)取值范圍: 簡述:每種藥品都要設(shè)置一個銷售價格。 修改記錄: 日期 編寫 審核日期 三數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)設(shè)計 3.1軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計 軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計的主要任務(wù)就是將整個系統(tǒng)合理的劃分成各個功 能模塊,正確處理模塊之間與模塊內(nèi)部的聯(lián)系及它們之間的調(diào)用關(guān)系和數(shù)據(jù)聯(lián)系, 定義各模塊的內(nèi)部結(jié)構(gòu)等,本系統(tǒng)的軟件總體結(jié)構(gòu)按分解一協(xié)調(diào)的原則,信息隱 蔽抽象的原則,自頂向下的原則,一致性原則,面向用戶的原則進行設(shè)計。 3. 2數(shù)據(jù)存儲的總體設(shè)計 按用途分類可把本系統(tǒng)文件分成以下兒種: (1)
9、主文件:系統(tǒng)中的主文件是最重要的共享文件,主要存放具有固 定值屬性的數(shù)據(jù)。它需要長期保存,并不斷更新。 (2) 處理文件:處理文件包含下一次更新文件所需要的全部記錄,本 系統(tǒng)中的處理文件如新聞登錄日志文件、待審核項目信息文件。 3. 3系統(tǒng)功能模塊設(shè)計 通過對系統(tǒng)的數(shù)據(jù)流圖進行分析,進一步進行功能分解,直到分解成含義明 確,功能單一的功能模塊,從而得到系統(tǒng)的功能模塊結(jié)構(gòu)圖。 運行醫(yī)藥銷售管理系統(tǒng) 查詢藥品信息 選購藥品 3. 4數(shù)據(jù)庫詳細設(shè)計 3. 4.1數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫的設(shè)計是指對一個給定的應(yīng)用環(huán)境,構(gòu)造數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及 其應(yīng)用系統(tǒng),滿足各種用戶需求。作為信息資源開發(fā)、管理和服務(wù)的
10、一種有效的 手段,數(shù)據(jù)庫技術(shù)的應(yīng)用已越來越廣泛,從小型的單項事務(wù)處理系統(tǒng)到大型的信 息系統(tǒng)大都用先進的數(shù)據(jù)庫技術(shù)來保持系統(tǒng)數(shù)據(jù)的安全性、完整性和共享性。對 一個實際的系統(tǒng)來說,數(shù)據(jù)庫表的設(shè)計在遵循數(shù)據(jù)庫理論的同時,必須能用開發(fā) 工具來實現(xiàn)用戶在各方面提出的功能要求。 (1) E-R 圖: 在系統(tǒng)的數(shù)據(jù)庫設(shè)訃中,先要對系統(tǒng)分析得到的數(shù)據(jù)字典中的數(shù)據(jù)存儲進行 分析,分析各數(shù)據(jù)存儲之間的關(guān)系,然后才能得岀系統(tǒng)的關(guān)系模式??梢圆捎?E-R圖的方法來進行數(shù)據(jù)結(jié)構(gòu)分析,E-R設(shè)計方法是一種通過E-R圖來描述現(xiàn)實 世界信息結(jié)構(gòu)的DB設(shè)計方法。E-R圖由實體、屬性、聯(lián)系三部分組成。各分E-R 圖說明如下: 經(jīng)
11、理E-R圖: 供應(yīng)商E-R圖: 員工E-R圖: 藥品銷售清單E-R圖: 客戶E-R圖: 藥品E-R圖: 整體E-R圖: 關(guān)系模式與碼: 藥品信息(藥品編號,藥品名稱,藥品類別代號,售價,進價,庫存量,供 應(yīng)商,有效期) 外碼:藥品類別代號、供應(yīng)商 藥品分類索引信息(藥品類別代號,類別說明) 員工信息(員工號,姓名,用戶名,密碼,職位,權(quán)限) 客戶信息(客戶號,客戶名稱,聯(lián)系人,聯(lián)系方式,客戶所在城市) 供應(yīng)商信息(供應(yīng)商號,供應(yīng)商名稱,聯(lián)系人,聯(lián)系方式,供應(yīng)商所在城市) 藥品銷售信息(銷售編碼,銷售日期,藥品編碼,藥品名稱,單價,數(shù)量, 供應(yīng)商,總額,銷售員編碼)外碼:銷售員編碼、藥品編碼 關(guān)
12、系模式優(yōu)化: 在上述關(guān)系模式中,每一個分量都是不可分割的數(shù)據(jù)項所以都符合第一范 式;而且前四個關(guān)系模式都是單個屬性作為碼,沒有任何非主屬性對碼部分函數(shù) 依賴,在藥品銷售信息內(nèi)雖由三個屬性作為碼,但也不存在非主性對碼的部分函 數(shù)依賴,所以上都符合第二范式;藥品信息、藥品類別索引、客戶信息、供應(yīng)商 信息四個關(guān)系模式中都不存在非主屬性對碼的傳遞函數(shù)依賴,都屬于第三范式。 在員工信息關(guān)系模式中,員工是按照權(quán)限分類的,職位不同權(quán)限也不同,這 樣該關(guān)系模式就存在了非主屬性對碼的傳遞依賴:職工號-職位,職位-權(quán)限, 所以就將用員工信息分解為如下現(xiàn)個模式: 員工信息(員工號,姓名,用戶名,用戶口令,職位) 職
13、位權(quán)限信息(職位,權(quán)限) 本系統(tǒng)不考慮職工信息的管理,為了使銷售員編號與銷售員的職工號連系起 來,并能通過職工姓名和職位來修改用戶信息所以把員工的部分信息(職工號, 姓名,職位)和經(jīng)理(用戶名,密碼)合成了員工信息(員工號,姓名,用戶名, 密碼,職位,權(quán)限)以便系統(tǒng)功能的實現(xiàn),所以在此不采用模式分解。 藥品銷售信息中有大量的數(shù)據(jù)冗余,表達不明確,將其分解為如下兩個模式: 藥品銷售主表(銷售編碼,銷售日期,銷售員編號,總金額) 藥品銷售子表(銷售編碼,銷售日期,藥品編碼,藥品名稱,單價,數(shù)量, 供應(yīng)商) 數(shù)據(jù)庫設(shè)計 對上述E-R圖所需的實體需要的兒個關(guān)鍵表的設(shè)計如下: 表名:藥品信息表 字段名
14、字段類型 長度 主鍵或外 鍵 字段值約 束 對應(yīng)中文屬 性名 MedicineCode Char 6 Primary- Key Not Null 藥品編碼 MedicineName Varchar 32 Not Null 藥品名稱 MedKindCode Char 10 Foreign key Not Null 藥品類別代 碼 Price Money 8 售價 ListPrice Money 8 進價 Number Int 4 庫存量 FirmCode Char 10 Foreign key 供應(yīng)商 Usefulllife Datetime 8 有效期至 表名:客戶信息 字段名 字段類型 長度
15、 主鍵或外鍵 字段值約束 對應(yīng)中文屬性名 GuestCode |Char 10 Primary Key Xot Null 客戶編碼 GuestName |,Tarchar 16 ot Null 客戶名稱 gLink |,Tarchar 12 聯(lián)系人 gLinkTell |,Tarchar 11 聯(lián)系方式 City |,Tarchar 8 所在城市 表名:供應(yīng)商信息 字段名 |字段類型 長度 主鍵或外鍵 字段值約束 對應(yīng)中文屬性名 FirmCode |Char 10 Primary Key Xot Null 供應(yīng)商編碼 FirmName |,Tarchar 16 “t Null 供應(yīng)商名稱 Li
16、nk |,Tarchar 12 聯(lián)系人 LinkTell |,Tarchar 11 聯(lián)系電話 City |,Tarchar 8 所在城市 表名:藥品銷售主表 字段名 字段類型 長度 主鍵或外鍵 字段值約束 對應(yīng)中文屬性名 SaleNo int 4 Primary Key Xot Null 銷售編碼 WorkNo Char 10 Foreign key ot Null 銷售員編碼 SaleDate DateTime 8 銷售日期 Amount Money 8 總金額 表名:藥品銷售子表 字段名 字段類型 長度 主鍵或外鍵 字段值約束 對應(yīng)中文屬性名 SaleNo int 4 Primary Ke
17、y Xot Null 銷售編碼 MedicineCode Char 6 Foreign key ot Null 藥品編碼 MedicineName Varchar |32 ot Null 藥品名稱 Price Money 8 售價 Number Int 4 數(shù)量 Unit Char 8 單位 Amount Money 8 金額 表名:藥品類別索引信息 字段名 字段類型 長度 主鍵或外鍵 字段值約束 對應(yīng)中文屬性 名 MedKindCode Char 10 Primary Key Not Null 藥品類別代碼 KindExplanation Varchar 12 Not Null 類別說明 表
18、名:員丄信息 字段名 字段類型 長度 主鍵或外 鍵 字段值約 束 對應(yīng)中文屬 性名 WorkNo Char 10 Primary Key Xot Null 職工號 Name Varchar 12 姓名 UserRegName Char 6 Null 用戶登錄名 PasswordChar 10 “t Null 用戶口令 Position Char 10 用戶身份 Power Int 4 用戶權(quán)限 3.4.2數(shù)據(jù)庫的完整性和安全性 (1)數(shù)據(jù)庫的完整性 數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫管理系統(tǒng)(DBMS)用一 定的機制來檢查數(shù)據(jù)庫中的數(shù)據(jù)是否滿足規(guī)定的條件一一完整性約束條件,數(shù)據(jù) 的
19、約束條件是語義的體現(xiàn),將作為模式的一部分存入數(shù)據(jù)庫中。 本系統(tǒng)中定義了表與表之間的聯(lián)系有助于實現(xiàn)完整性規(guī)則,一般在程序中實 現(xiàn)具體的完整性控制。 實體完整性 例如:CREATE TABLE Medlnfor/*創(chuàng)建藥品信息表*/ (MedicineCode char(6) constraint M_PRIM PRIMARY KEY, MedicineName varchar(8) NOT NULL, MedKindeCode char (10)FOREIGN KEY REFERENCES MedlD(MedKindeCode), Price Money(8), ListPrice Money(
20、8), Number Int (4), FirmCode char(10) FOREIGN KEY REFERENCES Firmlnfor(FirmCode), Userfulllife Datetime) 參照完整性 例如:create table sellMain/*創(chuàng)建醫(yī)藥銷售主表*/ (SaleNo int constraint SM_PRIM PRIMARY KEY, WorkNo char(10) FOREIGN KEY REFERENCES Worklnfor(WorkNo), SaleDate DateTime, Amount Money) 數(shù)據(jù)庫的安全性 數(shù)據(jù)庫的安全性是指
21、保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄漏、更 改或破壞。在數(shù)據(jù)庫系統(tǒng)中,大量的數(shù)據(jù)集中存放,而且為許多用戶直接共享, 是寶貴的信息資源,系統(tǒng)的安全保護措施就顯得更為重要,它保護數(shù)據(jù)庫防止惡 意的破壞和非法的存取。 本系統(tǒng)包括數(shù)據(jù)庫的安全和服務(wù)器的安全。采用管理員表示和鑒定的方法實現(xiàn)數(shù) 據(jù)庫的安全,此安全管理措施并不在前臺開發(fā)工具中實現(xiàn),而是在后臺數(shù)據(jù)庫中 實現(xiàn)。在登錄數(shù)據(jù)庫時,系統(tǒng)讓管理員戶表示自己的身份,不同的管理員權(quán)限不 同,系統(tǒng)進行核實,鑒別此管理員是否為合法用戶,若是,系統(tǒng)進一步核實用戶, 通常要求用戶輸入口令,系統(tǒng)和對用戶口令以鑒別用戶身份。服務(wù)器的安全也是 通過用戶在登錄服務(wù)器
22、時輸入合法的用戶名和密碼來實現(xiàn)的。這是一種簡單可行 的方法,實現(xiàn)起來比較方便。沒有采用更加復(fù)雜的系統(tǒng)安全管理措施是因為本管 理系統(tǒng)一般是應(yīng)用在校園網(wǎng)中,采用安全管理措施主要是為了防止沒有修改權(quán)限 的用戶無意間修改了數(shù)據(jù),因此采用用戶標(biāo)識和鑒定的安全管理措施就能夠保障 數(shù)據(jù)庫的安全性。 四數(shù)據(jù)庫的運行(SQL Server2000語句完成) 4.1創(chuàng)建醫(yī)藥銷售管理系統(tǒng) create database MedicalManagerSystem/*創(chuàng)建醫(yī)藥銷售管理系統(tǒng)*/ use MedicalManagerSystem 4. 2創(chuàng)建藥品類別索引信息表 create table MedID/創(chuàng)建藥品
23、類別索引信息表 (MedKindeCode char(10) constraint MI_PRI PRIMARY KEY, KindExplanation varchar(12) NOT NULL) 其余略 4. 3建立存儲過程向表中插入、修改、刪除數(shù)據(jù) 插入數(shù)據(jù)的存儲過程 create proc MedID_proc MedKindeCode char(10), KindExplanation varchar(12) insertintoMedID(MedKindeCode, KindExplanation) values(MedKindeCode , KindExplanation ) e
24、xec MedID_proc 0001, 口腔潰瘍 exec MedID_proc 0002,感冒 exec MedID_proc 0003,發(fā)燒 exec MedID_proc 0004,拉肚子 exec MedID_proc 0005,,外傷 其余略 刪除數(shù)據(jù)的存儲過程 create proc MedID_delete_proc MedKindeCode char(10) as delete from Medld where MedKindeCode=MedKindeCode exec MedlDdeleteproc 0002 其余略 修改數(shù)據(jù)的存儲過程 create proc MedlD
25、updateproc MedKindeCode char(10), KindExp1anation varchar(12), MedKindeCodel char(10) as update MedID set MedKindeCode=MedKindeCode, KindExplanation=KindExplanation where MedKindeCode=MedKindeCodel 其余略 4. 4建立存儲過程實現(xiàn)單表査詢 /*建立名為“單表查詢1”的存儲過程,用來查詢某種藥品的信息*/ create proc單表查詢1 MedicineCode char(6) AS select
26、* from Medlnfor where MedicineCode=MedicineCode 建立存儲過程實現(xiàn)連接查詢 /*建立名為“連接查詢1”的存儲過程,用來查詢某個藥品名稱對應(yīng)的藥品類型 的信息*/ create proc連接查詢1 MedicineName varchar(8) as select MedicineName , KindExplanation from Medlnfor, MedID where MedIDMedKindeCode二MedlnforMedKindeCode and MedicineName=MedicineName / 建立存儲過程實現(xiàn)嵌套查詢 /*建
27、立名為“嵌套查詢1”的存儲過錯,用來查詢某類藥品的銷售量*/ create proc嵌套查詢1 KindExp1anat ion varchar (12) as select Number from sellChild where MedicineCode In(select MedicineCode from MedID where KindExplanation=KindExplanation) /*建立名為“嵌套查詢2”的存儲過錯,用來查詢某個供應(yīng)商提供的商品*/ create proc嵌套查詢2 FirmName varchar (16) as select MedicineName
28、from Medlnfor where FirmCode In (select FirmCode from Firmlnfor where FirmName=FirmName) 建立存儲過程實現(xiàn)集合查詢 /*建立名為“集合查詢1”的存儲過錯,用來查詢提供某類商品的供應(yīng)商數(shù)權(quán) create proc集合查詢1 MedicineName varchar(8) as select avg (FirmCode) from Frimlnfor where FirmCode in(select FirmCode from Medlnfor, Frimlnfor where Medlnfor FirmCod
29、e=FrimInfor. FirmCode and MedicineName=MedicineName) 4. 5視圖建立 山供應(yīng)商信息表“Firmlnfor”建立一個視圖,該視圖山供應(yīng)商信息表的所有列 構(gòu)成*/ create view供應(yīng)商信息(供應(yīng)商編碼,供應(yīng)商名稱,聯(lián)系人,聯(lián)系電話,所在城 市) select* from Firmlnfor 4. 6建立INSERT觸發(fā)器 /*建立INSERT觸發(fā)器*/ create trigger MedID_insert on MedID for insert as if (select count (*) from MedID_med, inser
30、ted where MedID_med MedKindeCode二inserted MedKindeCode)=0 rollback transaction 4. 7建立DELETE觸發(fā)器 create trigger delete_MedID on MedID for delete as select* from MedID declare MedKindeCode char (10) select MedKindeCode=MedKindeCode from deleted delete from MedID where MedKindeCode=MedKindeCode select*f
31、rom MedID 4. 8建立UPDATE觸發(fā)器 create trigger MedID_update on MedID for update as if update(MedKindeCode) begin raiserror you can not modify this column,16, 1) rollback transaction end 五數(shù)據(jù)庫系統(tǒng)程序 醫(yī)藥銷售管理系統(tǒng)SQL語句,如下: create database MedicalManagerSystem/*創(chuàng)建醫(yī)藥銷售管理系統(tǒng)*/ use MedicalManagerSystem create table MedI
32、D/*創(chuàng)建藥品類別索引信息*/ (MedKindeCode char(10) constraint MI_PRI PRIMARY KEY, KindExplanation varchar(12) NOT NULL) create table Medlnfor/*創(chuàng)建藥品信息表*/ (MedicineCode char(6) constraint M_PRIM PRIMARY KEY, MedicineName varchar (8) NOT NULL, MedKindeCode char(10)FOREIGN KEY REFERENCES MedID(MedKindeCode), Price
33、Money, ListPrice Money, Number Int, FirmCode char(10) FOREIGN KEY REFERENCES F讓mlnfor(FirmCode), Userfulllife Datetime) create table Gue Infor/* 創(chuàng)建客戶信息表*/ (GuestCode char(10) constraint G_PRIM PRIMARY KEY, GuestName varchar (16) NOT NUL1, GLink varchar (12), GLinkTell varchar (11), City varchar (8)
34、create table Firmlnfor/*創(chuàng)建供應(yī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 Worklnfor/*創(chuàng)建員工信息表*/ (WorkNo char(10) constraint W_PRIM PRIMARY KEY, Name varchar (12), UserRegName char (6) NOT NU
35、LL, 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 Worklnfor(WorkNo), SaleDate DateTime, Amount Money) create table sellChild/*創(chuàng)建醫(yī)藥銷售子表*/ (SaleNo int constraint SC_PRIM PR
36、IMARY KEY, MedicineCode char(6)FOREIGN KEY REFERENCES Medlnfor(MedicineCode), MedicineName varchar(32) NOT NULL, Price Money, Number Int, Uint char(8), Amount Money) /*插入數(shù)據(jù)的存儲過程*/ create proc MedID_proc MedKindeCode char(10), KindExplanation varchar(12) as insertintoMedID(MedKindeCode, KindExplanati
37、on) values(MedKindeCode , KindExplanation ) exec MedID_proc exec MedID_proc exec MedID_proc exec MedID_proc exec MedID_proc OOOlJ 口腔潰瘍 0002,感冒 0003,發(fā)燒 0004,拉肚子 0005 / 外傷 create proc Medlnfor_proc MedicineCode char(6), MedicineName varchar(8), MedKindeCode char (10), Price money, ListPrice money, Num
38、ber int, FirmCode char(10), Userfulllife Datetime insertinto Medlnfor(MedicineCode , MedicineName, MedKindeCode, Price, ListPrice, Number, Supplicer, Userfulllife) values(MedicineCode, MedicineName, MedKindeCode, Price, ListPrice, Number, FirmCode, Userfulllife) execMedlnfor_procT001板藍根 ,0002, 5, 3,
39、 TOO, 014, 2010-12-5 exec Medlnfor_proc 2002,, 四 季 感 康 ,0002, 14, 10. 5, 130, 031, 2010-12-12 exec Medlnfor_proc 2003,銀 黃顆粒,0002, 12, 8. &120 ,014, 2012-10-6, exec Medlnfor_proc 2004,感冒清熱軟膠囊,0002, 17, 12, 150, 015, 2011T1T exec Medlnfor_proc 3001 ,0003, 15, 11, T00, 014, 2010-12-1 execMedlnfor_proc
40、3002, ,0003, 21, 17. 5, 120, 031, 2010-6-5 execMedlnfor_proc 400T, ,0004, 25, 20, T20, 015, 2012-10-2 exec Medlnfor_proc4002, ,0004, 15, 12, TOO, 015, 2012-9一 16 execMedlnfor_proc 諾氟沙 5001; 林 芬 挺 囊 酒 ,0005, 5, 2. 5, ,50, / 05P , 2012-10-12 exec Medlnfor_proc 5002, /創(chuàng)口 貼,0005, 2, 1/ 250014; 2015-5-1
41、create proc Guelnfor_proc varchar(16), GLink GuestCodechar (10), GuestName varchar(12), GLinkTell varchar (11), City varchar(8) insert into Guelnfor(GuestCode, GuestName, GLink, GLinkTell, City) values (GuestCode, CuestName, GLink, GLinkTell, City) exec exec exec exec exec exec Guelnfor_proc Guelnfo
42、r_proc Guelnfor_proc Guelnfor_proc Guelnfor_proc Guelnfor_proc 015112, zhangsan, xiaozhangJ, 668401, jiaxing 065114, lisi, xiaofang, 614425, yuyao, 032114, wangwu, xiaowu, 639024, wenzhou, 043115, zhaoliu1, xiaowu, 615874, shangyu, 01422T , awu, xiaozhang*, 651283, linan, 025471, ashaJ, xiaofangJ, 6
43、91472, dongyang create proc Firmlnfor_proc FirmCode char (10), FirmName varchar(16), Link varchar (12), LinkTell varchar(11), ity varchar(8) as insert into Firmlnfor(FirmCode, FirmName, Link, LinkTell, City) values(F讓mCode, FirmName, Link, LinkTell, ity) exec Firmlnfor_proc Olo , yangshengtang*, xia
44、otai1, 681472, huzhou exec Firmlnfor_proc 014, baozhilin, zhangqing, 65842T , deqing, execFirmlnfor_proc 05T , pinmingdayaofang, oudan, 65417, xiangshan, create proc Worklnfor_proc WorkNo char(10), Name varchar (12), UserRegName char (6), Password char (10), Position char (10), Power Int insert into
45、 Worklnfor(WorkNo, Name, UserRegName, Password, Position, Power) values(WorkNo, Name, UserRegName, Password, Position,Power) exec Worklnfor_proc 075101, ZKL, zklOl, 456789, jingli, exec Worklnfor_proc 075201, ZJM, zjmOl, 123789, dongshi*, exec Worklnfor_proc 075213, WMX, wmx03, 147258, xiaomi, exec
46、Worklnfor_proc 075120, ZZWf, zzm20, 123456, buzhang, create proc sellMain_proc SaleNo int, WorkNo char(10), SaleDate DateTime, Amount Money insert into sellMain(SaleNo, WorkNo, SaleDate, Amount) values(SaleNo, WorkNo, SaleDate, Amount) exec sellMainproc T2073101J 2009-1-1,1000 exec sellMainproc T3,
47、075201J 2009-1-1,1500 exec sellMainproc T5j 075215J 2009-1-1,800 exec sellMainproc 20J 073120/ 2009-1-1,1200 alter proc sellChild_proc SaleNo int, MedicineCode char(6), MedicineName varchar (32), Price Money, Number Int, Uint char(8), Amount Money insertinto sellChild(SaleNo, MedicineCode, MedicineN
48、ame, Price, Number, Uint, Amount) values (SaleNo, MedicineCode, MedicineName, Price, Number, Uint, Amou nt) exec sellChild_proc 131001,板藍根,5, 20, bao, 100 exec sellChild_proc 15, 2002,四季感康,14, 15, he, 210 exec sellChild_proc 20, 300T ,阿斯匹林,15, 20, he, 300 /*刪除數(shù)據(jù)的存儲過程*/ create proc MedID_delete_proc
49、MedKindeCode char (10) delete from Medld where MedKindeCode=MedKindeCode exec MedID_delete_proc 0002, create proc Medlnfor_delete_proc MedicineName varchar(8) as delete from Medlnfor where MedicineName=MedicineName create proc GueInfor_delete_proc GuestCode char (10) as delete from GueInfor where Gu
50、estCode=CuestCode create proc Firmlnfor_de1ete_proc FirmCode char(10) as delete from Firmlnfor where FirmCode=FirmCode create proc Worklnfor_de1ete_proc WorkNo char (10) as delete from Worklnfor where WorkNo=WorkNo create proc sellMain_delete_proc SaleNo int as delete from sellMain where SaleNo=Sale
51、No create proc sellChild_delete_proc SaleNo int as delete from sellChild where SaleNo=SaleNo /*修改數(shù)據(jù)的存儲過程*/ create proc MedlDupdateproc MedKindeCode char(10), KindExp1anation varchar(12), MedKindeCodel char(10) as update MedID set MedKindeCode=MedKindeCode, KindExplanation=KindExplanation where MedKi
52、ndeCode=MedKindeCodel exec MedID_update_proc 0002,感冒,0001 create proc Medlnfor_update_proc MedicineCodel char(6), MedicineName varchar(8), MedKindeCode char (10), Price money, ListPrice money, Number int, FirmCode char(10), Userfulllife Datetime, MedicineCode char (6) as update Medlnfor set Medicine
53、Code=MedicineCode1, MedicineName=MedicineName, MedKindeCode= MedKindeCode, Price=Price, ListPrice=ListPrice, Number=Number, FirmCode=FirmCode, Userfulllife= Userfulllife, MedicineCode=MedicineCode where MedKindeCode=MedKindeCode create proc GueInfor_update_proc GuestCodelchar(10), GuestNamevarchar(1
54、6), GLink varchar(12), GLinkTell varchar (11), City varchar(8), GuestCode char (10) as update Guelnfor set GuestCode=CuestCodel, GuestName=CuestName, GLink=GLink, GLinkTell=GL inkTell, City=City where GuestCode=GuestCode create proc Firmlnfor_update_proc FirmCode 1 char (10), FirmName varchar (16),
55、Link varchar (12), SLinkTell varchar (11), City varchar (8), 尸讓mCode char (10) as update Firmlnfor set FirmCode=FirmCode1, FirmName=FirmName, Link=Link, LinkTell=LinkTell, City二City where FirmCode=FirmCode create proc Worklnfor_update_proc WorkNol char(10), Name varchar(12), UserRegName char(6), Pas
56、sword char(10), Position char(10), Power Int, WorkNo char(10) as update Worklnfor set WorkNo=WorkNo 1, Name=Name, UserRegName=UserRegName, Password=Passwor d, Position=Position, Power=Power where WorkNo=WorkNo create proc seilMain_update_proc SaleNo1 int, WorkNo char(10), SaleDate DateTime, Amount M
57、oney, SaleNo int as update sellMain set SaleNo=SaleNol, WorkNo=WorkNo, SaleDate=SaleDate, Amount=Amount where SaleNo=SaleNo create proc seiIChild_update_proc SaleNo1 int, MedicineCode char(6), MedicineName varchar (32),Price Money, Number Int, Uint char(8), Amount Money, SaleNo int update sellChild
58、set SaleNo=Sa1eNo1, MedicineCode=MedicineCode, MedicineName=MedicineName ,Price=Price, Numb er=Numb er, Amount=Amount where SaleNo=SaleNo /*建立存儲過程實現(xiàn)單表查詢*/ /*建立名為“單表查詢1”的存儲過程,用來查詢某種藥品的信息*/ create proc單表查詢1 MedicineCode char(6) AS select * from Medlnfor where MedicineCode=MedicineCode /*建立名為“單表查詢2”的存儲
59、過程,用來查詢某個客戶的信息*/ create proc單表查詢2 GuestCode char (10) AS select * from GueInfor where GuestCode=CuestCode /*建立名為“單表查詢3”的存儲過程,用來查詢某個員工的信息*/ create proc單表查詢3 WorkNo char(10) AS select * from Worklnfor where WorkNo=WorkNo /*建立名為“單表查詢4”的存儲過程,用來查詢某個供應(yīng)商的信息*/ create proc單表查詢4 珥1?mCode char (10) AS select *
60、 from Firmlnfor where FirmCode=FirmCode /*建立名為“單表查詢5”的存儲過程,用來查詢某個藥品代碼對應(yīng)的藥品類型 的信息*/ create proc單表查詢5 MedKindeCode char(10) AS select * from MedID where MedKindeCode=MedKindeCode /*建立存儲過程實現(xiàn)連接查詢*/ /*建立名為“連接查詢1”的存儲過程,用來查詢某個藥品名稱對應(yīng)的藥品類型 的信息*/ create proc連接查詢1 MedicineName varchar(8) as select MedicineName
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度酒店酒水綠色環(huán)保儲存與配送合同3篇
- 二零二五年光纜供應(yīng)合同范本3篇
- 2024年自愿離婚協(xié)議范本:子女撫養(yǎng)、財產(chǎn)分割及贍養(yǎng)費協(xié)議參考12篇
- 2024年項目管理與咨詢合同
- 2024年視角下的編制外用工管理模式升級指南2篇
- 2024年自卸車租賃協(xié)議樣式模板版
- 2024年股東退股合同協(xié)議3篇
- 2024版大客戶新能源汽車購買協(xié)議3篇
- 二零二五年度危險品道路運輸許可協(xié)議3篇
- 2024版在線教育平臺運營合同2篇
- 重點關(guān)愛學(xué)生幫扶活動記錄表
- 2021年10月自考00850廣告設(shè)計基礎(chǔ)試題及答案含解析
- 結(jié)構(gòu)化面試表格
- 地?zé)崮苜Y源的潛力及在能源領(lǐng)域中的應(yīng)用前景
- 2023版:美國眼科學(xué)會青光眼治療指南(全文)
- 家長會課件:小學(xué)寒假家長會課件
- 變剛度單孔手術(shù)機器人系統(tǒng)設(shè)計方法及主從控制策略
- 兒童室外游戲機創(chuàng)業(yè)計劃書
- 2024年浙江寧波永耀供電服務(wù)有限公司招聘筆試參考題庫含答案解析
- 溫州食堂承包策劃方案
- 40篇英語短文搞定高考3500個單詞(全部)
評論
0/150
提交評論