oracle學(xué)生成績管理系統(tǒng)設(shè)計_第1頁
oracle學(xué)生成績管理系統(tǒng)設(shè)計_第2頁
oracle學(xué)生成績管理系統(tǒng)設(shè)計_第3頁
oracle學(xué)生成績管理系統(tǒng)設(shè)計_第4頁
oracle學(xué)生成績管理系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、階段 1.1 成績管理系統(tǒng)實體關(guān)系設(shè)計一、實驗?zāi)康暮鸵螅?1 )熟練掌握實體關(guān)系設(shè)計的方法。( 2 )通過需求分析結(jié)果,掌握E-R 圖。二、實驗內(nèi)容和原理實體關(guān)系設(shè)計是在需求分析的一個環(huán)節(jié)過程, 在這一過程中產(chǎn)生E-R 圖, 該圖由實體、屬性和聯(lián)系三個要素構(gòu)成。邏輯結(jié)構(gòu)設(shè)計的任務(wù)就是把概念設(shè)計階段建立的基本E-R 圖按照選定的系統(tǒng)軟件支持的數(shù)據(jù)模型, 轉(zhuǎn)換成相應(yīng)的邏輯模型。 這種轉(zhuǎn)換要符合關(guān)系數(shù)據(jù)模型的原則。E-R 圖向關(guān)系模型轉(zhuǎn)換時要解決如何將實體和實體間的聯(lián)系轉(zhuǎn)換為關(guān)系, 并確定這些關(guān)系的屬性和碼,這種轉(zhuǎn)換一般按下面的原則進(jìn)行。( 1) 一個實體轉(zhuǎn)換為一個關(guān)系, 實體的屬性就是關(guān)系的屬性

2、, 實體的碼就是關(guān)系的碼。( 2)一個聯(lián)系也轉(zhuǎn)換為一個關(guān)系,聯(lián)系的屬性及聯(lián)系所連接的實體的碼都轉(zhuǎn)換為關(guān)系的屬性,但關(guān)系的碼會根據(jù)聯(lián)系的類型變化。三、主要儀器設(shè)備計算機(jī)一臺、 Powerdesinger 運行環(huán)境四、操作方法與實驗步驟在成績管理系統(tǒng)中,需要管理學(xué)生、課程和成績,以及它們之間的聯(lián)系。 因此在該系統(tǒng)的 E-R 圖中,實體分別為學(xué)生、老師、課程。為了便于掌握,學(xué)生實體的屬性分別有學(xué)號、姓名、性別;課程實體的屬性有課程編號、課程名稱、學(xué)期、課程學(xué)分;教師實體的屬性有教師編號、 姓名、 性別。 學(xué)生實體與課程實體有選課關(guān)系, 而且一個學(xué)生可以選擇多門課程,一門課程也可以被多個學(xué)生選擇,因此

3、學(xué)生和課程之間的聯(lián)系是m:n 聯(lián)系。教師實體與課程實體有教授關(guān)系, 一名教師可以教多門課程, 一門課程也可以被多個教師教授, 因此教師和課程之間的聯(lián)系是m:n 聯(lián)系。學(xué)生在選課后會產(chǎn)生成績,教師授課后會產(chǎn)生授課地點及 授課學(xué)期。根據(jù)上述分析,繪出的 E-R 圖如下圖所示。階段1.2成績管理系統(tǒng)結(jié)構(gòu)設(shè)計一、實驗?zāi)康暮鸵? .了解數(shù)據(jù)庫中列的屬性以及各個屬性的含義。2 .掌握為不同的列選擇不同的屬性及范圍。二、實驗內(nèi)容和原理在管理信息系統(tǒng)中,物理結(jié)構(gòu)設(shè)計主要是指如何將通過邏輯結(jié)構(gòu)設(shè)計所得的系統(tǒng)邏輯結(jié)構(gòu)型轉(zhuǎn)換為物理模型,并明確地指出系統(tǒng)的物理存儲結(jié)構(gòu)。本實驗主要是利用CASE工具集PowerDes

