Oracle教案大型數(shù)據(jù)庫技術(shù)_第1頁
Oracle教案大型數(shù)據(jù)庫技術(shù)_第2頁
Oracle教案大型數(shù)據(jù)庫技術(shù)_第3頁
Oracle教案大型數(shù)據(jù)庫技術(shù)_第4頁
Oracle教案大型數(shù)據(jù)庫技術(shù)_第5頁
已閱讀5頁,還剩65頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

任課教師授課班級2018級軟件技術(shù)1-2班

信息科學(xué)與工程學(xué)院

教案

《Oracle》教案

授課時間第一次課教學(xué)時間安排90分鐘

授課題目

第1章Oracle簡介

(章節(jié))

了解關(guān)系數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)的一些基本知識

教學(xué)目的、要

了解Oracle的應(yīng)用、發(fā)展史及特點

求(教學(xué)目標(biāo))了解Oracle用戶賬戶

熟悉SQL*PLUS環(huán)境的使用

教學(xué)重點重點:Oracle用戶賬戶

與難點難點:SQL*PLUS環(huán)境的使用

教學(xué)方式、方

課堂講授與實驗實踐相結(jié)合

法與手段

教學(xué)基本內(nèi)容教學(xué)過程

課程介紹

1.1關(guān)系數(shù)據(jù)庫的基本概念課程介紹

數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)

C/SB/S分布式處理

對關(guān)系數(shù)據(jù)庫的概念

1.2Oracle介紹和關(guān)系數(shù)據(jù)庫的一些

理論進(jìn)行一些簡要的

1.2ORACLE介紹回顧

教學(xué)基本內(nèi)容

及過程臨沂大學(xué)教務(wù)管理系

統(tǒng)

■1股票交易軟件

火車票預(yù)訂12306

讓學(xué)生了解社會中對

數(shù)據(jù)庫的應(yīng)用和需求,

明確數(shù)據(jù)庫特別是

Oracle應(yīng)用的廣泛性

?Oracle是全球第一大數(shù)據(jù)庫軟件公司和學(xué)習(xí)的重要性

?Oracle是全球第一大企業(yè)軟件供應(yīng)商

?全球145個國家及地區(qū)設(shè)有分支機(jī)構(gòu)

?Oracle全球超過70,000名員工

?超過275,000全球客戶

?Oracle總部位于加州硅谷,亞太地區(qū)總

設(shè)于新加坡

?2006財政年度營業(yè)額148億美元,研發(fā)

經(jīng)費超19億美元

1.3Oracle系統(tǒng)的應(yīng)用

□Oracle公司提供產(chǎn)品和服務(wù)。

包括:數(shù)據(jù)庫、開發(fā)工具、ERP、CRM、

OLAP,電子商務(wù)應(yīng)用產(chǎn)品(e-Business),并提供

全球化的技術(shù)支持,培訓(xùn)和咨詢顧問服務(wù)。

□應(yīng)用產(chǎn)品領(lǐng)域:惠普、波音和通用電氣

等眾多大型跨國企業(yè)。在我國,Oracle

的應(yīng)用已經(jīng)深入到了銀行、證券、郵電、

鐵路、民航、軍事、財稅、教育等許多

行業(yè)。

□Oracle應(yīng)用產(chǎn)品包括財務(wù)、供應(yīng)鏈、制

造、項目管理、人力資源和市場與銷售

等七十多個模塊,現(xiàn)已被全球近7600

多家企業(yè)所采用。

1.4ORACLE賬戶

System

Sys

Scott

教學(xué)基本內(nèi)容教學(xué)基本內(nèi)容教學(xué)過程

及過程1.4Oracle的發(fā)展歷程簡要介紹Oracle的發(fā)

□1977年,LarryEllison、BobMiner和Ed展歷程,介紹Larry

Oates等人共同創(chuàng)辦了一家名為軟件開Ellison

發(fā)實驗室(SDL)的計算機(jī)公司。決定鼓勵學(xué)生創(chuàng)新創(chuàng)業(yè)

構(gòu)建RDBMS,并發(fā)布了第一個版本。這

個產(chǎn)品命名為ORACLE。

□1979年,更名為RSI首次向客戶發(fā)布了

產(chǎn)品,即第2版。

□1983年,推出第3版。同年,RSI更名

為Oracle公司。(C)

□1984年,第4版發(fā)布。增加了讀一致性。

□1985年,第5版發(fā)布。該版本可稱作是

Oracle發(fā)展史上的里程碑。第一個

Client/server模式的RDBMS。86年上市。

□1988年,Oracle的第6版發(fā)布。該版本

