《數(shù)據(jù)庫實用技術(shù)》課程設(shè)計_第1頁
《數(shù)據(jù)庫實用技術(shù)》課程設(shè)計_第2頁
《數(shù)據(jù)庫實用技術(shù)》課程設(shè)計_第3頁
《數(shù)據(jù)庫實用技術(shù)》課程設(shè)計_第4頁
《數(shù)據(jù)庫實用技術(shù)》課程設(shè)計_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、救據(jù)癢實用牧*礫程殺針項目名稱:倉庫管理系統(tǒng)課程名稱:數(shù)據(jù)庫實用技術(shù)專業(yè)班級: 信息與計算科學110班姓 名:曾 黎任課教師:陳云新一、系統(tǒng)定義隨著各個公司經(jīng)營的范圍慢慢擴大,業(yè)務(wù)流量比較大,需要處理的數(shù)據(jù)比 較多,為了能對公司的業(yè)務(wù)進行有效的管理,減少手工操作的繁瑣,同吋可以根 據(jù)公司業(yè)務(wù)的運營情況,分析岀公司發(fā)展的潛在信息,順應(yīng)時代的發(fā)展變化,使 管理更加簡單化。二、需求分析1、最終倉庫管理系統(tǒng)功能如下:(1) 資料管理功能人員信息:用于登記公司的員工信息資料、客戶信息資料、和供應(yīng)商信息資料,對員工信息資料支持員工信息的錄入、修改和刪除。最高權(quán)限的管理員能錄入和刪除工作人員,普通權(quán)限的工作

2、人員只能修改自己的密碼產(chǎn)品信息:支持產(chǎn)品信息的錄入、修改和刪除,可以對各個產(chǎn) 品進行查詢。(2) 業(yè)務(wù)管理功能進出倉庫明細:用于查看進貨明細、進貨退貨、銷售明細、銷售退貨、實現(xiàn)錄入、修改和刪除。退貨時,需要指定相應(yīng)的退貨單,可以查詢進出倉庫明細。盤庫:通過人工清點當前庫存物品,與理論上倉庫內(nèi)物品數(shù)量對比,分析盤盈、盤虧問題(3) 統(tǒng)計分析功能物品分析:用于對物品進行分析,主要是銷售分析,包括對利潤、進貨、退貨、庫存等進行分析,可以通過報表顯示。人員分析:市于需求加大,需要各種職務(wù)的工作人員,分析職務(wù)需求,可供人才參考利潤分析:對產(chǎn)品銷售的利潤進行分析,可以看出貨物的供求關(guān)系2、給出系統(tǒng)的邏輯模

3、型:數(shù)據(jù)流程圖、數(shù)據(jù)字典數(shù)據(jù)流圖例子(可根據(jù)需要用多層數(shù)據(jù)流圖表示):數(shù)據(jù)字典:數(shù)據(jù)項:倉庫:倉庫編號,倉庫名,倉庫類型,管理員,員工編號;供應(yīng)商:供應(yīng)商編號,姓名,聯(lián)系方式,地址;供應(yīng)商供應(yīng)的貨物存入倉庫數(shù)據(jù)結(jié)構(gòu):供應(yīng)商提供貨物,存入相應(yīng)的倉庫數(shù)據(jù)流:需求的貨物進入相應(yīng)的倉庫數(shù)據(jù)存儲:產(chǎn)品描述,應(yīng)付款處理過程:需求貨物-送訂單號-訂單處理-> 付款-> 貨物入庫管理數(shù)據(jù)流圖:倉庫數(shù)據(jù)用戶基木數(shù)抵倉咋.:,b貨物數(shù)據(jù)貨撫信息表倉庫信息表貨物信息庫信息用戶基本信息管理負盤 yrfuu用戶呈本信息農(nóng)入庫信息入舛入庫數(shù)據(jù)入庫倍息表出庫信息rh.lv公司信息;|】比數(shù)搖公可數(shù)據(jù)財務(wù)信息財務(wù)