4、igner對成績管理系統(tǒng)進(jìn)行物理結(jié)構(gòu)的設(shè)計。三、主要儀器設(shè)備計算機(jī)一臺、Powerdesinger運行環(huán)境、Oracle運行環(huán)境四、操作方法與實驗步驟在物理結(jié)構(gòu)設(shè)計中需要考慮為每列設(shè)計合適的數(shù)據(jù)類型。成績管理系統(tǒng)中,學(xué)生(學(xué)號、姓名、性別)關(guān)系里,學(xué)號采用int來表示就可以了,而姓名設(shè)置成 varchar2(20),性別只需要設(shè)置為char (2)。因為性別不是男就是女,因此只會占用兩個字節(jié)。所以最終我們可以將其物理表結(jié)構(gòu)設(shè)置為:t_student(stuid int, stuname varchar2(20),sex char (2)。依照上述,課程的物理表結(jié)構(gòu)為:t_course(coui

5、d int, couname varchar2(20), term char (2), credit number(3,1)。教師的物理存儲表結(jié)構(gòu)為: t_teacher(teaid int, teaname varchar2(20),sex char(2)。選課的物理表結(jié)構(gòu)為:t_selcour(sid int , cid int, score number . (4,2)。教課的物理表結(jié)構(gòu)為:t_teacour(tid int , cid int , teaaddr varchar2(30), term char (2)。(1)通過手動編寫SQL語句方式建立數(shù)據(jù)庫后臺ra =5?三:C:w

6、indowssystem32,cmd.exe - sqlplus /nologWindows_IE 版.本 6 .工21< 匚) 2 009 M ic:i*i>sniF 1t Coijpo ion o.aQ : 71aw XjA rlvnixn i五七 W'c Az cv 尸與"【X1 lu.£ ,口<> l ooSQLxPlus =1M_2_O.1L-。 - PlciIu 匚上五口 m on 星期一 "月 2R 1A = 57 = 03 X01-4Guji* 片上gh 上 <£ > X9 82 , 2005,

7、 Or-dC l.«± « All ir sSQL> <£on 1 eye/Idni 6M 名 ilLm已連接。SQL> <z ie> ait: & law 心片 u5 :LHanl:文整 zLedl b» 8”。2 d.<cf kU 1V V aJb«±c & v<xc c t;l ;用戶已創(chuàng)建c&QL> conn 七。a命ERROR=ORA =101 017 3 xn v a 1 id uwoirrimEQ,is4w W3ni*d ; logron

8、den ic d警告:您不再連接到 OFtfiCLE先QL G«inn ±y 五as: wy尋dhe己連接&QL> e: x-k-a t e a1o1>e ±_s t u.idlen't <3 8 tu i-d ±n1; n oC n uill ui* imai-y Ro4 stun d.irma± d1HBi'RidkN20.MH* 亡 hmirfZ)手表己創(chuàng)建.SQL> .上述創(chuàng)建了代表學(xué)生實體的表t_student ,其中stuid設(shè)置為主鍵,唯一標(biāo) 識一個學(xué)生。SQL create tab

9、le t_co«pse<2 couid Int not: null primary key,3 couname "archar2420. term chai*42>4 credit numbei*<3,1 >> :表已創(chuàng)建。當(dāng)課程表t_course用來代表課程實體,其中采用 couid來標(biāo)識一門課程。 名稱的長度大于20個字符時,varchar2可以自動擴(kuò)展。SQL> 2 3Create table t_teachEi"( teaid int not null prinary key, teaname uapciav2<2

10、0>,&ex chav<2>>;袤已創(chuàng)建“GCl" S.物理實體在物理結(jié)構(gòu)中用t_teacherS來表示,teaid用來唯一標(biāo)識一位教師, 因此其不能空選課表t_selcour中學(xué)生編號參考t_student表中的stuid,止匕時sid為外鍵, 課程編號cid也作為外鍵參考t_course中的couid通過PowerDesigner建立數(shù)據(jù)庫后臺第四步:至恥匕,系統(tǒng)的概念模型就全部設(shè)計好了。接下來單擊菜單“工具”一 “生成物理屬性模型”選項,就會彈出“物理數(shù)據(jù)模型生成選項”對話框,如 下圖:t_tearDuyVu-athlE ifhu-iititix

11、-F (3©)t-raChara:匚tihJE (2Q汽在“常規(guī)”選項卡中選擇“生成新的物理模型”單選鈕,并選擇 DBMS 為 “OPACLE Version 10g”,“名稱”文本 “ MyPhysicalDataModel”,并單擊“確 認(rèn)”按鈕,在彈出得到路徑選擇對話框中輸入你想要放置生成的物理數(shù)據(jù)模型文 件的位置,系統(tǒng)就會自動在指定的路徑下生成一個名為 “MyPhysicalDataModal.pdm”的文件,并生成系統(tǒng)的物理模型,如下圖CONGC從菜單中選擇 Database -Generate Database項。PowerDesigner將會在 指定的路徑下生成一個名字

12、為Y E.gwaATH3ApH53WCfdn的crwlier!蟠附I.ChacKMol A Geng同on RbvbtsSVII .sql的文本文件。里面存放可供Oracle執(zhí)行的用 來建立數(shù)據(jù)庫實體的SQL語句。E_XEU±IC1L:uxh«rEV1 I irrif&L<kJ二士EH加i W二地R如1TB.VCI QM? R.號Lia 1co工亡!談.J茫!湖.階段1.3成績管路系統(tǒng)存儲過程設(shè)計一、實驗?zāi)康暮鸵螅╥)了解存儲過程的設(shè)計目的以及方法。(2)掌握存儲過程的創(chuàng)建。二、實驗內(nèi)容和原理存儲過程是在數(shù)據(jù)中定義的程序塊,它存放在數(shù)據(jù)庫服務(wù)端數(shù)據(jù)字典里。采

13、用存儲過程可以提高過程代碼程序的執(zhí)行速度和代碼共享度。 具體有以下幾個特點。(1)過程存放在服務(wù)器 端,減少了網(wǎng)絡(luò)傳輸?shù)难訒r,提高了速度。(2)過程在執(zhí)行一次之后,會駐留內(nèi)存,后續(xù)的執(zhí)行無需再經(jīng)編譯過程,提高了執(zhí)行效率。三、主要儀器設(shè)備計算機(jī)一臺,Oracle運行環(huán)境四、操作方法與實驗步驟1、創(chuàng)建存儲過程先向表 t_student中插入數(shù)據(jù),具體如下所示卜告;創(chuàng)建的過程帶有編譯錯誤,SQL> ed已寫入 f ile aF iedt _buf1 create or replace procedure p_insert_student(2 id t_student *stuidZCype F

14、t.student3 &ex t_student-Sextype)4 is5 besfln6 insert into t_student7 ualuesdd name, sex>8* end;SQL> z過程已創(chuàng)建,SQL> .2、每次向表t_student中插入數(shù)據(jù)時,只需要運行該過程就可以了。具體如下所 示。表t_student中的列stuid被設(shè)置為主鍵,因此不可以存在重復(fù)值。在第二次 運行時,因為輸入的第一個參數(shù)id與表中已存在的數(shù)據(jù)相同,所以插入時出現(xiàn) 錯誤。SQLexec p_insert_studcnt<1PL/SQL過程已成功完成。SQLexec

15、 g后i*t-StudentqIMan男');BEGIN p_insert_student(l,* HanJ J > ; END;第i行出現(xiàn)錯誤工ORA-00001 :違反唯一約束條件 <S?S,SYS_G00516?>ORA-06512: 茬 "SVS -P_I MS ERI .STUDENT*, line 6ORfl-06512 在 1工11后 1£QL> select = £1*01t student ;STU1D STUNAME1 Tai3、繼續(xù)向表中插入兩條記錄,其中當(dāng)參數(shù) id不重復(fù)時,過程成功完成。SQL> ex

16、ec p_insert_student<2,*Guo*;BEGIN jp_insext_Student <2/Gw''男');END;i 1行出現(xiàn)錯誤:。麗-00001:違反唯一約束條件(S¥S.SY£_C005163)ORA-06512:在 "SVS-P.INSERT.STUDENT", line 6ORA-06512 -在 line 1SQL> exec p_inw”t_stud£nt女';PL/SQL過程已成功完成©也可以通過一般的SQL語句向表中4、不僅可以通過存儲過程向表中插

17、入數(shù)據(jù), 插入數(shù)據(jù),如下所示。工 SQL> insert into t_teacher2 ”hwUfciang*女>;:已創(chuàng)建1行.- SQL> insert into t_teacher二 2 ualueQqiang,/男,) ;«已創(chuàng)建1行,- SQL> insert into t_coui'se?2 uailuEsS編譯原理,一事5.0;;已創(chuàng)建1行. SQL> insert into t.course*2 ”息in二u形妙與政譙二,m.s;insert into t_course5、向表中插入數(shù)據(jù)時,需要注意數(shù)據(jù)類型以及長度都需要與表中定

18、義的相符,否則會出現(xiàn)錯誤,具體如下所示。SQL> insert into C_coursie2 vaUuta計算機(jī)網(wǎng)紛第三學(xué)期.湎;«*l«es<3/計算機(jī)網(wǎng)絡(luò),第三學(xué)翳,S.5>*熟-疑崎喙赳£"JT_8UBSE”.“TERM”的值太大實際值:最大值:2>6、t_course表中列term被定義為char且長度為2,因此在插入數(shù)據(jù)時該列最大長度為2,超過該值會出現(xiàn)錯誤。課程表中只有已經(jīng)存在的課程編號才能被插入到選課表中,否則會出錯,這樣就保證了數(shù)據(jù)的一致性。SQL> inseat into t_selcouF2 ualui

19、Bs Cl jp 1 a B5 -5 > «已創(chuàng)建1行.*QL> insert into t_selcouF 2 va1ucs(1,3,6 6 >iinsert; into Icoup第1行出現(xiàn)錯送二0BA-B2291:違反完整約束條件<S¥£.S¥S.C00517B> -未找到父項關(guān)鍵字S«L>7、t_selcour表的另外一個外鍵為第一列sid,在插入時只有當(dāng)該值存在于學(xué)生表中的學(xué)生編號時,才能被成功插入,否則也會出現(xiàn)錯誤,具體如下所示。SQL> insert into tBselcaur2 val

20、ues <1,268);已創(chuàng)建1行SQL insert into t_selcour2 values <41 .76 > ; insert into Icouv第1行出現(xiàn)錯法一-dORfi-02291:違反完整約束條件小YE.SYLC的51幻) -未找到父項關(guān)鍵字SQL>8、對于向表t_teacour中插入數(shù)據(jù)時,同樣需要滿足外鍵參考主鍵的約束條件,具體如下所示。SQL> inseFt into- t_teacour2 valULes<l,l, F太原理工南區(qū)主2日4, J 已創(chuàng)建1行.9、向表t_teacour中插入一行記錄,其中tid存在于表t_teac

