數(shù)據(jù)庫原理實(shí)驗(yàn)指導(dǎo)書13_第1頁
數(shù)據(jù)庫原理實(shí)驗(yàn)指導(dǎo)書13_第2頁
數(shù)據(jù)庫原理實(shí)驗(yàn)指導(dǎo)書13_第3頁
數(shù)據(jù)庫原理實(shí)驗(yàn)指導(dǎo)書13_第4頁
數(shù)據(jù)庫原理實(shí)驗(yàn)指導(dǎo)書13_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫原理與技術(shù)DATABASEPrinciples,Technology and Application實(shí)驗(yàn)指導(dǎo)書面向?qū)I(yè):電子信息工程計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)應(yīng)用軟件工程信息安全中南大學(xué)信息科學(xué)與工程學(xué)院編寫與整理:張祖平2009年3月編寫2011年3月、2012年3修訂2013年4月再次修訂有關(guān)說明1參考教材1 張祖平,孫星明等.數(shù)據(jù)庫原理及應(yīng)用,中南大學(xué)出版社,2010.112 Ramez Elmasri,Shamkant B.Navathe著,孫瑜注釋.Fundamentals of Database Systems (Fourth Edition)(數(shù)據(jù)庫系統(tǒng)基礎(chǔ)初級篇 英文注釋版

2、第四版)人民郵電出版社(影印,英文版). 2008-102最終實(shí)驗(yàn)結(jié)果呈現(xiàn)一個文本文件,包括所有實(shí)驗(yàn)內(nèi)容語句、調(diào)試數(shù)據(jù)、思考題等.3對象命名(1)文件名取*_?,其中為現(xiàn)在班號+學(xué)號后4位,如orateT_ST_10104,表示電子信息1班,學(xué)號后四位為0104,總學(xué)號為0909100104,最后源文件名可取ora_10104.txt或abc_10104.sql等(2)其它對象名如用戶、表、視圖、過程、觸發(fā)器等按規(guī)則$_*_?,其中$為對象類型標(biāo)識碼,如用戶取名u,表取t,視圖V,過程取P,觸發(fā)器取TG;?為班級+學(xué)號后四位,與文件名的命名規(guī)則類同。*可自己命名,不作強(qiáng)制要求,可以用英文簡寫法

3、,也可以用中文拼音首字母。如T_STUD_20804, p_sumscore_31516,tg_STUD_ST_42309。目 錄實(shí)驗(yàn)一、熟悉ORALCE環(huán)境并練習(xí)SQL的定義1一、目的與要求1二、操作環(huán)境1三、實(shí)驗(yàn)內(nèi)容1四、思考題3五、實(shí)驗(yàn)報(bào)告要求4實(shí)驗(yàn)二、記錄查詢5一、目的與要求5二、操作環(huán)境5三、實(shí)驗(yàn)內(nèi)容5四、思考題5五、實(shí)驗(yàn)報(bào)告要求5實(shí)驗(yàn)三、SQL的數(shù)據(jù)操縱6一、目的與要求6二、操作環(huán)境6三、實(shí)驗(yàn)內(nèi)容6四、思考題6五、實(shí)驗(yàn)報(bào)告要求6實(shí)驗(yàn)四、視圖及權(quán)限控制7一、目的與要求7二、操作環(huán)境7三、實(shí)驗(yàn)內(nèi)容7四、思考題7五、實(shí)驗(yàn)報(bào)告要求7實(shí)驗(yàn)五、數(shù)據(jù)庫觸發(fā)器與過程9一、目的與要求9二、操作環(huán)境9

4、三、實(shí)驗(yàn)內(nèi)容9四、思考題10五、實(shí)驗(yàn)報(bào)告要求10附錄:ORACLE有關(guān)命令及內(nèi)部字典11ORACLE 的SQL*PLUS基本命令11Oracle的啞表與數(shù)據(jù)字典11例句中設(shè)有一定的錯誤,請注意調(diào)試。11實(shí)驗(yàn)一、熟悉ORALCE環(huán)境并練習(xí)SQL的定義一、目的與要求本實(shí)驗(yàn)主要是熟悉ORACLE的運(yùn)行環(huán)境,在CLIENT端進(jìn)行聯(lián)接設(shè)置與服務(wù)器聯(lián)通,進(jìn)入ORACLE的SQL*PLUS的操作環(huán)境,進(jìn)一步建立表格,并考慮主鍵,外部鍵,值約束。二、操作環(huán)境硬件:主頻2GHz以上服務(wù)器(內(nèi)存2GB以上、硬件空閑2.2GB以上),主頻1GHz以上微機(jī),內(nèi)存1GB以上。軟件:WINDOWS XP/2000/200