4、數(shù)據(jù)財務(wù)侶息管理;|曲信息農(nóng)公司倍息農(nóng)賬|盤:存信息友數(shù)據(jù)字典:數(shù)據(jù)項:員工:員工編號,姓名,登錄密碼,性別,生日,聯(lián)系方式,職 稱,家庭住址;貨物:貨物編號,名稱,類型,數(shù)量,單位,進價,售價,訂單管理員管理倉庫和資料庫數(shù)據(jù)結(jié)構(gòu):管理員進行相關(guān)的操作,顯示相應(yīng)的信息,或存儲相應(yīng)的物 品、資料數(shù)據(jù)流:操作信息,操作數(shù)據(jù),相關(guān)信息表數(shù)據(jù)存儲:查詢時將數(shù)據(jù)信息顯示出來,入出庫數(shù)據(jù)進行存儲處理等等 處理過程:管理員操作-> 獲得操作信息-實行相應(yīng)的處理三、系統(tǒng)設(shè)計1、概念結(jié)構(gòu)設(shè)計畫出系統(tǒng)e-r圖。2、邏輯結(jié)構(gòu)設(shè)計將e-r圖(或其他概念設(shè)計圖)轉(zhuǎn)換為具體的dbms對應(yīng)的關(guān)系模式。員工:員工編號,

5、姓名,登錄密碼,性別,生日,聯(lián)系方式,職稱,家庭 住址貨物:貨物編號,名稱,類型,單位,進價,售價倉庫:倉庫編號,倉庫名,倉庫類型,員工編號供應(yīng)商:供應(yīng)商編號,姓名,聯(lián)系方式,地址客戶:客戶編號,貨物編號,姓名,聯(lián)系方式,地址,訂單號;庫存:倉庫編號,貨物編號,數(shù)量進倉:入單號,進倉時間,入庫數(shù)量,所付金額出倉:出單號,出倉時間,出庫數(shù)量,所付金額盤庫:盤庫號,盤庫時間,盤庫數(shù)量數(shù)據(jù)庫設(shè)計:員工表序號字段名稱數(shù)據(jù)類型大小可否為空主鍵說明1staff no可變字符10否是員工編號2staff password可變字符10否否登錄密碼3staff name可變字符10否否員工姓名4staff se

6、x字符2否否性別5staff birthday日期可否出生日期6staff phone字符15否否聯(lián)系方式7staff rank字符10否否職稱8staff family address可變字符50可否家庭住址倉庫表序號字段名稱數(shù)據(jù)類型大小可否為空主鍵說明1cangkuno可變字符10否是倉庫編號2cangku name可變字符10否否倉庫名3cangku type可變字符10否否倉庫類型4staff no可變字符10否否員工編號貨物表序號字段名稱數(shù)據(jù)類型人小可否為空主鍵說明1material no可變字符10否是貨物編號2material name可變字符10否否貨物名3material t

7、ype可變字符10否否貨物類型4material in price可變字符10否否進價5material out price可變字符10否否出價6material unit字符4否否單位供應(yīng)商表序號字段名稱數(shù)據(jù)類型大小可否為空主鍵說明1supplierno可變字符10否是供應(yīng)商編號2material no可變字符10否是貨物編號3supplier name可變字符10否否供應(yīng)商姓名4supplierphone字符15否否聯(lián)系方式5supplier address可變字符50可否住址客戶表序號字段名稱數(shù)據(jù)類型大小可否為空主鍵說明1kehu no可變字符10否是客戶編號2kehu name可變字符

8、10否否客戶姓名3kehu password可變字符10否否登錄密碼4kehu phone字符15否否聯(lián)系方式5kehu address可變字符50可住址進倉表序號字段名稱數(shù)據(jù)類型大小可否為空主鍵說明1rudan no整形否否入單號2supplier no可變字符10否否供應(yīng)商編 號3materialno可變字符10否否貨物編號4i n dataf1期否否進倉吋間5ru qty長整形否否進倉數(shù)量6supp pay長整形否否所付金額7staff no員工編號10否否員工編號出倉表序號字段名稱數(shù)據(jù)類型大小可否為空主鍵說明1chudan no整形否否出單號2kehu no可變字符10否否客戶編號3m