支持鎖定模式、多處理器、過程化語言

PL/SQL及OLTP,聯(lián)機(jī)熱備份。

□1992年,Oracle7發(fā)布。采用多線程服

務(wù)器體系結(jié)構(gòu)MTS。分布式事務(wù)處理功

能、存儲過程、觸發(fā)過程和說明性引用

完整性。

□1997年,Oracle8發(fā)布。ORACLE8支持

面向?qū)ο蟮拈_發(fā)及新的多媒體應(yīng)用。同

時處理大量用戶和海量數(shù)據(jù)的特性。

□1998年推出了Oracle8i,第一個全面支

持Internet的數(shù)據(jù)庫。

□2001年,Oracle)release1發(fā)布。2002

年,Oracle-release2發(fā)布。增加了集

群文件系統(tǒng)等特性。包括數(shù)據(jù)庫核心、

開發(fā)組件、應(yīng)用服務(wù)器及客戶端開發(fā)工

具組件。集成了ApacheWebServer,可以

使用PL/SQL和Java開發(fā)Web應(yīng)用。

□2004年,針對網(wǎng)格計算的Oracle10g發(fā)

布。

□2007年,推出最新數(shù)據(jù)庫Oracle11g。

教學(xué)基本內(nèi)容教學(xué)過程

1.5Oracle查1商工具操作演示

Oracle的啟動過程

—用戶名及密碼

三個工具的使用

—___i___—____4i_____

■iSQL*Plus可以執(zhí)行能用SQL*Plus完成的

所有任務(wù)。該工具的優(yōu)勢在于能通過瀏

覽器訪問它。

■SQL*Plus是Oracle最常用的工具之一,

教學(xué)基本內(nèi)容用于接受和執(zhí)行SQL命令以及PL/SQL

塊。

及過程

■OracleSQLDeveloper是免費的圖形化

數(shù)據(jù)庫開發(fā)工具。運行SQL語句和SQL

腳本,編輯和調(diào)試PL/SQL語句。提高工

作效率。

課后在自己筆記本上見虛擬機(jī),下載oracle并安學(xué)提

作業(yè)與

課外訓(xùn)練

1.Oracle數(shù)據(jù)庫應(yīng)用與開發(fā)實例教程/吳海波主編北京:電

子工業(yè)出版社,

課外閱讀2008.

2.0raclelOg數(shù)據(jù)庫基礎(chǔ)教程孫風(fēng)棟等編著北京電子工

資料業(yè)出版社2009.

使學(xué)生了解了oracle在現(xiàn)實生活中的應(yīng)用,熟悉oracle系統(tǒng)的工具

課后小結(jié)

《Oracle》教案

任課教師趙德玉授課班級2018級軟件技術(shù)1-2班

教學(xué)時間安排講授1學(xué)時,實驗1

授課時間學(xué)時

授課題目

第2章Oracle體系結(jié)構(gòu)

(章節(jié))

教學(xué)目的、認(rèn)識Oracle系統(tǒng)的體系結(jié)構(gòu)

了解Oracle數(shù)據(jù)庫的物理存儲結(jié)構(gòu)

要求(教學(xué)

了解Oracle邏輯存儲結(jié)構(gòu)

目標(biāo))掌握Oracle數(shù)據(jù)庫實例的組成

教學(xué)重點重點:Oracle數(shù)據(jù)庫的物理存儲結(jié)構(gòu)

與難點難點:Oracle數(shù)據(jù)庫的邏輯結(jié)構(gòu)

教學(xué)方式、

課堂講授與實驗實踐相結(jié)合

方法與手段

教學(xué)基本內(nèi)容教學(xué)過程

復(fù)習(xí)回顧上次課所

2.1認(rèn)識Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)

講內(nèi)容

系統(tǒng)的體系結(jié)構(gòu)決定了數(shù)據(jù)庫如何使用內(nèi)存、硬

件和網(wǎng)絡(luò),以及哪個進(jìn)程或程序運行在哪臺機(jī)器

上。

啟動Oracle演示

Oracle數(shù)據(jù)庫服務(wù)器有兩個主要的組成部分:數(shù)

SQL*PLUS工具的使

據(jù)庫和實例(instance)。數(shù)據(jù)庫的主要功能是保存

數(shù)據(jù),在物理結(jié)構(gòu)上相當(dāng)于是存儲數(shù)據(jù)的容器,

數(shù)據(jù)在計算機(jī)中是

是數(shù)據(jù)的集合。Oracle實例是指數(shù)據(jù)庫服務(wù)器的

教學(xué)基本內(nèi)怎么存儲的,Oracle