5、3 SERVER 可安裝ORACLE/9i/10g/11g/13i FOR NT/WINDOWS(注意在32位與64位的區(qū)別,可選企業(yè)版) 如果windows非server如XP等,安裝時請選擇個人版(PERSONAL)三、實(shí)驗(yàn)內(nèi)容1.上機(jī)步驟單機(jī)版:(1)先啟動PERSONAL ORACLE(START DATABASE)(2)用sql*plus登錄(開始-程序-ORACLE FOR WIN-SQLP*PLUS(與網(wǎng)絡(luò)版相同)進(jìn)入SQL*PLUS 用戶名:SYSTEM/manager (其中manager為缺省口令,安裝需要設(shè)定,根據(jù)設(shè)定的密碼進(jìn)行相應(yīng)變化;不要數(shù)據(jù)庫聯(lián)接串,其中SYSTEM

6、為DBA用戶)還有一般用戶scott/tiger(3)進(jìn)入SQL>狀態(tài),可以執(zhí)行SQL中的任何命令(建表,插入、刪除、修改、查詢等),還可建立用戶、數(shù)據(jù)庫等操作。(4)退出,在SQL>狀態(tài),EXIT回車 網(wǎng)絡(luò)版:在實(shí)驗(yàn)室上機(jī)時,一般安裝時管理員已設(shè)置好.先找到windows中的oracle服務(wù)(一般為oracleserviceORCL),啟動此服務(wù),再找到sql*plus所在的位置(一般桌面上有),運(yùn)行即可進(jìn)行登錄界面.實(shí)驗(yàn)室現(xiàn)有環(huán)境操作步驟:(1) 打開控制面板,>管理工具>服務(wù)>啟動Oracle ServiceORCL或者如圖通過界面或資源管理器右鍵找到管理:

7、再找服務(wù):啟動的服務(wù)如下或有OracleService*的服務(wù):(2) 從桌面執(zhí)行SQL*PLUS或在程序中(3) 輸入:system/manager(4) 在SQL>狀態(tài)輸入建立用戶命令:create user username identified by password;其中username與password不要數(shù)字開頭,用戶名username中按規(guī)則加班級學(xué)號后綴如:U_31521表示3班學(xué)號尾數(shù)為1521號的用戶。(5) 給用戶授權(quán):grant resource,connect to username;(6) 連接用戶:connect username/password在SQL

8、>就可以建表等操作了2.根據(jù)要求建立如下表DROP TABLE T_DEPT_?; /* 系,?為班級學(xué)號如t_dept_42405,4班2405號,不能別人的同名,否則視為抄襲,以下各類對象類同要求 */CREATE TABLE T_DEPT_?(DNO CHAR(3) PRIMARY KEY,DN VARCHAR2(32),DEAN CHAR(8),TEL CHAR(8) CHECK(SUBSTR(1,4)='8887');DROP TABLE T_STUD_?; /* 學(xué)生 */CREATE TABLE T_STUD_?(SNO CHAR(10) PRIMARY K

9、EY,SNAMEvarCHAR2(8),BIRTHDAY DATE,DNO CHAR(3) REFERENCES T_DEPT_?(DNO);/* ALTER TABLE T_STUD_? ADD AGE NUMBER(2) 在修改時候用,去掉注釋即可 */* DROP TABLE T_ST_?;CREATE TABLE T_ST_?(SNO CHAR(10),SNAME CHAR(8),AGE NUMBER(2);在建觸發(fā)器時用,去掉注釋即可 */3.插入樣本數(shù)據(jù)/*要求有一個本人的數(shù)據(jù)記錄 */DELETE FROM T_STUD_?;DELETE FROM T_DEPT_?;INSERT

10、 INTO T_DEPT_? VALUES('D01','計(jì)算機(jī)系','王大明','88879626');INSERT INTO T_DEPT_? VALUES('D02','物理系','張大奔','88879726');INSERT INTO T_DEPT_? VALUES('D03','化學(xué)系','李水明','88879826');INSERT INTO T_DEPT_? VALUES('D0

11、4','管理系','歐陽衛(wèi)紅','88879926');INSERT INTO T_DEPT_? VALUES('D05','外語系','寬左右','88879526');INSERT INTO T_STUD_? VALUES('0909100524','胡明天',SYSDATE-365*21,'湖南長沙','D01');INSERT INTO T_STUD_? VALUES('0909100134

12、9;,'唐明海',SYSDATE-365*21,'湖南長沙','D01');INSERT INTO T_STUD_? VALUES('0909100224','張麗梅',SYSDATE-365*20,'湖南長沙','D01');INSERT INTO T_STUD_? VALUES('0909100324','李有能',SYSDATE-365*22,'湖南長沙','D02');INSERT INTO T_STUD_? V

13、ALUES('0909100424','王漢中',SYSDATE-365*22,'湖南長沙','D02');INSERTINTO T_STUD_? VALUES('0909100464','高 強(qiáng)',SYSDATE-365*21,' ','D02');INSERT INTO T_STUD_? VALUES('0909100474','JONE','SYSDATE-365*23,' ','D03')

14、;INSERT INTO T_STUD_? VALUES('0909100484','SMITH','SYSDATE-365*21,' ','D03');INSERT INTO T_STUD_? VALUES('0909100594','TOM HONE','SYSDATE-365*22,' ','D03');INSERT INTO T_STUD_? VALUES('0909100264','張 三', 'SYS

15、DATE-365*22,' ','D04');INSERT INTO T_STUD_? VALUES('0909100274','李 四', 'SYSDATE-365*21,' ','D04');INSERT INTO T_STUD_? VALUES('0909100284','王老五', 'SYSDATE-365*20,' ','D04');四、思考題1 改變表的名稱及數(shù)據(jù)類型再進(jìn)行相應(yīng)的操作。2 先刪除主表T_DEP

16、T_?,結(jié)果怎么樣?3 修改表中的字段類型與長度,考慮表中有數(shù)據(jù)或者沒數(shù)據(jù)情況。4 插入相同的學(xué)號與相同的系號會出現(xiàn)什么結(jié)果5 插入空的學(xué)號或空的系號會出現(xiàn)的結(jié)果6 改變數(shù)據(jù)庫的別名再進(jìn)行聯(lián)接(如有網(wǎng)絡(luò)版ORACLE)。五、實(shí)驗(yàn)報(bào)告要求1 實(shí)驗(yàn)內(nèi)容2 源程序清單3 回答思考題4 寫出在實(shí)驗(yàn)過程中遇到的問題及解決方法5 要求字跡端正、條理清晰、概念正確實(shí)驗(yàn)二、記錄查詢一、目的與要求本實(shí)驗(yàn)主要是熟悉在SQL*PLUS環(huán)境下進(jìn)行數(shù)據(jù)記錄查詢,其中查詢考慮簡單查詢,復(fù)雜查詢,嵌套查詢。二、操作環(huán)境同實(shí)驗(yàn)一。三、實(shí)驗(yàn)內(nèi)容1查詢所有學(xué)生記錄2查詢所有系的記錄,并按系號升序排列3.查詢有自己姓名的記錄4.查

17、詢李四的SNO,SNAME,BIRTHDAY5.查詢計(jì)算系所有的學(xué)生記錄6.查詢各計(jì)算系學(xué)生在各年齡值的人數(shù),如19的為200,20的有500等7.查詢李四的SNO,BIRTHDAY,DNO,DN,DEAN四、思考題1 查詢學(xué)生的記錄數(shù)。2 在DEPT_?中輸入不是8887開頭的電話記錄。3 查詢平均年齡小于22歲的系號及學(xué)生SNO,SNAME,AGE4 找出平均年齡大于20的系名及平均年齡數(shù)5 執(zhí)行教材上的多個查詢例子.五、實(shí)驗(yàn)報(bào)告要求1實(shí)驗(yàn)內(nèi)容2調(diào)試后的各命令清單3寫出思考題的語句4寫出在實(shí)驗(yàn)過程中遇到的問題及解決方法5要求字跡端正、條理清晰、概念正確實(shí)驗(yàn)三、SQL的數(shù)據(jù)操縱一、目的與要求

18、本實(shí)驗(yàn)主要是熟悉在SQL*PLUS環(huán)境下進(jìn)行數(shù)據(jù)記錄的修改、刪除及表結(jié)構(gòu)的修改二、操作環(huán)境同實(shí)驗(yàn)一。三、實(shí)驗(yàn)內(nèi)容1 在T_STUD中增加AGE NUMBER(2)/*年齡*/字段,并求出每個學(xué)生入校時的年齡。2 將T_STUD_?表中的08級學(xué)生的年齡都加33 將T_DEPT_?表中的計(jì)算機(jī)系改為信息科學(xué)與工程學(xué)院4 刪除07級以前的所有的學(xué)生記錄四、思考題1誤刪了T_STUD_?中的記錄,怎么辦?2怎么樣才能做到在一個語句中將學(xué)生的年齡加上相應(yīng)的學(xué)習(xí)年數(shù)(如08級加3,09級加2,10級加1,07級加4等)。3 建立與T_STUD_?對應(yīng)的表T_ST_?(SNO,SNAME,AGE/*年齡*

19、/),在T_ST_?輸入若干學(xué)號(在T_STUD_?中有的有幾個),然后將T_STUD_?中的SNAME,BIRTHDAY轉(zhuǎn)入到T_ST_?相應(yīng)的SNO,AGE(多表間的更新)。4 行教材上的更新(包括更新)的例子。五、實(shí)驗(yàn)報(bào)告要求1實(shí)驗(yàn)內(nèi)容2調(diào)試后的各命令清單3寫出思考題的解決辦法及相應(yīng)語句4寫出在實(shí)驗(yàn)過程中遇到的問題及解決方法5要求字跡端正、條理清晰、概念正確實(shí)驗(yàn)四、視圖及權(quán)限控制一、目的與要求本實(shí)驗(yàn)主要是熟悉在SQL*PLUS環(huán)境下進(jìn)行數(shù)據(jù)視圖及權(quán)限控制的操作。二、操作環(huán)境同實(shí)驗(yàn)一。三、實(shí)驗(yàn)內(nèi)容1 視圖的建立/* 視圖建立 */CREATE VIEW V_S_D_? AS SELECT

20、SNO,SNAME,T_STUD_?.DNO,DN,TEL FROM T_STUD_?,T_DEPT_?WHERE T_STUD_?.DNO=T_DEPT_?.DNO AND TO_CHAR(BIRTHDAY,'YYYY')>='1991'2對視圖進(jìn)行查詢3分別將對象的各種權(quán)限授予相應(yīng)的用戶假若已有用戶SCOTT(視系統(tǒng)實(shí)際情況),在SCOTT中看操作權(quán)限的變化。GRANT SELECT ON T_STUD_? TO SCOTT;/* GRANT INSERT ON T_STUD_? TO SCOTT; */* GRANT UPDATE(BIRTHDAY)

21、 ON T_STUD_? TO SCOTT; */* GRANT DELETE ON T_STUD_? TO SCOTT; */* GRANT SELECT ON V_S_D_? TO SCOTT; */四、思考題1在視圖V_S_D_?中只考慮信息09級,視圖將怎樣建立?2 如果用戶為DBA,還需要給授權(quán)嗎?3 考慮基于一個表、簡單條件的視圖的更新操作。4 考慮基于多表視圖的更新操作。5 設(shè)計(jì)與實(shí)現(xiàn)針對用戶的不同,建立視圖,只出現(xiàn)用戶本身的記錄提示:有用戶創(chuàng)建、表創(chuàng)建、視圖建立、權(quán)限控制、用戶聯(lián)接、查詢等操作五、實(shí)驗(yàn)報(bào)告要求1實(shí)驗(yàn)內(nèi)容2調(diào)試后的各命令清單3回答思考題并寫出相應(yīng)的語句4寫出在實(shí)驗(yàn)

22、過程中遇到的問題及解決方法6 要求字跡端正、條理清晰、概念正確實(shí)驗(yàn)五、數(shù)據(jù)庫觸發(fā)器與過程一、目的與要求本實(shí)驗(yàn)主要是熟悉在SQL*PLUS環(huán)境下數(shù)據(jù)庫觸發(fā)器的建立及作用,了解大型數(shù)據(jù)庫編程。二、操作環(huán)境同實(shí)驗(yàn)一。三、實(shí)驗(yàn)內(nèi)容1先建立表T_ST_?(SNO,SNAME,AGE)2建立觸發(fā)器CREATE OR REPLACE TRIGGER tg_STUD_TRG_?BEFORE INSERT OR UPDATE OR DELETE ON T_STUD_?FOR EACH ROWBEGIN/* 插入 */IF INSERTING THENINSERT INTO T_ST_?VALUES(:NEW.S

23、NO,:NEW.SNAME,(SYSDATE-:NEW.BIRTHDAY)/365);END IF;/* 修改 *IF UPDATING THENDELETE FROM T_ST_? WHERE SNO=:OLD.SNO;INSERT INTO T_ST_?VALUES(:NEW.SNO,:NEW.SNAME,(SYSDATE-:NEW.BIRTHDAY)/365);END IF;/* 刪除 */IF DELETING THENDELETE FROM T_ST_? WHERE SNO=:OLD.SNO;END IF;END.3驗(yàn)證觸發(fā)器的作用在T_STUD_?中輸入、修改、刪除數(shù)據(jù)時,查看T_ST_?表中的變化。4設(shè)計(jì)并調(diào)試過程(1)分系dno統(tǒng)計(jì)T_STUD_?表中各年齡的人數(shù)四、思考題1 如果在T_STUD_?中不允許修改SNO,觸發(fā)器將怎樣改進(jìn)?2 調(diào)試過程(1)中,如只要某系號dno的

溫馨提示

  • 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

提交評論