數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)課實(shí)驗(yàn)報(bào)告_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)課實(shí)驗(yàn)報(bào)告_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)課實(shí)驗(yàn)報(bào)告_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)課實(shí)驗(yàn)報(bào)告_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)課實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)報(bào)告學(xué)號(hào)姓名實(shí)驗(yàn)時(shí)間實(shí)驗(yàn)名稱(chēng)Oracle環(huán)境及數(shù)據(jù)庫(kù)創(chuàng)建實(shí)驗(yàn)學(xué)時(shí)2準(zhǔn)備材料1。Oracle 10G介紹資料2。SQL Plus命令手冊(cè)3。Oracle數(shù)據(jù)字典擴(kuò)展實(shí)驗(yàn)1. 使用企業(yè) 管理器登錄Oracle服務(wù)器,觀察系統(tǒng)架構(gòu)及數(shù)據(jù)庫(kù)2. 使用OEM創(chuàng)建、刪除數(shù)據(jù)庫(kù)此部分內(nèi)容不要求在實(shí)驗(yàn)至兀成,不用與入實(shí)驗(yàn)報(bào)口。實(shí)驗(yàn)環(huán)境Oracle 9i(及以上版本)服務(wù)器SQL Plus/ SQL Plus work sheet客 戶端實(shí)驗(yàn)?zāi)康?。了解oracle系統(tǒng)架構(gòu)2。熟悉SQL Plus環(huán)境實(shí)驗(yàn)內(nèi)容 及步驟1. 使用SQL Plus Worksheet登錄數(shù)據(jù)庫(kù)系統(tǒng)(用戶名密碼由教師指

2、定)2。瀏覽SQL Plus環(huán)境設(shè)置命令,并完成下列操作:(1) 察看SQL Plus環(huán)境參數(shù)(2) 設(shè)置輸出頁(yè)面的大小,每列字符數(shù)120每頁(yè)行數(shù)100,觀察設(shè) 置結(jié)構(gòu)(3) 設(shè)置顯示每個(gè)sql語(yǔ)句花費(fèi)的執(zhí)行時(shí)間,并觀察實(shí)驗(yàn)結(jié)果(4) 在SQL Plus中執(zhí)行操作系統(tǒng)命令,例如copy文件、顯示目錄等,觀察結(jié)果。(5) 設(shè)置將系統(tǒng)輸出數(shù)據(jù)寫(xiě)入文件c:textoutputo txt,執(zhí)行多個(gè)命令后觀察文件內(nèi)容.3o顯示系統(tǒng)信息(1) 顯示用戶信息(2) 顯示數(shù)據(jù)庫(kù)版本信息(3)顯示數(shù)據(jù)庫(kù)中所有表的名稱(chēng) 顯示系統(tǒng)中某張表的結(jié)構(gòu)信息(如EMP表)(4)顯示數(shù)據(jù)庫(kù)中某張表的數(shù)據(jù),如EMP表4o 建立磁

3、盤(pán)乂本乂件 testcommand。sql,乂件內(nèi)與入兒條 SQL命令, 執(zhí)行此文件,并觀察執(zhí)行結(jié)果。出現(xiàn)問(wèn)題解決方案(列出遇到的問(wèn)題及其解決方法)數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)報(bào)告二學(xué)號(hào)姓名實(shí)驗(yàn)時(shí)間實(shí)驗(yàn)名稱(chēng)數(shù)據(jù)庫(kù)模式管理實(shí)驗(yàn)學(xué)時(shí):4準(zhǔn)備材料1。SQL Plus命令手冊(cè)2。Oracle數(shù)據(jù)字典3。Oracle中的數(shù)據(jù)類(lèi)型擴(kuò)展實(shí)驗(yàn)1. 掌握在企業(yè)管理器(或其它圖形界面的數(shù)據(jù)庫(kù)操作工具)中進(jìn)行 表、索引的創(chuàng)建和管理的方法。2。利用企業(yè)管理器(或其它圖形界面的數(shù)據(jù)庫(kù)操作工具)觀察數(shù) 據(jù)庫(kù)的物理模式。(此部分內(nèi)容不要求在實(shí)驗(yàn)至兀成,不用與入實(shí)驗(yàn)報(bào)口。)實(shí)驗(yàn)環(huán)境Oracle 9i(及以上版本)服務(wù)器SQL Plus/

