《數(shù)據(jù)庫原理與應(yīng)用》課程設(shè)計報告.doc_第1頁
《數(shù)據(jù)庫原理與應(yīng)用》課程設(shè)計報告.doc_第2頁
《數(shù)據(jù)庫原理與應(yīng)用》課程設(shè)計報告.doc_第3頁
《數(shù)據(jù)庫原理與應(yīng)用》課程設(shè)計報告.doc_第4頁
《數(shù)據(jù)庫原理與應(yīng)用》課程設(shè)計報告.doc_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

精品數(shù)據(jù)庫原理與應(yīng)用課程設(shè)計分析與設(shè)計報告題 目 倉庫管理系統(tǒng) 專業(yè)班級 網(wǎng)絡(luò)0801 學 號 姓 名 指導老師 完成時間 2011.1.14 感謝下載載目 錄1. 任務(wù)設(shè)計與要求12. 需求分析23. 系統(tǒng)總體設(shè)計34. 數(shù)據(jù)庫設(shè)計45. 運行結(jié)果與測試56.參考資料16 一 設(shè)計任務(wù)與要求1.1任務(wù)設(shè)計與要求隨著科學技術(shù)的不斷發(fā)展和完善,計算機逐漸地應(yīng)用與各個領(lǐng)域。當然,現(xiàn)代化的辦公也離不開計算機這門先進的技術(shù)地參與,從而實現(xiàn)高效率的辦公目的。著眼于現(xiàn)實生活中的倉庫管理系統(tǒng),我們選擇了倉庫管理這個題目作為本次課程設(shè)計的主題,為的是能從實踐中真正的考量自己對課本知識的掌握程度和靈活應(yīng)用的能力,以便在以后的工作中能夠游刃有余。 倉庫管理系統(tǒng)的主要任務(wù)就是能夠?qū)崿F(xiàn)對貨物信息的錄入、修改和查詢的功能,以及對貨物資料、庫存資料進行簡單的管理,并且能夠?qū)崿F(xiàn)倉庫出庫表、入庫表的打印等功能。我們通過vb編程建立數(shù)據(jù)庫,數(shù)據(jù)表,表單,視圖,報表等類,建立一個倉庫基本信息管理及查詢的系統(tǒng)。這樣做的意義,就是能夠為倉庫和管理者提供便捷的服務(wù),以便創(chuàng)造更大的社會價值。二.需求分析通過與多個中小企業(yè)后勤倉庫負責人進行溝通,詳細了解了企業(yè)的需求,得到該系統(tǒng)需要具備的功能,具體如下。1.系統(tǒng)管理l 可以將管理操作員,如增加操作員,設(shè)置修改操作員密碼;l 可以備份數(shù)據(jù)庫;l 可以恢復(fù)工資數(shù)據(jù)。2.數(shù)據(jù)管理l 可以新增入庫單;l 可以新增出庫單;l 可以對入庫單進行管理;l 可以對出庫單進行管理;設(shè)置系統(tǒng)使用的輔助數(shù)據(jù),如部門、職稱、職務(wù)等參照數(shù)據(jù)。3.查詢統(tǒng)計l 可以查詢在制定期間的庫存信息;l 可以對指定期間內(nèi)的單據(jù)進行查詢;l 可以統(tǒng)計在指定期間內(nèi)的貨物信息;l 可以對貨物在制定期間內(nèi)進行出入統(tǒng)計4.打印票據(jù)l 可以打印出庫票據(jù);l 可以打印入庫票據(jù)。4.登記信息l 可以登記貨物信息;l 可以登記倉庫信息;l 可以登記供應(yīng)商信息;l 可以等級入庫經(jīng)辦人;l 可以等級出庫經(jīng)辦人。3 系統(tǒng)總體設(shè)計 通過前面的需求分析,對功能要求和性能要求有了大概了解,下面應(yīng)該確定系統(tǒng)的最終目標及初步的功能結(jié)構(gòu)。(1) 系統(tǒng)目標根據(jù)需求分析的描述及與用戶的溝通,最終確定系統(tǒng)要實現(xiàn)的目標如下。l 界面簡潔、框架清晰、美觀大方;l 領(lǐng)會、快速的填寫倉庫信息、入庫、出庫資料;l 對用戶輸入的數(shù)據(jù),系統(tǒng)進行嚴格的數(shù)據(jù)檢驗,盡可能排除人為輸入錯誤;l 實現(xiàn)查詢統(tǒng)計功能,用來查詢統(tǒng)計員工工資數(shù)據(jù);l 最大限度地實現(xiàn)系統(tǒng)的易維護性和易操作性;l 確保系統(tǒng)數(shù)據(jù)安全。(2) 系統(tǒng)功能結(jié)構(gòu)本系統(tǒng)主要包括倉庫基本信息管理,數(shù)據(jù)處理,貨物信息錄入、查詢、修改,庫存信息的查詢統(tǒng)計,系統(tǒng)管理等部分其系統(tǒng)結(jié)構(gòu)如圖所示。 (3) 構(gòu)建開發(fā)環(huán)境本項目開發(fā)環(huán)境如下:l Microsoft Visual Basic 6.0中文版;l Access數(shù)據(jù)庫。Access是運行在Windows系列平臺之上的具備了多媒體與開放性的數(shù)據(jù)庫系統(tǒng)。它的直觀性、易用性、開放性及功能強大的特點,使其成為目前最受歡迎的PC數(shù)據(jù)庫軟件。(4) 系統(tǒng)特色介紹本系統(tǒng)特色有:l 操作簡單,符合Windows的風格的操作界面,使用戶容易上手;l 減少數(shù)據(jù)重復(fù)錄入,大部分數(shù)據(jù)都只需錄入一次,即可在其他模塊中引用。如供應(yīng)商、貨物資料、庫存等信息,都只需錄入一次。(5) 處理流程以“判斷能否錄入貨物信息”為例,可描述如下:l 處理過程:“判斷能否錄入貨物信息”;l 說明:根據(jù)貨物編號判斷是否屬于有效貨物;l 輸入:貨物編號、貨物貨物名稱、類別等有效信息;l 輸出:能否錄入貨物信息;l 處理:如果屬于有效貨物編號,即可錄入,否則不可錄入。(6) 主要功能的原理用戶管理主要采用MicrosoftVisualBasic6.0制作的登錄界面和Access制作的數(shù)據(jù)庫對員工的基本信息進行管理;應(yīng)用VB對用戶的添加、刪除、修改進行操作。4.數(shù)據(jù)庫設(shè)計4.1概念結(jié)構(gòu)設(shè)計供應(yīng)商信息表:供應(yīng)商編號,供應(yīng)商地址,供應(yīng)商名稱,電話,聯(lián)系人姓名,聯(lián)系人職稱貨物信息表:貨物編號,貨物名稱,貨物數(shù)量,類別,最低限量,最高限量種類表:類別編號,類別名稱客戶信息表:客戶編號,客戶名稱,聯(lián)系人,客戶電話倉庫信息表:倉庫編號,倉庫名稱,倉庫地址,用戶編號用戶信息表:用戶名,用戶密碼,用戶權(quán)限庫存信息表:庫存編號,貨物編號,庫存數(shù)量,倉庫編號入庫單:入庫單編號,貨物編號,經(jīng)辦人編號,入庫時間,貨物數(shù)量,倉庫編號,供應(yīng)商編號出庫單:出庫單編號,貨物編號,經(jīng)辦人編號,出庫時間,出庫單價,客戶編號,倉庫編號4.2邏輯結(jié)構(gòu)設(shè)計根據(jù)關(guān)系規(guī)范化理論和E-R轉(zhuǎn)換成關(guān)系模型的規(guī)則,整體E-R圖可轉(zhuǎn)換得到下列關(guān)系模式:供應(yīng)商(供應(yīng)商編號,供應(yīng)商地址,供應(yīng)商名稱,電話,聯(lián)系人姓名,聯(lián)系人職稱)貨物(貨物編號,貨物名稱,貨物數(shù)量,類別,最低限量,最高限量)種類(類別編號,類別名稱)客戶(客戶編號,客戶名稱,聯(lián)系人,客戶電話)倉庫(倉庫編號,倉庫名稱,倉庫地址,用戶編號)用戶(用戶名,用戶密碼,用戶權(quán)限)庫存(庫存編號,貨物編號,庫存數(shù)量,倉庫編號)入庫單(入庫單編號,貨物編號,經(jīng)辦人編號,入庫時間,貨物數(shù)量,倉庫編號,供應(yīng)商編號)出庫單(出庫單編號,貨物編號,經(jīng)辦人編號,出庫時間,出庫單價,客戶編號,倉庫編號)4.3物理結(jié)構(gòu)設(shè)計1.供應(yīng)商信息表列名數(shù)據(jù)類型長度主鍵或外鍵約束中文名稱Offernovarchar20主鍵not null供應(yīng)商編號Offernamevarchar30not null 供應(yīng)商名稱Addressvarchar20not null供應(yīng)商地址Telvarchar20Not null電話Partnervarchar50Not null聯(lián)系人姓名Postvarchar20Not null聯(lián)系人職稱2.客戶信息表列名數(shù)據(jù)類型長度主鍵或外鍵約束中文名稱Cnovarchar10主鍵Not null客戶編號Cnamevarchar20Not null客戶名稱Partnervarchar20Not null聯(lián)系人Telvarchar20Not null客戶電話3.貨物信息表列名數(shù)據(jù)類型長度主鍵或外鍵約束中文名稱Gnovarchar20主鍵Not null貨物編號Gnamevarchar20Not null貨物名稱Gnumvarchar10Not null貨物數(shù)量Gclavarchar10Not null類別Minvarchar20Not null最低限量Maxvarchar20Not null最高限量4.倉庫信息表列名數(shù)據(jù)類型長度主鍵或外鍵約束中文名稱Snovarchar10外鍵Not nul倉庫編號Snamevarchar20Not null倉庫名稱Saddvarcahr30Not null倉庫地址Unamevarcahr20外鍵Not null用戶名5.用戶信息表列名數(shù)據(jù)類型長度主鍵或外鍵約束中文名稱Unamevarchar10主鍵Not null用戶名Upassvarchar20Not null用戶密碼Uwordvarchar10Not null用戶權(quán)限6.種類信息表列名數(shù)據(jù)類型長度主鍵或外鍵中文名稱Clnovarchar20主鍵類別編號ClnameVarchar10類別名稱7.入庫單信息表列名數(shù)據(jù)類型長度主鍵或外鍵中文名稱Inputnovarchar20主鍵入庫單編號Gnovarchar20貨物編號Passnernovarchar10經(jīng)辦人編號Inputtimevarchar10入庫時間numbervarchar10貨物數(shù)量Snovarchar10倉庫編號Offernovarchar10供應(yīng)商編號8.出庫單編號列名數(shù)據(jù)類型長度主鍵或外鍵中文名稱Outputnovarchar20主鍵出庫單編號Gnovarchar20貨物編號Passnernovarchar10經(jīng)辦人編號Outputtimevarchar10出庫時間Cnovarchar10客戶編號Snovarchar10倉庫編號5 運行結(jié)果和測試(1)倉庫管理系統(tǒng)運行界面和對應(yīng)原代碼(上面為運行界面,對應(yīng)原代碼在下面)如以下各圖所示: 圖1. 登陸界面 Private Sub Form_Load() On Error Resume NextAdodc1.ConnectionString = DataConnectString Adodc1.RecordSource = select * from 用戶管理 where 用戶名=username Adodc1.RefreshEnd SubPrivate Sub Modify_Click() If OldPas.Text UserPas Then MsgBox 原密碼錯誤! Exit Sub End If If NewPas1.Text NewPas2.Text Then MsgBox 兩次密碼不一致! Exit Sub End If On Error Resume Next 查找用戶名 If Adodc1.Recordset.Fields(用戶名) = UserName Then 設(shè)置新密碼 Set adoRs = adoCon.Execute(UPDATE 用戶管理 SET 用戶密碼= + NewPas1.Text + where 用戶名= + UserName + ) Adodc1.Refresh MsgBox 修改成功! End If Unload Me End SubPrivate Sub NewPas1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = 13 Then 如果按下的是回車鍵,則光標落到文本框當中NewPas2.SetFocusEnd IfEnd Sub 圖2. 登記信息 圖3.單據(jù)管理 圖4.查詢統(tǒng)計圖2.圖3.圖4的原代碼如下所示:Private Sub 操作信息_Resize() Shape1.left = 0 Shape1.width = 操作信息.width Shape2.left = 0 Shape2.width = 操作信息.width End SubPrivate Sub 查看庫存狀況_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub M庫存狀況_ClickEnd SubPrivate Sub 查看日志_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub If 權(quán)限類別(15) 0 Then M查看日志_ClickEnd SubPrivate Sub 查詢統(tǒng)計_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub End SubPrivate Sub 創(chuàng)建新倉庫_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub If 權(quán)限類別(11) 0 Then M倉庫信息_ClickEnd SubPrivate Sub L單據(jù)查詢_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub If 權(quán)限類別(6) 0 Then M單據(jù)查詢_ClickEnd SubPrivate Sub 當前日期_Click()表.Show vbModalEnd SubPrivate Sub 登記新供應(yīng)商_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub If 權(quán)限類別(4) 0 Then M供應(yīng)商_ClickEnd SubPrivate Sub 登記新貨物_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub If 權(quán)限類別(12) 0 Then M貨物信息_ClickEnd SubPrivate Sub 登記新客戶_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub If 權(quán)限類別(5) 0 Then M往來客戶_ClickEnd SubPrivate Sub 登記新職員_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub If 權(quán)限類別(10) 0 Then 職員信息.Show vbModalEnd SubPrivate Sub 給作者寫信_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub ShellExecute 0, , mailto:smmhL, , , 5End SubPrivate Sub 更換用戶登陸_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub frmLogin.Show vbModalEnd SubPrivate Sub L貨物出入統(tǒng)計_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub If 權(quán)限類別(6) 0 Then M貨物出入統(tǒng)計_ClickEnd SubPrivate Sub L庫存查詢_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button 1 Then Exit Sub If 權(quán)限類別(6) 0 Then M庫存查詢_ClickEnd Sub 圖6.庫存狀況Private Sub DataGrid1_Click()End SubPrivate Sub Form_Load() Adodc1.ConnectionString = DataConnectString SQL = Adodc1.RecordSource Set DataGrid1.DataSource = Adodc1 Adodc1.Refresh Adodc1.Visible = False Adodc2.ConnectionString = DataConnectString Set DataCombo1.RowSource = Adodc2 DataCombo1.ListField = 倉庫名稱 Adodc2.Refresh Adodc2.Visible = False Adodc3.ConnectionString = DataConnectString Set DataGrid1.DataSource = Adodc1 Adodc1.Refresh Adodc1.Visible = False initdatagrid1 End Sub 圖7.入庫單rivate Sub DataGrid1_HeadClick(ByVal ColIndex As Integer) On Error Resume Next Dim caption As String caption = DataGrid1.Columns(ColIndex).caption If caption = 經(jīng)辦人 Then caption = 姓名 If caption = 金額 Then Exit Sub If caption = 備注 Then caption = 入庫單.備注 If caption = 編號 Then caption = 入庫單.編號 If caption = 供應(yīng)商 Then caption = 供應(yīng)商名稱 If caption = 存放倉庫 Then caption = 倉庫名稱 Adodc1.RecordSource = SQL + order by + caption order(ColIndex) = True - order(ColIndex) If order(ColIndex) = True Then Adodc1.RecordSource = Adodc1.RecordSource + ASC Else Adodc1.RecordSource = Adodc1.RecordSource + DESC End If SaveInit Adodc1.Refresh ResumeInit End SubPrivate Sub Form_Load() Adodc1.ConnectionString = DataConnectString SQL = Adodc1.RecordSource Set DataGrid1.DataSource = Adodc1 Adodc1.Refresh initdatagrid1 通過權(quán)限來初始化控件性質(zhì) If 權(quán)限類別(0) = 0 Then B新增入庫單.Enabled = False If 權(quán)限類別(1) = 0 Then DataGrid1.AllowUpdate = False If 權(quán)限類別(2) = 0 Then 退出入庫單.Enabled = False 刪除入庫單.Enabled = False End If If 權(quán)限類別(8) = 0 Then 打印入庫單.Enabled = False End Sub 圖8.出庫單Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer) On Error Resume Next Dim caption As String caption = DataGrid1.Columns(ColIndex).caption If caption = 經(jīng)辦人 Then caption = 姓名 If caption = 金額 Then Exit Sub If caption = 備注 Then caption = 出庫單.備注 If caption = 編號 Then caption = 出庫單.編號 If caption = 客戶 Then caption = 客戶名稱 If caption = 存放倉庫 Then caption = 倉庫名稱 Adodc1.RecordSource = SQL + order by + caption order(ColIndex) = True - order(ColIndex) If order(ColIndex) = True Then Adodc1.RecordSource = Adodc1.RecordSource + ASC Else Adodc1.RecordSource = Adodc1.RecordSource + DESC End If SaveInit Adodc1.Refresh ResumeInit End SubPrivate Sub Form_Load() Adodc1.ConnectionString = DataConnectString SQL = Adodc1.RecordSource Set DataGrid1.DataSource = Adodc1 Adodc1.Refresh initdatagrid1 通過權(quán)限來初始化控件性質(zhì) If 權(quán)限類別(0) = 0 Then B新增出庫單.Enabled = False If 權(quán)限類別(1) = 0 Then DataGrid1.AllowUpdate = False If 權(quán)限類別(2) = 0 Then 退出出庫單.Enabled = False 刪除出庫單.Enabled = False End If If 權(quán)限類別(8) = 0 Then 打印出庫單.Enabled = False End Sub 圖9.單據(jù)查詢Private Sub Form_Load()On Error GoTo quit Adodc1.ConnectionString = DataConnectString Adodc1.Visible = False Adodc2.ConnectionString = DataConnectString Adodc2.Visible = False Adodc1.RecordSource = select 出庫單.編號,貨物信息.貨物名稱,貨物信息.貨物類別,貨物信息.貨物規(guī)格,職員信息.姓名 as 領(lǐng)走人,出庫單.出庫時間,出庫單.出庫單價,貨物信息.計量單位,出庫單.出庫數(shù)量,(出庫單.出庫單價*出庫單.出庫數(shù)量) as 金額,客戶.客戶名稱 as 部門,出庫單.定單狀況,出庫單.備注 as 工程名稱 from 出庫單,貨物信息,職員信息,客戶,倉庫 where 貨物信息.編號=出庫單.貨物編號 and 職員信息.編號=出庫單.經(jīng)辦人編號 and 客戶.編號=出庫單.經(jīng)辦人編號 and 倉庫.編號=出庫單.倉庫編號 Set DataGrid1.DataSource = Adodc1 Adodc1.Refresh 制單時間.Year = Year(Date) 制單時間.Month = Month(Date) 制單時間.Day = Day(Date) T制單時間.Text = 無限制 T貨物數(shù)量.Text = 無限制 T其它金額.Text = 無限制 quit:End Sub 圖10.供應(yīng)商信息Private Sub DataGrid1_AfterDelete() 寫入系統(tǒng)日志 fMainForm.WriteLog (刪除供應(yīng)商)End SubPrivate Sub DataGrid1_AfterUpdate() 寫入系統(tǒng)日志 fMainForm.WriteLog (更新供應(yīng)商)End Sub 圖11.增加新貨物Private Sub 增加新貨物_Cl

溫馨提示

  • 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

提交評論