數(shù)據(jù)庫(kù)培訓(xùn)課件_第1頁(yè)
數(shù)據(jù)庫(kù)培訓(xùn)課件_第2頁(yè)
數(shù)據(jù)庫(kù)培訓(xùn)課件_第3頁(yè)
數(shù)據(jù)庫(kù)培訓(xùn)課件_第4頁(yè)
數(shù)據(jù)庫(kù)培訓(xùn)課件_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)第2頁(yè)1、安裝、安裝2、基本概念、基本概念 數(shù)據(jù)數(shù)據(jù) 數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng) 數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng) 數(shù)據(jù)模型數(shù)據(jù)模型 數(shù)據(jù)模型的三要素?cái)?shù)據(jù)模型的三要素 關(guān)系模型關(guān)系模型3、事務(wù)、事務(wù)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)一數(shù)據(jù)庫(kù)基本知識(shí)一數(shù)據(jù)庫(kù)基本知識(shí)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)n 數(shù)據(jù)定義語(yǔ)言(DDL Data Definition Language) 例如:CREATE、DROP、ALTER等語(yǔ)句。 n 數(shù)據(jù)操作語(yǔ)言(DML Data Manipulation Language) 例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語(yǔ)句。 n 數(shù)據(jù)查詢(xún)語(yǔ)言(DQL Data Que

2、ry Language ) 例如:SELECT語(yǔ)句。 n 數(shù)據(jù)控制語(yǔ)言(DCL Data Control Language) 例如:GRANT、REVOKE、COMMIT、ROLLBACK等語(yǔ)句。第3頁(yè)二二.SQL.SQL數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)安裝文檔數(shù)據(jù)庫(kù)安裝文檔 Sql Plus(客戶(hù)端),命令行直接輸入:客戶(hù)端),命令行直接輸入:sqlplus,然后按,然后按提示輸入用戶(hù)名,密碼。提示輸入用戶(hù)名,密碼。 從開(kāi)始程序運(yùn)行從開(kāi)始程序運(yùn)行:sqlplus,是圖形版的,是圖形版的sqlplus. http:/localhost:5560/isqlplus PlSql Developer 用法(重點(diǎn)

3、),數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出,用法(重點(diǎn)),數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出,pdm alter user scott account unlock; 解鎖scott 密碼為tiger第4頁(yè)安裝安裝第5頁(yè)數(shù)據(jù)庫(kù)基本知識(shí)數(shù)據(jù)庫(kù)基本知識(shí)基本概念基本概念 描述事物的符號(hào),數(shù)字、文字、圖表、圖像、聲音等都是數(shù)據(jù)。數(shù)據(jù)的形式本身并不能完全表達(dá)其內(nèi)容,需要經(jīng)過(guò)語(yǔ)義解釋?zhuān)瑪?shù)據(jù)與其語(yǔ)義是不可分的數(shù)據(jù)數(shù)據(jù)(Data)(Data)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)(DB(DB即即Database)Database) 數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)有結(jié)構(gòu)的大量的共享的數(shù)據(jù)集合。它可以供各種用戶(hù)共享、具有最小冗余度和較高的數(shù)據(jù)獨(dú)立性第6頁(yè)數(shù)據(jù)庫(kù)基本知識(shí)數(shù)據(jù)庫(kù)基本知識(shí)基本

