版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 數(shù)據(jù)庫</b></p><p> 課 程 設(shè) 計(jì) 說 明 書</p><p><b> 設(shè)計(jì)目的</b></p><p> ?、?通過課程設(shè)計(jì),使學(xué)生進(jìn)一步鞏固所學(xué)的知識,考查學(xué)生對數(shù)據(jù)庫理論及知識的理解能力和綜合運(yùn)用能力;</p><p> ② 培養(yǎng)學(xué)生自主學(xué)習(xí)
2、、獨(dú)立思考的能力,學(xué)會查找資料并善于分析資料的能力;</p><p> ?、?培養(yǎng)學(xué)生設(shè)計(jì)、調(diào)試程序的能力;</p><p> ?、?培養(yǎng)學(xué)生初步的軟件設(shè)計(jì)能力,形成良好的編程風(fēng)格。</p><p><b> 設(shè)計(jì)內(nèi)容</b></p><p> ?、?完成進(jìn)貨單、出貨單的維護(hù)</p><p>
3、?、?完成庫存表的瀏覽查找</p><p> ?、?完成庫存結(jié)轉(zhuǎn)功能</p><p> ④ 按時(shí)間、按商品類別、顧客、供應(yīng)商進(jìn)行進(jìn)、出貨單的統(tǒng)計(jì)</p><p> ?、?完成庫存表的按時(shí)間、按類別進(jìn)行統(tǒng)計(jì)</p><p> ?、?完成客戶、供應(yīng)商的管理</p><p><b> 3.需求分析</b&
4、gt;</p><p> 需求分析是指在管理信息系統(tǒng)開發(fā)生命周期中系統(tǒng)詳細(xì)調(diào)查階段的各項(xiàng)活動和方法。</p><p><b> 3.1業(yè)務(wù)流程圖</b></p><p> 在需求分析中,主要采用業(yè)務(wù)流程圖、數(shù)據(jù)流圖、數(shù)據(jù)字典等工具進(jìn)行描述和分析。業(yè)務(wù)流程圖就是按照過程發(fā)展的連續(xù)順序,用特定圖形語言和結(jié)構(gòu)將過程的各個(gè)獨(dú)立步驟及其相互聯(lián)系展示
5、出來的一種表現(xiàn)形式。業(yè)務(wù)流程圖中使用的符號如圖3-1所示:</p><p> 圖3-1 業(yè)務(wù)流程圖中所用符號</p><p> 圖3-2 業(yè)務(wù)流程圖</p><p><b> 3.2數(shù)據(jù)流圖</b></p><p> 數(shù)據(jù)流圖就是組織中信息運(yùn)動的抽象,是管理信息系統(tǒng)邏輯模型的主要形式。 它能夠全面地描述系統(tǒng)邏輯模
6、型的主要工具,它可以用少數(shù)的幾種符號反映出信息在系統(tǒng)內(nèi)部的流向、存儲和處理情況,這個(gè)模型不涉及硬件、軟件、數(shù)據(jù)結(jié)構(gòu)與文件組織,它與系統(tǒng)的物理描述無關(guān),由于圖形描述簡明,清晰,不涉及到技術(shù)細(xì)節(jié),所描述的內(nèi)容是面向用戶的,所以即使完全不懂信息技術(shù)的用戶單位的人員也容易理解。因此數(shù)據(jù)流圖是系統(tǒng)分析人員與用戶進(jìn)行交流的有效工具,也是系統(tǒng)設(shè)計(jì)的主要依據(jù)之一。數(shù)據(jù)流圖由四種基本成分組成:</p><p> 外部項(xiàng)(外部實(shí)體
7、) 2)加工(處理邏輯)</p><p> 數(shù)據(jù)存儲 4)數(shù)據(jù)流</p><p> 圖3-3表示了常用的數(shù)據(jù)流圖基本成分的符號:</p><p> 外部實(shí)體 數(shù)據(jù)存儲</p><p> 處理邏輯 數(shù)據(jù)流</p>
8、;<p> 圖3-3 數(shù)據(jù)流圖的基本符號</p><p> 3.2.1系統(tǒng)關(guān)聯(lián)圖</p><p> 首先,明確信息系統(tǒng)與各外部實(shí)體的信息聯(lián)系,把系統(tǒng)作為一個(gè)加工環(huán)節(jié),匯出系統(tǒng)的最高層數(shù)據(jù)流圖——關(guān)聯(lián)圖,如圖3—4所示:</p><p> 圖3-4 系統(tǒng)關(guān)聯(lián)圖</p><p> 3.2.2系統(tǒng)頂層圖</p>
9、<p> 根據(jù)系統(tǒng)關(guān)聯(lián)圖,劃分出幾個(gè)主要的信息管理功能,并明確各功能之間的聯(lián)系,繪制出數(shù)據(jù)流程圖的頂層圖,如圖3-5所示:</p><p> 圖3-5 數(shù)據(jù)流程圖的頂層圖</p><p> F1訂單F2不合格訂單F3領(lǐng)貨單F4最小庫存F5出庫單</p><p> F6申購單F7入庫單F8申購單F9訂貨單F10供貨單F11退單</p>
10、<p> F12采購單F13訂貨單F14到貨通知F15供貨單F16合格訂單</p><p> F17庫存信息F18銷售物品信息F19商品銷售信息F20銷售統(tǒng)計(jì)信息</p><p> F21出庫數(shù)據(jù)F22在庫量F23入庫數(shù)據(jù)</p><p><b> 3.3 數(shù)據(jù)字典</b></p><p> 數(shù)據(jù)
11、流圖表達(dá)了數(shù)據(jù)與處理的關(guān)系,數(shù)據(jù)字典(DD)則是對系統(tǒng)中數(shù)據(jù)的詳盡描述,它提供對數(shù)據(jù)庫數(shù)據(jù)描述的集中管理。它的處理功能是存儲和檢索元數(shù)據(jù),如敘述性的數(shù)據(jù)定義等,并且為數(shù)據(jù)庫管理員提供有關(guān)的報(bào)告。對數(shù)據(jù)庫設(shè)計(jì)來說,數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。</p><p> 數(shù)據(jù)字典描述的主要內(nèi)容有:數(shù)據(jù)流、數(shù)據(jù)元素、數(shù)據(jù)存儲、加工、外部項(xiàng)。以下對各組成部分舉例來說明:</p><
12、;p> 3.3.1數(shù)據(jù)字典《數(shù)據(jù)元素》條目</p><p> 表3-1《數(shù)據(jù)元素》條目</p><p> 3.3.2數(shù)據(jù)字典《數(shù)據(jù)流》條目</p><p> 表3-2《數(shù)據(jù)流》條目</p><p> 3.3.3數(shù)據(jù)字典《數(shù)據(jù)存儲》條目</p><p> 表3-3《數(shù)據(jù)存儲》條目</p>
13、<p> 3.3.4數(shù)據(jù)字典《數(shù)據(jù)加工》條目</p><p> 表3-4《數(shù)據(jù)加工》條目</p><p> 3.3.5數(shù)據(jù)字典《外部項(xiàng)》條目</p><p> 表3-5《外部項(xiàng)》條目</p><p><b> 4.概念結(jié)構(gòu)設(shè)計(jì)</b></p><p> 4.1 概念結(jié)構(gòu)設(shè)計(jì)的
14、方法與步驟</p><p> 將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)概念模型的過程就是概念結(jié)構(gòu)設(shè)計(jì)。</p><p> 在需求分析階段所得的應(yīng)用需求首先抽象為信息世界的結(jié)構(gòu),才能更好地、更準(zhǔn)確地用用某一DBNS實(shí)現(xiàn)這些需求。</p><p> 概念結(jié)構(gòu)的主要特點(diǎn):</p><p> (1)能真實(shí)地、充分地反映現(xiàn)實(shí)世界,包括事務(wù)和事務(wù)之
15、間的聯(lián)系,能滿足用戶對數(shù)據(jù)庫的處理要求,是對現(xiàn)實(shí)世界的一個(gè)真實(shí)模型;</p><p> ?。?)易于理解,從而可以用它和不熟悉計(jì)算機(jī)用戶交換意見,用戶的積極參與是數(shù)據(jù)庫設(shè)計(jì)成功的關(guān)鍵;</p><p> ?。?)易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí)。容易對概念模型修改和擴(kuò)充;</p><p> (4)易于向關(guān)系、網(wǎng)狀、層次等數(shù)據(jù)模型轉(zhuǎn)換。</p>&
16、lt;p> 采用自底向上的設(shè)計(jì)方法,即首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將他們集成起來,得到全局概念結(jié)構(gòu)。</p><p> 4.2 數(shù)據(jù)抽象與局部視圖設(shè)計(jì)</p><p> 圖4-7 供應(yīng)商的分E-R圖</p><p><b> 4.3視圖的集成</b></p><p> 圖4-8 全局E-R圖<
17、/p><p><b> 5.邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p> 邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。</p><p> 設(shè)計(jì)邏輯結(jié)構(gòu)一般分為3步進(jìn)行:</p><p> ?。?)將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;</p>
18、;<p> ?。?)將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;</p><p> (3)對數(shù)據(jù)模型進(jìn)行優(yōu)化。</p><p> 5.1E-R圖向關(guān)系模型的轉(zhuǎn)換</p><p> 闡述將E-R模型轉(zhuǎn)換為關(guān)系模式的基本原則和轉(zhuǎn)換結(jié)果,關(guān)系模式表示形式為</p><p><b> R(U,F(xiàn))
19、</b></p><p> 注意屬性列表中的標(biāo)明主碼,并詳細(xì)給出最小函數(shù)依賴集。</p><p> 供應(yīng)商(供應(yīng)商編號,供應(yīng)商姓名,供應(yīng)商地址,供應(yīng)商電話號碼,商品編號,賬號) </p><p> 此為供應(yīng)商實(shí)體的關(guān)系模式。</p><p> 供應(yīng)商表的數(shù)據(jù)依賴:{供應(yīng)商編號—>供應(yīng)商姓名}</p><
20、p> 客戶(客戶編號,客戶姓名,客戶性別,客戶年齡,客戶地址,客戶電話,客戶郵箱)</p><p> 此為客戶實(shí)體對應(yīng)的關(guān)系模式</p><p> 客戶表的數(shù)據(jù)依賴:{客戶編號—>客戶姓名}</p><p> 用品(用品編號,用品名稱,用品介紹,用品價(jià)格,用品數(shù)量,用品類型,用品規(guī)格,用品庫存量)</p><p> 此為用品實(shí)
21、體對應(yīng)的關(guān)系模式</p><p> 用品信息表的數(shù)據(jù)依賴:{用品編號—>用品名稱}</p><p> 倉庫(倉庫編號,倉庫名稱,倉庫內(nèi)存量,倉庫電話,倉庫面積,倉庫地址)</p><p> 此為倉庫實(shí)體對應(yīng)的關(guān)系模式</p><p> 倉庫信息表的數(shù)據(jù)依賴:{倉庫編號—>倉庫名稱}</p><p> 訂貨表(
22、訂貨編號,商品名稱,訂貨價(jià)格,訂貨數(shù)量,供應(yīng)商,訂貨日期,訂購人員)</p><p> 此為訂貨表實(shí)體對應(yīng)的關(guān)系模式</p><p> 訂貨信息表的數(shù)據(jù)依賴{訂貨編號—>商品名稱}</p><p> 進(jìn)貨表(進(jìn)貨編號,商品名稱,進(jìn)貨成本,銷售價(jià)格,進(jìn)貨數(shù)量,供應(yīng)商,進(jìn)貨日期,采購人員)</p><p> 此為進(jìn)貨表實(shí)體對應(yīng)的關(guān)系模式&
23、lt;/p><p> 進(jìn)貨信息表的數(shù)據(jù)依賴:{進(jìn)貨編號—>進(jìn)貨名稱}</p><p> 銷售表(銷售編號,商品名稱,銷售價(jià)格,銷售數(shù)量,銷售人員,銷售日期,銷售客戶)</p><p> 此為銷售表實(shí)體對應(yīng)的關(guān)系模式</p><p> 銷售信息表的數(shù)據(jù)依賴:{銷售編號—>商品名稱}</p><p> 退貨表(退貨編
24、號,退貨名稱,退貨數(shù)量,退貨日期,退貨價(jià)格,退貨原因,應(yīng)付金額,已付金額,用戶姓名)</p><p> 此為退貨表實(shí)體對應(yīng)的關(guān)系模式</p><p> 退貨信息表的數(shù)據(jù)依賴:{退貨編號—>退貨名稱}</p><p> 倉庫管理員(倉庫管理員編號,倉庫管理員姓名,倉庫管理員電話號碼,倉庫管理員工作時(shí)間)</p><p> 此為倉庫管理員
25、實(shí)體對應(yīng)的關(guān)系模式</p><p> 倉庫管理員的數(shù)據(jù)依賴{倉庫管理員編號—>倉庫管理員姓名}</p><p> 關(guān)系模式規(guī)范化處理:</p><p> 根據(jù)F,分析每一個(gè)關(guān)系模式是否滿足3NF,對不滿足3NF的關(guān)系模式要進(jìn)行規(guī)范化處理。</p><p><b> 供應(yīng)商表</b></p><
26、p> 函數(shù)依賴集為F1={供應(yīng)商編號→(供應(yīng)商姓名,供應(yīng)商地址,供應(yīng)商電話號碼,商品編號,賬號)}∈3NF。</p><p><b> 客戶表</b></p><p> 函數(shù)依賴集為F2={客戶編號→(客戶姓名,客戶性別,客戶年齡,客戶地址,客戶電話,客戶郵箱)}∈3NF</p><p><b> 用品表</b&g
27、t;</p><p> 函數(shù)依賴集為F3={用品編號→(用品名稱,用品介紹,用品價(jià)格,用品數(shù)量,用品類型,用品規(guī)格,用品庫存量)}∈3NF</p><p><b> 倉庫表</b></p><p> 函數(shù)依賴集為F4={倉庫編號→(倉庫名稱,倉庫內(nèi)存量,倉庫電話,倉庫面積,倉庫地址)}∈3NF</p><p>&l
28、t;b> 訂貨單表</b></p><p> 函數(shù)依賴集為F5={訂貨編號→(商品名稱,訂貨價(jià)格,訂貨數(shù)量,供應(yīng)商,訂貨日期,訂購人員)}∈3NF</p><p><b> 進(jìn)貨單表</b></p><p> 函數(shù)依賴集為F6={進(jìn)貨編號→(商品名稱,進(jìn)貨成本,銷售價(jià)格,進(jìn)貨數(shù)量,供應(yīng)商,進(jìn)貨日期,采購人員)}∈3NF
29、</p><p><b> 銷售單表</b></p><p> 函數(shù)依賴集為F7={銷售編號→(商品名稱,銷售價(jià)格,銷售數(shù)量,銷售人員,銷售日期,銷售客戶)}∈3NF</p><p><b> 退貨單表</b></p><p> 函數(shù)依賴集為F8={退貨編號→(退貨名稱,退貨數(shù)量,退貨日期,
30、退貨價(jià)格,退貨原因,應(yīng)付金額,已付金額,用戶姓名)}∈3NF</p><p><b> 倉庫管理員表</b></p><p> 函數(shù)依賴集為F9={倉庫管理員編號→倉庫管理員姓名,倉庫管理員電話號碼,倉庫管理員工作時(shí)間)}∈3NF</p><p><b> 5.2數(shù)據(jù)庫的設(shè)計(jì)</b></p><p
31、> 數(shù)據(jù)庫設(shè)計(jì)是開發(fā)數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),也是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分。具體的說,數(shù)據(jù)庫設(shè)計(jì)是要在一個(gè)給定的應(yīng)用環(huán)境中,通過合理的邏輯設(shè)計(jì)和有效的物理設(shè)計(jì),構(gòu)造較優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),滿足用戶的各種信息需求。</p><p> 在系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)中,首先對系統(tǒng)分析得到的數(shù)據(jù)字典中的數(shù)據(jù)存儲進(jìn)行分析,分析各數(shù)據(jù)存儲之間的關(guān)系,然后得出系統(tǒng)的關(guān)系模式。本系統(tǒng)用實(shí)體—聯(lián)系圖(簡稱
32、E—R圖)來描述系統(tǒng)的概念模型。E—R圖由實(shí)體、屬性、聯(lián)系三部分組成,其符號如圖1-6所示:</p><p> 實(shí)體 屬性 聯(lián)系</p><p> 圖5-1 E-R圖圖例</p><p><b> 5.2.1實(shí)體描述</b></p>&
33、lt;p> 本系統(tǒng)涉及的實(shí)體有6個(gè),其屬性和結(jié)構(gòu)如下:</p><p> 客戶(客戶編號,客戶名稱,聯(lián)系電話,聯(lián)系地址,國家,備注)</p><p> 銷售員(工號,姓名,性別,出生年月,學(xué)歷,電話,家庭住址)</p><p> 供應(yīng)商(供應(yīng)商編號,供應(yīng)商名稱,聯(lián)系電話,帳號,地址,備注)</p><p> 物品(貨號,貨名,
34、種類,規(guī)格)</p><p> 采購員(工號,姓名,性別,出生年月,學(xué)歷,電話,家庭住址)</p><p> 倉庫(倉庫號,倉庫名稱,電話)</p><p><b> 5.2.2聯(lián)系描述</b></p><p> 本系統(tǒng)實(shí)體間有4個(gè)關(guān)系,其關(guān)系如下:</p><p> 銷售關(guān)系:銷售員、
35、客戶與物品的關(guān)系是1:M:N,因?yàn)?lt;/p><p> 多個(gè)客戶可以向某一個(gè)業(yè)務(wù)員訂購多種產(chǎn)品;</p><p> ?。?)采購關(guān)系:采購員、供應(yīng)商與物品的關(guān)系是1:M:N,因?yàn)橐粋€(gè)采購員可以向多個(gè)供應(yīng)商采購多種不同的商品;</p><p> ?。?)存儲關(guān)系:倉庫與物品的關(guān)系是1:N,因?yàn)槎喾N物品可以放在一個(gè)倉庫中;</p><p> ?。?/p>
36、4)供應(yīng)關(guān)系:供應(yīng)商與物品的關(guān)系是M:N,同種物品可以由不同的供應(yīng)商供應(yīng),一個(gè)供應(yīng)商也可以提供多種物品。</p><p> 以上實(shí)體的聯(lián)系屬性如下:</p><p> 銷售(銷售單號,數(shù)量,售價(jià),日期,備注)</p><p> 采購(采購單號,數(shù)量,進(jìn)價(jià),日期,備注)</p><p><b> 存儲(種類,數(shù)量)</b
37、></p><p> 供應(yīng)(供應(yīng)單號,數(shù)量,日期)</p><p> 5.2.3 E—R圖</p><p> 本系統(tǒng)的E—R圖如圖5-2所示:</p><p> 圖5-2系統(tǒng)E-R圖</p><p> 5.2.4在查詢分析器里創(chuàng)建數(shù)據(jù)庫和表。語句如下:</p><p><b
38、> 1)創(chuàng)建數(shù)據(jù)庫</b></p><p> create database SSC db</p><p> on primary</p><p><b> (</b></p><p> name=SuperMarketdb,</p><p> filename=
39、39;C:\Program Files\Microsoft SQL Server\MSSQL\Data\SSCdb.mdf',</p><p> size=100MB,</p><p> maxsize=200MB,</p><p> filegrowth=20MB</p><p><b> )</b>&
40、lt;/p><p><b> log on</b></p><p><b> (</b></p><p> name=SSClog,</p><p> filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SSCdb.ldf
41、',</p><p> size=60MB,</p><p> maxsize=200MB,</p><p> filegrowth=20MB</p><p><b> 2)創(chuàng)建表</b></p><p> use [SSCdb]</p><p> /*
42、創(chuàng)建供應(yīng)商表*/</p><p> CREATE TABLE Supplies</p><p> ( SNum char(8) PRIMARY KEY, /*創(chuàng)建供應(yīng)商編號,并定義為主鍵*/</p><p> SName char(10) Not null, /*創(chuàng)建供應(yīng)商姓名*/</p><p> SAdd char(20) No
43、t null, /*創(chuàng)建供應(yīng)商地址*/</p><p> Spho char(13) Not null, /*創(chuàng)建供應(yīng)商電話號碼*/</p><p> GNum char(8) Not null,/*商品編號*/</p><p> ID char(80) Not null,/*創(chuàng)建供應(yīng)商地址*/</p><p> FOREIG
44、N KEY(GNum) REFERENCES Goods(GNum)/*定義商品編號為外鍵*/</p><p><b> );</b></p><p><b> /*創(chuàng)建客戶表*/</b></p><p> CREATE TABLE Customers</p><p> ( CNum cha
45、r(8) PRIMARY KEY,/*創(chuàng)建客戶編號,并定義為主鍵*/</p><p> CName char(10) Not null,/*創(chuàng)建客戶姓名*/</p><p> Csex char(20) Not null,/*創(chuàng)建客戶性別*/</p><p> Cage char(20) Not null,/*創(chuàng)建客戶年齡*/</p><p
46、> Cadd char(20) Not null,/*創(chuàng)建客戶地址*/</p><p> Cpho char(10) Not null,/*創(chuàng)建客戶電話*/</p><p> Email char(20) Not null/*創(chuàng)建客戶郵箱*/</p><p><b> );</b></p><p><
47、b> /*創(chuàng)建用品表*/</b></p><p> CREATE TABLE Goods</p><p> ( GNum char(8) PRIMARY KEY,/*創(chuàng)建用品編號,并定義為主鍵*/</p><p> GName char(20) Not null,/*創(chuàng)建用品名稱*/</p><p> GID ch
48、ar(20) Not null,/*創(chuàng)建用品介紹*/</p><p> Gprice char(8) Not null,/*創(chuàng)建用品價(jià)格*/</p><p> Gcou char(10) Not null,/*創(chuàng)建用品數(shù)量*/</p><p> Gty char(20) Not null,/*創(chuàng)建用品類型*/</p><p> Gsh
49、 char(20) Not null,/*創(chuàng)建規(guī)格*/</p><p> GSt char(20) Not null/*創(chuàng)建庫存量*/</p><p><b> );</b></p><p> /*創(chuàng)建倉庫表*/ </p><p> CREATE TABLE Storage</p><p&g
50、t; ( StNum char(8) PRIMARY KEY,/*創(chuàng)建倉庫編號,并定義為主鍵*/</p><p> StName char(10) Not null,/*創(chuàng)建倉庫名稱*/</p><p> Stcou char(20) Not null,/*創(chuàng)建倉庫內(nèi)存量*/</p><p> StPho char(10) Not null,/*創(chuàng)建倉庫電話
51、*/</p><p> StArea char(10) Not null,/*創(chuàng)建面積*/</p><p> StAdd char(10) Not null/*創(chuàng)建地址*/</p><p><b> );</b></p><p> /*創(chuàng)建訂貨表*/ </p><p> CREATE
52、 TABLE Dhb</p><p> ( Dhbh char(8) PRIMARY KEY,/*創(chuàng)建訂貨編號,并定義為主鍵*/</p><p> GName char(10) Not null,/*創(chuàng)建商品名稱*/</p><p> Dhjg char(10) Not null,/*創(chuàng)建訂貨價(jià)格*/</p><p> Dhsl ch
53、ar(10) Not null,/*創(chuàng)建訂貨數(shù)量*/</p><p> Gys char(10) Not null,/*創(chuàng)建供應(yīng)商*/</p><p> Dhrq date null,/*創(chuàng)建訂貨日期*/</p><p> Dgry char(10) Not null/*創(chuàng)建訂購人員*/</p><p><b> );<
54、;/b></p><p> /*創(chuàng)建進(jìn)貨表*/ </p><p> CREATE TABLE Jhb</p><p> ( Jhbh char(8) PRIMARY KEY,/*創(chuàng)建進(jìn)貨編號,并定義為主鍵*/</p><p> GName char(10) Not null,/*創(chuàng)建商品名稱*/</p><p
55、> Jhcb char(10) Not null,/*創(chuàng)建進(jìn)貨成本*/</p><p> Xsjg char(10) Not null,/*創(chuàng)建銷售價(jià)格*/</p><p> Dhsl char(10) Not null,/*創(chuàng)建進(jìn)貨數(shù)量*/</p><p> Gys char(10) Not null,/*創(chuàng)建供應(yīng)商*/</p><
56、;p> Jhrq date null,/*創(chuàng)建進(jìn)貨日期*/</p><p> Cgry char(10) Not null/*創(chuàng)建采購人員*/</p><p><b> );</b></p><p> /*創(chuàng)建銷售表*/ </p><p> CREATE TABLE Xsb</p><
57、;p> ( Xsbh char(8) PRIMARY KEY,/*創(chuàng)建銷售編號,并定義為主鍵*/</p><p> GName char(10) Not null,/*創(chuàng)建商品名稱*/</p><p> Xsjg char(10) Not null,/*創(chuàng)建銷售價(jià)格*/</p><p> Xssl char(10) Not null,/*創(chuàng)建銷售數(shù)量*
58、/</p><p> Xsry char(10) Not null,/*創(chuàng)建人員*/</p><p> Xsrq date null,/*創(chuàng)建日期*/</p><p> Xskh char(10) Not null/*創(chuàng)建客戶*/</p><p><b> );</b></p><p>
59、 /*創(chuàng)建退貨表*/ </p><p> CREATE TABLE Thb</p><p> (Thbh char(8) PRIMARY KEY,/*創(chuàng)建退貨編號,并定義為主鍵*/</p><p> Thmc char(10) Not null,/*創(chuàng)建退貨名稱*/</p><p> Thsl char(10) Not null,/
60、*創(chuàng)建退貨數(shù)量*/</p><p> Thrq date null,/*創(chuàng)建退貨日期*/</p><p> Thjg char(10) Not null,/*創(chuàng)建退貨價(jià)格*/</p><p> Thyy char(20) Not null,/*創(chuàng)建退貨原因*/</p><p> Yfje char(10) Not null,/*創(chuàng)建應(yīng)
61、付金額*/</p><p> Yffje char(10) Not null,/*創(chuàng)建已付金額*/</p><p> TGName char(10) Not null/*創(chuàng)建用戶姓名*/</p><p><b> );</b></p><p> /*創(chuàng)建倉庫管理員表*/ </p><p>
62、; CREATE TABLE Ckgly</p><p> ( CNumber char(10) PRIMARY KEY,/*創(chuàng)建倉庫管理員編號,并定義為主鍵*/</p><p> CName char(10) Not null,/*創(chuàng)建倉庫管理員姓名*/</p><p> Cphone char(11) Not null,/*創(chuàng)建倉庫管理員電話號碼*/
63、</p><p> Time date null/*創(chuàng)建倉庫管理員工作時(shí)間*/</p><p><b> );</b></p><p> 3)創(chuàng)建視圖 </p><p> /*創(chuàng)建供應(yīng)商信息視圖*/</p><p> CREATE VIEW V_VA</p>&
64、lt;p><b> AS</b></p><p> SELECT SNum,SName,SAdd,Spho,ID /*查詢供應(yīng)商編號,姓名,地址,電話號碼,賬號*/</p><p> FROM Supplies</p><p> /*創(chuàng)建客戶信息視圖*/</p><p> CREATE VIEW V_VB
65、</p><p><b> AS</b></p><p> SELECT CNum,CName,Cadd,Cage/*查詢客戶編號,姓名,地址,年齡*/</p><p> FROM Customers</p><p> /*創(chuàng)建用品信息視圖*/</p><p> CREATE VIEW
66、V_VC</p><p><b> AS</b></p><p> SELECT GNum,GName,Gprice,GSt/*查詢編號,名稱,價(jià)格,用品庫存量*/</p><p> FROM Goods</p><p> /*創(chuàng)建倉庫信息視圖*/</p><p> CREATE VIE
67、W V_VD</p><p><b> AS</b></p><p> SELECT STnum,StName,StCou,StArea/*查詢倉庫編號,名稱,內(nèi)存量,面積*/</p><p> FROM Storage</p><p> /*創(chuàng)建賬號為’201213‘的供應(yīng)商品信息*/</p>&
68、lt;p> CREATE VIEW V_VE</p><p><b> AS</b></p><p> SELECT GName,Gprice,Gcou,Gty/*查詢商品名稱,價(jià)格數(shù)量,類型*/</p><p> FROM Supplies,Goods</p><p> WHERE Supplies.G
69、Num=Goods.GNum </p><p> AND Supplies.ID='201213'; </p><p><b> 5.3視圖的設(shè)計(jì)</b></p><p> 對不同級別的用戶定義不同的view,如下圖</p><p><b> 視圖表</b></p>
70、;<p><b> 5.4 約束的設(shè)計(jì)</b></p><p><b> a)實(shí)體的完整性</b></p><p> 1)檢查主碼值是否唯一,如果不唯一拒絕插入或修改;</p><p> 2)檢查住嗎的各個(gè)屬性是否為空,只要有一個(gè)為空就拒絕插入或者修改。</p><p> b
71、)參照的完整性約束:級連操作</p><p> c)用戶定義的完整性</p><p> 在數(shù)據(jù)庫表中用戶定義完整性約束,如商品號為唯一(UNIOUE)。</p><p><b> 6.數(shù)據(jù)庫的實(shí)施</b></p><p> 6.1數(shù)據(jù)庫及數(shù)據(jù)庫對象建立</p><p> 主要包括:數(shù)據(jù)庫
72、、基本表、視圖、索引、觸發(fā)器以及存儲過程;</p><p> 對于具體的DDL語句以及相關(guān)代碼,請以附錄形式列出。</p><p><b> 6.2數(shù)據(jù)入庫</b></p><p> 對各個(gè)主要數(shù)據(jù)表要錄入20條以上的記錄,方法可用EXCEL批量導(dǎo)入,也可以逐條錄入。</p><p><b> 7.總結(jié)
73、</b></p><p> 通過這次畢業(yè)論文的設(shè)計(jì),使我對計(jì)算機(jī)信息管理本科段所學(xué)的知識有了一個(gè)系統(tǒng)的回顧和應(yīng)用,通過理論和實(shí)踐的相結(jié)合,加深了我對專業(yè)理論知識的理解,也提升了理論知識的運(yùn)用能力,獲得了許多寶貴的經(jīng)驗(yàn)。</p><p> 經(jīng)過此次論文設(shè)計(jì)的實(shí)踐,動手設(shè)計(jì)一個(gè)管理信息系統(tǒng),使我對在本科階段所學(xué)到的知識有了進(jìn)一步的鞏固,并能夠把書本上的學(xué)到的知識貫穿起來,融會貫
74、通到具體實(shí)踐中去。在設(shè)計(jì)過程中,從具體的業(yè)務(wù)分析到抽象的數(shù)據(jù)流程圖、ER圖,再到具體的程序設(shè)計(jì),要親手獨(dú)立完成整個(gè)項(xiàng)目的開發(fā)過程,方才發(fā)現(xiàn)從理論到實(shí)際困難不少。書本上似乎很簡單可以完成的東西,在實(shí)際操作中。卻難免經(jīng)常發(fā)生錯(cuò)誤。通過此次論文的鍛煉,使我在各方面有了不少進(jìn)步。</p><p><b> 附錄</b></p><p> package goods;<
75、;/p><p> public class Index {</p><p> public static void main(String[] args) {</p><p> Menu.decide();//進(jìn)入菜單界面</p><p><b> }</b></p><p><b>
76、; }</b></p><p> Goods.java</p><p> package goods;</p><p> public class Goods {</p><p> private String id;</p><p> private String name;</p>
77、;<p> private double price;</p><p> private int number;</p><p><b> //構(gòu)造方法</b></p><p> public Goods(){}</p><p> public Goods(String id,String nam
78、e,double price,int number){</p><p> this.id=id;</p><p> this.name=name;</p><p> this.price=price;</p><p> this.number=number;</p><p><b> }</b
79、></p><p> public String getid(){</p><p> return this.id;</p><p><b> }</b></p><p> public void setid(String id){</p><p> this.id=id;<
80、/p><p><b> }</b></p><p> public String getname(){</p><p> return this.name;</p><p><b> }</b></p><p> public void setname(String n
81、ame){</p><p> this.name=name;</p><p><b> }</b></p><p> public double getprice(){</p><p> return this.price;</p><p><b> }</b>&l
82、t;/p><p> public void setprice(int price){</p><p> this.price=price;</p><p><b> }</b></p><p> public int getnumber(){</p><p> return this.num
83、ber;</p><p><b> }</b></p><p> public void setnumber(int numbernew){</p><p> this.number=numbernew;</p><p><b> }</b></p><p><
84、b> }</b></p><p><b> Menu.java</b></p><p> package goods;</p><p> import java.util.*;</p><p> public class Menu {</p><p> public
85、static void decide(){</p><p> System.out.println("----菜單----");</p><p> System.out.println("1.新貨錄入");</p><p> System.out.println("2.貨物進(jìn)貨");</p>
86、;<p> System.out.println("3.貨物出售");</p><p> System.out.println("4.貨物查詢");</p><p> System.out.println("5.退出");</p><p> int flag=1;</p>
87、<p> while(flag==1){</p><p> Scanner sc = new Scanner(System.in); </p><p> int num = sc.nextInt();</p><p> switch(num){</p><p> case 1: AddNew.addNew();break
88、;</p><p> case 2: Ins.ins();break;</p><p> case 3: Outs.outs();break;</p><p> case 4: Display.display();break;</p><p> case 5:System.exit(0);break;</p><p
89、> default:System.out.println("請輸入1~5的整數(shù)!");</p><p><b> }</b></p><p><b> }</b></p><p><b> } </b></p><p><b> }
90、</b></p><p> ToArrayList.java</p><p> package goods;</p><p> import java.io.*;</p><p> import java.util.*;</p><p> public class ToArrayList {<
91、;/p><p> public static ArrayList<Goods> toArrayList(){//將文件內(nèi)容以貨品類型的數(shù)組形式讀出</p><p><b> int i=0;</b></p><p> ArrayList <Goods> arr = new ArrayList <Goods>
92、 ();</p><p> Goods arrgoods; </p><p><b> //從文件讀出</b></p><p> String temp=null;</p><p> String[] str=new String[4];</p><p> BufferedReader
93、buffer=null; </p><p><b> try {</b></p><p> File file=new File("d:\\program.txt");</p><p> buffer = new BufferedReader(new FileReader(file)); </p><
94、;p> while ( (temp = buffer.readLine()) != null) {</p><p> str = temp.split("\t");//將讀取的一行內(nèi)容用tab格分成兩部分分別賦給str[0]和str[1]……</p><p> String id = str[0];</p><p> String
95、name = str[1];</p><p> double price = Double.parseDouble(str[2]);</p><p> int number = Integer.parseInt(str[3]);</p><p> arrgoods=new Goods(id,name,price,number);//用所知數(shù)據(jù)實(shí)例化對象<
96、/p><p> arr.add(arrgoods);//將此對象加入到貨品類型的數(shù)組中</p><p><b> i++;</b></p><p><b> }</b></p><p> } catch (NumberFormatException e) {</p><p&g
97、t; e.printStackTrace();</p><p> } catch (FileNotFoundException e){}</p><p> catch (IOException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p
98、><p> return arr;</p><p><b> }</b></p><p><b> }</b></p><p> ToFile.java</p><p> package goods;</p><p> import java.
99、io.*;</p><p> import java.util.*;</p><p> public class ToFile {</p><p> public static void toFile(ArrayList <Goods> arraylist){//寫入文件</p><p><b> int i=0
100、;</b></p><p> File file=new File("d:\\program.txt"); </p><p><b> try {</b></p><p> FileWriter out=new FileWriter(file);</p><p> for(i=0;
101、i<arraylist.size();i++){</p><p> String content=arraylist.get(i).getid()+"\t"+arraylist.get(i).getname()+"\t"+arraylist.get(i).getprice()+"\t"+arraylist.get(i).getnumber();&
102、lt;/p><p> out.write(content);</p><p><b> //寫入回車換行</b></p><p> out.write("\r");</p><p> out.write("\n"); </p><p><b>
103、 }</b></p><p> System.out.println("文件數(shù)據(jù)修改完成。");</p><p> out.close(); //關(guān)閉文件流,否則文件中沒內(nèi)容 </p><p><b> }</b></p><p> catch(Exception e){<
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 進(jìn)銷存管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---進(jìn)銷存管理系統(tǒng)設(shè)計(jì)
- 超市進(jìn)銷存管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)報(bào)告--商品進(jìn)銷存管理系統(tǒng)
- mis課程設(shè)計(jì)--超市進(jìn)銷存管理系統(tǒng)
- 某商店進(jìn)銷存管理系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 【精品設(shè)計(jì)下載】課程設(shè)計(jì)-商品進(jìn)銷存管理系統(tǒng)
- 進(jìn)銷存管理系統(tǒng)
- 課程設(shè)計(jì)---超市進(jìn)銷存管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 數(shù)據(jù)庫課程設(shè)計(jì)--商品進(jìn)銷存管理系統(tǒng)
- 課程設(shè)計(jì)---超市進(jìn)銷存管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-倉庫進(jìn)銷存管理系統(tǒng)
- 超市進(jìn)銷存管理系統(tǒng)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 軟件工程課程設(shè)計(jì)--藥品進(jìn)銷存管理系統(tǒng)
- 藥品進(jìn)銷存管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 課程設(shè)計(jì)---超市進(jìn)銷存管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).doc
- 進(jìn)銷存管理系統(tǒng)設(shè)計(jì)文檔
- 農(nóng)資進(jìn)銷存管理系統(tǒng)
- 進(jìn)銷存管理系統(tǒng).doc
- 進(jìn)銷存管理系統(tǒng).doc
評論
0/150
提交評論