汽車銷售管理系統(tǒng)報告_第1頁
汽車銷售管理系統(tǒng)報告_第2頁
汽車銷售管理系統(tǒng)報告_第3頁
汽車銷售管理系統(tǒng)報告_第4頁
汽車銷售管理系統(tǒng)報告_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 2012年數(shù)據(jù)庫系統(tǒng)與技術(shù)課程設(shè)計 設(shè)計說明書及課程設(shè)計心得體會 課題: 汽車銷售管理系統(tǒng) 學(xué)院: 土木工程學(xué)院 所在院系:交通運輸專業(yè) 班級: 交運C101 小組成員: 冀星月 劉玉飛 姚葉飛 甄興 小組組長:冀星月 指導(dǎo)老師:王小芳2012年6月18日 目錄1、 需求分析12、 概要設(shè)計2 三、數(shù)據(jù)庫設(shè)計3 四、安全性設(shè)計5 五、小 結(jié)14 六、謝 辭14 七、參考文獻14一、需求分析需求分析簡單地說就是分析用戶的要求。需求分析是設(shè)計該轎車銷售系統(tǒng)數(shù)據(jù)庫的起點,即該階段的任務(wù)是通過詳細(xì)調(diào)查該銷售公司,充分了解原系統(tǒng)工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。調(diào)查的重點是

2、數(shù)據(jù)和處理,通過調(diào)查、收集與分析,獲得用戶對數(shù)據(jù)庫的如下要求:信息要求(廠商、客戶、用戶、員工、出庫、入庫等信息),處理要求(對上述信息的查詢、修改、添加和刪除),安全性和完整性要求(需要用戶名和密碼才能進入系統(tǒng),并且對于不同的用戶有不同的操作權(quán)限)需求分析結(jié)果如下:汽車銷售管理系統(tǒng)進貨管理銷售管理收益統(tǒng)計車輛銷售車輛入庫車輛采購客戶信息進銷存統(tǒng)計基礎(chǔ)信息管理廠商信息車型信息倉庫管理庫存車輛倉庫明細(xì)二、概要設(shè)計本階段的主要任務(wù)是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)結(jié)構(gòu)(即概念模型)設(shè)計概念結(jié)構(gòu)通常有四類方法:自頂向下、自底向上、逐步擴張和混合策略。我在這里采用自底向上方法。概念設(shè)計結(jié)果如下:

3、(某公司轎車銷售管理系統(tǒng)的基本ER圖)三、數(shù)據(jù)庫設(shè)計1E-R圖向關(guān)系模型轉(zhuǎn)換由概念設(shè)計的E-R圖可得一般關(guān)系模型如下發(fā)貨單(貨單號,細(xì)節(jié)號,產(chǎn)品號,客戶號,數(shù)量,日期,金額,折扣)收款單(客戶號,定單號,收據(jù)號,收款金額,收款日期)定單(定單號,細(xì)節(jié)號,產(chǎn)品號,廠商號,數(shù)量,日期,金額)付款(廠商號,定單號,發(fā)票號,支付金額,支付日期)員工(員工號,姓名,性別,部門,職務(wù),電話)產(chǎn)品(產(chǎn)品號,產(chǎn)品名,廠商號,單價,庫存量) 2數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)庫邏輯設(shè)計的結(jié)果不是唯一的.為進一步提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,我們還應(yīng)該根據(jù)應(yīng)用需要適當(dāng)?shù)男薷?調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),這就是數(shù)據(jù)模型的優(yōu)化。(1) 數(shù)據(jù)依

4、賴舉例R廠商廠商號-廠商名,廠商號-地址,廠商號-電話R用戶用戶ID用戶名,用戶ID用戶類型,用戶ID權(quán)限,用戶類型權(quán)限(2) 對數(shù)據(jù)依賴進行極小化處理,消除冗余聯(lián)系舉例 上述關(guān)系中,發(fā)貨單中存在冗余聯(lián)系(具體是細(xì)節(jié)號、折扣等),因此我們可以增加一個發(fā)貨細(xì)節(jié)單和折扣規(guī)則單。(3) 按照數(shù)據(jù)依賴的理論對關(guān)系模式逐一進行分析,考察是否存在部分函數(shù)依賴,傳遞函數(shù)依賴,多值依賴等,確定各關(guān)系分別屬于第幾范式舉例上述關(guān)系中,用戶表存在非主屬性傳遞依賴,因此用戶表屬于2NF。我們可以增加一個用戶權(quán)限表來消除該表中非主屬性傳遞依賴。3.數(shù)據(jù)庫設(shè)計最終結(jié)果如下:(car表) (car表) (car表)1在關(guān)系