4、概念基本概念數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)(DBMS) Database Management System,是位于用戶(hù)與操作系統(tǒng)之間的數(shù)據(jù)管理軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)使用戶(hù)能方便地定義數(shù)據(jù)和操縱數(shù)據(jù),并能夠保證數(shù)據(jù)的安全性、完整性、多用戶(hù)對(duì)數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復(fù)數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)(DBS)(DBS) Database System,狹義地講是由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和用戶(hù)構(gòu)成,廣義地講是由計(jì)算機(jī)、硬件、操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)以及在它支持下建立起來(lái)的數(shù)據(jù)庫(kù)應(yīng)用程序、用戶(hù)和維護(hù)人員組成的一個(gè)整體第7頁(yè)數(shù)據(jù)庫(kù)基本知識(shí)數(shù)據(jù)庫(kù)基本知識(shí)基本概念基本概念數(shù)據(jù)模型數(shù)據(jù)模型n 數(shù)據(jù)(D

5、ata)是描述事物的符號(hào)記錄。模型(Model)是現(xiàn)實(shí)世界的抽象。數(shù)據(jù)模型(Data Model)也是一種模型,它是現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。數(shù)據(jù)模型通常都由數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)操作和完整性三個(gè)要素組成。n 數(shù)據(jù)庫(kù)模型的三要素 1.數(shù)據(jù)結(jié)構(gòu) 2.數(shù)據(jù)操作 3.完整性約束第8頁(yè)數(shù)據(jù)庫(kù)基本知識(shí)數(shù)據(jù)庫(kù)基本知識(shí)基本概念基本概念數(shù)據(jù)模型的三要素?cái)?shù)據(jù)模型的三要素n 數(shù)據(jù)結(jié)構(gòu) :用于描述系統(tǒng)的靜態(tài)特性,研究與數(shù)據(jù)類(lèi)型、內(nèi)容、性質(zhì)有關(guān)的對(duì)象,例如關(guān)系模型中的域、屬性、關(guān)系等。n 數(shù)據(jù)操作 :數(shù)據(jù)庫(kù)主要有檢索和更新(包括插入、刪除、修改)兩大類(lèi)操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號(hào)、操作規(guī)則(如優(yōu)先級(jí))以及

6、實(shí)現(xiàn)操作的語(yǔ)言。n 數(shù)據(jù)的約束條件 :數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲(chǔ)存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。 第9頁(yè)數(shù)據(jù)庫(kù)基本知識(shí)數(shù)據(jù)庫(kù)基本知識(shí)基本概念基本概念數(shù)據(jù)模型按不同的應(yīng)用層次分類(lèi):數(shù)據(jù)模型按不同的應(yīng)用層次分類(lèi):n 概念數(shù)據(jù)模型 Lodical Data Model 數(shù)據(jù)模型,是面向數(shù)據(jù)庫(kù)用戶(hù)的現(xiàn)實(shí)世界的模型。 ER模型n 邏輯數(shù)據(jù)模型 數(shù)據(jù)模型,用戶(hù)從數(shù)據(jù)庫(kù)中所看到的模型。是具體的DBMS所支持的數(shù)據(jù)模型。 層次數(shù)據(jù)模型(Hierarchical Data Model 樹(shù)形圖

7、) 網(wǎng)狀數(shù)據(jù)模型(Network Data Model) 關(guān)系模型n 物理數(shù)據(jù)模型 Physical Data Model 物理模型,是面向計(jì)算機(jī)的物理表示的模型,描述了數(shù)據(jù)在存儲(chǔ)介質(zhì)上的組織結(jié)構(gòu),它不但與具體的DBMS有關(guān),而且還與操作系統(tǒng)和硬件有關(guān)。第10頁(yè)數(shù)據(jù)庫(kù)基本知識(shí)數(shù)據(jù)庫(kù)基本知識(shí)基本概念基本概念層次模型層次模型網(wǎng)狀模型網(wǎng)狀模型關(guān)系模型關(guān)系模型層次模型層次模型網(wǎng)狀模型網(wǎng)狀模型關(guān)系模型關(guān)系模型特點(diǎn)它的特點(diǎn)是將數(shù)據(jù)組織成一對(duì)多關(guān)系的結(jié)構(gòu)用連接指令或指針來(lái)確定數(shù)據(jù)間的顯式連接關(guān)系,是具有多對(duì)多類(lèi)型的數(shù)據(jù)組織方式為非結(jié)構(gòu)化的結(jié)構(gòu),用單一的二維表的結(jié)構(gòu)表示實(shí)體及實(shí)體之間的聯(lián)系。優(yōu)點(diǎn)存取方便且速度

