




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第1章 關(guān)系數(shù)據(jù)庫與SQL語言環(huán)境1.1 關(guān)系數(shù)據(jù)庫的基本概念1.2 SQL*Plus環(huán)境1.3 Oracle的應用開發(fā)工具TOAD1.4 操作準備1.5 階段訓練1.6 練習ORACLE 10g1.1 關(guān)系數(shù)據(jù)庫的基本概念1.1.1 數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫是在計算機上組織、存儲和共享數(shù)據(jù)的方法,數(shù)據(jù)庫系統(tǒng)是由普通的文件系統(tǒng)發(fā)展而來的。數(shù)據(jù)庫系統(tǒng)具有較高的數(shù)據(jù)獨立性,即不依賴于特定的數(shù)據(jù)庫應用程序;數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)冗余小,可以節(jié)省數(shù)據(jù)的存儲空間;另外數(shù)據(jù)庫系統(tǒng)還很容易實現(xiàn)多個用戶的數(shù)據(jù)共享。ORACLE 10g 數(shù)據(jù)庫系統(tǒng)成熟的標志就是數(shù)據(jù)庫管理系統(tǒng)的出現(xiàn)。數(shù)據(jù)庫管理系統(tǒng)(DataBa
2、se Managerment System,簡稱DBMS)是對數(shù)據(jù)庫的一種完整和統(tǒng)一的管理和控制機制。數(shù)據(jù)庫管理系統(tǒng)不僅讓我們能夠?qū)崿F(xiàn)對數(shù)據(jù)的快速檢索和維護,還為數(shù)據(jù)的安全性、完整性、并發(fā)控制和數(shù)據(jù)恢復提供了保證。數(shù)據(jù)庫管理系統(tǒng)的核心是一個用來存儲大量數(shù)據(jù)的數(shù)據(jù)庫。ORACLE 10g一個真正的數(shù)據(jù)庫系統(tǒng)由硬件和軟件兩個方面構(gòu)成。比如我們要使用Oracle數(shù)據(jù)庫,需要安裝Oracle公司提供的數(shù)據(jù)庫服務器軟件和一臺用于安裝數(shù)據(jù)庫管理系統(tǒng)的高性能的計算機服務器。數(shù)據(jù)庫系統(tǒng)的發(fā)展經(jīng)歷了層次模型、網(wǎng)狀模型及關(guān)系模型幾個階段。當今應用最普遍的是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。目前,市場上流行的幾種大型數(shù)據(jù)庫,如
3、Oracle、DB2、Sybase、MS SQL Server等都是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。Oracle數(shù)據(jù)庫是一種面向?qū)ο蟮年P(guān)系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS),是基于標準SQL語言的數(shù)據(jù)庫產(chǎn)品。ORACLE 10g例如一個有代表性的信息檢索網(wǎng)站,通常都是一個典型的基于大型數(shù)據(jù)庫的WEB應用。很多這樣的網(wǎng)站都采用Oracle的數(shù)據(jù)庫服務器,以獲得優(yōu)越的性能。圖1-1給出了典型的WEB數(shù)據(jù)庫應用系統(tǒng)的結(jié)構(gòu)示意圖。ORACLE 10g圖1-1 WEB數(shù)據(jù)庫應用示意圖ORACLE 10g 有效地搜集和表示組織的信息需求。 提供一個容易理解的系統(tǒng)描述圖。 易于開發(fā)和提煉。 明確定義了信息需求的范圍。
4、將業(yè)務需求信息與業(yè)務執(zhí)行活動分開。根據(jù)業(yè)務說明或描述創(chuàng)建實體關(guān)系圖。 ORACLE 10g現(xiàn)實世界信息世界機器 世界概念模型數(shù)據(jù)模型ORACLE 10g概念模型- ER模型基本概念是現(xiàn)實世界到機器世界的一個中間層次,概念模型中最常用的是ER模型,介紹ER模型(實體聯(lián)系)中的主要概念。實體(Entity):客觀存在并可以相互區(qū)分的事物叫實體。(例如:一個個學生、一輛輛轎車)屬性(Attribute):實體一般具有若干特征,稱之為實體的屬性。例如:學生具有學號、姓名等屬性。域(Domain):一個屬性可能取值的范圍稱為這個屬性的域。ORACLE 10gER模型基本概念碼(Key):能夠唯一標識實體
5、的屬性或最小屬性組稱為碼(關(guān)鍵字),可能存在多個候選碼,設計者必須指明一個做主碼。例如:見圖實體型(Entity type):具有相同屬性的實體具有共同的特征和性質(zhì),用實體名及其屬性集合來抽象、刻畫同類實體,稱為實體型。學生學號姓名性別專業(yè)ORACLE 10gER模型基本概念實體集(Entity set):同型實體的集合聯(lián)系:現(xiàn)實世界的事物之間是有聯(lián)系的,這種聯(lián)系在信息世界中反映為:實體(型)內(nèi)部的聯(lián)系和實體(型)之間的聯(lián)系。兩個實體型之間的聯(lián)系一對一聯(lián)系(1:1)例如:部門、經(jīng)理一對多聯(lián)系(1:n)例如:部門、雇員多對多聯(lián)系(m:n)例如:學生、課程ORACLE 10gER模型基本概念部門經(jīng)
6、理設有部門雇員擁有學生課程選修111nmnORACLE 10g 第一范式(1NF):實體的所有屬性必須是單值的并且不允許重復。 第二范式(2NF):實體的所有屬性必須依賴于實體的惟一標識。 第三范式(3NF):一個非惟一標識屬性不允許依賴于另一個非惟一標識屬性。在數(shù)據(jù)庫的設計中,一般都采用第三范式,以保證數(shù)據(jù)的冗余最小,提高數(shù)據(jù)的完整性。ORACLE 10g圖1-4是實際設計的兩張表和表間關(guān)系的示意圖。教師表由教師ID、姓名和系部ID等列構(gòu)成;系部表由系部ID、系部名稱和地點等列構(gòu)成。其中,教師ID和系部ID分別是這兩張表的主鍵。教師表的系部ID和系部表的系部ID之間建立了外鍵聯(lián)系,即教師表的
7、系部ID必須是系部表的某個系部ID。ORACLE 10g1.1.5 開發(fā)數(shù)據(jù)庫應用系統(tǒng)的步驟下面列出了常見的數(shù)據(jù)庫應用系統(tǒng)的開發(fā)步驟: 系統(tǒng)需求分析。 設計數(shù)據(jù)庫表。 規(guī)劃表中的字段。 確定表與表之間的關(guān)系。 優(yōu)化表和表中字段的設計。 輸入數(shù)據(jù),檢測表的設計,如果需要改進可以再次優(yōu)化表的設計。ORACLE 10g 創(chuàng)建查詢、存儲過程、觸發(fā)器以及其他的數(shù)據(jù)庫對象。 使用數(shù)據(jù)庫分析工具來分析和改進數(shù)據(jù)庫的性能。 設置數(shù)據(jù)庫安全性。ORACLE 10g1.2 SQL*Plus環(huán)境1.2.1 SQL*Plus的登錄和環(huán)境設置1登錄SCOTT賬戶在登錄和使用SQL*Plus的同時,要以數(shù)據(jù)庫用戶的身份連
8、接到某個數(shù)據(jù)庫實例。在Oracle數(shù)據(jù)庫創(chuàng)建過程中,選擇通用目的安裝,會創(chuàng)建一個用于測試和練習目的的賬戶SCOTT。其中保存了一些數(shù)據(jù)庫表的實例,主要的兩個表是雇員表EMP和部門表DEPT通過登錄SCOTT賬戶就可以訪問這些表。SCOTT賬戶的默認口令是TIGER。 ORACLE 10g我們假定Oracle數(shù)據(jù)庫已經(jīng)安裝在局域網(wǎng)中的一臺基于Windows操作系統(tǒng)的服務器上,服務器的名稱為ORACLE,數(shù)據(jù)庫實例的名稱為MYDB。管理客戶端和開發(fā)工具安裝在其他基于Windows操作系統(tǒng)的客戶機上,并且該機器通過網(wǎng)絡能夠訪問到Oracle數(shù)據(jù)庫服務器。這時,我們就可以使用管理客戶端中的SQL*Pl
9、us工具來進行登錄了。登錄前一般要由管理員使用Oracle的網(wǎng)絡配置工具創(chuàng)建一個網(wǎng)絡服務名,作為客戶端連接名。為了方便記憶,連接名可以與數(shù)據(jù)庫實例名相重。我們假定創(chuàng)建的網(wǎng)絡連接服務名為MYDB,則登錄過程如下。ORACLE 10g【訓練1】 使用SQL*Plus工作表,以SCOTT賬戶登錄數(shù)據(jù)庫。步驟1:啟動SQL*Plus。在開始菜單中,找到Oracle菜單目錄的“Application Development” 子菜單,找到其下的“SQL*Plus WorkSheet”命令。步驟2:為其在桌面上創(chuàng)建一個快捷方式并啟動,出現(xiàn)如圖1-5所示的登錄界面。ORACLE 10g圖1-5 SQL*Pl
10、us的登錄對話框 ORACLE 10g連接成功后,出現(xiàn)如圖1-6所示的SQL*Plus工作表的工作窗口,在輸出區(qū)的信息“已連接”表示數(shù)據(jù)庫連接成功。如果顯示登錄失敗信息,則需要重新檢查輸入的連接參數(shù)是否正確。ORACLE 10g圖1-6 SQL*PLUS工作表 ORACLE 10gOracle數(shù)據(jù)庫的很多對象,都是屬于某個模式(Schema)的,模式對應于某個賬戶,如SCOTT模式對應SCOTT賬戶。往往我們對模式和賬戶不做區(qū)分。數(shù)據(jù)庫的表是模式對象中的一種,是最常見和最基本的數(shù)據(jù)庫模式對象。一般情況下,如果沒有特殊的授權(quán),用戶只能訪問和操作屬于自己的模式對象。比如以SCOTT賬戶登錄,就只能
11、訪問屬于SCOTT模式的表。所以通過以不同的用戶身份連接,可以訪問屬于不同用戶模式的表。ORACLE 10g如果需要重新連接另外一個賬戶,可以點擊“連接”按鈕,則重新出現(xiàn)連接對話框,在該對話框中輸入新的賬戶名、口令和其他參數(shù)進行連接即可。任何時刻,如果需要運行輸入?yún)^(qū)中的命令,可以點擊“執(zhí)行”按鈕。用戶可以在輸入?yún)^(qū)中輸入和編輯任何命令,在編輯完成后通過點擊“執(zhí)行”按鈕(或按F5快捷鍵)來執(zhí)行輸入?yún)^(qū)中的命令腳本。ORACLE 10g 還有一種以命令方式進行重新連接的方法更為便捷,重新進行連接的命令是CONNECT。以下是該方法的訓練?!居柧?】 輸入和執(zhí)行CONNECT命令重新連接數(shù)據(jù)庫。步驟1:
12、在輸入?yún)^(qū)域清除原有命令,輸入新命令。CONNECT SCOTT/TIGERMYDB 步驟2:點擊“執(zhí)行”按鈕(或按F5快捷鍵)執(zhí)行該命令。顯示結(jié)果為:已連接。ORACLE 10g說明:SCOTT為賬戶名,TIGER為口令,賬戶名和口令之間用“/”分隔?!啊焙竺娴淖址Q為網(wǎng)絡服務名或稱為連接字符串。注意:以上方法的口令是顯式的,容易被其他人竊取。要關(guān)閉或退出SQL*Plus,可以在輸入?yún)^(qū)域直接輸入“EXIT”或“QUIT”命令并執(zhí)行,或執(zhí)行“文件”菜單下的“退出”命令。ORACLE 10g2環(huán)境設置命令在SQL*Plus環(huán)境下,可以使用一系列的設置命令來對環(huán)境進行設置。如果不進行設置,系統(tǒng)會使
13、用默認值。通過SHOW ALL命令可以查看SQL*Plus的環(huán)境參數(shù)。設置命令的格式為SET 參數(shù) ON|OFF|值通常需要對輸出的顯示環(huán)境進行設置,這樣可以達到更理想的輸出效果。顯示輸出結(jié)果是分頁的,默認的頁面大小是14行80列。以下的訓練是設置輸出頁面的大小,用戶可以比較設置前后的輸出效果。ORACLE 10g【訓練3】 設置輸出頁面的大小。步驟1:輸入并執(zhí)行以下命令,觀察顯示結(jié)果:SELECT * FROM emp;步驟2:在輸入?yún)^(qū)輸入并執(zhí)行以下命令:SET PAGESIZE 100 SET LINESIZE 120 或SET PAGESIZE 100 LINESIZE 120 步驟3:
14、重新輸入并執(zhí)行以下命令,觀察顯示結(jié)果:SELECT * FROM emp;ORACLE 10g說明:命令SET PAGESIZE 100將頁高設置為100行,命令SET LINESIZE 120將頁寬設置為120個字符。通過頁面的重新設置,消除了顯示的折行現(xiàn)象。SELECT語句用來對數(shù)據(jù)庫的表進行查詢,這將在后面介紹。如果用戶忘記了自己是以什么用戶身份連接的,可以用以下的命令顯示當前用戶。【訓練4】 顯示當前用戶。輸入并執(zhí)行命令:SHOW USER執(zhí)行結(jié)果是:USER為SCOTTORACLE 10g 說明:顯示的當前用戶為SCOTT,即用戶是以SCOTT賬戶登錄的。注意:使用SELECT US
15、ER FROM dual命令也可以取得用戶名。通過進行適當?shù)脑O置,可以把操作內(nèi)容或結(jié)果記錄到文本文件中?!居柧?】 使用SPOOL命令記錄操作內(nèi)容。步驟1:執(zhí)行命令:SPOOL C:TEST步驟2:執(zhí)行命令:SELECT * FROM emp; ORACLE 10g步驟3:執(zhí)行命令:SELECT * FROM dept;步驟4:執(zhí)行命令:SPOOLOFF步驟5:用記事本打開C:TEST.LST并查看內(nèi)容:OEM_sqlplus_input_finishedSELECT * FROM emp; EMPNO ENAME JOB MGR HIREDATESALOMMDEPTNO ORACLE 10g
16、7369 SMITH CLERK 7902 17-12月-80 1560 207499 ALLEN SALESMAN 7698 20-2月 -81 1936 300 30 7521 WARD SALESMAN 7698 22-2月 -81 1830 500 30 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7654 MARTIN SALESMAN 7698 28-9月 -81 1830 1400 30 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30ORACLE 10g 7782 CLARK MANAGER 7839 0
17、9-6月 -81 2850 10 7839 KING PRESIDENT 17-11月-81 5000 10 7844 TURNER SALESMAN 7698 08-9月 -81 1997 0 30 7876 ADAMS CLERK 7788 23-5月 -87 1948 20 7900 JAMES CLERK 7698 03-12月-81 1852 30 ORACLE 10g7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-
18、1月 -82 1903 10已選擇14行。ORACLE 10gOEM_sqlplus_input_finishedSELECT * FROM dept; DEPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 已選擇4行。ORACLE 10g說明:以上步驟將輸入的命令和輸出的結(jié)果記錄到C盤根目錄下的TEST.LST文件中,內(nèi)容如上所示。SPOOL OFF命令用來關(guān)閉記錄過程??梢允褂眠@種方法對操作進行磁盤記錄。還有如下環(huán)境設置命令,在這里不做詳細介紹: Se
19、t heading on/off:打開/關(guān)閉查詢結(jié)果表頭的顯示,默認為ON。 Set feedback on/off:打開/關(guān)閉查詢結(jié)果中返回行數(shù)的顯示,默認為ON。 Set echo on/off:打開/關(guān)閉命令的回顯,默認為ON。 Set time on/off:打開/關(guān)閉時間顯示,默認為OFF。ORACLE 10g我們可以將一系列的SET命令存入BEGIN.SQL,并放在SQL*Plus啟動文件的同一個目錄下,這樣就可以在啟動時自動地進行設置了。SQL*Plus啟動文件的目錄在Oracle主目錄的BIN目錄下?!揪毩?】關(guān)閉表頭和返回結(jié)果行數(shù)的顯示,然后再打開。ORACLE 10g1.2
20、.2 認識表的結(jié)構(gòu)SCOTT賬戶擁有若干個表,其中主要有一個EMP表,該表存儲公司雇員的信息,還有一個DEPT表,用于存儲公司的部門信息。表是用來存儲二維信息的,由行和列組成。行一般稱為表的記錄,列稱為表的字段。要了解一個表的結(jié)構(gòu),就要知道表由哪些字段組成,各字段是什么數(shù)據(jù)類型,有什么屬性。要看表的內(nèi)容,就要通過查詢顯示表的記錄。ORACLE常用的表字段數(shù)據(jù)類型有: CHAR:固定長度的字符串,沒有存儲字符的位置,用空格填充。 VARCHAR2:可變長度的字符串,自動去掉前后的空格。ORACLE 10gNUMBER(M, N):數(shù)字型,M是位數(shù)總長度, N是小數(shù)的長度。 DATE:日期類型,包
21、括日期和時間在內(nèi)。 BOOLEAN:布爾型,即邏輯型??梢允褂肈ESCRIBE命令(DESCRIBE可簡寫成DESC)來檢查表的結(jié)構(gòu)信息。ORACLE 10g1雇員表EMP的結(jié)構(gòu)以下訓練顯示emp表的結(jié)構(gòu)。【訓練1】 顯示EMP表的結(jié)構(gòu)。輸入并執(zhí)行以下命令(emp為要顯示結(jié)構(gòu)的表名):DESCRIBE emp輸出區(qū)的顯示結(jié)果如下:名稱 是否為空? 類型 ORACLE 10gEMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUM
22、BER(7,2) DEPTNO NUMBER(2)ORACLE 10g說明:以上字段用到了3種數(shù)據(jù)類型:數(shù)值型、字符型和日期型,都是常用的數(shù)據(jù)類型。列表顯示了字段名、字段是否可以為空、字段的數(shù)據(jù)類型和寬度。在是否為空域中的“NOT NULL”代表該字段的內(nèi)容不能為空,即在插入新記錄時必須填寫;沒有代表可以為空。括號中是字段的寬度。日期型數(shù)據(jù)是固定寬度,無需指明。該表共有8個字段,或者說有8個列,各字段的名稱和含義解釋如下: EMPNO是雇員編號,數(shù)值型,長度為4個字節(jié),不能為空。 ENAME是雇員姓名,字符型,長度為10個字節(jié),可以為空。JOB是雇員職務,字符型,長度為9個字節(jié),可以為空。 O
23、RACLE 10gMGR是雇員經(jīng)理的編號,數(shù)值型,長度為4個字節(jié),可以為空。HIREDATE是雇員雇傭日期,日期型,可以為空。SAL是雇員工資,數(shù)值型,長度為7個字節(jié),小數(shù)位有2位,可以為空。COMM是雇員津貼,數(shù)值型,長度為7個字節(jié),小數(shù)位有2位,可以為空。DEPTNO是雇員所在的部門編號,數(shù)值型,長度為2個字節(jié)的整數(shù),可以為空。ORACLE 10g2部門表DEPT的結(jié)構(gòu)以下訓練顯示DEPT表的結(jié)構(gòu)?!居柧?】 顯示部門表DEPT的結(jié)構(gòu)。輸入以下的命令:DESCRIBE dept結(jié)果為:名稱 是否為空? 類型ORACLE 10g DEPTNO NOT NULLNUMBER(2) DNAME
24、VARCHAR2(14) LOC VARCHAR2(13)說明:以上字段用到了2種數(shù)據(jù)類型:數(shù)值型和字符型。DEPT表共有3個字段:DEPTNO代表部門編號,數(shù)值型,寬度為2個字節(jié),不能為空。DNAME代表部門名稱,字符型,長度為14個字節(jié),可以為空。LOC代表所在城市,字符型,長度為13個字節(jié),可以為空。ORACLE 10g1.2.3 顯示表的內(nèi)容已知表的數(shù)據(jù)結(jié)構(gòu),還要通過查詢命令來顯示表的內(nèi)容,這樣就可以了解表的全貌。顯示表的內(nèi)容用查詢語句進行。1雇員表EMP的內(nèi)容【訓練1】 顯示EMP表的全部記錄。步驟1:輸入并執(zhí)行以下命令:SELECT * FROM emp;在輸出區(qū)將顯示表的內(nèi)容。
25、EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ORACLE 10g7369 SMITH CLERK 7902 17-12月-80 800 207499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 307521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 JONES MANAGER 7839 02-4月 -81 2975 20 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7698 BLAK MANAGER 7839 01-5月
26、-81 2850 30 7782 CLARK MANAGER 7839 09-6月 -81 2450 107788 SCOTT ANALYST 7566 19-4月 -87 3000 20 ORACLE 10g7839 KING PRESIDENT 17-11月-81 5000 10 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 7876 ADAMS CLERK 7788 23-5月 -87 1100 20 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81
27、 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10已選擇14行。ORACLE 10g說明:觀察表的內(nèi)容,在顯示結(jié)果中,虛線以上部分(第一行)稱為表頭,是EMP表的字段名列表。該表共有8個字段,顯示為8列。虛線以下部分是該表的記錄,共有14行,代表14個雇員的信息。如雇員7788的名字是SCOTT,職務為ANALYST,。這個表在下面的練習中要反復使用,必須熟記字段名和表的內(nèi)容。2部門表DEPT的內(nèi)容【訓練2】 顯示DEPT表的全部記錄。輸入并執(zhí)行以下查詢命令:SELECT * FROM dept; ORACLE 10g執(zhí)行結(jié)果為: DEPTNO
28、DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON說明:該表中共有3個字段:部門編號DEPTNO、部門名稱DNAME和所在城市LOC。該表共有4個記錄,顯示出4個部門的信息,如部門10的名稱是ACCOUNTING,所在城市是NEW YORK。這個表在下面的練習中要反復使用,必須熟記字段名和表的內(nèi)容。ORACLE 10g【練習1】根據(jù)EMP表和DEPT表的顯示結(jié)果,說出雇員ADAMS的雇員編號、職務、經(jīng)理名字、雇傭日期、工資、津貼和部門編號以及該雇員所在的部門名稱和所在
29、城市?!揪毩?】說出職務為CLERK的工資最高的雇員是哪一位?職務為CLERK、部門在NEW YORK的雇員是哪一位?1.2.4 SQL*Plus環(huán)境的使用在SQL*Plus環(huán)境下,命令可以在一行或多行輸入,命令是不分大小寫的。SQL命令一般要以“;”結(jié)尾??梢栽谳斎雰?nèi)容中書寫注釋,或?qū)⒃袃?nèi)容變成注釋。注釋的內(nèi)容在執(zhí)行時將被忽略。ORACLE 10g注釋的方法是:* 在一行的開頭處書寫REM,將一行注釋掉。* 在一行中插入“-”,將其后的內(nèi)容注釋掉。* 使用/* */,可以用來注釋任何一段內(nèi)容?!居柧?】 使用注釋。在輸入?yún)^(qū)輸入以下內(nèi)容,按F5執(zhí)行。REM 本句是注釋語句-SELECT *
30、FROM emp;該句也被注釋執(zhí)行后沒有產(chǎn)生任何輸出。ORACLE 10g說明:REM和“-”產(chǎn)生注釋作用,語句不執(zhí)行,所以沒有輸出。注釋后的內(nèi)容將變成紅色顯示。如果需要的話,可以分別將輸入?yún)^(qū)或輸出區(qū)的內(nèi)容以文本文件的形式存盤,供以后查看或重新使用?!居柧?】 保存輸入?yún)^(qū)的內(nèi)容。步驟1:在輸入?yún)^(qū)重新輸入命令:SELECT * FROM emp;SELECT * FROM dept;步驟2:選擇“文件”菜單下的“將輸入另存為”命令,彈出文件存盤對話框。選擇正確的磁盤位置,為存盤的文件起一個名字。如果輸入?yún)^(qū)中的內(nèi)容是SQL命令或命令序列,則使用擴展名.SQL;否則可以省略或以.TXT做擴展名。在本
31、例中,選SELECT.SQL做文件名。ORACLE 10g步驟3:按“保存”按鈕,將輸入?yún)^(qū)的內(nèi)容存入磁盤文件。步驟4:用記事本查看保存的內(nèi)容(略)。說明:用同樣的方法可以保存輸出區(qū)的內(nèi)容?!揪毩?】請試著將輸出區(qū)的內(nèi)容存入文件RESULT.TXT。輸出區(qū)中每一條命令的執(zhí)行結(jié)果都將出現(xiàn)在其中,通過滾動條來顯示屏幕之外的內(nèi)容。當輸出區(qū)的內(nèi)容很多,顯示混亂時,可以清除區(qū)域中的內(nèi)容。ORACLE 10g【訓練3】 清除輸出區(qū)域的顯示內(nèi)容。將光標置入輸出區(qū),執(zhí)行“編輯”菜單的“全部清除”命令。結(jié)果輸入?yún)^(qū)的內(nèi)容被清除。說明:以上菜單命令將清除輸出區(qū)的全部顯示內(nèi)容。使用同樣的方法可以清除輸入?yún)^(qū)的全部內(nèi)容。如
32、果某些命令已經(jīng)存盤,特別是比較長和復雜的命令或命令序列,可以重新調(diào)入輸入?yún)^(qū)或直接執(zhí)行。ORACLE 10g【訓練4】 調(diào)入磁盤文件執(zhí)行。步驟1:執(zhí)行“文件”菜單的“打開”命令,彈出打開文件對話框。步驟2:選擇剛剛存盤的SELECT.SQL文件,按“打開”按鈕,將存盤的文件裝入輸入?yún)^(qū)。步驟3:按F5執(zhí)行該命令。結(jié)果從略。執(zhí)行“工作單”菜單下的“運行本地腳本”命令,可以直接運行存盤文件中的SQL命令,請做如下練習。ORACLE 10g【練習2】直接執(zhí)行SELECT.SQL文件中的語句。每次用戶執(zhí)行過的命令將存儲在內(nèi)存的“命令歷史記錄區(qū)”中,直到退出SQL*Plus環(huán)境。用戶可以使用“工作單”菜單下
33、的“命令歷史記錄”、“上一條”或“下一條”命令(或按Ctrl+H/Ctrl+P/Ctrl+N快捷鍵)調(diào)出執(zhí)行過的命令腳本。【練習3】通過快捷鍵CTRL+P和CTRL+N調(diào)出前一條和后一條命令到輸入?yún)^(qū)。ORACLE 10g1.3 Oracle的應用開發(fā)工具TOADOracle有很多開發(fā)工具可以選用,TOAD 是Quest Software公司的具有圖形界面的輕量級開發(fā)工具,是Oracle應用開發(fā)者工具(Tools for Oracle Application Developer)的縮寫。它比SQL*Plus有更多的功能,除了可以自動格式化和執(zhí)行SQL語句以及支持PL/SQL程序的編程和調(diào)試之外,
34、它的數(shù)據(jù)庫對象瀏覽功能能夠讓我們直觀地看到數(shù)據(jù)庫的模式對象,并進行直觀的操作。TOAD提供60天的免費使用版本,在功能上比商業(yè)版有所限制,使用到期后需要重新下載和安裝。ORACLE 10gTOAD的下載網(wǎng)址是。TOAD可以用菜單或圖標按鈕的方式進行操作。在啟動后的界面中,它可以建立多個數(shù)據(jù)庫連接,打開多個SQL工作窗口,用于執(zhí)行SQL語句和PL/SQL程序;TOAD還提供了單獨的存儲過程編輯調(diào)試窗口,用來編輯、調(diào)試和執(zhí)行存儲過程、函數(shù)和包;還可以打開多個對象瀏覽窗口,用來觀察用戶的模式對象信息,如表、視圖、約束條件和存儲過程等。以上TOAD的主要功能就能夠滿足本課程的需要。TOAD還有許多功能
35、,這里就不一一介紹了。圖1-7是TOAD的啟動登錄界面,在輸入正確的連接字符串、賬戶名和口令后,點擊“OK”按鈕就可以登錄了。ORACLE 10g圖1-7 TOAD的登錄對話窗口ORACLE 10g【訓練1】 登錄TOAD,執(zhí)行簡單查詢。步驟1:啟動TOAD,在啟動對話框中輸入以下登錄信息:用戶名:SCOTT口令:TIGER 服務:MYDB其中,MYDB為以前創(chuàng)建好的數(shù)據(jù)庫連接字符串。按確定按鈕登錄,登錄后出現(xiàn)主窗口(如圖1-8所示)。TOAD是個多用戶窗口界面,可以根據(jù)需要在工作區(qū)中打開多個子窗口,同時進行操作。ORACLE 10g圖1-8 TOAD的主界面ORACLE 10g步驟2:每次按
36、打開SQL工作窗口按鈕都可以打開一個SQL窗口,可測試不同的SQL語句。在第一個窗口中輸入以下查詢語句,并按執(zhí)行按鈕:SELECT * FROM emp;在結(jié)果區(qū)以表格形式顯示查詢結(jié)果,結(jié)果如圖1-9所示。步驟3:打開第二個SQL工作窗口,在其中輸入另外的查詢語句并執(zhí)行:SELECT * FROM dept;結(jié)果從略。ORACLE 10g圖1-9 SQL子窗口ORACLE 10g1.4 操作準備為了完成后續(xù)的練習,需要為每一個練習者準備一個賬戶,將數(shù)據(jù)復制到該賬戶下。先由教師或管理員創(chuàng)建一個公用賬戶STUDENT,并授予該賬戶創(chuàng)建用戶、創(chuàng)建表等必要權(quán)限,通過該賬戶創(chuàng)建新用戶并傳遞權(quán)限給新賬戶。其次,教師或管理員負責登錄SCOTT賬戶,將EMP和DEPT等表的訪問權(quán)限(SELECT)授予所有用戶(PUBLIC)。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度股權(quán)轉(zhuǎn)讓及經(jīng)營權(quán)轉(zhuǎn)讓一體化協(xié)議
- 二零二五年度居民住房租賃合同租賃房屋租賃期限調(diào)整協(xié)議
- 二零二五年度保密信息處理保密合同
- 綠茶茶園承包經(jīng)營合同(2025年度)含茶樹病蟲害防治服務
- 二零二五年度農(nóng)村宅基地買賣合同協(xié)議書(農(nóng)村產(chǎn)權(quán)交易平臺)
- 二零二五年度個人私下股權(quán)轉(zhuǎn)讓及投資風險分擔協(xié)議
- 代理銷售合同市場拓展策略約定事項說明
- 三字經(jīng)儒家經(jīng)典讀后感
- 歷史人物事件記憶題
- 企校合作辦學合同
- 支氣管鏡室工作制度
- 紫精丹_圣惠卷九十五_方劑加減變化匯總
- 天藍色商務發(fā)展歷程時間軸PPT模板課件
- 第5章液相傳質(zhì)步驟動力學
- GJB 國軍標標準對應名稱解析
- 2019版人教版新課標高中英語必修1第一冊單詞表
- [考研英語]商志英語作文模板
- 小學交通安全主題班會:《一盔一帶 安全出行》
- 上海住房租賃企業(yè)信息記載表
- 模擬追溯演練報告(成品到原料)
- 常用一線降壓藥一覽表
評論
0/150
提交評論