5、模式存取方法選擇之前,我們首先要對要運行的事務(wù)進行詳細(xì)分析,獲得選擇物理數(shù)據(jù)庫設(shè)計所需要的參數(shù)。同時,還要知道每個事務(wù)在各關(guān)系上運行的頻率和性能要求。(1) 對于數(shù)據(jù)庫查詢事務(wù),我們需要得到如下信息:查詢的關(guān)系、查詢條件/連接條件涉及的屬性、查詢的投影屬性A、查詢發(fā)貨廠商名、產(chǎn)品、發(fā)貨數(shù)量(100)和日期事務(wù)、查詢的關(guān)系:廠商、發(fā)貨單表、產(chǎn)品表、查詢條件所涉及的屬性:廠商、發(fā)貨數(shù)量、產(chǎn)品號 III、連接條件所涉及的屬性:廠商、產(chǎn)品號 IV、查詢的投影屬性:廠商名、產(chǎn)品名、發(fā)貨數(shù)量、發(fā)貨日期(2) 對于數(shù)據(jù)更新事務(wù),我們需要得到如下信息:被更新的關(guān)系、每個關(guān)系上的更新操作條件涉及的屬性、修改操作

6、要改變的屬性值B、對發(fā)貨事務(wù)、被更新的關(guān)系:發(fā)貨表、每個關(guān)系上的更新操作條件所涉及的屬性:無III、需要改的屬性值:貨單號、產(chǎn)品號、發(fā)貨數(shù)量2. 關(guān)系模式存取方法選擇(即建立哪些存儲路徑)C、對car建立索引對廠商表上的廠商、發(fā)貨表的產(chǎn)品號、產(chǎn)品表的產(chǎn)品號等建立索引,因為他們經(jīng)常在查詢條件和連接條件中出現(xiàn)E、對 D、car確定數(shù)據(jù)的存放位置 為提高系統(tǒng)性能,我們根據(jù)應(yīng)用情況將數(shù)據(jù)的易變部分和穩(wěn)定部分、經(jīng)常存取部分和存取頻率較低部分分開存放。即我們把表和索引放在不同的磁盤上。E、對car確定系統(tǒng)配置使用數(shù)據(jù)庫的用戶數(shù)(我們只要設(shè)置比較少的用戶數(shù));同時打開的數(shù)據(jù)庫對象數(shù)(用戶同時操作對象不超過3

7、個);內(nèi)存分配參數(shù)(運行exe文件需要5M內(nèi)存);緩沖區(qū)分配參數(shù)(略);數(shù)據(jù)庫的大?。A(yù)留500M數(shù)據(jù)存儲空間)等。F、對car物理結(jié)構(gòu)的評價 數(shù)據(jù)庫物理設(shè)計過程中需要對時間效率、空間效率、維護代價和各種用戶要求進行權(quán)衡,其結(jié)果產(chǎn)生多種方案。經(jīng)過我們的細(xì)致評價,得出上述系統(tǒng)配置作為car的數(shù)據(jù)庫物理結(jié)構(gòu)。四、安全性設(shè)計數(shù)據(jù)的載入和應(yīng)用程序的調(diào)試(1)由于該系統(tǒng)尚未投入使用,我們僅象征性地載入少量數(shù)據(jù)(生產(chǎn)商表導(dǎo)入實驗數(shù)據(jù))【應(yīng)用程序的調(diào)試】數(shù)據(jù)庫應(yīng)用程序的設(shè)計應(yīng)該與數(shù)據(jù)庫設(shè)計同時進行,鑒于VB簡單易用,我們選擇VB作為應(yīng)用程序的設(shè)計語言。因此在組織數(shù)據(jù)入庫的同時還要調(diào)試應(yīng)用程序。 (VB下的界

8、面) (VB下的系統(tǒng)主界面) 進入此頁面可進行關(guān)于汽車的基礎(chǔ)信息的查詢,如汽車型號,進價,廠商等。需要加入控件:學(xué)生信息管理界面注:進入此頁面可以進行汽車信息的添加和刪除等需要。注:進入此頁面可以銷售車輛注:進入此頁面可以進行進貨管理【數(shù)據(jù)庫的試運行】在原有系統(tǒng)的數(shù)據(jù)有一小部分已輸入數(shù)據(jù)庫后,我們就可以開始對數(shù)據(jù)庫系統(tǒng)進行聯(lián)合調(diào)試,即數(shù)據(jù)庫的試運行。這一階段要實際運行數(shù)據(jù)庫應(yīng)用程序,執(zhí)行對數(shù)據(jù)庫的各種操作,測試應(yīng)用程序的功能是否滿足設(shè)計要求。添加代碼如下:Private Sub Command1_Click()On Error GoTo ErrorHandle If Text1 = Then

