

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 數(shù)據(jù)庫課程設(shè)計報告</b></p><p><b> —網(wǎng)上禮品銷售系統(tǒng)</b></p><p><b> 設(shè)計時間</b></p><p> 2013年12月22日——12月27日</p><p><b> 設(shè)計地點(diǎn)</b
2、></p><p><b> 設(shè)計目的</b></p><p> 1、鞏固學(xué)習(xí)Oracle基礎(chǔ)知識方面的基本算法,進(jìn)一步熟悉基本概念。</p><p> 2、熟練在Oralce中的操作,了解基本的流程。</p><p> 3、培養(yǎng)查閱資料,獨(dú)立思考問題的能力。</p><p><
3、;b> 設(shè)計小組成員</b></p><p><b> 指導(dǎo)老師</b></p><p><b> 設(shè)計課題</b></p><p> 經(jīng)過小組組員的討論,決定選取:網(wǎng)上禮品銷售系統(tǒng)</p><p><b> 理由:</b></p>&
4、lt;p> 1、綜合度高,有利于大家熟練掌握和運(yùn)用Oracle中的存儲過程、函數(shù)、觸發(fā)器、索引等功能的編寫。</p><p> 2、整個系統(tǒng)簡潔明了,是我們常接觸的數(shù)據(jù)庫,適于現(xiàn)在階段的我們。</p><p> 3、代碼編寫涉及面廣,利用提高綜合應(yīng)用能力,加強(qiáng)Oracle理論知識的掌握, </p><p> 全
5、面學(xué)習(xí)Oracle。</p><p> 基本思路及關(guān)鍵問題的解決方法</p><p> 基本思路:該系統(tǒng)主要實(shí)現(xiàn)了網(wǎng)上禮品銷售的一般流程,可以實(shí)現(xiàn)基本的功 </p><p> 能。從消費(fèi)者查看禮品,下訂單到禮品店確認(rèn),發(fā)貨,物流進(jìn)展等功能都可以在這個系統(tǒng)體現(xiàn)。其中包括消費(fèi)者子模塊,店家子模塊,禮品信息子模塊,禮品類別子模塊,訂單子模塊和物流子模塊等六個子系統(tǒng)子
6、模塊。</p><p><b> 詳細(xì): </b></p><p> 消費(fèi)者子模塊包括用戶名,用戶密碼,姓名,地址,電子郵件和電話等信息</p><p> 店家子模塊包括用戶,用戶密碼,姓名和聯(lián)系電話</p><p> 禮品子模塊包括禮品編號,商品類別,商品名稱,銷售價格,銷售數(shù)量和商品詳細(xì)信息</p>
7、;<p> 禮品類別子模塊包括分類編號和分類名稱</p><p> 物流子模塊包括物流號,訂單號,發(fā)貨時間,發(fā)貨地址,收貨時間和收貨地址</p><p> 訂單子模塊包括訂單號,禮品號,用戶,訂購時間,訂購數(shù)量和銷售總價 </p><p><b> 3.功能:</b></p><p> 用戶
8、(消費(fèi)者和店家)可以對各自的部分信息進(jìn)行修改,如地址,電子郵件和</p><p> 電話,其他模塊信息一旦確認(rèn)后就不可再更改,加強(qiáng)系統(tǒng)的安全性。</p><p> 在現(xiàn)在競爭激烈的電子商務(wù)中,系統(tǒng)的安全性和穩(wěn)定性是首要的選擇,其次是提 </p><p> 供完善的服務(wù)流程。當(dāng)然實(shí)際上的網(wǎng)上購物系統(tǒng)要比這個復(fù)雜的多,在這里只是</p><
9、;p> 做了一個系統(tǒng)的抽象和簡單建模,實(shí)際上還要包括更多更復(fù)雜的子模塊和交互性</p><p> 設(shè)置來提高系統(tǒng)的可操作性。</p><p><b> 功能模塊圖:</b></p><p><b> 系統(tǒng)層次結(jié)構(gòu)圖</b></p><p><b> 3.ER圖</b&
10、gt;</p><p><b> 轉(zhuǎn)化為關(guān)系模型:</b></p><p> 消費(fèi)者(用戶名,密碼,姓名,地址,電話,電郵)</p><p> 禮品店(店家,密碼,姓名,電話)</p><p> 禮品(禮品編號,類別,價格,數(shù)量,詳細(xì)信息)</p><p> 訂單(訂單號,禮品編號,用戶
11、,訂購時間,訂購數(shù)量,銷售總價)</p><p> 物流(物流號,訂單號,發(fā)貨時間,發(fā)貨地址,收貨時間,收貨地址)</p><p> 確認(rèn)(消費(fèi)者用戶名,禮品店名,買家確認(rèn),賣家確認(rèn))</p><p> 銷售(用戶名,禮品編號,銷售總量,銷售總價)</p><p> 下單(用戶名,禮品編號,訂單號)</p><p&
12、gt; 跟蹤(物流號,訂單號,到達(dá)時間,到達(dá)地點(diǎn))</p><p><b> 數(shù)據(jù)庫各對象及作用</b></p><p> Tablespace and datafile(表空間和數(shù)據(jù)文件)</p><p> 數(shù)據(jù)庫、表空間和數(shù)據(jù)文件緊密關(guān)聯(lián),但是它們還是有重要的區(qū)別:</p><p> ??一個Oracle由
13、一個或多個邏輯存儲單位組成,這些單位叫做表空間,表空間負(fù)責(zé)保存數(shù)據(jù)庫所有的數(shù)據(jù)。</p><p> ??Oracle數(shù)據(jù)庫的每個表空間由一個或多個叫做數(shù)據(jù)文件的文件組成,數(shù)據(jù)文件是Oracle所運(yùn)行的操作系統(tǒng)上的文件。</p><p> ??一個數(shù)據(jù)庫的數(shù)據(jù)存儲在構(gòu)成數(shù)據(jù)庫中表空間的數(shù)據(jù)文件上。例如,一個最簡單的數(shù)據(jù)庫可能只有一個表空間和一個數(shù)據(jù)文件。另一個數(shù)據(jù)庫可能擁有三個表空間,每
14、個有兩個數(shù)據(jù)文件(整體上就是六個數(shù)據(jù)文件)。</p><p> create tablespace test1 datafile 'H:\oracle\test1.dbf';</p><p><b> size 20m</b></p><p> extent management local autoallocate;&l
15、t;/p><p><b> Table(表) </b></p><p><b> 用于存放數(shù)據(jù)</b></p><p> Constraints(約束)</p><p> 約束作用:用來保持?jǐn)?shù)據(jù)的完整性,防止無效數(shù)據(jù)進(jìn)入到數(shù)據(jù)庫中。oracle數(shù)據(jù)庫中提供的5種約束,都是限定某個列或者列的組合
16、的。1、主鍵約束(PRIMARY KEY):在一個表中能唯一的標(biāo)識一行。主鍵可以限定在多個列上。2、唯一鍵約束(UNIQUE key):在一個表中能唯一的標(biāo)識一行,唯一鍵也可以限定在多個列上。主鍵和唯一鍵的區(qū)別:a、一個表中最多只能有一個主鍵??梢远鄠€唯一鍵。b、主鍵所限定的列不能為null,唯一鍵所限定的列可以為null.3、外鍵約束(FOREIGN key): 引用表:有外鍵約束的列所
17、在的表。 被引用表:外鍵所引用的列。被引用的列只能是主鍵或者唯一鍵。4、非空約束(NOT null):表示該列上的數(shù)據(jù)不能有null值。5、檢查性約束(check):表示該列上的數(shù)據(jù)必須滿足某一個條件表達(dá)式。</p><p><b> Index(索引)</b></p><p> 建立索引的目的是加快對表中記錄的查找或排序,
18、為表設(shè)置索引要付出代價的:</p><p> 一是增加了數(shù)據(jù)庫的存儲空間;</p><p> 二是在插入和修改數(shù)據(jù)時要花費(fèi)較多的時間(因?yàn)樗饕惨S著而動)。</p><p><b> View(視圖)</b></p><p> 視圖是從一個或幾個基本表(或視圖)導(dǎo)出的表。它與基本表不同,是一個虛表。數(shù)據(jù)庫只存放
19、視圖的定義,而不存放視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中。所以基本表中的數(shù)據(jù)發(fā)生變化,從視圖中查詢出的數(shù)據(jù)也就隨之改變了。從這個意義上講,視圖就像一個窗口,透過它可以看到數(shù)據(jù)庫中自己感興趣的數(shù)據(jù)及其變化。 視圖使用的時候跟表一樣。主要作用是不讓所有的人都能看到整張表。比如有個員工信息表,里面有聯(lián)系方式,薪資等,可能只希望HR能看到薪資,其他人只能看到聯(lián)系方式,那么就可以使用視圖來實(shí)現(xiàn)。</p><p
20、> 合理地使用視圖能夠帶來許多好處:1、單源表視圖 視圖的數(shù)據(jù)可以只取自一個基本表的部分行、列,這樣的視圖行列與基本表行列對應(yīng)。這樣定義的視圖一般可以進(jìn)行查詢和更改數(shù)據(jù)操作。2、多源表視圖 視圖的數(shù)據(jù)可以來自多個表中,這樣定義的視圖一般只用于查詢,不用于修改數(shù)據(jù)。3、在已有視圖上定義的新視圖 可以在視圖上再建立視圖,這時作為數(shù)據(jù)源的視
21、圖必須是已經(jīng)建立好的。4、帶表達(dá)式的視圖 在定義基本表時,為減少數(shù)據(jù)庫中的冗余數(shù)據(jù),表中只存放基本數(shù)據(jù),由基本數(shù)據(jù)經(jīng)過各種計算派生出的數(shù)據(jù)一般是不存儲的。但由于視圖中的數(shù)據(jù)并不實(shí)際存儲,所以定義視圖時可以根據(jù)需要設(shè)置一些派生屬性列,在這些派生屬性列中保存經(jīng)過計算的值。這些派生屬性由于在基本表中并不實(shí)際存在,因此,也稱它們?yōu)樘摂M列。包含虛擬列的視圖也稱為帶表達(dá)式的視圖。5、含分組統(tǒng)計信息的視圖
22、; 含分組統(tǒng)計信息的視圖是指定義視圖的查詢語句中含有GROUP BY子句,這樣的視圖只能用于查詢,不能用于修改數(shù)據(jù)。</p><p> Sequence(序列)</p><p> 序列(SEQUENCE)是序列號生成器,可以為表中的行自動生成序列號,產(chǎn)生一組等間隔的數(shù)值(類型為數(shù)字)。其主要的用途是生成表的主鍵值,可以在插入語句中引用,也可以通過查詢檢查當(dāng)前值,或使序列
23、增至下一個值。</p><p> 調(diào)試過程中出現(xiàn)的問題及相應(yīng)解決方法</p><p> 在調(diào)試過程中,主要出現(xiàn)的問題在于存儲過程、游標(biāo)、函數(shù)以及觸發(fā)器的建立時出現(xiàn)的編譯性錯誤。通過資料的查詢問題得以解決。</p><p><b> 課程設(shè)計心得體會</b></p><p> 通過兩周的設(shè)計和開發(fā),我們終于完成了學(xué)
24、生信息管理系統(tǒng),在此過程中,我們學(xué)會了很多有用的東西,綜合能力提高許多。在編程的過程中,回顧了以前所學(xué)的知識,通過這個課程設(shè)計,把學(xué)到的知識充分應(yīng)用了,檢驗(yàn)了自我,并且通過和別人一起合作,學(xué)到了新的知識,特別是團(tuán)隊精神。因?yàn)橐粋€人所學(xué)的知識不可能面面俱到的,只有通過合作,發(fā)揮自己的優(yōu)點(diǎn),體現(xiàn)團(tuán)隊精神,才能使任務(wù)完成的更加出色,通過這次設(shè)計,我們感覺到了團(tuán)隊合作在軟件開發(fā)過程中的重要性,一個人是沒有辦法完成一個號的項(xiàng)目的,通過這次設(shè)計,親
25、身體驗(yàn)了系統(tǒng)開發(fā)的全過程,在實(shí)踐中了解系統(tǒng)設(shè)計開發(fā)的步驟、流程以及思路,增長了系統(tǒng)開發(fā)方面的見識,我們深刻認(rèn)識到以前所學(xué)的基礎(chǔ)課程的重要性,也使我們掌握了很多新的知識,特別是課堂上無法學(xué)到的東西,體會到了理論和實(shí)踐相結(jié)合的重要性。</p><p> 由于設(shè)計時間較短,且受知識和技術(shù)水平的限制,所以該系統(tǒng)還會有很多不盡人意的地方,比如功能不全,出錯處理不夠等多方面問題。系統(tǒng)開發(fā)是一個不斷完善的過程,只有在實(shí)際的使
26、用過程中才能不斷的發(fā)現(xiàn)問題,從而再加以改進(jìn)升級。而在系統(tǒng)設(shè)計過程中,難免會出現(xiàn)一些預(yù)測不到的異常,這些異??赡茉谙到y(tǒng)測試階段檢測不出,只有用戶在使用過程中才能發(fā)現(xiàn)。</p><p> 總的來說,盡管這次作業(yè)還存在很多問題,但是通過這次設(shè)計,我們學(xué)到了許多書本上學(xué)不到的知識,增強(qiáng)了自己的動手能力和自信心,為我們以后的工作積累了寶貴的財富,而且讓我們明白了團(tuán)隊合作的重要性。</p><p>
27、 源程序(每句語言要詳細(xì)解釋)</p><p><b> 庫的創(chuàng)建</b></p><p> //Tablespace test1創(chuàng)建,大小20m</p><p> create tablespace test1 datafile 'H:\oracle\test1.dbf';</p><p>&l
28、t;b> size 20m</b></p><p> extent management local autoallocate;</p><p> //建立數(shù)據(jù)庫用戶,數(shù)據(jù)庫名(tingxins/tingxins)默認(rèn)表空間為users,臨時 </p><p><b> 表空間為temp</b></p>
29、<p> create user tingxins identified by tingxins</p><p> default tablespace users</p><p> temporary tablespace temp</p><p> quota 20m on test1;</p><p> grant
30、dba to tingxins;//授予tingxins用戶dba權(quán)限</p><p><b> 表創(chuàng)建</b></p><p> customers表:</p><p> Create table customers(</p><p> Userid varchar2(10) primary key,</
31、p><p> Password varchar2(10) not null,</p><p> Name varchar2(10) not null,</p><p> Address varchar2(20),</p><p> Email varchar2(20),</p><p> Telephone va
32、rchar2(20));</p><p> merchants表:</p><p> Create table merchants(</p><p> Muserid varchar2(10) primary key,</p><p> Mpassword varchar2(10) not null,</p><p
33、> Mname varchar2(10) not null,</p><p> Mtelephone varcher2(10));</p><p><b> goods表:</b></p><p> create table goods(</p><p> Goodid varchar2(10) prim
34、ary key,</p><p> Typeid varchar2(10)not null,</p><p> Goodname varchar2(10) foreign key,</p><p> Saleprice number not null,</p><p> Salecount number,</p><
35、;p> Detail varchar2(100));</p><p> goodstype表:</p><p> create table goodstype(</p><p> Typeid varchar2(10) primary key,</p><p> Typename varchar2(10)not null);&
36、lt;/p><p><b> order表:</b></p><p> Create table order(</p><p> Ordered varchar2(10) primary key,</p><p> Goodid varchar2(10) foreign key,</p><p&g
37、t; Userid varchar2(10) foreign key,</p><p> Ordertime date not null,</p><p> Totalprice number);</p><p> logistics表:</p><p> Create table logistics(</p><
38、;p> Logisticsid varchar2(10) primary key,</p><p> Ordered varchar2(10) foreign key,</p><p> Dispatchtime date not null,</p><p> Dispatchaddress varchar2(20) not null,</p&g
39、t;<p> Receivetime date,</p><p> Receiveaddress varchar2(20));</p><p><b> confirm表:</b></p><p> Create table confirm(</p><p> Userid varchar2(10
40、) foreign key,</p><p> Muserid varchar2(10) foreign key,</p><p> Uconfirm number check(uconfirm =0or uconfirm=1),</p><p> Mconfirm number check(mconfirm=0 or mconfirm=1),</p&g
41、t;<p> Consraint confirm_pk primary key (userid,muserid)</p><p><b> );</b></p><p><b> sale表:</b></p><p> Create table sale(</p><p>
42、Muserid varchar2(10) foreign key,</p><p> Goodid varchar2(10) foreign key,</p><p> Salecount number,</p><p> Totalprice number,</p><p> Constraint sale_pk primary k
43、ey (muserid,goodid));</p><p> ordering表:</p><p> Create table ordering(</p><p> userid varchar2(10) foreign key,</p><p> Goodid varchar2(10) foreign key,</p>
44、<p> Ordered varchar2(10) foreign key,</p><p> Constraint ordering_pk primary key (userid,goodid,ordered));</p><p><b> track表:</b></p><p> Create table track(&
45、lt;/p><p> Logisticid varchar2(10)foreign key,</p><p> Ordered varchar2(10) foreign key,</p><p> Arrivetime date,</p><p> Arriveaddress varchar2(10));</p><p
46、><b> 索引</b></p><p> 如在customers 表中的address 列建立唯一索引:</p><p> Create unique index index_address on customers(address);</p><p> 2.使goods 表的salecount 列按降序排列: </p&g
47、t;<p> Create index index_desc on goods (salecount desc); </p><p><b> 存儲過程</b></p><p> 1.不帶參數(shù)的存儲過程</p><p> Create or replace procedure tingxins selectall<
48、/p><p><b> As</b></p><p><b> Begin</b></p><p> Select * from customers where address like’廣東省%’</p><p><b> End</b></p><p
49、><b> 帶參數(shù)的存儲過程</b></p><p> Create or replace procedure tingxins.updategoods(p_salecount </p><p> in number)</p><p><b> As </b></p><p>&
50、lt;b> Begin</b></p><p> Update goods set saleprice=saleprice *p_salecount where </p><p> salecount=p_salecount;</p><p><b> End;</b></p><
51、p><b> 參考文獻(xiàn):</b></p><p> [1] Oracle 從入門到精通/明日科技編著?!本呵迦A大學(xué)出版社,2012.9</p><p> [2][美]Richard Anderson, Chris Blexrud著.ASP3高級編程[M].劉福太,張立民,金慧琴,梁發(fā)麥等譯.北京:機(jī)械工業(yè)出版社,2000.408-458.</p&
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)上圖書銷售系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 網(wǎng)上圖書銷售系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 網(wǎng)上圖書銷售系統(tǒng)—數(shù)據(jù)庫課程設(shè)計報告
- 數(shù)據(jù)庫課程設(shè)計--網(wǎng)上購物系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--網(wǎng)上考試系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---網(wǎng)上拍賣數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--網(wǎng)上訂貨系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--- 銷售管理系統(tǒng)
- 汽車-銷售系統(tǒng)-數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計---醫(yī)藥銷售系統(tǒng)
- 汽車銷售系統(tǒng)-數(shù)據(jù)庫課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--銷售管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--汽車銷售系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計----網(wǎng)上購物系統(tǒng)設(shè)計
- 數(shù)據(jù)庫課程設(shè)計論文---汽車銷售管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計(電腦銷售系統(tǒng)設(shè)計)
- 網(wǎng)上購物系統(tǒng)數(shù)據(jù)庫課程設(shè)計論文
- 數(shù)據(jù)庫應(yīng)用課程設(shè)計--網(wǎng)上購物系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告網(wǎng)上購物系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計-醫(yī)藥銷售管理系統(tǒng)
評論
0/150
提交評論