內(nèi)存及相關(guān)后臺進(jìn)程。

又是如何管理的引

入本次課內(nèi)容

及過程

1.介紹Oracle體

*系結(jié)構(gòu)

OradA服冬器

2.按照圖表介紹

相關(guān)概念

Crac后肺癌勘]3.講解Oracle的

Oracle實例

物理結(jié)構(gòu)和邏

輯結(jié)構(gòu)

數(shù)據(jù)庫構(gòu)成

4.操作演示數(shù)據(jù)

文件、控制文件

管理數(shù)據(jù)庫的后臺進(jìn)程和內(nèi)存結(jié)構(gòu)的集合稱為

和日志文件

Oracle實例

實例構(gòu)成:內(nèi)存和進(jìn)程

進(jìn)程包括:DBWnCKPTLGWRSMONPMONARCnRECO

2.2ORACLE物理結(jié)構(gòu)

Oracle數(shù)據(jù)庫由操作系統(tǒng)文件組成,這些文件為

數(shù)據(jù)庫信息提供實際物理存儲區(qū)

Oracle數(shù)據(jù)庫包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu)

數(shù)據(jù)文件

控制文件

聯(lián)機(jī)重做日志文件

2.30racle數(shù)據(jù)庫的邏輯結(jié)構(gòu)

Oracle數(shù)據(jù)庫邏輯結(jié)構(gòu)由方案、數(shù)據(jù)庫、表空間、段、

區(qū)和數(shù)據(jù)庫構(gòu)成。

表空間:數(shù)據(jù)庫分為多個邏輯存儲單元,這些單元稱

為表空間。

段:表空間中存儲在數(shù)據(jù)庫空間分配中的邏輯單位稱

為段。

數(shù)據(jù)段

索引段

還原段

臨時段

區(qū):數(shù)據(jù)塊之上的邏輯數(shù)據(jù)庫存儲層稱為區(qū),是在表

空間中被段使用的大塊空間。

數(shù)據(jù)塊:數(shù)據(jù)塊是Oracle服務(wù)器所能分配、讀取或?qū)?/p>

入的最小存儲單元。

教學(xué)基本內(nèi)容教學(xué)過程

2.4Oracle的實例講解Oracle實

Oracle實例是后臺進(jìn)程和內(nèi)存結(jié)構(gòu)的集合例構(gòu)成

Oracle的內(nèi)存結(jié)構(gòu)包含以下兩個內(nèi)存區(qū):

數(shù)據(jù)庫信息存儲于SGA,由多個數(shù)據(jù)庫進(jìn)程共享

包含:數(shù)據(jù)庫緩沖區(qū),重做日志緩沖區(qū)和共享池

PGA是用戶進(jìn)程私有的內(nèi)存區(qū)域,不能共享。

教學(xué)基

PGA包含單個服務(wù)器進(jìn)程或單個后臺進(jìn)程的數(shù)據(jù)和控制信

本內(nèi)容息,有進(jìn)程會話變量及內(nèi)部數(shù)組等等。

及過程

Oracle實例有幾種不同類型的進(jìn)程,它們是:

后臺進(jìn)程是Oracle數(shù)據(jù)庫為了保持最佳系統(tǒng)性能和協(xié)調(diào)多個

用戶請求而設(shè)置的。Oracle實例啟動時即創(chuàng)建一系列后臺進(jìn)

□數(shù)據(jù)庫寫入進(jìn)程(DBWR)

管理數(shù)據(jù)緩沖區(qū)和字典緩沖區(qū)的內(nèi)容,分批將修改后的數(shù)

據(jù)塊寫回數(shù)據(jù)庫文件。

□日志寫入進(jìn)程(LGWR)

用于將聯(lián)機(jī)重做日志緩存區(qū)的內(nèi)容寫入到聯(lián)機(jī)重做日志

文件中,是唯一能夠讀寫日志文件的進(jìn)程。

□系統(tǒng)監(jiān)控進(jìn)程(SMON)

檢查數(shù)據(jù)庫的一致性。在數(shù)據(jù)庫系統(tǒng)啟動時執(zhí)行恢復(fù)性工

作的強制進(jìn)程,對有故障的CPU或?qū)嵗M(jìn)行恢復(fù)。

進(jìn)程監(jiān)控進(jìn)程(PMON)

教學(xué)基本內(nèi)容教學(xué)過程

用于恢復(fù)失敗的數(shù)據(jù)庫用戶的強制性進(jìn)程,當(dāng)用

戶進(jìn)程失敗后,進(jìn)程監(jiān)控器后臺進(jìn)程會進(jìn)行清理