8、快 結(jié)構(gòu)清晰,容易理解 數(shù)據(jù)修改和數(shù)據(jù)庫(kù)擴(kuò)展容易實(shí)現(xiàn) 檢索關(guān)鍵屬性十分方便 能明確而方便地表示數(shù)據(jù)間的復(fù)雜關(guān)系 數(shù)據(jù)冗余小 結(jié)構(gòu)特別靈活,滿(mǎn)足所有布爾邏輯運(yùn)算和數(shù)學(xué)運(yùn)算規(guī)則形成的查詢(xún)要求 能搜索、組合和比較不同類(lèi)型的數(shù)據(jù) 增加和刪除數(shù)據(jù)非常方便 缺點(diǎn)結(jié)構(gòu)呆板,缺乏靈活性 同一屬性數(shù)據(jù)要存儲(chǔ)多次,數(shù)據(jù)冗余大(如公共邊) 不適合于拓?fù)淇臻g數(shù)據(jù)的組織網(wǎng)狀結(jié)構(gòu)的復(fù)雜,增加了用戶(hù)查詢(xún)和定位的困難。 需要存儲(chǔ)數(shù)據(jù)間聯(lián)系的指針,使得數(shù)據(jù)量增大 數(shù)據(jù)的修改不方便(指針必須修改)數(shù)據(jù)庫(kù)大時(shí),查找滿(mǎn)足特定關(guān)系的數(shù)據(jù)費(fèi)時(shí) 對(duì)空間關(guān)系無(wú)法滿(mǎn)足第11頁(yè)數(shù)據(jù)庫(kù)基本知識(shí)數(shù)據(jù)庫(kù)基本知識(shí)基本概念基本概念關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型

9、n 數(shù)據(jù)結(jié)構(gòu): 一個(gè)關(guān)系模型的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。表中的一行即為一個(gè)元組;表中的一列即為一個(gè)屬性。n 操縱及完整性約束:關(guān)系數(shù)據(jù)模型的操縱主要包括查詢(xún)、插入、刪除和更新數(shù)據(jù)。這些操作必須滿(mǎn)足關(guān)系的完整性約束條件。 關(guān)系模型中的數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系,即若干元組的集合。 關(guān)系模型把存取路徑向用戶(hù)隱蔽起來(lái),用戶(hù)只要指出“干什么”,不必詳細(xì)說(shuō)明“怎么干”,從而大大地提高了數(shù)據(jù)的獨(dú)立性。 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)操作語(yǔ)言是SQL語(yǔ)言。n 存儲(chǔ)結(jié)構(gòu):關(guān)系數(shù)據(jù)模型中,實(shí)體及實(shí)體間的聯(lián)系都用表來(lái)表示。在數(shù)據(jù)庫(kù)的物理組織中,表以文件形式存儲(chǔ),每一個(gè)表通常對(duì)應(yīng)一種文件結(jié)構(gòu)。第12

10、頁(yè)數(shù)據(jù)庫(kù)基本知識(shí)數(shù)據(jù)庫(kù)基本知識(shí)事務(wù)事務(wù)事務(wù)事務(wù)( (TransactionTransaction) )概念概念是訪(fǎng)問(wèn)并可能更新數(shù)據(jù)庫(kù)中各種數(shù)據(jù)項(xiàng)的一個(gè)程序執(zhí)行單元(unit); 在關(guān)系數(shù)據(jù)庫(kù)中,一個(gè)事物可以是一條SQL語(yǔ)句,一組SQL語(yǔ)句或者整個(gè)程序; 分類(lèi)分類(lèi)l隱式事務(wù):又稱(chēng)自動(dòng)提交事務(wù);如果運(yùn)行一條 I N S E RT語(yǔ)句,SQL Server將把它包裝到事務(wù)中,如果此I N S E RT語(yǔ)句失敗,SQL Server將回滾 或取消這個(gè)事務(wù).每條S Q L語(yǔ)句均被視為一個(gè)自身的事務(wù).l顯式事務(wù):在顯示事務(wù)中事務(wù)的開(kāi)始與結(jié)束語(yǔ)句必須成對(duì)出現(xiàn),否則會(huì)出現(xiàn)錯(cuò)誤。是一種由你自己指定的事務(wù).這種事