4、SQL Plus work sheet客 戶端實(shí)驗(yàn)?zāi)康?. 掌握使用SQL語(yǔ)句進(jìn)行表的創(chuàng)建和管理的方法2. 加深對(duì)關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)和數(shù)據(jù)完整性等概念的理解實(shí)驗(yàn)內(nèi)容 及步驟1. 創(chuàng) 建書(shū)上un iversity 數(shù)據(jù)庫(kù)中所有的表(stude nt, course, department, takes, instructor, advisor prereq, teaches, classroom section, timeslot),按書(shū)上要求設(shè)置每張表的主鍵、外鍵,表中每 個(gè)字段的類(lèi)型、長(zhǎng)度由學(xué)生自己確定。2. 使用命令完成下列扣作(1)查找用戶所有表的表名(2)查看每張表的結(jié)構(gòu)(要求把每張表的結(jié)

5、構(gòu)截圖放到實(shí)驗(yàn)報(bào)告中)(3)查看表takes的約束信息3. 修改表結(jié)構(gòu)(1)在instructor表中增加列存儲(chǔ)教師家庭地址,其地址包括省、市、 區(qū)、街道、門(mén)牌號(hào)等列,列的數(shù)據(jù)類(lèi)型自己給出,列允許為空。 對(duì)student表中的姓名字段長(zhǎng)度都改為10,設(shè)置是否成功?原因 是什么?將該字段長(zhǎng)度改為50,能否成功?說(shuō)明原因。(3)為student表中tot_cred列設(shè)置默認(rèn)值 0,插入一個(gè)Comp. Sci。 系的新學(xué)生,且不給其tot_cred列賦值,觀察結(jié)果。 student表中tot cred列是對(duì)總學(xué)分的統(tǒng)計(jì),現(xiàn)在數(shù)據(jù)庫(kù)中沒(méi)有 記錄哪些學(xué)生已選修課程學(xué)分已累加,哪些課程的學(xué)分還沒(méi)有累力。設(shè)

6、計(jì)一種方案記錄已累加課程,防止出現(xiàn)重復(fù)累加的情況。 或者設(shè)計(jì)一種方案簡(jiǎn)化總學(xué)分的計(jì)算過(guò)程。(5)刪除takes表上對(duì)student表ID的外鍵約束,查看此約束已刪除。添加一個(gè)不存在的學(xué)生(id= 201400320100選修 course_id為CS00T的課程,并給他一個(gè)成績(jī)(成績(jī)值為A B, C,D, E或 F).再添加takes表是對(duì)student表ID的外鍵約束,觀察并解釋 實(shí)驗(yàn)結(jié)果。(6)設(shè)置takes表ID, course id, sec id三個(gè)字段非空,是否能設(shè)置成功,對(duì)插入數(shù)據(jù)有沒(méi)有影響?刪除takes表主鍵約束,增加某同學(xué)選同一門(mén)課程 (id, couese id, sec

7、 id, semester year, grade都相同)的信息,能否插入成功?解釋原因。4. 參照表student建立一張空表 studentl。要求用兩種方法頭現(xiàn) (create table; create table as )。5. 增加section表上的約束條件,要求所輸入section的年號(hào)不大于當(dāng)前年號(hào)+1,且不小于當(dāng)前年號(hào)-2。插入一條2009年秋CS-101開(kāi) 設(shè)課的信息,觀察并解釋實(shí)驗(yàn)結(jié)果6. 選擇某個(gè)約束,分別設(shè)置其有效、失效,觀察區(qū)別。出現(xiàn)問(wèn)題沒(méi)有問(wèn)題解決方案(列出遇到的問(wèn)題及其解決方法)數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)報(bào)告三學(xué)號(hào)姓名實(shí)驗(yàn)時(shí)間實(shí)驗(yàn)名稱(chēng)數(shù)據(jù)查詢實(shí)驗(yàn)學(xué)時(shí)4準(zhǔn)備材料1. SQL