21、her的列teaid中,cid存在于表t_course列couid中。如果插入的值不符合外鍵約束條件,會出現(xiàn)錯誤,具體如下所示SQL insert intot_七已占cdu產(chǎn)2 alues<3,2.J太原理工南區(qū)主如4,二,: insert into teacour第1行出現(xiàn) ORA-02291:番完整約束條件<EV8.SVS_G00S172> -未找到父項關(guān)鍵字10、在完成對表插入值后,可以關(guān)聯(lián)表查詢記錄。比如:查詢教師編號為1的教師所帶的課程編號、教師姓名、課程名稱、課程學(xué)分信息,具體如下所示。實現(xiàn) 了查詢編號為1的老師所帶的課程編號、課程名稱等信息。在查詢時,為表命名 別名時為了方便,各個表的連接通過主鍵外鍵約束來實現(xiàn)。SQL> select cid teaname, counane, credit 2 from t_teaether a, t_pouj*se b, t_iteacher c 3a.tId 1 and a.eld b.couid and c*tid c .teaid;where a.tid = 1 a.nd 值.cid =and c.tid = c .teaid第?行出現(xiàn)錯誤,*DRA-flB9B4: 11 J*TIDH:標(biāo)識符無效SQL> selec

溫馨提示

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

最新文檔

評論

0/150

提交評論