




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、oracle數據庫設計實驗指導書oracle 數據庫設計課程實驗一、本實驗課在培養實驗能力中的地位及作用oracle 數據庫設計是軟件工程專業的一門專業課。oracle數據庫是目前最流行的大型數據庫平臺之一,是一種極具前景的大型數據庫。該課程側重于oracle數據庫維護和管理知識的掌握以及實際應用oracle數據庫的能力的培養。本課程設置的目的是使學生通過本課程的學習逐漸全面了解oracle數據庫,并具有對大型數據庫數據庫進行安全、維護等的管理技能,同時能應用oracle數據庫進行數據庫結構的設計和數據庫應用系統的開發。二、應達到的實驗能力標準本實驗的教學目標是使學生掌握如何使用oracle
2、數據庫開發系統,了解數據庫設計及相關操作的基本概念與方法,進而學會建立與組織、操作數據庫。上機實驗的主要目標如下:(1)通過上機操作,加深對數據庫系統理論知識的理解。(2)通過使用具體的dbms,了解一種實際的數據庫管理系統并掌握其操作技術。(3)通過上機實驗,提高動手能力,提高分析問題和解決問題的能力。(4)通過上機實驗,提高動手能力,掌握大型數據庫實際應用與開發技巧。三、實驗要求學生在實驗課前認真做好預習,實驗結束及時提交電子版實驗報告。三、實驗成績考核方法實驗成績在課程總成績中占30%,包括平時每次實驗考核與最后一次實驗考試。實驗內容目錄實驗1 oracle常用工具的使用及數據庫的創建實
3、驗2 sql*plus基本命令實驗3 oracle存儲結構實驗4 數據對象的基本操作實驗5 數據的簡單查詢 實驗6 數據的高級查詢實驗7 pl/sql程序設計 實驗8 oracle 的存儲過程與觸發器實驗9 oracle數據庫安全、恢復與備份實驗10 oracle數據庫應用開發實驗1 常用工具的使用及數據庫的創建和管理實驗目的:1. 能熟練開啟oracle的服務,熟悉oracle的環境,以及常用的工具,主要包括sql*plus和企業管理器em;2. 通過對數據庫的物理文件以及內存參數的查看,結合課件,加深對oracle實例以及整個體系結構的了解;3. 能通過查詢數據字典視圖,了解數據庫里的信息
4、;4. 掌握oracle的用dbca創建數據庫,以及啟動和關閉數據庫的方法。實驗內容:1熟悉開啟計算機服務。到c:oracleproduct10.2.0db_1networkadmin,修改文件listener.ora和tnsnames.ora,把其中的host =中的改為你自己的機器名,保存這兩個文件。開啟服務:我的電腦,右鍵,管理,服務,開啟oracleserviceorcl和oracleoradb10g_home1tnslistener服務。這樣保證了服務器端監聽器能正確監聽,用服務器端的sql*plus能正確登錄.2查看oracle的安裝結果:注冊表,環境變量,目錄,以及服務注冊表:開
5、始運行 regedit查看如下選項:hkey_local_machinesoftware下的oracle選項hkey_local_machinesystemcurrentcontrolsetservices下的與oralce服務相關的選項。hkey_local_machinesystemcurrentcontrolsetserviceseventlogapplication下的oracle選項環境變量:我的電腦,右鍵,屬性,高級環境變量目錄:c:oracleproduct10.2.0 oraclehome找到自己機器上的數據庫物理文件,包括數據文件,日志文件,控制文件,初始參數文件,用記事本打
6、開參數文件看一下里面內容。 3用sql*plus連接到oracle數據庫, 開始程序oracle-oradb10g_home1應用程序開發sql*plus用戶名:sys 口令 orcl 主機字符串:orcl as sysdba 練習下面命令:(1)select * from v$parameter; /查詢數據庫的參數信息: 或者show parameter(2)show parameter sga / 用以下命令查看實例相應內存的大小(3)select * from v$bgprocess; /查看后臺進程:(4)練習把scott用戶加鎖或解鎖:alter user scott accoun
7、t unlock/lock;(5)conn scott/tigerorcl /改用scott登陸: select * from user_tables;desc empdesc dept(6)修改scott用戶密碼為mytiger: alter user scott identified by mytiger4通過portlist.ini文件查看http服務器所占用的端口號,并啟動oem(企業管理器與isqlplus)。(文件位置d:oracleproduct10.1.0db_1install目錄下的portlist.ini文件, 其url為http:/localhost:5560/isqlp
8、lus)。5通過客戶端的企業管理器查看oracle的信息: 實例/spfile中的參數/方案/表空間/數據文件/控制文件/日志文件 并嘗試建表。6使用dbca創建名為myoracle的數據庫。7在myoracle的數據庫,并創建一個學生表。8*啟動和關閉數據庫。熟悉startup與shutdown命令。9. 練習在命令行和windows環境下運行sql*plus的方法,并查看emp表中數據信息。10. 掌握兩個數據庫切換,如當前數據庫為orcl切換到myoracle數據庫。11. 掌握sys,sytem,scott用戶登陸以及幾個用戶之間切換,并用show user查詢當前用戶。12. 在sq
9、l提示符后面輸入下面的select語句,可以查看所有oracle數據庫的名稱和創建日期。 select name,created from v$database;實驗2 sql*plus基本命令實驗目的:1. 了解sql*plus 和isql*plus 工具的基本命令。2. 熟練掌握list、run(/)、edit、save、c、a、del、n 等常用命令。實驗內容:1查看scott.emp 的表結構所及所有記錄。2練習用edit命令編輯sql命令的方法。3查詢emp表中sal1200的記錄信息,用腳本保存到c:test.sql,并運行該腳本(用save與start完成)。4用spool命令把
10、emp表中sal1200信息輸出到d:ex1.txt文件中。 5使用替換變量查詢emp表中job為clerk且sal大于1200的記錄信息。6查詢scott.emp表中員工號與員工工資,要求在員工工資數值前加上本地貨幣符號。7查詢scott.emp表中員工信息,要求為查詢頁生成標題和注腳。標題名為“華夏員工信息”,顯示居中,注腳為“制作人:學生自己的姓名”。8可以用 list 命令來列出當前sql緩沖區中的第1行或2行到第3行命令語句。(命令:list n|n m|n *|n last|*|* n|* last|last)例:sql list1 select ename, deptno, jo
11、b2 from emp3 where job = clerk9查詢scott.emp表中員工工資在10002000記錄信息,使用命令行方式、sql緩沖區方式、腳本文件三種方式運行sql語句。10把select sal,sal*100 from emp語句中乘號( * )改為 加號( + )。即:用語句( c/*/+/ )11在當前行select sal,sal+100 from emp 后加 where sal=2000,顯示運行結果。12設置一行可容納的120個字符,顯示表emp的信息13設置每頁顯示的15行,顯示表emp的信息14設置列名員工號、員工姓名、工資,顯示emp表中信息。實驗3
12、oracle存儲結構實驗目的:1. 掌握oracle數據庫與實例概念;2. 掌握oracle數據庫的物理存儲;3. 掌握oracle數據庫的邏輯存儲。實驗內容:1使用sql命令創建一個本地管理方式下的自動分區管理的表空間usertbs1,其對應的數據文件大小為20mb。2修改usertbs1表空間的大小,將該表空間的數據文件修改為自動擴展方式,最大值為100mb。3為usertbs1表空間添加一個數據文件,以改變該表空間的大小。4刪除表空間usertbs1,同時刪除該表空間的內容以及對應的操作系統文件。 5查詢當前數據庫中所有的表空間及其對應的數據文件信息。6為users表空間增加一個數據文件
13、,文件名為userdatao3.dbf,大小為50m。7修改users表空間中的userdatao3.dbf為自動擴展方式,每次擴展5mb,最大為100mb。8將users表空間中的userdatao3.dbf更名為userdatao4.dbf。9為數據庫添加一個重做日志文件組,組內包含兩個成員文件,分別為redo4a.log和redo4b.log,大小為分別為5mb.10為新建的重做日志文件組添加一個成員文件,名稱為redo4c.log。11將數據庫設置為歸檔模式,并采用自動歸檔方式。實驗4 表的基本操作實驗目的:1. 掌握oracle表的創建與基本操作;2. 掌握表的約束類別、及各個約束的
14、應用;3. 掌握索引、索引化表、分區、視圖、序列、同一詞功能。實驗內容:1在orcl數據庫中創建一個名為student2的表,要求:(sno char(6) not null, sname char(10) not null, ssex char(2) not null, birthday date not null, polity char(20),sdept char(20),其中表中字段滿足:sno設置為主鍵,sname字段設置惟一性約束;2將student2表的ssex設置檢查性約束,要求ssex只能為m或f,polity字段設置默認約束,值為群眾3在orcl數據庫中創建一個名為cou
15、rse2的表(cno, cname, teacher, class)。4創建一個學生選課表sc2(sno char(6) not null,cno char(10) not null,grade real).將sc表創建外鍵約束,把sc表的sno和student表的sno關聯起來,在這兩個表之間創建一種制約關系。 5利用insert語句向student2表中插入一條新的記錄:(0007,張三,m,to_date(1982-3-21, yyyy-mm-dd),團員,計算機系)6利用update語句將編號為0004的學生polity改為黨員:7利用delete語句將英語成績大于90的同學記錄刪除。
16、8創建一個student_list表(列、類型與student表的列、類型相同)按學生性別分為兩個區。9*創建一個class_number簇,聚簇字段名為cno,類型為number(2)。然后利用該簇,創建student和class表。10為scott模式下的emp表創建一個公共同義詞,名稱為employee2.11創建一個視圖,包含數據為軟件工程系學生的考試成績。12用創建一個users表,按照下面表所示,設計表的結構,并且在usertype字段必須大于0且小于3,在userpwd字段的默認值為111111。編 號字 段 名 稱數 據 結 構說 明1useridnumber用戶編號2user
17、namevarchar2 40用戶名3usertypenumber 1用戶類型(1表示管理用戶,2表示普通用戶)4userpwdvarchar2 40密碼13創建序列user_s,該序列為1-1000之間整數,自動增加1。使用該序列向表users中插入2條新的記錄。實驗5 數據的簡單查詢實驗目的:1. 掌握select 語句的基本語法;2. 掌握子查詢及order by 子句與group by用法;3. 掌握select 語句的統計函數的作用和使用方法;實驗內容:1針對student表查詢所有學生的基本信息,并按出生日期升序排列。2針對student表查詢女同學的平均年齡和女同學的人數。3在s
18、tudent表中查詢所有男同學的年齡。4在student表中,(1) 查詢劉姓學生的信息;(2) 查詢polity為團員或黨員的學生信息。5在sc表中,(1) 查詢各門課程的選課人數; (2) 查詢缺少成績的學生的學號及課程號。6查詢與劉成同一個系的學生情況。7查詢選修了課程名為mis的學生的學號和姓名8查詢姓是”周”,”吳”,”鄭”,”王”的男學生數量。9統計每個系的001號課程考試平均分,并按從高到低排序。10針對student、sc、course三張表所有選課學生的姓名、選修課程名及成績。11. 查出不及格學生的姓名。12查詢缺考學生的姓名。13查詢每個學生基本情況及其所選課程號和成績(
19、沒選課的學生其課程號及成績為空)。14查詢比王軍的數學成績都高的學生的檔案信息(嵌套查詢)。15查詢計算機系的選課成績大于85分的學生信息(嵌套查詢)。 注:求年齡公式:trunc(sysdate-birthday)/365)實驗6 數據的高級查詢實驗目的:1. 掌握表中數據的查詢方法及操作方法2. 掌握連接查詢與嵌套查詢的方法實驗內容:在oracle數據庫scott模式下的emp表和dept表,完成下列操作:1查詢至少有一個員工的所有部門。2查詢薪金比“smith”多的所有員工。3查詢所有員工的姓名及其直接上級的姓名。4查詢受雇日期早于其直接上級的所有員工。5查詢部門名稱和這些部門的員工信息
20、,同時查詢那些沒有員工的部門。6查詢所有“clerk”(辦事員)的姓名及其部門名稱。7查詢最低薪金大于1500的各種工作。8查詢在部門“sales”(銷售部)工作的員工的姓名,假定不知道銷售部的部門編號。9查詢薪金高于公司平均薪金的所有員工。10查詢與“scott”從事相同工作的所有員工。11查詢薪金等于部門30中員工的薪金的所有員工的姓名和薪金。12查詢薪金高于在部門30工作的所有員工的薪金的員工姓名和薪金。13查詢在每個部門工作的員工數量、平均工資和平均服務期限。14查詢所有員工的姓名、部門名稱和工資。15查詢所有部門的詳細信息和部門人數。16查詢各種工作的最低工資。17查詢各個部門的ma
21、nager(經理)的最低薪金。18查詢所有員工的年收入,按年薪從低到高排序。補充:已知emp表和dept表的結構說明如下:emp員工表(empno員工號/ename員工姓名/job工作/mgr上級編號/hiredate受雇日期/sal薪金/comm傭金/deptno部門編號)dept部門表(deptno部門編號/dname部門名稱/loc地點)工資 薪金 傭金 實驗7 pl/sql程序設計實驗目的:1. 掌握sql 語言流程控制結構;2. 掌握游標的使用;實驗內容:1編寫一個pl/sql塊,輸出所有員工的員工名、員工號、工資和部門號2為工資小于2000元的員工增加200元。(用if語句)3輸入
22、一個員工號,修改該員工的工資,如果該員工為10號部門,工資增加100;若為20號部門,工資增加150;若為30號部門,工資增加200;否則增加300。用if語句完成4 執行create table temp_table(num_col number,info_col char(10) 語句創建temp_table表,然后利用循環向temp_table表中插入50條記錄。見課件.5根據輸入的員工號,修改該員工工資。如果該員工工資低于1000,則工資增加200;如果工資在1000-2000之間,則增加150;如果工資在2000-3000之間,則增加100;否則增加50。6根據輸入的部門號查詢某個部
23、門的員工信息,部門號在程序運行時指定。(用游標)。7利用while循環統計并輸出各個部門的平均工資。 8修改員工的工資,如果員工的部門號為10,工資提高100;部門號為20,工資提高150;部門號為30,工資提高200;否則工資提高250。(用游標完成)。9使用游標提取部門員工的姓名和工資。10修改員工號為1200的員工工資,將其工資提高100;如果該員工不存在,則向emp表中插入一個員工為號1200,工資為2000的員工。實驗8 oracle的存儲過程與觸發器實驗目的:1. 掌握oracle 的存儲過程與函數2. 掌握oracle 的觸發器實驗內容:1創建一個函數,以員工號為參數,返回該員工
24、的工資。2創建一個存儲過程,以部門號為參數,查詢該部門的平均工資,并輸出該部門中比平均工資高的員工號、員工名。3創建一個存儲過程,以部門號為參數,返回該部門的人數和最高工資。4創建一個以部門號為參數,返回該部門最高工資的函數。5創建一個觸發器,禁止在休息日改變雇員信息。6為emp表創建一個觸發器,當執行插入操作時,統計操作后員工人數;當執行更新工資操作時,統計更新后員工平均工資;當執行刪除操作時,統計刪除后各個部門的人數。7創建一個insert觸發器,當在student表中插入一條新記錄時,給出你已經插入了一條新記錄!的提示信息。8創建一個insert觸發器,當在student表中插入一條新記
25、錄時,不允許在學號中出現重復的編號或出現空值。9創建一個insert觸發器,當在sc表中插入一條新記錄時,sno和cno必須是已經存在的學號和課程號,且grade應該在0-100之間。10創建一個after觸發器,在student表中刪除某學生的記錄時,刪除其相應的選課記錄。11創建一個instead of 觸發器,當在course表中上刪出記錄時,不允許刪除course表中的數據。12為emp表創建一個觸發器,保證修改員工工資時,修改后的工資低于該部門最高工資,同時高于該部門的最低工資。p363實驗9 oracle的數據庫安全、恢復與備份實驗目的:1. 掌握oracle數據庫的完整性約束;2. 掌握oracle 的恢復與備份,數據的導入與導出;3. 掌握oracle 的安全與權限。實驗內容:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 采煤方法及工藝 爆破采煤工藝
- 高中思想政治議題式教學課堂評價設計
- 挫折與逆境心理健康課件
- 睡眠障礙的護理課件
- 2024年數控刃磨床資金籌措計劃書代可行性研究報告
- 睡眠心理健康活動課件
- 2025年企業可持續發展目標(SDGs)下的綠色創新案例集
- 10古詩三首石灰吟教學設計20242025學年語文六年級下冊統編版
- 2025年農業生物技術在農業生物抗逆性材料種業創新中的應用:基因編輯與耐旱性突破報告
- 上海海事大學工程熱力學課件第13章 濕空氣
- 七年級數學下冊 第二學期 期末測試卷(蘇科版 2025年春)
- 高級私人馬術俱樂部會員權益協議
- 《路徑規劃算法》課件
- 弱電工程施工方案和施工措施
- 大學生體能訓練知到智慧樹章節測試課后答案2024年秋華中農業大學
- 醫院機電安裝工程施工方案
- 金融貸款邀約技巧
- 鎢礦開采行業研究報告
- 血透護理記錄書寫規范
- 高血壓性心臟病護理
- 【MOOC】大學物理(熱學、振動波、光學、近代物理)-東北大學 中國大學慕課MOOC答案
評論
0/150
提交評論