8、 Plus命令手冊(cè)2. Oracle數(shù)據(jù)字典擴(kuò)展實(shí)驗(yàn)1. 利用企業(yè)管理器的圖形界面構(gòu)造查詢語(yǔ)句,并察看查詢結(jié)果2. 利用企業(yè)管理器完成視圖、索引的創(chuàng)建與使用。3. 利用DBMS進(jìn)行對(duì)第三章習(xí)題所設(shè)計(jì) SQL語(yǔ)句的檢查 (此部分內(nèi)容不要求在實(shí)驗(yàn)室完成,不用寫(xiě)入實(shí)驗(yàn)報(bào)告 .)實(shí)驗(yàn)環(huán)境Oracle 9i(及以上版本)服務(wù)器SQL Plus/ SQL Plus work sheet客 戶端實(shí)驗(yàn)?zāi)康? 掌握使用SQL語(yǔ)句進(jìn)行數(shù)據(jù)查詢的方法2. 掌握視圖的創(chuàng)建與使用方法3。觀察索引的使用效果實(shí)驗(yàn)內(nèi)容 及步驟1.執(zhí)行文件ddl+drop。sql,創(chuàng)建數(shù)據(jù)庫(kù)University中所有表.執(zhí)行文件 smallR

9、elationsInsertFile.sql,插入實(shí)驗(yàn)數(shù)據(jù)。2。使用University數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)結(jié)構(gòu)和數(shù)據(jù)(smallRelations即 可),完成下列查詢:(1) Find the n ames of courses in Computer scie nee departme nt which have 3 credits(2) For the student with ID 12345 (or any other value), show all course_id and title of all courses registered for by the student.(3)

10、 As above, but show the total number of credits for such courses(taken by that student)。 Don tdisplay the tot_creds value from the stude nt table you should use SQL aggregati on on courses take n by th stude nt.(4) As above, but display the total credits for each of the stude nts along with the ID o

11、f the stude nt;dont bother about the n ame of the stude nt。 (Dont bother about stude nts who have not registered for any course, they can be omitted)(5) Find the names of all students who have taken any Comp。 Sci. course ever (there should be no duplicate n ames)(6) Display the IDs of all in structo

12、rs who have n ever taught a couse (Notes 1) Oracle uses the keyword minus in place of except; 2) interpret” taught ” as ” taught or is scheduled to teach(7) As above, but display the names of the instructors also not just the IDs.(8) Fi nd the maximum and minimum en rollme nt across all sect ions, c

13、onsidering only sections that had some enrollment, dont worry about those that had no stude nts tak ing that sect ion(9) As in Question (8), but now also include sections with no students tak ing them; the en rollme nt for such sect ions should be treated as 0. Do this in two differe nt ways (and cr

14、eate require data for test ing 1). Using a scalar subquery 2) . Using aggregation on a left outer join (use the SQL n atural left outer jo in syn tax)(10) Find all courses whose identifier starts with the string -101”(11) Find instructors who have taught all the above courses) Using the not exists .

15、。 except .。 structure 2)。 Using matching of counts which we covered in class (dont forget the disti net clause)3. The uni versity rules allow an F grade to be overridde n by any pass grade (A, B, C, D). Now , create a view that lists information about all fail grades that have not been overridden (t

16、he view should contain all attributes from the takes relatio n)4. Find all stude nts who have 2 or more non-o verridde n F grades as per the takes relation, and list them along with the F出現(xiàn)問(wèn)題解決方案(列出遇到的問(wèn)題及其解決方法)CS數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)報(bào)告四學(xué)號(hào)姓名實(shí)驗(yàn)時(shí)間實(shí)驗(yàn)名稱(chēng)表數(shù)據(jù)管理實(shí)驗(yàn)學(xué)時(shí)2準(zhǔn)備材料1。SQL Plus命 令手冊(cè)2. Oracle數(shù)據(jù)字典擴(kuò)展實(shí)驗(yàn)1. 利用企業(yè)管理器的圖形界面輸入數(shù)據(jù)2

17、. 利用企業(yè)管理器或PL SQL Developer導(dǎo)入、導(dǎo)出TXT文檔、Excel 表格中的數(shù)據(jù)。(此部分內(nèi)容不要求在實(shí)驗(yàn)至兀成,不用與入實(shí)驗(yàn)報(bào)口。)實(shí)驗(yàn)環(huán)境Oracle 9i(及以上版本)服務(wù)器SQL Plus/ SQL Plus work shee客 戶端實(shí)驗(yàn)?zāi)康? 掌握使用SQL語(yǔ)句對(duì)表進(jìn)行插入、修改和刪除數(shù)據(jù)的操作。2。掌握索引創(chuàng)建與使用方法實(shí)驗(yàn)內(nèi)容 及步驟1。執(zhí)行文件ddl+drop。sql,創(chuàng)建數(shù)據(jù)庫(kù)University中所有表.執(zhí)行文 件 smallRelationslnsertFile。sql,插入實(shí)驗(yàn)數(shù)據(jù)。2。刪除departmen表中卩hysics記錄,觀祭能否成功刪除.