工作,它回滾用戶進(jìn)程還沒做完的事務(wù),釋放該

用戶占用的所有數(shù)據(jù)庫資源。

□歸檔進(jìn)程(ARCH)

數(shù)據(jù)庫設(shè)置為歸檔日志模式情況下,每次日

志切換時把已滿的日志組進(jìn)行備份或歸檔。

□檢查點進(jìn)程(CKPT)

確保緩沖區(qū)內(nèi)的內(nèi)容隔一定時間以后進(jìn)

行一次對數(shù)據(jù)文件的更新。不然在數(shù)據(jù)庫發(fā)

生毀損時,就只能用很長時間從日志文件的

記錄中才能還原回來,造成系統(tǒng)的負(fù)擔(dān)。

教學(xué)基本內(nèi)容

及過程

查看初始化參數(shù)文件,查看數(shù)據(jù)庫物理文件存儲位置

作業(yè)與

課外訓(xùn)練

1.Oracle數(shù)據(jù)庫應(yīng)用與開發(fā)實例教程/吳海波主編北京:電

子工業(yè)出版社

課外閱讀,2008.

2.0raclel0g數(shù)據(jù)庫基礎(chǔ)教程孫風(fēng)棟等編著北京電子工

資料業(yè)出版社2009.

通過講解和演示,使學(xué)生了解Oracle的物理結(jié)構(gòu)和邏輯結(jié)構(gòu)

課后小結(jié)

