數(shù)據(jù)庫簡介課件_第1頁
數(shù)據(jù)庫簡介課件_第2頁
數(shù)據(jù)庫簡介課件_第3頁
數(shù)據(jù)庫簡介課件_第4頁
數(shù)據(jù)庫簡介課件_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫簡介數(shù)據(jù)庫簡介1內(nèi)容常用的幾種數(shù)據(jù)庫介紹1數(shù)據(jù)庫基礎(chǔ)理論234客戶端配置

SQL語言的使用內(nèi)容常用的幾種數(shù)據(jù)庫介紹1數(shù)據(jù)2常用的幾種數(shù)據(jù)庫介紹

目前,商品化的數(shù)據(jù)庫管理系統(tǒng)以關(guān)系型數(shù)據(jù)庫為主導(dǎo)產(chǎn)品,技術(shù)比較成熟。面向?qū)ο蟮臄?shù)據(jù)庫管理系統(tǒng)雖然技術(shù)先進(jìn),數(shù)據(jù)庫易于開發(fā)、維護(hù),但尚未有成熟的產(chǎn)品。國際國內(nèi)的主導(dǎo)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)有ORACLE、SQLSERVER、SYBASE、INFORMIX和DB2等。這些產(chǎn)品都支持多平臺,如UNIX、VMS、WINDOWS,但支持的程度不一樣。 其他小型的數(shù)據(jù)庫有:Access、Foxpro等,這類數(shù)據(jù)庫靈活易用,但不支持大型應(yīng)用。

常用的幾種數(shù)據(jù)庫介紹3常用的幾種數(shù)據(jù)庫介紹Informix數(shù)據(jù)庫 美國InfomixSoftware公司研制的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。Informix有Informix-SE和Informix-Online兩種版本。Oracle數(shù)據(jù)庫 美國Orcale公司研制的一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是一個協(xié)調(diào)服務(wù)器和用于支持任務(wù)決定型應(yīng)用程序的開放型RDBMS。DB2數(shù)據(jù)庫

IBM公司研制的一種關(guān)系型數(shù)據(jù)庫系統(tǒng)。DB2主要應(yīng)用于大型應(yīng)用系統(tǒng),具有較好的可伸縮性,可支持從大型機(jī)到單用戶環(huán)境,應(yīng)用于OS/2、Windows等平臺下。常用的幾種數(shù)據(jù)庫介紹Infor4常用的幾種數(shù)據(jù)庫介紹SQLServer數(shù)據(jù)庫

Microsoft公司推出的一種關(guān)系型數(shù)據(jù)庫系統(tǒng)。主要用于Windows平臺。Sybase數(shù)據(jù)庫 美國Sybase公司研制的一種關(guān)系型數(shù)據(jù)庫系統(tǒng),是一種典型的UNIX或Windows平臺上客戶機(jī)/服務(wù)器環(huán)境下的大型數(shù)據(jù)庫系統(tǒng)。Foxpro、Access數(shù)據(jù)庫

Microsoft公司推出的微機(jī)數(shù)據(jù)庫管理系統(tǒng)。它具有界面友好、易學(xué)易用、開發(fā)簡單、接口靈活等特點。常用的幾種數(shù)據(jù)庫介紹SQLS5數(shù)據(jù)庫基礎(chǔ)理論5、游標(biāo)2、數(shù)據(jù)字典1、數(shù)據(jù)庫體系結(jié)構(gòu)6、數(shù)據(jù)庫設(shè)計3、索引4、存儲過程數(shù)據(jù)庫數(shù)據(jù)庫基礎(chǔ)理論5、游標(biāo)2、數(shù)據(jù)6數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)SQLServer中數(shù)據(jù)存儲基本單位是頁。

兩種數(shù)據(jù)庫的體系結(jié)構(gòu)ORACLE數(shù)據(jù)庫中的最小存儲和處理單位是數(shù)據(jù)塊。

