數(shù)據(jù)庫課程設(shè)計--網(wǎng)上禮品銷售系統(tǒng)_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論