




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)技術(shù)總結(jié)數(shù)據(jù)庫(kù)技術(shù)總結(jié)數(shù)據(jù)(Data):是數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象數(shù)據(jù)的定義:描述事物的符號(hào)記錄數(shù)據(jù)的種類(lèi):文字、圖形、圖象、聲音等數(shù)據(jù)的特點(diǎn):數(shù)據(jù)與其語(yǔ)義是不可分的數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱(chēng)DB):是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)集合數(shù)據(jù)庫(kù)的特征:數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存可為各種用戶(hù)共享冗余度較小數(shù)據(jù)獨(dú)立性較高易擴(kuò)展數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem,簡(jiǎn)稱(chēng)DBMS):是位于用戶(hù)與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。DBMS的用途:科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)DBMS的主要功能:數(shù)據(jù)庫(kù)的運(yùn)行管理保證數(shù)據(jù)的安全性、完整性、多用戶(hù)對(duì)數(shù)據(jù)的并發(fā)使用發(fā)生故障后的系統(tǒng)恢復(fù)數(shù)據(jù)庫(kù)的建立和維護(hù)功能(實(shí)用程序)數(shù)據(jù)庫(kù)數(shù)據(jù)批量裝載數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ)介質(zhì)故障恢復(fù)數(shù)據(jù)庫(kù)的重組織性能監(jiān)視等數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem,簡(jiǎn)稱(chēng)DBS)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成。數(shù)據(jù)庫(kù)系統(tǒng)的構(gòu)成由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員(和用戶(hù))構(gòu)成。數(shù)據(jù)管理對(duì)數(shù)據(jù)進(jìn)行分類(lèi)、組織、編碼、存儲(chǔ)、檢索和維護(hù),是數(shù)據(jù)處理的中心問(wèn)題數(shù)據(jù)模型這個(gè)工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。數(shù)據(jù)模型應(yīng)滿足三方面要求能比較真實(shí)地模擬現(xiàn)實(shí)世界容易為人所理解便于在計(jì)算機(jī)上實(shí)現(xiàn)數(shù)據(jù)模型分成兩個(gè)不同的層次(1) 概念模型也稱(chēng)信息模型,它是按用戶(hù)的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模。(2) 數(shù)據(jù)模型主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模??陀^對(duì)象的抽象過(guò)程---兩步抽象現(xiàn)實(shí)世界中的客觀對(duì)象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。數(shù)據(jù)結(jié)構(gòu)對(duì)象類(lèi)型的集合數(shù)據(jù)結(jié)構(gòu)是對(duì)系統(tǒng)靜態(tài)特性的描述兩類(lèi)對(duì)象與數(shù)據(jù)類(lèi)型、內(nèi)容、性質(zhì)有關(guān)的對(duì)象與數(shù)據(jù)之間聯(lián)系有關(guān)的對(duì)象數(shù)據(jù)操作對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作及有關(guān)的操作規(guī)則數(shù)據(jù)操作的類(lèi)型檢索更新(包括插入、刪除、修改)數(shù)據(jù)模型對(duì)操作的定義操作的確切含義操作符號(hào)操作規(guī)則(如優(yōu)先級(jí))實(shí)現(xiàn)操作的語(yǔ)言數(shù)據(jù)操作是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。數(shù)據(jù)模型對(duì)約束條件的定義反映和規(guī)定本數(shù)據(jù)模型必須遵守的基本的通用的完整性約束條件。提供定義完整性約束條件的機(jī)制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語(yǔ)義約束條件。信息世界中的基本概念(1)實(shí)體(Entity)客觀存在并可相互區(qū)別的事物稱(chēng)為實(shí)體。(2)屬性(Attribute)實(shí)體所具有的某一特性稱(chēng)為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來(lái)刻畫(huà)。(3)碼(Key)唯一標(biāo)識(shí)實(shí)體的屬性集稱(chēng)為碼。(4)域(Domain)屬性的取值范圍稱(chēng)為該屬性的域。(5)實(shí)體型(EntityType)用實(shí)體名及其屬性名集合來(lái)抽象和刻畫(huà)同類(lèi)實(shí)體稱(chēng)為實(shí)體型(6)實(shí)體集(EntitySet)同型實(shí)體的集合稱(chēng)為實(shí)體集 聯(lián)系(Relationship)現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系實(shí)體型間聯(lián)系兩個(gè)實(shí)體型一對(duì)一聯(lián)系(1:1)三個(gè)實(shí)體型一對(duì)多聯(lián)系(1:n)一個(gè)實(shí)體型多對(duì)多聯(lián)系(m:n)兩個(gè)實(shí)體型間的聯(lián)系一對(duì)一聯(lián)系如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然,則稱(chēng)實(shí)體集A與實(shí)體集B具有一對(duì)一聯(lián)系。記為1:1。一對(duì)多聯(lián)系如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n0)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱(chēng)實(shí)體集A與實(shí)體集B有一對(duì)多聯(lián)系記為1:n多對(duì)多聯(lián)系(m:n)如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n0)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m0)與之聯(lián)系,則稱(chēng)實(shí)體集A與實(shí)體B具有多對(duì)多聯(lián)系。記為m:n概念模型的表示方法實(shí)體一聯(lián)系方法(E-R方法)用E-R圖來(lái)描述現(xiàn)實(shí)世界的概念模型E-R方法也稱(chēng)為E-R模型常用數(shù)據(jù)模型非關(guān)系模型層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)數(shù)據(jù)結(jié)構(gòu):以基本層次聯(lián)系為基本單位基本層次聯(lián)系:兩個(gè)記錄以及它們之間的一對(duì)多(包括一對(duì)一)的聯(lián)系關(guān)系模型(RelationalModel)數(shù)據(jù)結(jié)構(gòu):表面向?qū)ο竽P停∣bjectOrientedModel)數(shù)據(jù)結(jié)構(gòu):對(duì)象層次模型滿足下面兩個(gè)條件的基本層次聯(lián)系的集合為層次模型。1.有且只有一個(gè)結(jié)點(diǎn)沒(méi)有雙親結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱(chēng)為根結(jié)點(diǎn)2.根以外的其它結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn)表示方法實(shí)體型:用記錄類(lèi)型描述。每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類(lèi)型。屬性:用字段描述。每個(gè)記錄類(lèi)型可包含若干個(gè)字段。聯(lián)系:用結(jié)點(diǎn)之間的連線表示記錄(類(lèi))型之間的滿足下面兩個(gè)條件的基本層次聯(lián)系的集合為網(wǎng)狀模型。1.允許一個(gè)以上的結(jié)點(diǎn)無(wú)雙親;2.一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親。表示方法(與層次數(shù)據(jù)模型相同)實(shí)體型:用記錄類(lèi)型描述。每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類(lèi)型。屬性:用字段描述。每個(gè)記錄類(lèi)型可包含若干個(gè)字段。聯(lián)系:用結(jié)點(diǎn)之間的連線表示記錄(類(lèi))型之間的一對(duì)多的父子聯(lián)系。關(guān)系模型的基本概念關(guān)系(Relation)一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一張表。元組(Tuple)表中的一行即為一個(gè)元組。屬性(Attribute)表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱(chēng)即屬性名。關(guān)系必須是規(guī)范化的,滿足一定的規(guī)范條件最基本的規(guī)范條件:關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng)。查詢(xún)、插入、刪除、更新存取路徑對(duì)用戶(hù)隱蔽,用戶(hù)只要指出“干什么”,不必詳細(xì)說(shuō)明“怎么干”關(guān)系模型的完整性約束實(shí)體完整性參照完整性用戶(hù)定義的完整性關(guān)系數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)表以文件形式存儲(chǔ)有的DBMS一個(gè)表對(duì)應(yīng)一個(gè)操作系統(tǒng)文件有的DBMS自己設(shè)計(jì)文件結(jié)構(gòu)關(guān)系模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上概念單一。數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、清晰,用戶(hù)易懂易用實(shí)體和各類(lèi)聯(lián)系都用關(guān)系來(lái)表示。對(duì)數(shù)據(jù)的檢索結(jié)果也是關(guān)系。關(guān)系模型的存取路徑對(duì)用戶(hù)透明具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性存取路徑對(duì)用戶(hù)透明導(dǎo)致查詢(xún)效率往往不如非關(guān)系數(shù)據(jù)模型為提高性能,必須對(duì)用戶(hù)的查詢(xún)請(qǐng)求進(jìn)行優(yōu)化增加了開(kāi)發(fā)數(shù)據(jù)庫(kù)管理系統(tǒng)的難度數(shù)據(jù)庫(kù)系統(tǒng)外部的體系結(jié)構(gòu)單用戶(hù)結(jié)構(gòu)主從式結(jié)構(gòu)分布式結(jié)構(gòu)客戶(hù)/服務(wù)器結(jié)構(gòu)瀏覽器/應(yīng)用服務(wù)器/數(shù)據(jù)庫(kù)服務(wù)器結(jié)構(gòu)分布式結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)在邏輯上是一個(gè)整體,但物理地分布在計(jì)算機(jī)網(wǎng)絡(luò)的不同結(jié)點(diǎn)上。網(wǎng)絡(luò)中的每個(gè)結(jié)點(diǎn)都可以獨(dú)立處理本地?cái)?shù)據(jù)庫(kù)中的數(shù)據(jù),執(zhí)行局部應(yīng)用同時(shí)也可以同時(shí)存取和處理多個(gè)異地?cái)?shù)據(jù)庫(kù)中的數(shù)據(jù),執(zhí)行全局應(yīng)用優(yōu)點(diǎn)適應(yīng)了地理上分散的公司、團(tuán)體和組織對(duì)于數(shù)據(jù)庫(kù)應(yīng)用的需求。缺點(diǎn)數(shù)據(jù)的分布存放給數(shù)據(jù)的處理、管理與維護(hù)帶來(lái)困難。當(dāng)用戶(hù)需要經(jīng)常訪問(wèn)遠(yuǎn)程數(shù)據(jù)時(shí),系統(tǒng)效率會(huì)明顯地受到網(wǎng)絡(luò)傳輸?shù)闹萍s數(shù)據(jù)庫(kù)管理員(DBA)決定數(shù)據(jù)庫(kù)中的信息內(nèi)容和結(jié)構(gòu)決定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和存取策略定義數(shù)據(jù)的安全性要求和完整性約束條件關(guān)系數(shù)據(jù)庫(kù)關(guān)系模型的組成關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系操作集合關(guān)系完整性約束常用的關(guān)系操作查詢(xún)選擇、投影、連接、除、并、交、差數(shù)據(jù)更新插入、刪除、修改查詢(xún)的表達(dá)能力是其中最主要的部分2) 關(guān)系操作的特點(diǎn)集合操作方式,即操作的對(duì)象和結(jié)果都是集合。非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作方式:一次一記錄文件系統(tǒng)的數(shù)據(jù)操作方式3) 關(guān)系數(shù)據(jù)語(yǔ)言的種類(lèi)關(guān)系代數(shù)語(yǔ)言用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢(xún)要求4) 關(guān)系數(shù)據(jù)語(yǔ)言的特點(diǎn)關(guān)系語(yǔ)言是一種高度非過(guò)程化的語(yǔ)言存取路徑的選擇由DBMS的優(yōu)化機(jī)制來(lái)完成用戶(hù)不必用循環(huán)結(jié)構(gòu)就可以完成數(shù)據(jù)操作能夠嵌入高級(jí)語(yǔ)言中使用關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算三種語(yǔ)言在表達(dá)能力上完全等價(jià)關(guān)系域(Domain)笛卡爾積(CartesianProduct)3.關(guān)系(Relation)域是一組具有相同數(shù)據(jù)類(lèi)型的值的集合。例:整數(shù)實(shí)數(shù)介于某個(gè)取值范圍的整數(shù)長(zhǎng)度指定長(zhǎng)度的字符串集合{男,女}介于某個(gè)取值范圍的日期笛卡爾積給定一組域D1,D2,…,Dn,這些域中可以有相同的°D1,D2,…,Dn的笛卡爾積為:D1xD2x...xDn={(d1,d2,…,dn)ldiDi,i=1,2,…,n}所有域的所有取值的一個(gè)組合不能重復(fù)元組(Tuple)笛卡爾積中每一個(gè)元素(dl,d2,…,dn)叫作一個(gè)n元組Intuple)或簡(jiǎn)稱(chēng)元組。分量(Component)笛卡爾積元素(dl,d2,…,dn)中的每一個(gè)值di叫作一個(gè)分量?;鶖?shù)(Cardinalnumber)若Di(i=1,2,…,n)為有限集,其基數(shù)為mi(i=1,2,…,n),則D1xD2x-xDn的基數(shù)M為:笛卡爾積的表示方法笛卡爾積可表示為一個(gè)二維表。表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域。關(guān)系(Relation)關(guān)系D1xD2x???xDn的子集叫作在域D1,D2,…,Dn上的關(guān)系,表示為R(D1,D2,…,Dn)R:關(guān)系名n:關(guān)系的目或度(Degree)2)元組關(guān)系中的每個(gè)元素是關(guān)系中的元組,通常用t表示。3)單元關(guān)系與二元關(guān)系當(dāng)n=1時(shí),稱(chēng)該關(guān)系為單元關(guān)系(Unaryrelation)。當(dāng)n=2時(shí),稱(chēng)該關(guān)系為二元關(guān)系(Binaryrelation)4)關(guān)系的表示關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域。5)屬性關(guān)系中不同列可以對(duì)應(yīng)相同的域,為了加以區(qū)分,必須對(duì)每列起一個(gè)名字,稱(chēng)為屬性(Attribute)on目關(guān)系必有n個(gè)屬性。6)碼候選碼(Candidatekey)若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱(chēng)該屬性組為候選碼在最簡(jiǎn)單的情況下,候選碼只包含一個(gè)屬性。稱(chēng)為全碼(All-key)在最極端的情況下,關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼,稱(chēng)為全碼(All-key)主碼若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primarykey)主碼的諸屬性稱(chēng)為主屬性(Primeattribute)。不包含在任何侯選碼中的屬性稱(chēng)為非碼屬性(Non-keyattribute)7)三類(lèi)關(guān)系基本關(guān)系(基本表或基表)實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示查詢(xún)表查詢(xún)結(jié)果對(duì)應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)基本關(guān)系的性質(zhì)列是同質(zhì)的(Homogeneous)每一列中的分量是同一類(lèi)型的數(shù)據(jù),來(lái)自同一個(gè)域不同的列可出自同一個(gè)域其中的每一列稱(chēng)為一個(gè)屬性不同的屬性要給予不同的屬性名③列的順序無(wú)所謂列的次序可以任意交換遵循這一性質(zhì)的數(shù)據(jù)庫(kù)產(chǎn)品(如ORACLE),增加新屬性時(shí),永遠(yuǎn)是插至最后一列但也有許多關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品沒(méi)有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了屬性順序④任意兩個(gè)元組不能完全相同由笛卡爾積的性質(zhì)決定但許多關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品沒(méi)有遵循這一性質(zhì)。例如:Oracle,F(xiàn)oxPro等都允許關(guān)系表中存在兩個(gè)完全相同的元組,除非用戶(hù)特別定義了相應(yīng)的約束條件。⑤行的順序無(wú)所謂行的次序可以任意交換遵循這一性質(zhì)的數(shù)據(jù)庫(kù)產(chǎn)品(如ORACLE),插入一個(gè)元組時(shí)永遠(yuǎn)插至最后一行但也有許多關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品沒(méi)有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了元組的順序⑥分量必須取原子值每一個(gè)分量都必須是不可分的數(shù)據(jù)項(xiàng)。這是規(guī)范條件中最基本的一條關(guān)系模式(RelationSchema)是型關(guān)系是值關(guān)系模式是對(duì)關(guān)系的描述元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來(lái)自的域?qū)傩耘c域之間的映象關(guān)系元組語(yǔ)義以及完整性約束條件屬性間的數(shù)據(jù)依賴(lài)關(guān)系集合定義關(guān)系模式關(guān)系模式可以形式化地表示為:R(U,D,dom,F(xiàn))R關(guān)系名U組成該關(guān)系的屬性名集合D屬性組U中屬性所來(lái)自的域dom屬性向域的映象集合F屬性間的數(shù)據(jù)依賴(lài)關(guān)系集合關(guān)系模式通常可以簡(jiǎn)記為R(U)或R(A1,A2,…,An)R關(guān)系名A1,A2,…,An屬性名注:域名及屬性向域的映象常常直接說(shuō)明為屬性的類(lèi)型、長(zhǎng)度關(guān)系模式對(duì)關(guān)系的描述靜態(tài)的、穩(wěn)定的關(guān)系關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容動(dòng)態(tài)的、隨時(shí)間不斷變化的關(guān)系模式和關(guān)系往往統(tǒng)稱(chēng)為關(guān)系通過(guò)上下文加以區(qū)別1.關(guān)系數(shù)據(jù)庫(kù)在一個(gè)給定的應(yīng)用領(lǐng)域中,所有實(shí)體及實(shí)體之間聯(lián)系的關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫(kù)。2.關(guān)系數(shù)據(jù)庫(kù)的型與值關(guān)系數(shù)據(jù)庫(kù)也有型和值之分關(guān)系數(shù)據(jù)庫(kù)的型稱(chēng)為關(guān)系數(shù)據(jù)庫(kù)模式,是對(duì)關(guān)系數(shù)據(jù)庫(kù)的描述若干域的定義在這些域上定義的若干關(guān)系模式關(guān)系數(shù)據(jù)庫(kù)的值是這些關(guān)系模式在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合,通常簡(jiǎn)稱(chēng)為關(guān)系數(shù)據(jù)庫(kù)3關(guān)系的完整性關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件。關(guān)系模型中三類(lèi)完整性約束:實(shí)體完整性參照完整性用戶(hù)定義的完整性實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱(chēng)作是關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。實(shí)體完整性實(shí)體完整性規(guī)則(EntityIntegrity)若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值關(guān)系模型必須遵守實(shí)體完整性規(guī)則的原因?qū)嶓w完整性規(guī)則是針對(duì)基本關(guān)系而言的。一個(gè)基本表通常對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集或多對(duì)多聯(lián)系?,F(xiàn)實(shí)世界中的實(shí)體和實(shí)體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)。(3)相應(yīng)地,關(guān)系模型中以主碼作為唯一性標(biāo)識(shí)。關(guān)系模型必須遵守實(shí)體完整性規(guī)則的原因(續(xù))(4)主碼中的屬性即主屬性不能取空值??罩稻褪恰安恢馈被颉盁o(wú)意義”的值。主屬性取空值,就說(shuō)明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在不可區(qū)分的實(shí)體,這與第(2)點(diǎn)相矛盾,因此這個(gè)規(guī)則稱(chēng)為實(shí)體完整性。、、/4汪意、實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值參照完整性關(guān)系間的引用2.外碼參照完整性規(guī)則1.關(guān)系間的引用在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來(lái)描述的,因此可能存在著關(guān)系與關(guān)系間的引用。外碼(ForeignKey)設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則稱(chēng)F是基本關(guān)系R的外碼基本關(guān)系R稱(chēng)為參照關(guān)系(ReferencingRelation)基本關(guān)系S稱(chēng)為被參照關(guān)系(ReferencedRelation)或目標(biāo)關(guān)系(TargetRelation)。說(shuō)明關(guān)系R和S不一定是不同的關(guān)系目標(biāo)關(guān)系S的主碼Ks和參照關(guān)系的外碼F必須定義在同一個(gè)(或一組)域上外碼并不一定要與相應(yīng)的主碼同名當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往取相同的名字,以便于識(shí)別3.參照完整性規(guī)則若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值)或者等于S中某個(gè)元組的主碼值。2.3.3用戶(hù)定義的完整性用戶(hù)定義的完整性是針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求。關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類(lèi)完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能。Operation運(yùn)算,操作Operator算子Operand操作數(shù)關(guān)系代數(shù)一種抽象的查詢(xún)語(yǔ)言用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢(xún)關(guān)系代數(shù)運(yùn)算的三個(gè)要素運(yùn)算對(duì)象:關(guān)系運(yùn)算結(jié)果:關(guān)系運(yùn)算符:四類(lèi)關(guān)系代數(shù)運(yùn)算符關(guān)系代數(shù)運(yùn)算的分類(lèi)傳統(tǒng)的集合運(yùn)算并、差、交、廣義笛卡爾積專(zhuān)門(mén)的關(guān)系運(yùn)算選擇、投影、連接、除5.表示記號(hào)(1)R,tR,t[Ai]設(shè)關(guān)系模式為R(A1,A2,…,An)它的一個(gè)關(guān)系設(shè)為R。tR表示t是R的一個(gè)元組t[Ai]則表示元組t中相應(yīng)于屬性Ai的一個(gè)分量(2)A,t[A],A若A=(Ai1,Ai2,…,Aik),其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,則A稱(chēng)為屬性列或域列。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元組t在屬性列A上諸分量的集合。A則表示{A1,A2,…,An)中去掉{Ai1,Ai2,…,Aik)后剩余的屬性組。trtstrts稱(chēng)為元組的連R為n目關(guān)系,S為m目關(guān)系。trR,tsStrts稱(chēng)為元組的連接。它是一個(gè)n+m列的元組,前n個(gè)分量為R中的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組。4)象集Zx給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。當(dāng)t[X]=x時(shí),x在R中的象集(ImagesSet)為:Zx=(t[Z]|tR,t[X]=x)它表示R中屬性組X上值為x的諸元組在Z上分量的集合。1.并(Union)R和S具有相同的目n(即兩個(gè)關(guān)系都有n個(gè)屬性)相應(yīng)的屬性取自同一個(gè)域RUS仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成RUS=(t|tRVtS}R和S具有相同的目n相應(yīng)的屬性取自同一個(gè)域R-S仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成R-S=(t|tRAtS}R和S具有相同的目n相應(yīng)的屬性取自同一個(gè)域RPS仍為n目關(guān)系,由既屬于R又屬于S的元組組成RPS=(t|tRAtS}RPS=RC(R-S)4.廣義笛卡爾積(ExtendedCartesianProduct)Rn目關(guān)系,k1個(gè)元組Sm目關(guān)系,k2個(gè)元組RxS列:(n+m)列的元組的集合元組的前n列是關(guān)系R的一個(gè)元組后m列是關(guān)系S的一個(gè)元組行:k1xk2個(gè)元組RxS=(trts|trRAtsS}專(zhuān)門(mén)的關(guān)系運(yùn)算1.選擇(Selection)1)選擇又稱(chēng)為限制(Restriction)2)選擇運(yùn)算符的含義在關(guān)系R中選擇滿足給定條件的諸元組oF(R)=(t|tRAF(t)='真'}F:選擇條件,是一個(gè)邏輯表達(dá)式,基本形式為:[(]X10Y1[)]0[(]X20Y2[)]]???B:比較運(yùn)算符(〉,,V,,=或)X1,Y1等:屬性名、常量、簡(jiǎn)單函數(shù);屬性名也可以用它的序號(hào)來(lái)代替;3:邏輯運(yùn)算符(A或V)[]:表示任選項(xiàng)…:表示上述格式可以重復(fù)下去3)選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算2.投影(Projection)投影運(yùn)算符的含義從R中選擇出若干屬性列組成新的關(guān)系nA(R)=(t[A]|tR}A:R中的屬性列投影操作主要是從列的角度進(jìn)行運(yùn)算但投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行)連接(Join)1)連接也稱(chēng)為e連接2)連接運(yùn)算的含義從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組RS=(|trRAtsSAtr[A]ets[B]}A和B:分別為R和S上度數(shù)相等且可比的屬性組e:比較運(yùn)算符連接運(yùn)算從R和S的廣義笛卡爾積RxS中選取(R關(guān)系)在A屬性組上的值與(S關(guān)系)在B屬性組上值滿足比較關(guān)系的元組。3)兩類(lèi)常用連接運(yùn)算等值連接(equijoin)什么是等值連接e為“=”的連接運(yùn)算稱(chēng)為等值連接等值連接的含義從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為:RS=(|trRAtsSAtr[A]=ts[B]}4)一般的連接操作是從行的角度進(jìn)行運(yùn)算。自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。4)象集Z給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。當(dāng)t[X]=x時(shí),x在R中的象集(ImagesSet)為:Zx=(t[Z]|tR,t[X]=x}它表示R中屬性組X上值為x的諸元組在Z上分量的集合。4.除(Division)給定關(guān)系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運(yùn)算得到一個(gè)新的關(guān)系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。R-S=(tr[X]|trRAnY(S)Yx}Yx:x在R中的象集,x=tr[X]2)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算第三章關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL3.1SQL概述SQL的特點(diǎn)1.綜合統(tǒng)一2.高度非過(guò)程化面向集合的操作方式以同一種語(yǔ)法結(jié)構(gòu)提供兩種使用方法5.語(yǔ)言簡(jiǎn)潔,易學(xué)易用語(yǔ)言簡(jiǎn)捷,易學(xué)易用表3.1SQL語(yǔ)言的動(dòng)詞3.2數(shù)據(jù)定義表3.2SQL的數(shù)據(jù)定義語(yǔ)句3.2.1定義語(yǔ)句格式CREATETABLE表名(列名數(shù)據(jù)類(lèi)型[列級(jí)完整性約束條件][,列名數(shù)據(jù)類(lèi)型[列級(jí)完整性約束條件]]…[,表級(jí)完整性約束條件]);表名:所要定義的基本表的名字列名:組成該表的各個(gè)屬性(列)列級(jí)完整性約束條件:涉及相應(yīng)屬性列的完整性約束條件表級(jí)完整性約束條件:涉及一個(gè)或多個(gè)屬性列的完整性約束條件常用完整性約束主碼約束:*****KEY唯一性約束:UNIQUE非空值約束:NOTNULL參照完整性約束三、刪除基本表DROPTABLE表名基本表刪除數(shù)據(jù)、表上的索引都刪除表上的視圖往往仍然保留,但刪除基本表時(shí),系統(tǒng)會(huì)從數(shù)據(jù)字典中刪去有關(guān)該基本表及其索引的描述(標(biāo)準(zhǔn)中沒(méi)有,認(rèn)為表建立后就永久存在)二、修改基本表ALTERTABLE表名[ADD新列名數(shù)據(jù)類(lèi)型[完整性約束]][DROP完整性約束名][MODIFY列名數(shù)據(jù)類(lèi)型];表名:要修改的基本表ADD子句:增加新列和新的完整性約束條件DROP子句:刪除指定的完整性約束條件MODIFY子句:用于修改列名和數(shù)據(jù)類(lèi)型ALTERTABLEStudentADDScomeDATE;不論基本表中原來(lái)是否已有數(shù)據(jù),新增加的列一律為空值。刪除屬性列直接/間接刪除把表中要保留的列及其內(nèi)容復(fù)制到一個(gè)新表中刪除原表再將新表重命名為原表名直接刪除屬性列:(新)例:ALTERTABLEStudentDropScome;ALTERTABLEStudentMODIFYSage*****T;注:修改原有的列定義有可能會(huì)破壞已有數(shù)據(jù)建立與刪除索引建立索引是加快查詢(xún)速度的有效手段建立索引DBA或表的屬主(即建立表的人)根據(jù)需要建立有些DBMS自動(dòng)建立以下列上的索引*****KEYUNIQUE維護(hù)索引DBMS自動(dòng)完成使用索引DBMS自動(dòng)選擇是否使用索引以及使用哪些索引無(wú)法引用CREATE[UNIQUE][*****]INDEX索引名ON表名(列名[次序][,列名[次序]]???);用表名指定要建索引的基本表名字索引可以建立在該表的一列或多列上,各列名之間用逗號(hào)分隔用次序指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASCUNIQUE表明此索引的每一個(gè)索引值只對(duì)應(yīng)唯一的數(shù)據(jù)記錄*****表示要建立的索引是聚簇索引唯一值索引對(duì)于已含重復(fù)值的屬性列不能建UNIQUE索引對(duì)某個(gè)列建立UNIQUE索引后,插入新記錄時(shí)DBMS會(huì)自動(dòng)檢查新記錄在該列上是否取了重復(fù)值。這相當(dāng)于增加了一個(gè)UNIQUE約束聚簇索引建立聚簇索引后,基表中數(shù)據(jù)也需要按指定的聚簇屬性值的升序或降序存放。也即聚簇索引的索引項(xiàng)順序與表中記錄的物理順序一致例:CREATE*****INDEXStusnameONStudent(Sname);在Student表的Sname(姓名)列上建立一個(gè)聚簇索引,而且Student表中的記錄將按照Sname值的升序存放在一個(gè)基本表上最多只能建立一個(gè)聚簇索引聚簇索引的用途:對(duì)于某些類(lèi)型的查詢(xún),可以提高查詢(xún)效率聚簇索引的適用范圍很少對(duì)基表進(jìn)行增刪操作很少對(duì)其中的變長(zhǎng)列進(jìn)行修改操作二、刪除索引DROPINDEX索引名;刪除索引時(shí),系統(tǒng)會(huì)從數(shù)據(jù)字典中刪去有關(guān)該索引的描述。3.3查詢(xún)語(yǔ)句格式SELECT[ALL|*****T]目標(biāo)列表達(dá)式[,目標(biāo)列表達(dá)式]…FROM表名或視圖名[,表名或視圖名]…[WHERE條件表達(dá)式][GROUPBY列名1[HAVING條件表達(dá)式]][ORDERBY列名2[ASC|DESC]];SELECT子句:指定要顯示的屬性列FROM子句:指定查詢(xún)對(duì)象(基本表或視圖)WHERE子句:指定查詢(xún)條件GROUPBY子句:對(duì)查詢(xún)結(jié)果按指定列的值分組,該屬性列值相等的元組為一個(gè)組。通常會(huì)在每組中作用集函數(shù)。HAVING短語(yǔ):篩選出只有滿足指定條件的組ORDERBY子句:對(duì)查詢(xún)結(jié)果表按指定列值的升序或降序排序3.3.2單表查詢(xún)查詢(xún)僅涉及一個(gè)表,是一種最簡(jiǎn)單的查詢(xún)操作一、選擇表中的若干列二、選擇表中的若干元組三、對(duì)查詢(xún)結(jié)果排序四、使用集函數(shù)五、對(duì)查詢(xún)結(jié)果分組查詢(xún)經(jīng)過(guò)計(jì)算的值SELECT子句的目標(biāo)列表達(dá)式為表達(dá)式算術(shù)表達(dá)式字符串常量函數(shù)列別名等二、選擇表中的若干元組消除取值重復(fù)的行查詢(xún)滿足條件的元組1.消除取值重復(fù)的行在SELECT子句中使用*****T短語(yǔ)假設(shè)SC表中有下列數(shù)據(jù)2.查詢(xún)滿足條件的元組WHERE子句常用的查詢(xún)條件(1)比較大小在WHERE子句的比較條件中使用比較運(yùn)算符二,,,二,二,!=或,!,!,邏輯運(yùn)算符NOT+比較運(yùn)算符(2)確定范圍使用謂詞*****…AND…NOT*****…AND…(3)確定集合使用謂詞IN值表,NOTIN值表值表:用逗號(hào)分隔的一組取值(4)字符串匹配[NOT]LIKE匹配串[ESCAPE換碼字符]匹配串:指定匹配模板匹配模板:固定字符串或含通配符的字符串當(dāng)匹配模板為固定字符串時(shí),可以用二運(yùn)算符取代LIKE謂詞用!=或運(yùn)算符取代NOTLIKE謂詞通配符%(百分號(hào))代表任意長(zhǎng)度(長(zhǎng)度可以為0)的字符串例:a%b表示以a開(kāi)頭,以b結(jié)尾的任意長(zhǎng)度的字符串。如acb,addgb,ab等都滿足該匹配串_(下橫線)代表任意單個(gè)字符例:a_b表示以a開(kāi)頭,以b結(jié)尾的長(zhǎng)度為3的任意字符串。如acb,afb等都滿足該匹配串查詢(xún)DB_Design課程的課程號(hào)和學(xué)分。SELECTCno,CcreditFROMCourseWHERECnameLIKE'DB\_Design'ESCAPE'\'⑸涉及空值的查詢(xún)使用謂詞ISNULL或ISNOTNULL“ISNULL"不能用“二NULL"代替(6)多重條件查詢(xún)用邏輯運(yùn)算符AND和OR來(lái)聯(lián)結(jié)多個(gè)查詢(xún)條件AND的優(yōu)先級(jí)高于OR可以用括號(hào)改變優(yōu)先級(jí)可用來(lái)實(shí)現(xiàn)多種其他謂詞[NOT]IN[NOT]*****…AND…三、對(duì)查詢(xún)結(jié)果排序使用ORDERBY子句可以按一個(gè)或多個(gè)屬性列排序升序:ASC;降序:DESC;缺省值為
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSM 0055-2024“領(lǐng)跑者”評(píng)價(jià)技術(shù)要求 燒結(jié)釹鐵硼永磁材料
- 2025年度資質(zhì)借用與投標(biāo)環(huán)境保護(hù)合作協(xié)議
- 二零二五年度智能交通管理系統(tǒng)單方解除合同
- 2025年度跨海大橋旋挖灌注樁施工合同
- 二零二五年度防盜門(mén)市場(chǎng)調(diào)研與采購(gòu)合作協(xié)議
- 二零二五年度生物技術(shù)專(zhuān)利申請(qǐng)合作協(xié)議
- 二零二五年度體育健身公司聘用兼職教練合同書(shū)
- 二零二五年度勞務(wù)派遣公司勞動(dòng)合同范本(含合同解除與賠償)
- 四川省2025年度房屋租賃租賃合同解除與終止合同
- 二零二五年度消費(fèi)金融貸款連帶保證合同書(shū)
- 法規(guī)解讀丨2024新版《突發(fā)事件應(yīng)對(duì)法》及其應(yīng)用案例
- JGJ46-2024 建筑與市政工程施工現(xiàn)場(chǎng)臨時(shí)用電安全技術(shù)標(biāo)準(zhǔn)
- 旅游地產(chǎn)開(kāi)發(fā)模式和創(chuàng)新(含案例)
- 診斷學(xué)完整教案(共167頁(yè))
- 《汽車(chē)文化》全套教案
- 拆除工程檢驗(yàn)批質(zhì)量檢驗(yàn)記錄
- 甲狀腺腫瘤PPT課件
- 城市燃?xì)夤こ瘫O(jiān)理實(shí)施細(xì)則
- 項(xiàng)目總工崗位職責(zé)
- 鋁合金和工藝課件:硬質(zhì)陽(yáng)極氧化處理
- (完整版)部編四年級(jí)語(yǔ)文下詞語(yǔ)表
評(píng)論
0/150
提交評(píng)論