《數據庫原理與應用》課程設計報告.doc_第1頁
《數據庫原理與應用》課程設計報告.doc_第2頁
《數據庫原理與應用》課程設計報告.doc_第3頁
《數據庫原理與應用》課程設計報告.doc_第4頁
《數據庫原理與應用》課程設計報告.doc_第5頁
免費預覽已結束,剩余27頁可下載查看

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論