11、務(wù)允許你自己決定哪批工作必須成功完成, 否則所有部分都不完成.為了給自己的事務(wù)定界,可以使用關(guān)鍵字BEGIN TRANSACTION和 ROLLBACK TRANSACTION或COMMIT TRANSACTION. 引入原因引入原因當(dāng)我們對(duì)表中數(shù)據(jù)進(jìn)行修改時(shí),當(dāng)需要同時(shí)完成對(duì)多個(gè)表的數(shù)據(jù)修改時(shí),即,一個(gè)表成功,另外表也成功,一個(gè)不成功,均不成功,則需要引入事務(wù)的概念,主要是解決數(shù)據(jù)的一致性。兩種事務(wù)處理兩種事務(wù)處理Commit(提交)Rollback(回滾)第13頁(yè)數(shù)據(jù)庫(kù)基本知識(shí)數(shù)據(jù)庫(kù)基本知識(shí)事務(wù)事務(wù)事務(wù)的四個(gè)屬性事務(wù)的四個(gè)屬性(ACID)(ACID)原子性原子性(atomicity)一個(gè)事

12、務(wù)是一個(gè)不可分割的工作單位,事務(wù)中包括的諸操作要么都做,要么都不做。一致性一致性(consistency)事務(wù)必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。一致性與原子性是密切相關(guān)的。 隔離性隔離性(isolation)一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。即一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)并發(fā)的其他事務(wù)是隔離的,并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾。持久性持久性(durability)持續(xù)性也稱(chēng)永久性(permanence),指一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來(lái)的其他操作或故障不應(yīng)該對(duì)其有任何影響。第14頁(yè)第14頁(yè)數(shù)據(jù)庫(kù)基本知識(shí)數(shù)據(jù)庫(kù)基本知識(shí)SQLSQL Str

13、uctured Query LanguageSQL Structured Query LanguageSql結(jié)構(gòu)化查詢(xún)語(yǔ)言,是一種數(shù)據(jù)庫(kù)查詢(xún)和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)以及查詢(xún)、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。同時(shí)也是數(shù)據(jù)庫(kù)腳本文件的擴(kuò)展名。SQL語(yǔ)言包含4個(gè)部分:n數(shù)據(jù)定義語(yǔ)言(DDL),提供定義關(guān)系模式、刪除關(guān)系以及修改關(guān)系模式的命令。 例如:CREATE、DROP、ALTER等語(yǔ)句。 n數(shù)據(jù)操作語(yǔ)言(DML),包括基于關(guān)系代數(shù)和元祖關(guān)系演算的查詢(xún)語(yǔ)言,還包括在數(shù)據(jù)庫(kù)中插入、刪除、修改元祖的命令。 例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語(yǔ)句。 n數(shù)據(jù)查詢(xún)語(yǔ)言(DQ

14、L), 例如:SELECT語(yǔ)句。 n數(shù)據(jù)控制語(yǔ)言(DCL) ,用于控制對(duì)數(shù)據(jù)庫(kù)對(duì)象操作的權(quán)限,它使用GRANT和REVOKE語(yǔ)句對(duì)用戶(hù)或用戶(hù)組授予或回收數(shù)據(jù)庫(kù)對(duì)象的權(quán)限。 例如:GRANT、REVOKE、COMMIT、ROLLBACK等語(yǔ)句。第15頁(yè)DDL基本概念基本概念DDLDDL(數(shù)據(jù)定義語(yǔ)言)(數(shù)據(jù)定義語(yǔ)言)Data Definition Language用于定義SQL模式、基本表、視圖和索引的創(chuàng)建和撤消操作表名:1-30個(gè)字符類(lèi)型:varchar2、number、date、blob 修改一個(gè)表的缺省值時(shí)只能影響后插入到表中的數(shù)據(jù),不影響原有的數(shù)據(jù)大表刪除一個(gè)字段時(shí)需要較長(zhǎng)的時(shí)間,可以先

15、給unused后再進(jìn)行刪除 比如:alter table 表名 set unused column 字段 -將字段設(shè)為不可用 Alter table 表名 drop unused columns -刪除不可用字段truncate table 表名 刪除表所有記錄 回收表空間注釋?zhuān)篊omment on table 表名 is 第16頁(yè)DDL創(chuàng)建表創(chuàng)建表- Create tablecreate table AA14( AAB001 VARCHAR2(14) not null, AAB321 VARCHAR2(6), AAA035 NUMBER(5,4), AAE041 VARCHAR2(6) no

16、t null, AAE042 VARCHAR2(6), AAE011 VARCHAR2(20), AAE036 DATE)tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );第17頁(yè)DDL添加注釋添加注釋- Add comments to the table comment on table AA14 is 工傷保險(xiǎn)單位浮動(dòng)費(fèi)率表;- Add comments to the columns comment on column A