9、aterial no可變字符10否否貨物編號4out data13期否否出倉時間5chu qty長整形否否出倉數(shù)量6kehu pay長整形否否所付金額7staff no員工編號10否否員工編號庫存表序號字段名稱數(shù)據(jù)類型大小可否為空主鍵說明1cangku no可變字符10否是倉庫號2materialno可變字符10否是貨物編號3qtyt整形否否數(shù)量盤庫表序號字段名稱數(shù)據(jù)類型大小可否為空主鍵說明1panku no可變字符10否否盤庫號2staff no可變字符10否否員工編號3panku date日期否否盤庫h期4materialno可變字符10否否貨物編號5pankuqtyr整形否否盤庫數(shù)量3、

10、系統(tǒng)功能模塊圖訓(xùn)出系統(tǒng)功能模塊圖,并對子模塊功能進行詳細說明。倉庫管理系統(tǒng)四、詳細設(shè)計主要的sql語句數(shù)據(jù)庫的建立create database ckglon primary( name='ckgl data',filename * d : 心語ckgl_data . mdf 1 ,size=3,filegr0wth=15%)log on( name=|ckgl_log1,filename * d : >>ckgi_iog . ldf ',size=lzmaxsize=100, filegrowth=1)go員工表create table staff(sta

11、ff_no varchar(10) primary key not null, staff_password varchar(10)not null, staff_name varchar(10)not null, staff_sex char(2)not null, staff_birthday datetime not null, staff_phone char(15)not null, staff_rank char(10)not null, staff_family_address varchar(50)not null,)- 一go-貨物表create table material

12、(material_no varchar(10) primary key not null, material_name varchar(10)not null, material_type varchar(10)not null, material_in_price varchar(10)not null, material_out_price varchar(10)not null, material_unit char(4)not null,) _go-倉庫表create table cangku( cangku_no varchar(10) primary key not null,

13、cangku_name varchar(10)not null, cangku_type varchar(10)not null, staff no varchar(10)not null,foreign key(staff_no) references staff(staff_no), ) - -go-庫存表create table cunhuo(cangku_no varchar(10), material_no varchar(10), qty bigint,primary key(cangku_no,material_no),foreign key(cangku_no) referen

14、ces cangku(cangku_no), foreign key(material_no) references material(material_no), ) 一 go-供應(yīng)商表create table supplier(supplier_no varchar(10), material_no varchar(10), supplier_name varchar(10)not null, supplier_phone char(15)not null, supplier_address varchar(50)not null, primary key(supplier_no,mater

15、ial_no), foreign key(material_no) references material(material_no), ) - - go-進倉表create table material_in( _rudan_no int not null,supplier_no varchar(10) not null, material_no varchar(10) not null, in_data datetime not null, ru_qty bigint not null, supp_pay bigint not null, staff_no varchar(10) not n

16、ull, foreign key(supplier_no,material_no) references supplier(supplier_noz material_no), foreign key(staff_no) references staff(staff_no), )go-客戶表create table kehukehu_no varchar(10) primary key not null, kehu_name varchar(10)not null, kehu_password varchar(10)null, kehu_phone char(15)null, kehu_add

17、ress varchar(50),)_go-出倉表create table material_out(chudan_no int not null,kehu_no varchar(10) not null, material_no varchar(10) not null, out_data datetime not null, chu_qty bigint not null, kehu_pay bigint not null, staff_no varchar(10) not null, foreign key(kehu_no) references kehu(kehu_no), forei

18、gn key(material_no) references material(material_no)z foreign key(staff_no) references staff(staff_no),) - -go盤庫表create table panku(panku_no varchar(10) not null, staff_no varchar(10) not null, panku_date datetime, material_no varchar(10)not null, panku_qty bigint,foreign key(material_no) references

19、 material(material_no)z foreign key(staff_no) references staff(staff_no)z)go建立進出倉的存儲過程入倉:create procedure material_in_prorudan_no int,supplier_no varchar(10), material_no varchar(10), in_data datetime, ru_qty bigint,supp pay bigint,staff_no varchar(10),out varchar(20)=101 outputasdeclare nl intselec

20、t nl=count(material_no) from material where material_no=material_noif (nl=0)b eginselect out='此物料不存在,如果要進倉,請先登記新物料信息!returnendelsebegininsert into material_invalues(rudan_no,supplier_no,material_no,in_data,ru_q ty,supp_pay,staff_no)update cunhuo set qty=qty+ru_qty where material_no=material_nose