18、若不能刪除, 說(shuō)明原因。若能刪除,觀察有外關(guān)聯(lián)的表中數(shù)據(jù)的變化。3。插入一門(mén)新課,課程名“Weeklyseminar,課號(hào)CS 001,由 Engin eeri ng departme n開(kāi)出,學(xué)分1,觀察實(shí)驗(yàn)結(jié)果,說(shuō)明原因.4。 調(diào)整各系員工工資,原工資50000的增加10%,否則 增加6%, 觀察結(jié)果。5。 第3小題新插入的課程課程名 Weeklyseminar課號(hào)CS 001,改 為由Comp. Scio 開(kāi)出,重新插入到course表中。觀察實(shí)驗(yàn)結(jié)果,說(shuō) 明原因。6o假設(shè)全體Comp。Sci.學(xué)生都要選課“ Weeklyseminar ”且課程要 2013年秋季學(xué)期開(kāi)出,增加課程開(kāi)出信

19、息、選課信息.7.刪除學(xué)生Brow的“Weekly semina課程的選課記錄。8o假設(shè)學(xué)期末,教師給出課程“Weeklyseminar的選課學(xué)生成績(jī)單, 請(qǐng)依據(jù)選課成績(jī)給出每個(gè)學(xué)生學(xué)分。9。 將學(xué)生表中學(xué)分 tot cred100的學(xué)生選出來(lái)放進(jìn)對(duì)應(yīng)系的instructor表中,工資設(shè)置為10000。10. 找出并刪除所有未被開(kāi)出過(guò)的課程11. 在表takeshcourse_id字段創(chuàng)建索引,觀祭查詢速度變化。12. 在takes表course_ic字段上創(chuàng)建索引,試一試能否創(chuàng)建唯一性索 引?出現(xiàn)問(wèn)題解決方案(列出遇到的問(wèn)題及其解決方法)數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)報(bào)告五學(xué) 號(hào)姓名實(shí)驗(yàn)時(shí)間實(shí) 驗(yàn) 名 稱(chēng)權(quán)

20、限與事務(wù)管理實(shí)驗(yàn)學(xué)時(shí)2準(zhǔn)備材料1. SQL Plus命令手冊(cè)2。Oracle數(shù)據(jù)字典擴(kuò) 展 實(shí) 驗(yàn)1。利用企業(yè)管理器的圖形界面進(jìn)行創(chuàng)建用戶、角色并進(jìn)行管理2. 利用企業(yè)管理器的圖形 界面完成對(duì)數(shù)據(jù)操縱權(quán)限的授權(quán)與回收工作(此部分內(nèi)容不要求在實(shí)驗(yàn)至兀成,不用與入實(shí)驗(yàn)報(bào)口。)實(shí) 驗(yàn) 環(huán) 境Oracle 9i (及以上版本)服務(wù)器SQL Plus/ SQL Plus work sheet客 戶端實(shí) 驗(yàn) 目 的1 掌握權(quán)限管理語(yǔ)句與視圖進(jìn)行安全性控制的方法實(shí) 驗(yàn) 內(nèi) 容 及 步 驟每?jī)蓚€(gè)同學(xué)一組,自由組合完成下列操作要求(使用grant, revoke語(yǔ)句和視圖):1. 執(zhí)行教師提供的命令文件,建立