17、A14.AAB001 is 單位編號(hào);comment on column AA14.AAB321 is 行業(yè)風(fēng)險(xiǎn)類(lèi)型;comment on column AA14.AAA035 is 浮動(dòng)費(fèi)率;comment on column AA14.AAE041 is 開(kāi)始年月;comment on column AA14.AAE042 is 終止年月;comment on column AA14.AAE011 is 經(jīng)辦人;comment on column AA14.AAE036 is 經(jīng)辦日期;第18頁(yè)DDL主鍵主鍵- Create/Recreate primary key constraints

18、alter table AA14 add constraint PK_AA14 primary key (AAB001, AAE041) using index tablespace USERS pctfree 10 initrans 2 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );第19頁(yè)DDL外鍵外鍵- Create/Recreate foreign key constraints alter table AA14 add constraint FK_AA14_AA141 foreign ke

19、y (AAB001) references AA141(AAB001);第20頁(yè)DDL唯一約束唯一約束- Create/Recreate unique key constraintsalter table SEC_USER add constraint UQ_SEC_USER_USERNAME_ unique (USERNAME_) using index tablespace USERS pctfree 10 initrans 2 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );第21頁(yè)DDL索引索

20、引通過(guò)對(duì)表的某一個(gè)或某一些字段添加索引能加快對(duì)數(shù)據(jù)庫(kù)的查詢(xún)速度。通過(guò)對(duì)表的某一個(gè)或某一些字段添加索引能加快對(duì)數(shù)據(jù)庫(kù)的查詢(xún)速度。創(chuàng)建索引的優(yōu)點(diǎn)創(chuàng)建索引的優(yōu)點(diǎn) 通過(guò)創(chuàng)建唯一性索引,可以保證數(shù)據(jù)庫(kù)表中每一行數(shù)據(jù)的唯一性 可以大大加快數(shù)據(jù)的檢索速度,這也是創(chuàng)建索引的最主要的原因 可以加速表和表之間的連接,特別是在實(shí)現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義 在使用分組和排序子句進(jìn)行數(shù)據(jù)檢索時(shí),同樣可以顯著減少查詢(xún)中分組和排序的時(shí)間 通過(guò)使用索引,可以在查詢(xún)的過(guò)程中,使用優(yōu)化隱藏器,提高系統(tǒng)的性能創(chuàng)建索引的缺點(diǎn)創(chuàng)建索引的缺點(diǎn) 創(chuàng)建索引和維護(hù)索引要耗費(fèi)時(shí)間,這種時(shí)間隨著數(shù)據(jù)量的增加而增加 索引需要占物理空間,除了數(shù)

21、據(jù)表占數(shù)據(jù)空間之外,每一個(gè)索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會(huì)更大 當(dāng)對(duì)表中的數(shù)據(jù)進(jìn)行增加、刪除和修改的時(shí)候,索引也要?jiǎng)討B(tài)的維護(hù),這樣就降低了數(shù)據(jù)的維護(hù)速度。 第22頁(yè)DDL索引索引索引是建立在數(shù)據(jù)庫(kù)表中的某些列上的索引是建立在數(shù)據(jù)庫(kù)表中的某些列上的適合創(chuàng)建索引的列適合創(chuàng)建索引的列 在經(jīng)常需要搜索的列上,可以加快搜索的速度 在作為主鍵的列上,強(qiáng)制該列的唯一性和組織表中數(shù)據(jù)的排列結(jié)構(gòu) 在經(jīng)常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度 在經(jīng)常需要根據(jù)范圍進(jìn)行搜索的列上創(chuàng)建索引,因?yàn)樗饕呀?jīng)排序,其指定的范圍是連續(xù)的 在經(jīng)常需要排序的列上創(chuàng)建索引,因?yàn)樗饕?/p>