21、lect outi 操作成功! !'returnendgo出倉:create procedure material_out_pro chudan_no int,kehu_no varchar(10),material_no varchar(10),out_data datetime,chu_qty bigint,kehu_pay bigint,staff_no varchar(10),out varchar(20) = 10 f outputasdeclare nl intselect nl=count(material_no) from material where material

22、_no=material_no if (nl=0)beginselect out= 1此物料不存在!"return end elsebeginif chu qty>(select qty from cunhuo wherematerial_no=material_no)beginselect out= *庫存數(shù)量不足!'returnendelsebegininsert into material_outvalues(chudan no,kehu no,©material no,out data,chu qt y,kehu_pay,staff_no)update

23、 cunhuo set qty=qty-chu_qty where material_no=material_noselect outi 操作成功! !'returnendendgo觸發(fā)器:1. 入庫觸發(fā)器創(chuàng)建:要求:在添加入庫記錄時,必須修改庫存表,分兩種情況,一是(material_no,cangku_no)在庫存表中有記錄,修改庫存數(shù)量即可,二是沒有記錄吋,耍添加相關(guān)記錄。create trigger whenrkon rukufor insertdeclare material_no char(5), cangku_no char(5),n_um intselect mater

24、ial_no= material_noz cangku_no=cangku_no z n_um=rknumfrom insertedif (exists(select material_no from store where material_no=niaterial_no and cangku_no=cangku_no)beginupdate storeset num=num+n_umwhere material_no=maand cangku_no=cangku_noendif(not exists(select material_no from store wherematerial_n

25、o=material_no and cangku_no=cangku_no)begininsert into storevalues(material_no z cangku_noz n_um)end2. 出庫觸發(fā)器創(chuàng)建:要求:在添加出庫記錄時,必須滿足(material_no, cno)外碼約束,也就是 無法添加(material_no, cangku_no)不在庫存表中的記錄。滿足外碼約束 后,如果出庫數(shù)量不大于庫存數(shù)量,修改庫存數(shù)量即可,但當出庫數(shù)量大于庫存 數(shù)量,將無法添加相關(guān)記錄。create trigger whenckon cukufor insertasdeclare mate

26、rial_no char (5) , cangku_no char ( 5) z n_um int, material_outchar(5)select material_no= material_no,cangku_no=cangku_no z n_um=cknumz material_out=material_outfrom insertedif (exists(select material_no from store where material_no=material_noand cangku_no=cangku_no and num>=n_um)beginupdate sto

27、reset num=num-n_umwhere material_no=material_no and cangku_no=cangku_noendif (exists(selectfrom store wherematerial_no=material_noand cangku_no=cangku_no and num<n_um)begindelete from cuku where material_out=material_outend2. 完整性設(shè)計 實體完整性:在商品表中定義商品號material_no為主碼;在倉庫表中定義倉庫號cangku_no為主碼;在庫存表中定義商品號和

28、倉庫號(material_no, cangku_no)為主碼;在管理員表中定義管理員編號staf f_no為主碼;在客戶表中定義客戶編號kehu_no為主碼;在入庫表中定義入庫號rudan_no為主碼;在出庫表屮定義岀庫號material_out 為主碼;在密碼表中定義管理員編號mno為主碼; 實體完整性檢查和違約處理:1. 檢查主碼值是否唯一,如果不唯一則拒絕插入或修改2. 檢查主碼的各個屬性是否為空,只要有一個為空就拒絕插入或修改;參照完整性:在庫存表屮定義商品號和倉庫號為建立在商品表和倉庫表上的 外碼;在入庫表中定義商品號為建立在商品表上的外碼,倉庫號為建立在倉 庫表上的外碼,客戶號為建

29、立在客戶表上的外碼,管理員編號為建立在管理 員表上的外碼;在出庫表屮定義商品號為建立在商品表上的外碼,倉庫號為 建立在倉庫表上的外碼,客戶號為建立在客戶表上的外碼,管理員編號為建 立在管理員表上的外碼;在密碼表屮定義管理員編號為建立在管理員表上的 外碼。 參照完整性的檢查和違約處理:1. 拒絕執(zhí)行:不允許該操作執(zhí)行。該策略一般設(shè)置為默認策略;2. 級聯(lián)操作:當刪除或修改被參照表的一個元組造成了與參照表的不一 致,則刪除或修改參照表中的所有造成不一致的元組;3. 設(shè)置為空值:當刪除或修改被參照表的一個元組時造成了不一致,則將 參照表中的所有造成不一致的元組的對應(yīng)屈性設(shè)置為空值;用戶自定義完整性:

30、在管理員表中,添加完整性約束條件,年齡在1860 之間;性別只能在'男''女'兩個選項中取值;姓名不能為空;否則,無 法插入;主要模塊的程序流程圖。1 、資料管理流程圖否人員資料否產(chǎn)品資料結(jié)束是否是是員工資料供應(yīng)商資料否否査詢是加產(chǎn)品是改產(chǎn)品息調(diào)用査詢過程顯示査詢結(jié)杲調(diào)用存儲過程 存儲信息調(diào)用存儲過程 存儲信息是c結(jié)東)調(diào)用查詢過程 顯示查詢結(jié)果調(diào)用存儲過程 存儲信息調(diào)用存儲過程 存儲信息詢員工心、調(diào)用查 顯示查詢過程 詢結(jié)果修改密碼是是是調(diào)用在儲過程 存儲信息調(diào)用存儲過程 存儲信息業(yè)務(wù)管理流程圖3、統(tǒng)計分析流程圖4、系統(tǒng)幫助流程圖五、簡單查詢示例use ckg

31、lgoselectstaff_no ,staff_password,staff_name z staff_sex,staff_birth day ,staff_phone,staff_rank , staff_family_address from staff go增加一條員工信息insert into staffvalues ( 1 01 ' , 1 123456 * ,】心語z ' 女'z ' 1993-1-15 1 z '','倉庫管理員',】湖南衡陽')go修改員工數(shù)據(jù)updata sta

32、ffset staff_phone='#39;where staff_no='01'go六、數(shù)據(jù)庫的安全性管理 數(shù)據(jù)庫的安全很重要,如杲你的數(shù)據(jù)庫沒有安全管理機制,那就意味著任何人 都可以進入你的數(shù)據(jù)庫,很可能會給公司造成巨大的損失,因此倉庫管理系統(tǒng) 的安全是一個十分重要的方面。創(chuàng)建兩個sql server身份證的登錄,一個為工作人員登錄,一個為客戶登 錄。use ckglcreate login gzry with password=11234521create login kh with password18888881更改登錄賬號gzry的

33、密碼。alter login gzry with password1asdfg1禁止登錄賬號kh的登錄alter login kh disable啟動登錄賬號kh的登錄alter login kh enable給登錄賬戶gzry賦了 owner角色sp_addsrvrolemember 1gzry1, 1 owner 1給登錄賬戶kh賦予datareader角色sp_adds rvro1ememb巳匕 1kh1, 1datareader1用戶: 權(quán)限七、系統(tǒng)實現(xiàn)與測試1、開發(fā)平臺和工具選擇deiphi7sql20052、系統(tǒng)測試登錄界面:可以看到字體為動態(tài)形式,下面的詩為閃爍狀態(tài) 主界面:業(yè)務(wù)

34、管理:冶業(yè)務(wù)管理查詢i物料逬出庫i盤庫i退夷i查詢存貨信息i查詢逬出單信息 查詢盤庫信息ipanku nostaff nopanku datema 110012012/6/1100:110012012/6/1100-210032012/6/2500210032012/6/2500-j310012012/6/1100:310012012/6/1100-410012012/6/2600:410012012/6/2600<510022012/6/2600:l510022012/6/2600-p盤庫日期:|2012/ 6/26 j7查著士別童業(yè)官里查詢i物料逬出庫i盤庫i退灰i查詢存賞信息i查詢逬出單信息i查詢盤庫信息灰物名稱:|查詢i i查著至部il矽業(yè)務(wù)管理查詢|物料逬出庫i盤庫丨退貨i查詢存灰信息查詢逬出單信息|查詢盤庫信息|訂單類型逬 出開單日期:12012/ 6/253查看全部,in;rudan nosuppl ierno materia

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論