數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)SQL7數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)在SQLServer中,頁的大小為8KB。這意味著SQLServer數(shù)據(jù)庫中每MB有128頁。每頁的開頭是96字節(jié)的標(biāo)頭,用于存儲有關(guān)頁的系統(tǒng)信息。數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)8數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)在SQLServer上創(chuàng)建了一個數(shù)據(jù)庫。該數(shù)據(jù)庫包括一個主數(shù)據(jù)文件、一個用戶定義文件組和一個日志文件。數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)9數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)Oracle系統(tǒng)體系結(jié)構(gòu)是整個Oracle服務(wù)器系統(tǒng)的框架,是管理和應(yīng)用Oracle數(shù)據(jù)服務(wù)器的基礎(chǔ)和核心。Oracle系統(tǒng)體系結(jié)構(gòu)由三部分組成:邏輯結(jié)構(gòu)、物理結(jié)構(gòu)和實例。其中,實例是維系物理結(jié)構(gòu)和邏輯結(jié)構(gòu)的核心。數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)Ora10數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)邏輯結(jié)構(gòu)指是用戶所看到和使用的數(shù)據(jù)庫,表示了一個或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。物理結(jié)構(gòu)主要包括數(shù)據(jù)文件、控制文件和重做日志文件等。實例是Oracle在內(nèi)存中分配的一段區(qū)域SGA(系統(tǒng)全局區(qū))和服務(wù)器后臺進(jìn)程的集合。Oracle數(shù)據(jù)庫服務(wù)器就是數(shù)據(jù)庫和實例的組合。數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)邏輯結(jié)11數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)體系結(jié)構(gòu)三部分之間的關(guān)系數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)體系結(jié)12數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)Oracle10g數(shù)據(jù)庫層次結(jié)構(gòu)圖

數(shù)據(jù)庫基礎(chǔ)理論—體系結(jié)構(gòu)Ora13數(shù)據(jù)庫基礎(chǔ)理論—數(shù)據(jù)字典所有方案對象的定義,如:表、視圖、索引、聚簇、同義詞、序列、過程、函數(shù)、包、觸發(fā)器等。數(shù)據(jù)字典中包括兩部分信息:基表和提供給用戶訪問的視圖。所有的數(shù)據(jù)字典都保存在SYSTEM表空間中。數(shù)據(jù)庫基礎(chǔ)理論—數(shù)據(jù)字典所有方14數(shù)據(jù)庫基礎(chǔ)理論—數(shù)據(jù)字典的系統(tǒng)表數(shù)據(jù)字典存儲SqlServerSysobjectsSyscolumnsSysindexes……OracleDba_tablesDba_usersDba_indexs……數(shù)據(jù)庫基礎(chǔ)理論—數(shù)據(jù)字典的系統(tǒng)15數(shù)據(jù)庫基礎(chǔ)理論—索引索引會增加速度的原理數(shù)據(jù)庫在執(zhí)行一條Sql語句的時候,默認(rèn)的方式是根據(jù)搜索條件進(jìn)行全表掃描,遇到匹配條件的就加入搜索結(jié)果集合。如果我們對某一字段增加索引,查詢時就會先去索引列表中一次定位到特定值的行數(shù),大大減少遍歷匹配的行數(shù),所以能明顯增加查詢的速度。數(shù)據(jù)庫基礎(chǔ)理論—索引索引會增加16數(shù)據(jù)庫基礎(chǔ)理論—索引普通索引建立語句創(chuàng)建索引 CREATEINDEX<索引的名字>ONtablename(列的列表);

修改表時ALTERTABLEtablenameADDINDEX[索引的名字](列的列表);創(chuàng)建表時