22、經(jīng)排序,這樣查詢(xún)可以利用索引的排序,加快排序查詢(xún)時(shí)間 在經(jīng)常使用在WHERE子句中的列上面創(chuàng)建索引,加快條件的判斷速度。不適合創(chuàng)建立索引的列不適合創(chuàng)建立索引的列 對(duì)于那些在查詢(xún)中很少使用或者參考的列不應(yīng)該創(chuàng)建索引 對(duì)于那些只有很少數(shù)據(jù)值的列也不應(yīng)該增加索引 對(duì)于那些定義為text, image和bit數(shù)據(jù)類(lèi)型的列不應(yīng)該增加索引 當(dāng)修改性能遠(yuǎn)遠(yuǎn)大于檢索性能時(shí),不應(yīng)該創(chuàng)建索引 第23頁(yè)DDL索引索引創(chuàng)建索引的語(yǔ)法創(chuàng)建索引的語(yǔ)法 創(chuàng)建索引的標(biāo)準(zhǔn)語(yǔ)法創(chuàng)建索引的標(biāo)準(zhǔn)語(yǔ)法:CREATE INDEX 索引名索引名 ON 表名表名 (列名列名) TABLESPACE 表空間名表空間名; 創(chuàng)建唯一索引創(chuàng)建唯一索

23、引:CREATE unique INDEX 索引名索引名 ON 表名表名 (列名列名) TABLESPACE 表空間名表空間名; 創(chuàng)建組合索引創(chuàng)建組合索引:CREATE INDEX 索引名索引名 ON 表名表名 (列名列名1,列名列名2) TABLESPACE 表空間名表空間名; 第24頁(yè)DML基本概念基本概念DML(DML(數(shù)據(jù)操作語(yǔ)言數(shù)據(jù)操作語(yǔ)言) )概念概念 Data Manipulation Language,使用戶(hù)能夠操作已有數(shù)據(jù)庫(kù)中數(shù)據(jù)的計(jì)算機(jī)語(yǔ)言。分類(lèi)分類(lèi)INSERT語(yǔ)句UPDATE語(yǔ)句DELETE語(yǔ)句第25頁(yè)DMLINSERT語(yǔ)句語(yǔ)句INSERT語(yǔ)句語(yǔ)句 可以向數(shù)據(jù)庫(kù)表中插入記

24、錄可以向數(shù)據(jù)庫(kù)表中插入記錄INSERT完整語(yǔ)法完整語(yǔ)法INSERT INTO TABLE_NAME | VIEW_NAME(COLUMN_LIST) VALUES(VALUES_LIST) | SELECT_STATEMENT一次一行出現(xiàn)空值的情況:不明確寫(xiě)出列名,則默認(rèn)插入空值,除非有默認(rèn)值明確寫(xiě)出列名,values(NULL)給定空值第26頁(yè)DMLUPDATE語(yǔ)句語(yǔ)句UPDATE語(yǔ)句語(yǔ)句 更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)UPDATE完整語(yǔ)法完整語(yǔ)法UPDATE TABLE_NAME | VIEW_NAME SET TABLE_NAME | VIEW_NAME COLUMN_LIST |

25、 VARIABLE_LIST =expressionWHERE第27頁(yè)DMLDELETE語(yǔ)句語(yǔ)句DELETE語(yǔ)句語(yǔ)句 刪除數(shù)據(jù)庫(kù)中的記錄刪除數(shù)據(jù)庫(kù)中的記錄DELETE完整語(yǔ)法完整語(yǔ)法DELETE FROM TABLE_NAME WHERE SEARCH_CONDITIONS當(dāng)刪除主表記錄時(shí),如果子表有對(duì)應(yīng)的記錄,可能會(huì)報(bào)錯(cuò) 第28頁(yè)第28頁(yè)DQL基本概念基本概念DQL( (數(shù)據(jù)查詢(xún)語(yǔ)言數(shù)據(jù)查詢(xún)語(yǔ)言) )概念概念 Data Query Language ,使用戶(hù)能夠查詢(xún)已有數(shù)據(jù)庫(kù)中數(shù)據(jù)的計(jì)算機(jī)語(yǔ)言。分類(lèi)分類(lèi)SELECT語(yǔ)句 select * from dual;第29頁(yè)DMLSELECT語(yǔ)句語(yǔ)句