9、MsgBox 請輸入Car_id!, vbInformation Else Dim sql As String sql = insert into car values( & Text1 & , & Text2 & , & Text3 & , & Text4 & , & Text5 & ) MsgBox (sql) cnn.Execute (sql) Adodc1.Refresh Text1 = End IfExit SubErrorHandle:MsgBox 車輛信息輸入有誤,請檢查Car_id是否重復(fù)!End Sub刪除代碼如下:Private Sub Command2_Click() A

10、dodc1.Recordset.DeleteEnd Sub退出代碼如下:Private Sub Command3_Click() Unload MeEnd Sub(汽車信息查詢) 代碼:Private Sub Command4_Click() Dim temp1 temp1 = 0 Dim sql As String sql = 轎車信息管理:查看轎車信息、轎車入庫、轎車出庫這里列舉轎車入庫圖示:型號:大眾CC 品牌:大眾價格: 測試結(jié)果:汽車信息查詢完成經(jīng)測試,查看轎車信息、轎車出庫正確運行 If Text6.Text = Then MsgBox ( 請輸入出貨名) Exit Sub End

11、 If If Text6.Text Then If temp1 = 0 Then sql = sql + where Else sql = sql + and End If sql = sql + Car_id= + Text6.Text + temp1 = temp1 + 1 End If sql = select Car_id,Car_name,Factory_name,Car_price,Car_num from car + sql MsgBox (sql) Adodc2.RecordSource = sql Adodc2.RefreshEnd Sub代碼如下:Private Sub C

12、ommand5_Click() Dim temp1 temp1 = 0轎車信息管理:查看汽車銷售情況這里列舉轎車入庫圖示:型號:大眾CC 品牌:大眾銷售:1 測試結(jié)果:查看銷售情況經(jīng)測試,查看汽車銷售數(shù)量、轎車出庫正確運行 Dim sql As String sql = If Text6.Text = Then MsgBox ( 請輸入出貨名) Exit Sub End If If Text7.Text = Then MsgBox (請輸入出貨量) Exit Sub End If sql = update car set Car_num=Car_num- & Text7.Text & wher

13、e car_id= & Text6.Text & MsgBox (sql) cnn.Execute (sql) Adodc2.RefreshEnd Sub代碼如下:Private Sub Command6_Click() Dim temp1 temp1 = 0轎車信息管理:查看汽車進貨情況這里列舉轎車入庫圖示:型號:大眾CC 品牌:大眾進貨:20 測試結(jié)果:查看汽車進貨數(shù)量經(jīng)測試,查看汽車進貨情況、得知庫存數(shù)量 Dim sql As String sql = If Text9.Text = Then MsgBox (請輸入進貨名) Exit Sub End If If Text11.Text

14、= Then MsgBox (請輸入進貨量) Exit Sub End If sql = update car set Car_num=Car_num+ & Text11.Text & where car_id= & Text9.Text & MsgBox (sql) cnn.Execute (sql) Adodc3.RefreshEnd Sub【注】其他功能在數(shù)據(jù)庫試運行階段均運行正確【數(shù)據(jù)庫的運行和維護】經(jīng)數(shù)據(jù)庫的試運行結(jié)束后,該汽車銷售系統(tǒng)數(shù)據(jù)庫開發(fā)工作就基本完成,即可投入正式運行。但是由于應(yīng)用環(huán)境在不斷變化,數(shù)據(jù)庫運行過程中物理存儲也會不斷變化,對數(shù)據(jù)庫設(shè)計進行評價、調(diào)整、修改等維護工