CREATETABLEtablename([...],INDEX[索引的名字](列的列表));數(shù)據(jù)庫基礎(chǔ)理論—索引普通索引建17數(shù)據(jù)庫基礎(chǔ)理論—索引不適合建索引的地方如果每次都需要取到所有表記錄,無論如何都必須進(jìn)行全表掃描了,那么是否加索引也沒有意義了。對非唯一的字段,例如“性別”這種大量重復(fù)值的字段,增加索引也沒有什么意義。對于記錄比較少的表,增加索引不會帶來速度的優(yōu)化反而浪費了存儲空間,因為索引是需要存儲空間的,而且有個致命缺點是對于update/insert/delete的每次執(zhí)行,字段的索引都必須重新計算更新。數(shù)據(jù)庫基礎(chǔ)理論—索引不適合建索18數(shù)據(jù)庫基礎(chǔ)理論—存儲過程什么是存儲過程

存儲過程是由流控制和sql語句書寫的過程,這個過程經(jīng)編譯和優(yōu)化后存儲在數(shù)據(jù)庫服務(wù)器中,應(yīng)用程序使用時只要調(diào)用即可。在Oracle中,若干個有聯(lián)系的過程可以組合在一起構(gòu)成程序包。數(shù)據(jù)庫基礎(chǔ)理論—存儲過程什么是19數(shù)據(jù)庫基礎(chǔ)理論—存儲過程優(yōu)點執(zhí)行速度比普通的SQL語句快

存儲過程只在創(chuàng)造時進(jìn)行編譯,以后每次執(zhí)行存儲過程都不需再重新編譯,而一般SQL語句每執(zhí)行一次就編譯一次??杀WC數(shù)據(jù)的安全性和完整性。 通過存儲過程可以使沒有權(quán)限的用戶在控制之下間接地存取數(shù)據(jù)庫,從而保證數(shù)據(jù)的安全。同時,存儲過程的執(zhí)行是作為一個整體進(jìn)行的,執(zhí)行不成功時,會自動回滾,從而保證了數(shù)據(jù)的完整性。可將體現(xiàn)企業(yè)規(guī)則的運算程序放入數(shù)據(jù)庫服務(wù)器中,以便集中控制,減少業(yè)務(wù)變更時的工作量。可以降低網(wǎng)絡(luò)的通信量。數(shù)據(jù)庫基礎(chǔ)理論—存儲過程優(yōu)點20數(shù)據(jù)庫基礎(chǔ)理論—游標(biāo)

游標(biāo)是系統(tǒng)為用戶開設(shè)的一個數(shù)據(jù)緩沖區(qū),存放SQL語句的執(zhí)行結(jié)果。

我們可以從某一結(jié)果集中逐一地讀取一條記錄。數(shù)據(jù)庫基礎(chǔ)理論—游標(biāo)游標(biāo)21數(shù)據(jù)庫基礎(chǔ)理論—游標(biāo)聲明游標(biāo) declaremy_cursorcursorkeysetforselect*frominfo刪除游標(biāo)資源 deallocatemy_cursor打開游標(biāo),在游標(biāo)關(guān)閉或刪除前都有效 openmy_cursor關(guān)閉游標(biāo) closemy_cursor定位到當(dāng)前記錄后一條 fetchnextfrommy_cursorinto@id,@name,@address select@idasid,@nameasname,@addressasaddress數(shù)據(jù)庫基礎(chǔ)理論—游標(biāo)聲明游標(biāo)22數(shù)據(jù)庫基礎(chǔ)理論—數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫的設(shè)計需要有經(jīng)驗的工程師在通盤考慮業(yè)務(wù)的需求后才能做好的。數(shù)據(jù)庫設(shè)計的實用原則是:在數(shù)據(jù)冗余和處理速度之間找到合適的平衡點。冗余最大的威脅是數(shù)據(jù)的一致性,對于大系統(tǒng),如果數(shù)據(jù)庫設(shè)計有冗余,為了保持?jǐn)?shù)據(jù)一致性給編程增加大量工作。數(shù)據(jù)庫基礎(chǔ)理論—數(shù)據(jù)庫設(shè)計數(shù)據(jù)23數(shù)據(jù)庫基礎(chǔ)理論—數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計原則三個范式