26、SELECTSELECT語(yǔ)句語(yǔ)句 SQL語(yǔ)言中的查詢(xún)語(yǔ)句,是SQL語(yǔ)言最主要、最核心的語(yǔ)句SELECTSELECT完整語(yǔ)法完整語(yǔ)法SELECTALL|DISTINCT*|table.*|table.field1AS alias1,table.field2AS alias2,FROM tableexpression,WHEREGROUP BYHAVINGORDER BY第30頁(yè)DMLSELECT語(yǔ)句語(yǔ)句1.語(yǔ)句中的關(guān)鍵字、字段、表名不區(qū)分大小寫(xiě)2.取出的字段可以用+ - * / 進(jìn)行運(yùn)算Select 1*2 from dual;3.可以用distinct過(guò)濾重復(fù)記錄Select distinct

27、 dmmc from gg_dmnr;4.語(yǔ)句后用分號(hào)作結(jié)束符5.可以跨行寫(xiě),但是關(guān)鍵字不能跨行6.null和0及空格的區(qū)別null:沒(méi)有存儲(chǔ)任何內(nèi)容,有null參與的運(yùn)算,其結(jié)果仍為null 0及空格:分配存儲(chǔ)空間7.查詢(xún)空值時(shí)用 is null 非空 is not null;8.rownum,rowid9.%第31頁(yè)DMLSELECT語(yǔ)句語(yǔ)句nvl, decode select nvl(gsjc,aa), gsjc from jc_gysxx;select sybz, decode(sybz,-1,新注冊(cè),1,待審批,2,正式用戶(hù),已凍結(jié)) sm from jc_第32頁(yè)DMLSELECT

28、語(yǔ)句語(yǔ)句to_date , to_char , substr -字符串轉(zhuǎn)換成date select to_date(20141018101111,yyyy-MM-dd HH24:mi:ss) from dual; select to_char(sysdate,YYYYMMDDHH24MISS) from dual select substr(abcde,2,3) from dual;從第二字符截,一共截三個(gè)字符第33頁(yè)DMLSELECT語(yǔ)句語(yǔ)句max,min,avg ,count,sum函數(shù) select max(sxh) from gg_dmnr where fid=0048; select

29、 count(*) from gg_dmnr where fid=0048; select count(dmmc) from gg_dmnr; count某個(gè)字段,如果這個(gè)字段不為空就算一個(gè). select count(distinct dmmc) from gg_dmnr; select sum(scjg) from fa_business_orderdetail t;select round(avg(scjg),2) from fa_business_orderdetail t;第34頁(yè)DMLSELECT語(yǔ)句語(yǔ)句Group by語(yǔ)句 需求:現(xiàn)在想求,求每個(gè)機(jī)構(gòu)類(lèi)型平均注冊(cè)獎(jiǎng)金. selec

30、t avg(zczj) from jc_gysxx group by jglx; select avg(zczj),jglx from jc_gysxx group by jglx 求注冊(cè)獎(jiǎng)金最高的公司. select gsmc,max(zczj) from jc_gysxx;出錯(cuò),因?yàn)閙ax只有一個(gè)值,但等于max值的人可能好幾個(gè),不能匹配. 應(yīng)如下求: select gsmc from jc_gysxx where zczj=(select max(zczj) from jc_gysxx; Group by語(yǔ)句應(yīng)注意, 出現(xiàn)在select中的字段,如果沒(méi)出現(xiàn)在組函數(shù)中,必須出現(xiàn)在Group by語(yǔ)句中第35頁(yè)DML表連接表連接表連接表連接 通過(guò)表連接運(yùn)算符可以實(shí)現(xiàn)多表查詢(xún)。表連接是關(guān)系數(shù)據(jù)庫(kù)模型的主要特點(diǎn),也是它區(qū)別于其它類(lèi)型數(shù)據(jù)庫(kù)管理系統(tǒng)的一個(gè)標(biāo)志關(guān)聯(lián)多表提取數(shù)據(jù)分為:內(nèi)連接(相等及不等連接)、外連接(顯示不滿(mǎn)足條件的記錄),交叉連接如果不加where條件,將出現(xiàn)T1(all row) T2(all row),笛卡爾乘積

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論