關(guān)于oracle的語句教程
篇一:ORACLE-SQL語句學(xué)習(xí)教程
概 述
20世紀(jì)70年代初,E.F.Codd 在計(jì)算機(jī)學(xué)會(Association of Computer Machinery, 簡寫為ACM)期刊Communications of the ACM(ACM 通訊)發(fā)表了題為”A Relational Model of Data for Large Shared Data Banks”(大型共享數(shù)據(jù)庫的數(shù)據(jù)關(guān)系模型)的論文,該論文提出的關(guān)系數(shù)據(jù)庫模型成為今天最為權(quán)威的關(guān)系型數(shù)據(jù)庫管理模型。IBM公司首先使用該模型開發(fā)出了結(jié)構(gòu)化英語查詢語言SEQUEL(Structured English Query Language),作為其關(guān)系數(shù)據(jù)庫原型System R的操作語言,實(shí)現(xiàn)對關(guān)系數(shù)據(jù)庫的信息檢索。SEQUEL后來簡寫為SQL,即Structured Query Language(結(jié)構(gòu)化查詢語言)的縮寫。ORACLE公司于1997年推出了第一個(gè)商業(yè)應(yīng)用的SQL軟件。
20世紀(jì)80年代初,美國國家標(biāo)準(zhǔn)化組織(ANSI)開始著手制訂SQL標(biāo)準(zhǔn),最早的ANSI標(biāo)準(zhǔn)于1986年頒布,它也被稱為SQL-86。標(biāo)準(zhǔn)的出臺使SQL作為標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫語言的地位得到加強(qiáng)。SQL標(biāo)準(zhǔn)幾經(jīng)修改和完善,目前SQL語言方面新的ANSI標(biāo)準(zhǔn)是1992年制定的ANSI X3.135-1992,“Database Language SQL”。此標(biāo)準(zhǔn)也被國際電工委員會(International Electro technical Commission, 即IEC)所屬的國際標(biāo)準(zhǔn)化組織(International Standards Organization, 即ISO)所接受,并將它命名為ISO/IEC9075:1992, “Database Language SQL”。這兩個(gè)標(biāo)準(zhǔn)又被簡稱為SQL-92。
SQL是目前使用最廣泛的數(shù)據(jù)庫語言,就象SQL的名字一樣,我們可以通過容易理解的查詢語言,來和數(shù)據(jù)庫打交道,從數(shù)據(jù)庫中得到我們想要的數(shù)據(jù)。對于SQL語言,由下列四個(gè)組成部分:
DML(Data Manipulation Language):它們是SELECT、UPDATE、INSERT、DELETE,就象它的名字一樣,這4條命令是用來對數(shù)據(jù)庫里的數(shù)據(jù)進(jìn)行操作的語言。
DDL(Data Definition Language):DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結(jié)構(gòu),數(shù)據(jù)類型,表之間的鏈接和約束等初始化工作上,他們大多在建立表時(shí)使用。
DCL (Data Control Language):包括 GRANT,REVOKE,主要用于對用戶權(quán)限的授權(quán)和回收。
Database Transactions:包括COMMIT, ROLLBACK, SAVEPOINT,主要用于對事務(wù)的提交,回收和設(shè)置保存點(diǎn)。
了解這四個(gè)部分的不同對于你今后使用時(shí)有很多方便,因?yàn)樵S多SQL語言中的約束也是根據(jù)這個(gè)分類來劃分的,比如:你在ORACLE中建立數(shù)據(jù)庫鏈,那么只有DML類語言能對鏈接的數(shù)據(jù)庫進(jìn)行操作。
SQL作為一個(gè)ANSI標(biāo)準(zhǔn),一直在不斷改進(jìn),現(xiàn)在最新的標(biāo)準(zhǔn)是SQL99。ORACLE不但對標(biāo)準(zhǔn)的SQL完全兼容,而且有自己更為方便的增強(qiáng)SQL,所以這里介紹的主要是ORACLE8i中使用的SQL語句。
ORACLE的今天
今天,座落在加利福尼亞Redwood Shores 的ORACLE公司為電子信息管理提供軟件產(chǎn)品和服務(wù)。ORACLE是一個(gè)世界范圍的軟件提供者,1999年的收入將超過80億美元。ORACLE的業(yè)務(wù)遍及世界90多個(gè)國家,其軟件在100多種不同的計(jì)算機(jī)上運(yùn)行,在信息高速公路中扮演著一個(gè)重要的角色。
ORACLE是采用Internet計(jì)算模式的倡導(dǎo)者之一,在該模式下,組織者為分布式應(yīng)用配
置了萬維網(wǎng)。Internet是發(fā)布應(yīng)用的理想基礎(chǔ)設(shè)施。在給定的組件為基礎(chǔ)的模型中,Internet是將分散應(yīng)用集成起來的理想場所,比較三層客戶/服務(wù)器計(jì)算體系而言,Internet也是這些系統(tǒng)的理想場所。構(gòu)成此模型的三層為:
客戶層有時(shí)稱為表達(dá)層,既顯示信息給用戶,同時(shí)接收輸入的要處理的信息。
應(yīng)用層所有的處理都將按系統(tǒng)實(shí)現(xiàn)的邏輯在該層進(jìn)行。商業(yè)規(guī)則的加強(qiáng)、數(shù)據(jù)一致性的
檢查系統(tǒng)所需的復(fù)雜處理都在該層進(jìn)行。此層是三層模型中處理事務(wù)最多的一層。 ? 數(shù)據(jù)層通常稱為back end,是為滿足其它兩層的需求而存儲信息。在很多情況下,在用戶同系統(tǒng)交互時(shí),關(guān)系數(shù)據(jù)庫將優(yōu)化從應(yīng)用層接收到的以及返回給應(yīng)用層的信息。ORACLE集團(tuán)不遺余力地將最新的技術(shù)提供給客戶。對未來技術(shù)發(fā)展趨勢預(yù)見能力以及較早地?fù)碛嘘P(guān)鍵技術(shù),不僅使得ORACLE得以生存,更使其在競爭中遙遙領(lǐng)先。ORACLE Server 是這一切的基石。接下來看一下ORACLE8i Server 以及是如何圍繞它開發(fā)出一系列產(chǎn)品的。
為什么ORACLE能取得現(xiàn)在的地位
ORACLE的很多顯著特征使得它走在日益發(fā)展的信息管理群體前列,信息技術(shù)不是一成不變的,接下來看一下其中的(但決非全部的)特性:
1. 決策支持系統(tǒng)
決策支持系統(tǒng)即DSS,扮演著一個(gè)重要角色。到處可以看到組織者發(fā)布以O(shè)RACLE Server 為基礎(chǔ)的數(shù)據(jù)倉庫的種種信息。對數(shù)據(jù)倉庫的興趣及其使用的與日俱增使得ORACLE Server 及其相關(guān)的聯(lián)機(jī)分析處理(OLAP)產(chǎn)品成為管理的首選。隨著Express及ORACLE Discoverer 等決策支持工具的開發(fā),ORACLE已經(jīng)不管在現(xiàn)在, 還是在將來都確立了其在該領(lǐng)域的地位。
2. 海量數(shù)據(jù)管理
數(shù)據(jù)庫系統(tǒng)操作的硬件瞬息萬變,去處理器或磁盤市場購買最快和功率最強(qiáng)的CPU,剛購買到,技術(shù)又進(jìn)步了。ORACLE一直對海量數(shù)據(jù)的管理非常重視,在版本7.3 (circa 1997)中為此采用了數(shù)據(jù)分區(qū)的辦法。采用數(shù)據(jù)分區(qū)后,海量數(shù)據(jù)分成很多可管理的塊,當(dāng)系統(tǒng)操作或用戶會話處理查詢時(shí)又能透明地將分塊的數(shù)據(jù)組織起來。
3. 保密機(jī)制
ORACLE的高級保密機(jī)制通過各種各樣的特權(quán),控制對敏感數(shù)據(jù)的存取。用戶根據(jù)連接到數(shù)據(jù)庫的名稱被賦予各種特權(quán),如查看、修改和創(chuàng)建數(shù)據(jù)庫等等。用這些機(jī)制來保證某些用戶能查看敏感數(shù)據(jù),而有的用戶被禁止。
4. 備份與恢復(fù)
ORACLE提供了高級備份和恢復(fù)的子例程。備份創(chuàng)建ORACLE數(shù)據(jù)的一個(gè)副本,恢復(fù)把備份的數(shù)據(jù)恢復(fù)出來。ORACLE的備份和恢復(fù)把數(shù)據(jù)丟失的可能性降到最小,并使出現(xiàn)故障時(shí)的排錯(cuò)時(shí)間最少。ORACLE的服務(wù)器也提供了備份和恢復(fù)的機(jī)制,允許每天、每周、每年不間斷地訪問數(shù)據(jù)。
5. 空間管理
ORACLE提供了靈活的空間管理。用戶可以為存放數(shù)據(jù)分配所需磁盤空間,也可以通過指示ORACLE為以后的需求留下多少空間來控制后繼的分配。還有一系列為大型的數(shù)據(jù)庫考慮而設(shè)計(jì)的特殊功能。事實(shí)上,在ORACLE8和ORACLE7.3中許多功能都是為數(shù)據(jù)倉庫的考慮而設(shè)計(jì)的。從設(shè)計(jì)角度來說,數(shù)據(jù)倉庫是典型的非常大的數(shù)據(jù)庫。
6. 開放式聯(lián)接
ORACLE提供和其他軟件聯(lián)接的開放式接口。使用ORACLE Access Manager,用戶很容易就能將別的軟件商開發(fā)的軟件所運(yùn)行的系統(tǒng)集成起來。例如,使用IBM的AS/400平臺的管理器,用戶在應(yīng)用中采用如COBOL和C的第三代、第四代語言就能透明地訪問ORACLE數(shù)據(jù),也支持PL/SQL ,從用戶的AS/400應(yīng)用程序中可以調(diào)用遠(yuǎn)程的ORACLE存儲過程。使用Access Manager配之以O(shè)RACLE的透明網(wǎng)關(guān),企業(yè)管理者就可以保護(hù)其已經(jīng)在IBM 軟硬件上的投資。Access Manager駐留在非ORACLE數(shù)據(jù)庫的機(jī)器上,用戶數(shù)據(jù)由所在的操作系統(tǒng)決定,工業(yè)標(biāo)準(zhǔn)SQL 在下列方面支持ORACLE數(shù)據(jù)庫:
? DDL 即數(shù)據(jù)定義語言語法適用于對ORACLE數(shù)據(jù)庫對象的定義(如CREATE TABLE或CREATE INDEX)、修改一個(gè)或多個(gè)用戶的`特權(quán)(如GRANT SELECT ON)或操縱支持ORACLE8i 的基礎(chǔ)組件(如ALTER TABLESPACE)。
? DML 即數(shù)據(jù)操縱語言用于產(chǎn)生新的數(shù)據(jù)(如INSERT INTO)、處理已存在的數(shù)據(jù)(如UPDATE)、刪除已存在的行(如DELETE)、或者是用非常熟悉的SELECT關(guān)鍵字簡單地查看數(shù)據(jù)。
Access Manager 能便捷地從Computer Associate的IDMS、Datacom、Ingres、Microsoft 的SQL Server、Informix、Teradata的EDA/SQL、Sybase和IBM的CICS中訪問數(shù)據(jù)。
7. 開發(fā)工具
ORACLE Server通常指數(shù)據(jù)庫引擎,支持一系列開發(fā)工具、終端用戶查詢工具、流行的應(yīng)用以及辦公范圍內(nèi)的信息管理工具。ORACLE Form 和ORACLE report 是ORACLE提供開發(fā)工具的核心,與Web相連進(jìn)行發(fā)布并利用Internet計(jì)算的三層體系結(jié)構(gòu)。
ORACLE企業(yè)開發(fā)套件中捆綁了一些組件,使得發(fā)布靈活、操作性強(qiáng)、易于維護(hù),很容易開發(fā)出不同層次的應(yīng)用。套件中有如下四個(gè)主要組件:
? ORACLE Designer 用于定義系統(tǒng)元素(也就是數(shù)據(jù)源及其之間的關(guān)系),生成應(yīng)用和定義數(shù)據(jù)庫。
? ORACLE Developer 是一個(gè)快速應(yīng)用開發(fā)環(huán)境,用于建立交互應(yīng)用、事務(wù)處理或聯(lián)機(jī)事務(wù)處理為基礎(chǔ)的系統(tǒng)。
? ORACLE Developer Server 是一個(gè)強(qiáng)壯的為多層次提供的開發(fā)環(huán)境。
? ORACLE Application Server 是一個(gè)公開的解決方案,它是為分布式事務(wù)應(yīng)用處理而設(shè)計(jì)的。
ORACLE8i 服務(wù)器
ORACLE8 i 服務(wù)器是一個(gè)完善的信息管理環(huán)境。它是一個(gè)大量數(shù)據(jù)的儲藏所,并給用戶提供對這些數(shù)據(jù)的快速訪問。ORACLE8i 服務(wù)器允許應(yīng)用系統(tǒng)之間共享數(shù)據(jù)。信息存放在一個(gè)地方并由許多應(yīng)用系統(tǒng)來使用。ORACLE8I 服務(wù)器可運(yùn)行在Sun系列以及Windows NT上。ORACLE8i 服務(wù)器運(yùn)行在很多不同的計(jì)算機(jī)上,支持下列配置:
? 基于主機(jī)的配置用戶直接連到存放數(shù)據(jù)庫的同一計(jì)算機(jī)上。
? 客戶機(jī)/服務(wù)器結(jié)構(gòu)用戶通過網(wǎng)絡(luò)從他們的個(gè)人計(jì)算機(jī)(客戶機(jī))上訪問數(shù)據(jù)庫,數(shù)據(jù)庫 駐留在一個(gè)分離的計(jì)算機(jī)(服務(wù)器)上。
? 分布式處理用戶訪問存放在不止一臺計(jì)算機(jī)上的數(shù)據(jù)庫。數(shù)據(jù)庫分散在不止一臺機(jī)器 上,用戶并不需要了解被存取數(shù)據(jù)的實(shí)際存放位置。
? Web計(jì)算( Web Enabled Computing) 能從基于Internet的應(yīng)用訪問數(shù)據(jù)。
ORACLE服務(wù)器已經(jīng)有助于使ORACLE公司成為成功的頂尖信息軟件供應(yīng)商,而ORACLE8i/9I 將繼續(xù)保持這一優(yōu)勢。
第一章 SQL*PLUS 工具軟件的使用
SQL*PLUS是ORACLE數(shù)據(jù)庫管理員和普通用戶最常用的實(shí)用程序之一,它提供一個(gè)交互式SQL語句、PL/SQL語句塊和SQL*PLUS命令的編輯、編譯和執(zhí)行環(huán)境。普通用戶使用它可以實(shí)現(xiàn)各種數(shù)據(jù)庫操作,數(shù)據(jù)庫管理員使用它除能夠?qū)崿F(xiàn)基本的數(shù)據(jù)庫操作之外,還能夠完成數(shù)據(jù)庫啟動(dòng)、關(guān)閉和恢復(fù)等管理工作。
【關(guān)于oracle的語句教程】相關(guān)文章:
oracle論文的參考文獻(xiàn)11-24
oracle論文開題報(bào)告07-05
Oracle面試試題06-22
Oracle DBA面試試題06-17
Oracle面試試題題庫06-17
某公司的Oracle面試題大全06-22
Oracle面試題庫06-19
關(guān)于微信小程序教程01-15