21、university數(shù)據(jù)庫(kù),并輸入數(shù)據(jù)。2. 同學(xué)A設(shè)置同學(xué)B對(duì)A.course表具有查詢權(quán)限,對(duì)A.instructor表中salary字 段具有更新權(quán)限;同學(xué)B查看元數(shù)據(jù)表,查找自己被子授權(quán)使用的數(shù)據(jù)。3. 同學(xué)B授權(quán)同學(xué)A對(duì)B. instructor表具有插入數(shù)據(jù)、刪除數(shù)據(jù)的權(quán)限,同學(xué)A用命令試驗(yàn)?zāi)芊裢瓿上鄳?yīng)操作。4. 同學(xué)A授權(quán)同學(xué)B,對(duì)A。student表具有修改表結(jié)構(gòu)的權(quán)限,同學(xué) B得到修改 表結(jié)構(gòu)的命令驗(yàn)證授權(quán)是否成功.5. 同學(xué)B授權(quán)同學(xué)A對(duì)B. student表具有增、刪、改、查的權(quán)限,并允許他將權(quán) 限授權(quán)給其它同學(xué)。同學(xué)A驗(yàn)證授權(quán)是否成功,并試驗(yàn)?zāi)芊駥?quán)限授予其它同學(xué)(例如

22、同學(xué)C)。6. 同學(xué)A收回授權(quán)同學(xué)B的student表上的所有權(quán)限,同學(xué)B驗(yàn)證是否回收成功.7. 同學(xué)A通過(guò)視圖授權(quán)同學(xué)B具有察看每個(gè)部門(mén)職工最高、最低、平均工資的權(quán) 限,但不允許他察看每個(gè)人的工資.同學(xué)B驗(yàn)證授權(quán)是否成功.8. 同學(xué)A、B撤銷(xiāo)所有已授給對(duì)方的權(quán)限,如果同學(xué)C從同學(xué)A得到對(duì)同學(xué)Bstudent表的訪問(wèn) 權(quán)限,察看其權(quán)限是否一并收回。9. 事務(wù)查看 使用如下命令,查看當(dāng)前事務(wù)、會(huì)話情況:(1)show parameter processes ;show parametersession ;(2)select name, type, value ,display_value, is

23、ses_modifiable ,issys_modifiablefrom v$ parameterwhere name= sessions ;select n ame, type, value ,display_value, isses_modifiable, issys_modifiablefrom v $ parameterwhere name= processes ;SELECT 衣 FROMV $ SESSIONWHERE USERNAME=ORDER BY LOGON_TIME, SID ;SELECT P.SPID, S.SID, S 。SERIAL #FROMV$PROCESS

24、PINNER JOIN V $ SESSION S ON P。ADDR = S.PADDRWHERES。AUDSID=USERENV (SESSIONID );注:此表可能學(xué)生沒(méi)有權(quán)限查看,如果有興趣,在自己電腦上試試。10. 事務(wù)提交方式有三種:顯式提交 隱式提交和自動(dòng)提交。SQL PLUS中可通過(guò)命令可進(jìn) 行提交方式設(shè)置,設(shè)置不同提交方式。事務(wù)命令有: BEGIN TRANSACTION、COMMIT、ROLLBACK、SAVEPOINT、RELEASESAVEPOINT、SET ISOLATION LEVEL事務(wù)隔離級(jí)別:離層錯(cuò)讀丨臟讀非重復(fù)讀取丨不可重復(fù)讀假讀丨幻讀READ UNCOM

25、MITTED(非提交讀)是是是READ COMMITTED(提交讀)否是是Repeatable READ (可重復(fù)讀)否否是Serializable (串行讀)否否否Oracle 只支持 ead committed 、serializable 禾口 Repeatable READ 三種,不支持 READUNCOMMITTED。完成下列和事務(wù)相關(guān)的操作:(1)修改事務(wù)隔離級(jí)另廿(Set transaction isolation level read committed、 Settransaction isolation level serializable) , AB 兩同學(xué)一起操作同一張表,A。instructor,B同學(xué)修改數(shù)據(jù),A同學(xué)查詢數(shù)據(jù),查看在什么情況下可查看到 B同學(xué)剛剛修改的數(shù)據(jù)。|(2) 設(shè)置自動(dòng)提交,A、B冋學(xué)冋時(shí)操作冋一張表的數(shù)據(jù),察看是否可看到最新修改結(jié)果。(3) B冋學(xué)設(shè)置SAVEPOINT,進(jìn)行數(shù)據(jù)操作、rollback到該savepoint,A冋學(xué)在各個(gè)步驟察看數(shù) 據(jù)變化情況在不同隔離級(jí)別下執(zhí)行相同操作,察看數(shù)據(jù)的不同點(diǎn)出 現(xiàn) 問(wèn) 題解 決 方 案(列出遇到的問(wèn)題及其解決方法)數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)報(bào)告六學(xué)號(hào)姓名實(shí)驗(yàn)時(shí)間實(shí)驗(yàn)名稱(chēng)存儲(chǔ)過(guò)程、函數(shù)和事務(wù)實(shí)驗(yàn)學(xué)時(shí)2準(zhǔn)備材料1. SQL Plus命令手冊(cè)2. PL/SQ

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論