第一范式:1NF是對屬性的原子性約束,要求屬性具有原子性,不可再分解;第二范式:2NF是對記錄的惟一性約束,要求記錄有惟一標(biāo)識,即實體的惟一性;第三范式:3NF是對字段冗余性的約束,即任何字段不能由其他字段派生出來,它要求字段沒有冗余。數(shù)據(jù)庫基礎(chǔ)理論—數(shù)據(jù)庫設(shè)計數(shù)據(jù)24SQL語言的使用SQL3、創(chuàng)建和管理表4、視圖2、數(shù)據(jù)控制語言5、控制用戶權(quán)限1、Select語句的功能SQL語言的使用SQL3、創(chuàng)建25SQL語言的使用—Select語句基本

SELECT語句語法SELECT *|{[DISTINCT]column|expression[alias],...}FROM table;SELECT標(biāo)識

選擇哪些列。FROM標(biāo)識從哪個表中選擇。SQL語言的使用—Select26SQL語言的使用—Select語句基本

SELECT語句語法

SELECT*

FROMdepartmentswheredept_id=10and…;

SELECTdepartment_id,location_id

FROMdepartments;

SELECTlast_name,salary,salary+300

FROMemployees;SQL語言的使用—Select27SQL語言的使用—Select語句使用別名

SELECTlast_nameASname,commission_pctcommFROMemployees;……

SELECTlast_name"Name",salary*12"AnnualSalary"FROMemployees;SQL語言的使用—Select28SQL語言的使用—Select語句刪除重復(fù)行

SELECT子句中使用關(guān)鍵字‘DISTINCT’刪除重復(fù)行。SELECTDISTINCTdepartment_idFROMemployees;SQL語言的使用—Select29SQL語言的使用—數(shù)據(jù)控制語言數(shù)據(jù)控制語言DML可以在下列條件下執(zhí)行:向表中插入數(shù)據(jù)修改現(xiàn)存數(shù)據(jù)刪除現(xiàn)存數(shù)據(jù)事務(wù)是由完成若干項工作的DML語句組成的。SQL語言的使用—數(shù)據(jù)控制語言30SQL語言的使用—數(shù)據(jù)控制語言插入數(shù)據(jù)DEPARTMENTS新行向

DEPARMENTS

表中插入新的記錄SQL語言的使用—數(shù)據(jù)控制語言31SQL語言的使用—數(shù)據(jù)控制語言插入數(shù)據(jù)INSERTINTO table[(column[,column...])]VALUES (value[,value...]);INSERTINTOdepartments(department_id,department_name,manager_id,location_id)VALUES(70,'PublicRelations',100,1700);1rowcreated.INSERTINTOsales_reps(id,name,salary,commission_pct)SELECTemployee_id,last_name,salary,commission_pctFROMemployeesWHEREjob_idLIKE'%REP%';4rowscreated.SQL語言的使用—數(shù)據(jù)控制語言32SQL語言的使用—數(shù)據(jù)控制語言更新數(shù)據(jù)

EMPLOYEES更新EMPLOYEES

表SQL語言的使用—數(shù)據(jù)控制語言33SQL語言的使用—數(shù)據(jù)控制語言更新數(shù)據(jù)UPDATE tableSETcolumn=value[,column=value,...][WHEREcondition];UPDATEemployeesSETdepartment_id=70WHEREemployee_id=113;1rowupdated.UPDATE copy_empSET department_id=110;22rowsupdated.SQL語言的使用—數(shù)據(jù)控制語言34SQL語言的使用—數(shù)據(jù)控制語言刪除數(shù)據(jù)DELETEFROMdepartmentsWHEREdepartment_name='Finance';1rowdeleted.使用DELETE語句從表中刪除數(shù)據(jù)。DELETE[FROM] table[WHERE condition];SQL語言的使用—數(shù)據(jù)控制語言35SQL語言的使用—創(chuàng)建和管理表常見的數(shù)據(jù)庫對象對象 描述表基本的數(shù)據(jù)存儲集合,由行和列組成。視圖 從表中抽出的邏輯上相關(guān)的數(shù)據(jù)集合。序列 提供有規(guī)律的數(shù)值。索引 提

溫馨提示

  • 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

提交評論