15、作是一個長期的任務(wù),也是設(shè)計工作的繼續(xù)和提高。(1) 數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù): SQL Server數(shù)據(jù)庫備份有兩種方式,一種是使用BACKUP DATABASE將數(shù)據(jù)庫文件備份出去,另外一種就是直接拷貝數(shù)據(jù)庫文件mdf和日志文件ldf的方式。我們用后者方法,首先要先將該數(shù)據(jù)庫從運行的數(shù)據(jù)服務(wù)器中斷開,然后復(fù)制文件至其他磁盤保存。數(shù)據(jù)庫恢復(fù)時,除了要重載數(shù)據(jù)庫外,還要重新運行日志文件。建立日志文件有兩種基本方法,即用第幾次備份來標(biāo)識和完全用時間來標(biāo)識。直接開始服務(wù)管理器打開企業(yè)管理器直接完成即可 (2)數(shù)據(jù)庫的安全性、完整性控制: 該轎車銷售管理系統(tǒng),用戶必須使用一個登錄賬號,才能連接到sql s

16、erver中,并且用戶也分兩類:管理員和普通用戶,并且這兩類登陸用戶的權(quán)限也有不同。如果登錄者不屬于這兩類中的一類,則進不了數(shù)據(jù)庫。這一措施將有利于保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄漏、更改或破壞。 這里我們建立用戶試圖,使得某些用戶只能訪問部分?jǐn)?shù)據(jù)。舉例:查看用戶名和用戶類型,但無密碼顯示 (建立用戶表和權(quán)限表的視圖)數(shù)據(jù)庫完整性是指數(shù)據(jù)的正確性、有效性和相容性。主要是完整性約束條件:實體完整性、參照完整性和用戶自定義完整性。本轎車銷售管理系統(tǒng)就這三類完整性保證了數(shù)據(jù)庫的完整性。諸如該系統(tǒng)有: 實體完整性: 每個關(guān)系的主碼都不允許空 參照完整性:(3)并發(fā)控制如果沒有鎖定且多個用戶同

17、時訪問一個數(shù)據(jù)庫,則當(dāng)他們的事務(wù)同時使用相同的數(shù)據(jù)時可能會發(fā)生問題。并發(fā)問題包括:丟失修改、讀臟數(shù)據(jù)、不可重復(fù)讀。 默認(rèn)解決方案:SET TRANSACTION ISOLATION LEVEL語法: SET TRANSACTION ISOLATION LEVEL READ COMMITTED /指定在讀取數(shù)據(jù)時控制共享鎖以避免臟讀| READ UNCOMMITTED /執(zhí)行臟讀或0級隔離鎖定 | REPEATABLE READ /鎖定查詢中使用的所有數(shù)據(jù)以防止其他用戶更新數(shù)據(jù)| SERIALIZABLE /在數(shù)據(jù)集上放置一個范圍鎖,以防止其他用戶在事務(wù)完成之 前更新數(shù)據(jù)集 五、小結(jié)在本課程設(shè)計

18、之前,我只接觸過vb,也見過vc,但是沒有專門去學(xué)它,但我是一個好奇心很強的人,由于VB做界面比較簡單,況且就一周時間要做完數(shù)據(jù)庫設(shè)計和前臺軟件,卻是很難。 與其臨淵羨魚,不如退而結(jié)網(wǎng)。這次數(shù)據(jù)庫課程設(shè)計給我的最大的印象就是如果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個數(shù)據(jù)庫開始無論遇到什么困難,我都沒有一絲的放棄的念頭。出于對知識的渴望,出于對新技術(shù)的好奇,出于對一切未知的求知。我完成了這次數(shù)據(jù)庫課程設(shè)計,不過這只是我學(xué)習(xí)路上的驛站,我會繼續(xù)學(xué)習(xí)它,語言本來就是相通的,just do it!程序語言并不重要,畢竟它僅僅是工具,用好一個工具并不是一件值得為外人道的事情,主要是了解學(xué)習(xí)思想。古語說的好:學(xué)無止境啊!六、謝辭很感激老師給了我們這次動手實踐的機會,讓我有了一個學(xué)習(xí),增長見識,開拓視野的機會。感謝老師對我的指導(dǎo),也感謝同組者對我的幫助。我會以這次課程設(shè)計作為對自己的激勵,繼續(xù)學(xué)習(xí)。畢竟學(xué)習(xí)就

溫馨提示

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

最新文檔

評論

0/150

提交評論