(Oracle》教案

任課教師趙德玉授課班級2018級軟件技術(shù)1-2班

講授1學(xué)時,實驗1

授課時間教學(xué)時間安排

學(xué)時

授課題目

第3章SQL*PLUS

(章節(jié))

目標(biāo)1:掌握連接或斷開Oracle數(shù)據(jù)庫、退出SQL*Plus環(huán)境的命令。

目標(biāo)2:掌握SQL*Plus環(huán)境設(shè)置及保存環(huán)境變量命令的使用方法。

教學(xué)目的、要

目標(biāo)3:掌握使用SQL*Plus的各種格式化命令為查詢輸出結(jié)果定制格式。

求(教學(xué)目標(biāo))目標(biāo)4:掌握使用SQL*Plus編輯器編輯SQL語句或PL/SQL程序塊。

目標(biāo)5:掌握使用文件操作命令保存、加載和執(zhí)行和本文件。

目標(biāo)6:掌握使用假脫機(jī)命令。

教學(xué)重點重點:熟練使用SQL*Plus的常用命令。

與難點難點:格式化命令

教學(xué)方式、方

課堂講授與實驗實踐相結(jié)合

法與手段

教學(xué)基本內(nèi)容教學(xué)過程

SQL*Plus是Oracle提供的一個重要的用于訪問

數(shù)據(jù)庫服務(wù)器的交互式管理工具,是Oracle的

核心產(chǎn)品。SQL*Plus不僅可以執(zhí)行標(biāo)準(zhǔn)SQL語

言,并且還對SQL命令進(jìn)行擴(kuò)展,提供了另外

一些Oracle服務(wù)器能夠接受和處理的命令。

開發(fā)者和DBA可以通過SQL*Plus直接靈活地存

取Oracle數(shù)據(jù)庫,完成相應(yīng)的管理與開發(fā)任務(wù)。

復(fù)習(xí)回顧上次課所講

3.1啟動及退出SQLPLUS

教學(xué)基本內(nèi)容內(nèi)容

1顯示啟動

及過程

2隱式啟動

通過演示講解

SQL*PLUS命令的使用

3nolog啟動

4exit

5quit

3.2使用SQL詰言

SQLStructuredQueryLanguage

Connectscott/tiger

Selectempno,ename,job,salfromempwhfere

sal<2200;

1編輯命令及程序

Edit

2文件操作

Save

Get

3運行命令

RUN

/

START文件名

@文件名

4數(shù)據(jù)庫相關(guān)命令

Describeemp

Alteruserscottaccountunlockidentifiedbytiger

5SPOOL命令

6SET命令

SETSERVEROUTPUTON

SETLINESIZE200

SETPAGESIZE40

7SIIOW命令

SHOWUSER

SHOWALL

SHOWPARAMETER

教學(xué)基本內(nèi)容教學(xué)過程

教學(xué)基本內(nèi)容

及過程

練習(xí)SQL+PLU5命令的使用

作業(yè)與

課外訓(xùn)練

1.Oracle數(shù)據(jù)庫應(yīng)用與開發(fā)實例教程/吳海波主編北京:電

課外閱讀子工業(yè)出版社,2008.

2.0raclel0g數(shù)據(jù)庫基礎(chǔ)教程孫風(fēng)棟等編著北京電子工

資料業(yè)出版社2009.

通過講解和練習(xí),使學(xué)生掌握SQL*PLUS命令的使用

課后小結(jié)

《Oracle》教案

任課教師趙德玉授課班級2018級軟件技術(shù)1-2班

講授1學(xué)時,實驗1

授課時間教學(xué)時間安排

學(xué)時

授課題目

第4章表的創(chuàng)建與管理

(章節(jié))

目標(biāo)1:掌握基本數(shù)據(jù)類型。

教學(xué)目的、要

目標(biāo)2:表的創(chuàng)建、修改和刪除。

求(教學(xué)目標(biāo))目標(biāo)3:插入、更新與刪除表中的數(shù)據(jù)。

目標(biāo)4:掌握數(shù)據(jù)完整性的實施方法。

教學(xué)重點重點:表的創(chuàng)建、修改和刪除,數(shù)據(jù)插入、更新與刪除。

與難點難點:數(shù)據(jù)完整性

教學(xué)方式、方

課堂講授與實驗實踐相結(jié)合

法與手段

教學(xué)基本內(nèi)容教學(xué)過程

4.1創(chuàng)建表

4.1.1基本數(shù)據(jù)類型

1字符數(shù)據(jù)類型

Charvarchar

2數(shù)值數(shù)據(jù)類型

Numberintegerint

復(fù)習(xí)回顧上次課所講

教學(xué)基本內(nèi)容3口期數(shù)據(jù)類型內(nèi)容

及過程

date

4.1.2創(chuàng)建表命令通過演示講解

SQL*PLUS命令的使用

CREATETABLE[schema.]table_name

(column_namedatatype[DEFAULT

expression][column_constraint]/--n)

[PCTFREEinteger]

[PCTUSEDinteger]

[INITRANSinteger]

[MAXTRANSinteger]

[TABLESPACEtablespace_name]

[STORAGEstorage_clause]

[CLUSTERcluster_name(cluster_column/*?n)]

[ASsubquery];

Createtablestudent

(studentidchar⑹,

Namevarchar2(8),

Sexchar(2).

Birthdaydate

);

4.1.3修改表與刪除表

表創(chuàng)建后,可以利用ALTERTABLE命令修改

表,包括增加列、修改列的屬性和刪除列,

可進(jìn)行表參數(shù)的修改以及表的重命名和約

束的添加、修改、刪除和禁用等。

語法格式:

ALTERTABLE[schema.Jtablename

[ADD(columnnamedatatype

(DEFAULT

expression][column_constraint]/*Ti)]

[MODIFY(columnnamedatatype

[DEFAULTexpression]

(column_constraint]/**n)]

[DROPCOLUMNcolumnname]

(1)添加列

Altertablestudentaddsdeptvarchar2(10);

⑵刪除列

使用ALTERTABLE...DROPCOLUMN語句直接

刪除列。

Altertablestudentdropcolumnsex;

⑶修改列

使用ALTERTABLE...MODIFY語句實現(xiàn)表中列

的修改。

Altertablestudentmodifysdeptvarchar2(15);

使用ALTERTABLE...RENAMECOLUMN語句

修改列的名利;。

Altertablestudentrenamecolumn

studentjdtosno;

教學(xué)基本內(nèi)容教學(xué)過程

教學(xué)基本內(nèi)容

及過程

根據(jù)實驗指導(dǎo)書練習(xí)表的創(chuàng)建與修改

作業(yè)與

課外訓(xùn)練

1.Oracle數(shù)據(jù)庫應(yīng)用與開發(fā)實例教程/吳海波主編北京:電

課外閱讀子工業(yè)出版社,2008.

2.0raclel0g數(shù)據(jù)庫基礎(chǔ)教程孫風(fēng)棟等編著北京電子工

資料業(yè)出版社2009.

通過講解和練習(xí),使學(xué)生掌握DDL命令的使用

課后小結(jié)

《Oracle》教案

任課教師趙德玉授課班級2018級軟件技術(shù)1-2班

講授1學(xué)時,實驗1

授課時間教學(xué)時間安排

學(xué)時

第8章表的創(chuàng)建與管理

授課題目8.4數(shù)據(jù)插入、修改和刪除

(章節(jié))8.5事務(wù)與事務(wù)控制語句

教學(xué)目的、要

目標(biāo)3:插入、更新與刪除表中的數(shù)據(jù)。

求(教學(xué)目標(biāo))目標(biāo)4:掌握數(shù)據(jù)完整性的實施方法。

教學(xué)重點重點:表的創(chuàng)建、修改和刪除,數(shù)據(jù)插入、更新與刪除。

與難點難點:數(shù)據(jù)完整性

教學(xué)方式、方

課堂講授與實驗實踐相結(jié)合

法與手段

教學(xué)基本內(nèi)容教學(xué)過程

8.4.1插入數(shù)據(jù)

1.單行插入

INSERT語句用于在指定的表中添加數(shù)據(jù)。復(fù)習(xí)回顧上次課所講

教學(xué)基本內(nèi)容語法格式如下。內(nèi)容

及過程

INSERTINTOtable_name[column_list]

VALUES(values)通過演示講解

SQL*PLUS命令的使用

2.插入多行數(shù)據(jù)

另一種插入數(shù)據(jù)(相當(dāng)于復(fù)制)方法的語

法格式是:

INSERTINTOtable_name[column_list]

SELECT[column_list]FROM

source_table_name

[WHEREsearch_conditions]

8.4.2修改數(shù)據(jù)

UPDATE語句用來修改表中的數(shù)據(jù),可以一次修

改一條或多條記錄。語法格式如下。

UPDATEtable_name

SETcolumn_name=value

[WHEREcondition]

8.4.3刪除數(shù)據(jù)

1.使用DELETE命令

DELETE語句可以刪除表中的一條或多條記錄。

語法格式如下。

DELETEFROMtable_name

WHEREcondition

2.使用TRUNCATETABLE命令

該命令可以用來快速地刪除表中的所有記錄O

這個命令所做的修改不能回滾,對于已經(jīng)刪除

的記錄不能恢復(fù)。

語法格式如下。

TRUNCATETABLEtable_name

8.5事務(wù)與事務(wù)控制語句

8.5.1事務(wù)

事務(wù)(Transaction)就是一組SQL語句,這

組SQL語句可以被看作是一個工作邏輯單元,

是一系列作為一個單元被全部提交或全部回滾

的SQL語句。這些語句要么全部被執(zhí)行,要么

全部不被執(zhí)行,如果其中有任一條SQL語句執(zhí)

行失敗,則全部語句都不會被執(zhí)行,這樣就保

證了數(shù)據(jù)的一致性和完整性。

8.5.2事務(wù)控制語句

1.COMMIT命令

2.ROLLBACK命令

3.SAVEPOINT命令

根據(jù)實驗指導(dǎo)書練習(xí)表的創(chuàng)建與修改

作業(yè)與

課外訓(xùn)練

1.Oracle數(shù)據(jù)庫應(yīng)用與開發(fā)實例教程/吳海波主編北京:電

課外閱讀子工業(yè)出版社,2008.

2.0raclel0g數(shù)據(jù)庫基礎(chǔ)教程孫風(fēng)棟等編著北京電子工

資料業(yè)出版社2009.

通過講解和練習(xí),使學(xué)生掌握DML命令的使用

課后小結(jié)

《Oracle》教案

任課教師趙德玉授課班級2018級軟件技術(shù)1-2班

講授1學(xué)時,實驗1

授課時間教學(xué)時間安排

學(xué)時

第章表的創(chuàng)建與管理

授課題目8

8.2數(shù)據(jù)完整性和約束條件

(章節(jié))

教學(xué)目的、要

目標(biāo)4:掌握數(shù)據(jù)完整性的實施方法。

求(教學(xué)目標(biāo))

教學(xué)重點重點:表的創(chuàng)建、修改和刪除,數(shù)據(jù)插入、更新與刪除。

與難點難點:數(shù)據(jù)完整性

教學(xué)方式、方

課堂講授與實驗實踐相結(jié)合

法與手段

教學(xué)基本內(nèi)容教學(xué)過程

8.2數(shù)據(jù)完整性和約束條件

8.2.1數(shù)據(jù)完整性約束

要對這些規(guī)則進(jìn)行驗證,從而起到約束作

用"更習(xí)回顧上次課所講

教學(xué)基本內(nèi)容內(nèi)容

完整性包括數(shù)據(jù)完整性和參照完整性,數(shù)

及過程

據(jù)完整性定義表數(shù)據(jù)的約束條件,參照完整性

通過演示講解設(shè)置約

定義數(shù)據(jù)之間的約束條件。數(shù)據(jù)完整性由主鍵

束命令的使用

(PRIMARYKEY)、非空(NOTNULL)、唯一

(UNIQUE)和檢查(CHECK)約束條件定義,

參照完整性由外鍵(FOREIGNKEY)約束條件定

義。

8.2.2表的五種約束

表共有五種約束,它們是主鍵、非空、唯

一、檢查和外鍵。

1.主鍵(PRIMARYKEY)

主鍵約束的語法如下:

[CONSTRANT約束名]PRIMARYKEY-

列級

[CONSTRANT約束名]PRIMARYKEY(列

名1,列名2,…)一一表級

2.非空(NOTNULL)

非空約束指定某列不能為空,它只能在列級

定義。在默認(rèn)情況下,Oracle允許列的內(nèi)容為

空值。比如“學(xué)生姓名”列要求必須填寫,可

以為該列設(shè)置豐空約束條件。

非空約束語法如下:

[CONSTRANT約束名]NOTNULL-列級

3.惟一(UNIQUE)

惟一約束條件要求表的一列或多列的組合內(nèi)容

必須惟一,即天相重,可以在列級或表級定義。

但如果惟一約束包含表的多列,則必須在表級

定義。比如學(xué)生表的“姓名”不應(yīng)該重復(fù),可

以為其定義惟一約束。

惟一約束的語法如下:

[CONSTRANT約束名]UNIQUE-列級

[CONSTRANT約束名]UNIQUE(列名1,列

名2,...)表級

4.檢查(CHECK)

檢查約束條件是用來定義表的一列或多列的

一個約束條件,使表的每一列的內(nèi)容必須滿足

該條件(列的內(nèi)容為空除外)。在CHECK條件中,

可以調(diào)用SYSDATE、USER等系統(tǒng)函數(shù)。一個列

上可以定義多個CHECK約束條件,一個CHECK

約束可以包含一列或多列。如果CHECK約束包

含表的多列,則必須在表級定義。

檢查約束的語法如下:

[CONSTRANT約束名]CHECK(約束條件)

-列級,約束條件中只包含本列

[CONSTRANT約束名]CHECK(約束條件)

-表級,約束條件中包含多列

5.外鍵(FROEIGNKEY)

指定表的一列或多列的組合作為外鍵,外鍵

參照指定的主鍵或惟一犍。外鍵的值可以為

NULL,如果不為NULL,就必須是指定主鍵或惟

一鍵的值之一。外鍵通常用來約束兩個表之間

的數(shù)據(jù)關(guān)系,這兩個表含有主鍵或惟一鍵的稱

為主表,定義外鍵的那張表稱為子表。如果外

鍵只包含一列,則可以在列級定義;如果包含

多列,則必須在表級定義。外鍵的列的個數(shù),

列的數(shù)據(jù)類型和長度,應(yīng)該和參照的主鍵或惟

一鍵一致。比如成績表的“學(xué)號”歹U,可以定

義成外鍵,參照學(xué)生表的“學(xué)號”列,但學(xué)生

表的“學(xué)號”列必須先定義成為主鍵或惟一鍵。

如果外鍵定義成功,則學(xué)生表稱為主表,成績

稱為子表.在表的創(chuàng)建過程中,應(yīng)該先創(chuàng)建主

表,后創(chuàng)建子表。

外鍵約束的語法如下:

第一種語法,如果子記錄存在,則不允許

刪除主記錄:

[CONSTRANT約束名]FOREIGNKEY(歹U名1,

歹lj名2,...)REFERENCES一表名(歹U名1,歹U

名2,...)

第二種語法,如果子記錄存在,則刪除主

記錄時,級聯(lián)刪除子記錄:

[CONSTRANT約束名]FOREIGNKEY(列名

1,列名2,...)REFERENCES-表名(列名1,

列名2,...)ondeletecascade

第三種語法,如果子記錄存在,則刪除主

記錄時,將子記錄置成空:

[CONSTRANT約束名]FOREIGNKEY(歹lj名1,

列名2)REFERENCES-表名(列名1,列名

2,...)ondeleltesetnull

根據(jù)實驗指導(dǎo)書練習(xí)表的創(chuàng)建與修改

作業(yè)與

課外訓(xùn)練

1.Oracle數(shù)據(jù)庫應(yīng)用與開發(fā)實例教程/吳海波主編北京:電

課外閱讀子工業(yè)出版社,2008.

2.0raclel0g數(shù)據(jù)庫基礎(chǔ)教程孫風(fēng)棟等編著北京電子工

資料業(yè)出版社2009.

通過講解和練習(xí),使學(xué)生掌握添加約束命令的使用

課后小結(jié)

《Oracle》教案

任課教師趙德玉授課班級2013級計算機(jī)科學(xué)與技術(shù)本科123班

講授學(xué)時,實驗

教學(xué)時間安排22

授課時間學(xué)時

第章基本查詢

授課題目6SQL

6.1SELECT基本查詢語句

(章節(jié))

教學(xué)目的、要了解SQL語言,掌握SQL語言分類、運算符與表達(dá)式

掌握各種函數(shù)的用法。

求(教學(xué)目

掌握SELECT基本杳詢。

標(biāo))

教學(xué)重點重點:SELECT基本查詢使用。BETWEENAND、IN、LIKE運算符的

使用。

與難點難點:函數(shù)的用法。

教學(xué)方式、方

課堂講授與實驗實踐相結(jié)合

法與手段

教學(xué)基本內(nèi)容教學(xué)過程

6.1SELECT基本查詢語句

SELECT語句的基本語法格式如下:

SELECT[ALL|DISTINCT]selectjist

FROM[schema.]table_name|[schema.]

view_name復(fù):習(xí)回顧上次課所

教學(xué)基本內(nèi)

講內(nèi)容

[WHEREsearch_condition]

及過程[GROUPBYgroup_by_expression

通過演示講解

[HAVINGsearch_condition]]

SELECT語句的使用

[ORDERBYorder_expression[ASC|

DESC]]

6.1.1SELECT語句和FROM語句

SELECT子句和FROM子句是SELECT語句的必

選項,也就是說,每個SELECT語句都必須包含這兩

個子句。其語法格式如下:

SELECT[ALL|DISTINCT]

selectjist

FROM[schema.]table_name|

[schema.]view_name

1.選擇所有列

在SELECT子句中可以使用星號(*)

顯示表中所有的列。

2.指定列

指定列的的語法格式如下:

SELECT

column_name1[,column_name2,]

FROM[schema.]table_name|

[schema.]view_name

3.改變列標(biāo)題

在塊省情況下,查詢結(jié)果中顯示的列

標(biāo)題就是在創(chuàng)建表時使用的字段名,

用戶可以根據(jù)要求在SELECT語句中

改變列標(biāo)題,語法格式如下:

SELECTcolumn_name1[AS]

alias,column_name2[AS]alias,

FROM[schema.]table_name|

Ischema.]view_name

4.使用計算列

在進(jìn)行數(shù)據(jù)查詢時,經(jīng)常需要對表中

數(shù)據(jù)計算后才能得到滿意的結(jié)果。在

查詢結(jié)果中可以輸出對列計算后的

值,即SELECT子句中可以使用表達(dá)

式作為查詢對象??梢允褂酶鞣N運算

符和函數(shù)對字段的值進(jìn)行計算。函數(shù)

包括普通函數(shù)和統(tǒng)計函數(shù),分別在后

面的章節(jié)介紹。而運算符通常使用算

術(shù)運算符和字符串運算符(11算

術(shù)運算符包括加(+)、減(-)、乘3)、

除(/)和取模(%)運算。

5.DISTINCT關(guān)鍵字

使用DISTINCT關(guān)鍵字可以從結(jié)果集

中消除重復(fù)的行,使結(jié)果更簡潔。其

語法格式如下:

SELECTDISTINCT

column_name1[,column_name2,]

FROM[schema.]table_name|

[schema.]view_name

6.1.2WHERE子句

在實際工作中,大部分查詢并不是針對表中所

有記錄進(jìn)行查詢,而是要找出滿足某些條件的記

錄。此時我們可以在SELECT語句中使用WHERE子

句,目的是從表中篩選出符合條件的行,WHERE

子句必須緊跟在FROM子句之后,其語法格式如下:

SELECTselectjist

FROM[schema.]table_name|[schema.]

view_name

WHEREserch_condition

1.比較運算符

2.邏輯運算符

3.字符串模式匹配

使用LIKE操作符可完成按通配符查找字

符串的查詢操作,該操作符適合于對數(shù)據(jù)

進(jìn)行模糊查詢。其語句法為:

[NOT]LIKE匹配模式

匹配模式中除了可以包含固定的字符之

外,還可以包含以下的通配符:

%:代表0個或多個任意字符。

_:代表一個任意字符。

4.范圍比較

SELECTselectjist

FROM[schema.]table_name|[schema.]

view_name

WHEREcolumn_name[NOT]BETWEEN

expressionlANDexpression2

5.使用查詢列表

如果要查詢的字段的取值范圍不是一個

連續(xù)的區(qū)間,而是一些離散的值,那么可

以使用關(guān)鍵字IN進(jìn)行查詢。其語法格式

如下:

SELECTselect_listFROM[schema.]

table_name|[schema.]view_name

WHEREcolumn_name[NOT]IN

(valuel,value2,

溫馨提示

  • 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

提交評論