數(shù)據(jù)庫技術(shù)及應(yīng)用-關(guān)系數(shù)據(jù)庫_第1頁
數(shù)據(jù)庫技術(shù)及應(yīng)用-關(guān)系數(shù)據(jù)庫_第2頁
數(shù)據(jù)庫技術(shù)及應(yīng)用-關(guān)系數(shù)據(jù)庫_第3頁
數(shù)據(jù)庫技術(shù)及應(yīng)用-關(guān)系數(shù)據(jù)庫_第4頁
數(shù)據(jù)庫技術(shù)及應(yīng)用-關(guān)系數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1關(guān)系數(shù)據(jù)庫2關(guān)系數(shù)據(jù)庫一、關(guān)系數(shù)據(jù)庫及其特征二、關(guān)系模式三、關(guān)系的完整性四、關(guān)系數(shù)據(jù)庫語言SQL3一、關(guān)系數(shù)據(jù)庫及其特征1.1什么是關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫是因為采用關(guān)系模型而得名,20世紀(jì)70年代末以后所問世的數(shù)據(jù)庫產(chǎn)品大多為關(guān)系模型。關(guān)系數(shù)據(jù)庫之所以得到廣泛應(yīng)用,是因為它是建立在嚴(yán)格的數(shù)學(xué)理論基礎(chǔ)上的,概念清晰、簡單,能夠用統(tǒng)一的結(jié)構(gòu)來表示實體集合和它們之間的聯(lián)系。關(guān)系系統(tǒng)只有“表”這一種數(shù)據(jù)結(jié)構(gòu);而非關(guān)系數(shù)據(jù)庫系統(tǒng)還有其他數(shù)據(jù)結(jié)構(gòu),對這些數(shù)據(jù)結(jié)構(gòu)還有其他的操作。4一、關(guān)系數(shù)據(jù)庫及其特征1.2關(guān)系數(shù)據(jù)庫的特點(diǎn)(1)數(shù)據(jù)結(jié)構(gòu)簡單。關(guān)系數(shù)據(jù)庫系統(tǒng)采用統(tǒng)一的二維表作為數(shù)據(jù)結(jié)構(gòu),不存在復(fù)雜的內(nèi)部聯(lián)系,具有高度的簡潔性與方便性。(2)功能強(qiáng)??梢灾苯訕?gòu)造復(fù)雜的數(shù)據(jù)模型,特別是多聯(lián)系間的聯(lián)系表達(dá),可以一次得到一條完整記錄,也可以修改數(shù)據(jù)間的聯(lián)系,同時還具備一定程度的修改數(shù)據(jù)模式的能力。此外,路徑選擇的靈活性、存儲結(jié)構(gòu)的簡單性都是它的優(yōu)點(diǎn)。5一、關(guān)系數(shù)據(jù)庫及其特征1.2關(guān)系數(shù)據(jù)庫的特點(diǎn)(3)使用方便。關(guān)系數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)結(jié)構(gòu)簡單,它的使用不涉及系統(tǒng)內(nèi)部物理結(jié)構(gòu),用戶不必了解,更無須干預(yù)內(nèi)部組織,所用數(shù)據(jù)語言均為非過程性語言,因此操作、使用都很方便。(4)數(shù)據(jù)獨(dú)立性高。關(guān)系數(shù)據(jù)庫系統(tǒng)的組織、使用由于不涉及物理存儲因素,不涉及過程性因素,因此數(shù)據(jù)的物理獨(dú)立性很高,數(shù)據(jù)的邏輯獨(dú)立性也有一定的改善。(5)對事務(wù)處理領(lǐng)域應(yīng)用效果較好,但對非事務(wù)性應(yīng)用及分析領(lǐng)域的應(yīng)用尚顯不足。6一、關(guān)系數(shù)據(jù)庫及其特征1.3關(guān)系模型的基本術(shù)語(1)關(guān)系。一個關(guān)系對應(yīng)一個二維表。7一、關(guān)系數(shù)據(jù)庫及其特征(2)屬性及值域。二維表中的列(字段)稱為關(guān)系的屬性。關(guān)系的屬性包括屬性名和屬性值兩部分,其列名即為屬性名,列值即為屬性值。屬性值的取值范圍稱為值域。8一、關(guān)系數(shù)據(jù)庫及其特征(3)關(guān)系模式。二維表中的行定義(表頭)、記錄的類型,即對關(guān)系的描述稱為關(guān)系模式,關(guān)系模式的一般形式為:關(guān)系名(屬性1,屬性2,…,屬性n)學(xué)生信息(學(xué)號,姓名,性別,年齡)選課信息(學(xué)號,課程號,成績)9一、關(guān)系數(shù)據(jù)庫及其特征(4)元組。二維表中的一行,即每一條記錄的值稱為關(guān)系的一個元組。關(guān)系由關(guān)系模式和元組的集合組成。10一、關(guān)系數(shù)據(jù)庫及其特征(5)鍵(或碼)。由一個或多個屬性組成。在實際使用中,有下列幾種鍵。①候選鍵(CandidateKey):若關(guān)系中的某一屬性組的值能唯一地標(biāo)識一個元組,則稱該屬性組為候選鍵。②主鍵(PrimaryKey):若一個關(guān)系有多個候選鍵,則選定其中一個為主鍵。③外鍵(ForeignKey):設(shè)F是關(guān)系R的一個或一組屬性,但不是關(guān)系R的鍵。如果F與關(guān)系S的主鍵相對應(yīng),則稱F是關(guān)系R的外鍵,關(guān)系R稱為參照關(guān)系,關(guān)系S稱為被參照關(guān)系或目標(biāo)關(guān)系。11一、關(guān)系數(shù)據(jù)庫及其特征1.4關(guān)系的性質(zhì)(1)關(guān)系中每個屬性值都是不可分解的,即關(guān)系的每個元組分量必須是原子的。從二維表的角度講,不允許表中嵌套表。不符合規(guī)范的表符合規(guī)范的表課程學(xué)時理論實驗數(shù)據(jù)庫原理5410編譯原理

4010課程理論學(xué)時實驗學(xué)時數(shù)據(jù)庫原理5410編譯原理4010操作系統(tǒng)501212一、關(guān)系數(shù)據(jù)庫及其特征(2)關(guān)系中不允許出現(xiàn)相同的元組。從語義角度看,二維表中的一行即一個元組,代表著一個實體。現(xiàn)實生活中不可能出現(xiàn)完全一樣、無法區(qū)分的兩個實體,因此,二維表不允許出現(xiàn)相同的兩行。同一關(guān)系中不能有兩個相同的元組存在,否則將使關(guān)系中的元組失去唯一性,這一性質(zhì)在關(guān)系模型中很重要。(3)在定義一個關(guān)系模式時,可隨意指定屬性的排列次序。例如,在定義表2.2所示的關(guān)系模式時,可以指定屬性的次序為(課程,理論學(xué)時,實驗學(xué)時),也可以指定屬性的次序為(課程,實驗學(xué)時,理論學(xué)時)。13一、關(guān)系數(shù)據(jù)庫及其特征(4)在一個關(guān)系中,元組的排列次序可任意交換,并不改變關(guān)系的實際意義。由于關(guān)系是一個集合,因此不考慮元組間的順序問題。在實際應(yīng)用中,常常對關(guān)系中的元組排序,這樣做僅僅為了加快檢索數(shù)據(jù)的速度,提高數(shù)據(jù)處理的效率。需要補(bǔ)充的一點(diǎn):判斷兩個關(guān)系是否相等,是從集合的角度來考慮的,與屬性的次序無關(guān),與元組次序無關(guān),與關(guān)系的命名也無關(guān)。(5)關(guān)系模式相對穩(wěn)定,關(guān)系卻隨著時間的推移不斷變化。這是由數(shù)據(jù)庫的更新操作(包括插入、刪除、修改)引起的。14二、關(guān)系模式關(guān)系模式是對關(guān)系的描述。關(guān)系模式是型,而關(guān)系是值。定義關(guān)系模式必須指明:元組集合的結(jié)構(gòu)包括屬性構(gòu)成、屬性來自的域、屬性與域之間的映像關(guān)系;元組語義以及完整性約束條件;屬性間的數(shù)據(jù)依賴。關(guān)系實際上是關(guān)系模式在某一時刻的狀態(tài)或內(nèi)容。關(guān)系模式是靜態(tài)的、穩(wěn)定的,而關(guān)系是動態(tài)的、隨時間不斷變化的,因為關(guān)系操作在不斷地更新著數(shù)據(jù)庫中的數(shù)據(jù)。但在實際應(yīng)用中,常常把關(guān)系模式和關(guān)系統(tǒng)稱為關(guān)系。15二、關(guān)系模式關(guān)系模式可以形式化地表示為R(U,D,dom,F)R: 關(guān)系名;U: 組成該關(guān)系的屬性名集合;D: 屬性組U中屬性所屬的域;dom: 屬性向域的映像集合;F: 屬性間的數(shù)據(jù)依賴關(guān)系集合。關(guān)系模式通??梢院営洖镽(U)或R(A1,A2,…,An),其中:R為關(guān)系名,A1,A2,…,An為屬性名。16三、關(guān)系的完整性關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件。關(guān)系模型中可以有3類完整性約束:實體完整性參照完整性用戶定義的完整性。17三、關(guān)系的完整性1.實體完整性(EntityIntegrity)一個基本關(guān)系通常對應(yīng)現(xiàn)實世界的一個實體集,現(xiàn)實世界中的實體是可區(qū)分的,即它們具有某種唯一性標(biāo)識。相應(yīng)的,在關(guān)系模型中以主鍵作為唯一性標(biāo)識。主鍵中的屬性即主屬性,不能取空值。所謂空值就是“不知道”或“無意義”的值。如果主屬性取空值,就說明存在某個不可標(biāo)識的實體,即存在不可區(qū)分的實體。實體完整性規(guī)則:若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。18三、關(guān)系的完整性2.參照完整性(Referentialintegrity)現(xiàn)實世界中的實體之間往往存在某種聯(lián)系,在關(guān)系模型中實體及實體間的聯(lián)系都是用關(guān)系來描述的。這樣就自然存在著關(guān)系與關(guān)系間的引用。設(shè)F是基本關(guān)系R的一個或一組屬性,但不是關(guān)系R的鍵,如果F與基本關(guān)系S的主鍵Ks相對應(yīng),則稱F是基本關(guān)系R的外鍵,并稱基本關(guān)系R為參照關(guān)系,基本關(guān)系S為被參照關(guān)系或目標(biāo)關(guān)系。關(guān)系R和S可以是不同的關(guān)系。參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。19參照完整性規(guī)則:若屬性(或?qū)傩越M)F是基本關(guān)系R的外鍵,它與基本關(guān)系S的主鍵Ks相對應(yīng),則對于R中每個元組在F上的值必須為:

或者取空值(F的每個屬性值均為空值); 或者等于S中某個元組的主鍵值。三、關(guān)系的完整性20三、關(guān)系的完整性【例2.1】在關(guān)系數(shù)據(jù)庫中有下列兩個關(guān)系模式。學(xué)生關(guān)系模式:S(學(xué)號,姓名,性別,年齡,班級號,系別),PK(學(xué)號)學(xué)習(xí)關(guān)系模式:SC(學(xué)號,課程號,成績),PK(學(xué)號,課程號),F(xiàn)K1(學(xué)號),F(xiàn)K2(課程號)根據(jù)規(guī)則要求,關(guān)系SC中的“學(xué)號”值應(yīng)該在關(guān)系S中出現(xiàn)。如果關(guān)系SC中有一個元組(S07,C04,80),而學(xué)號S07卻在關(guān)系S中找不到,那么就認(rèn)為在關(guān)系SC中引用了一個不存在的學(xué)生實體,這違反了參照完整性規(guī)則。另外,在關(guān)系SC中“學(xué)號”不僅是外鍵,也是主鍵的一部分,因此這里“學(xué)號”值不允許空。21三、關(guān)系的完整性3.用戶定義的完整性實體完整性和參照性適用于任何關(guān)系數(shù)據(jù)庫系統(tǒng)。除此之外,不同的關(guān)系數(shù)據(jù)庫系統(tǒng)根據(jù)其應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性就是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。關(guān)系模型應(yīng)提供定義和檢驗這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理,而不要由應(yīng)用程序承擔(dān)這一功能。22三、關(guān)系的完整性【例2.2】例2.1中的學(xué)生關(guān)系模式S中,學(xué)生的年齡定義為兩位整數(shù),但范圍仍然太大,為此用戶可以寫出如下規(guī)則把年齡限制在15~30歲之間: CHECK(AGEBETWEEN15AND30)23四、關(guān)系數(shù)據(jù)庫語言SQLSQL(StructuredQueryLanguage:結(jié)構(gòu)化查詢語言)1.SQL語言是關(guān)系數(shù)據(jù)庫管理系統(tǒng)中最流行的數(shù)據(jù)查詢和操作語言,用戶可以使用SQL語言對數(shù)據(jù)庫執(zhí)行各種操作,包括數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制等與數(shù)據(jù)庫有關(guān)的全部功能。2.SQL語言是在1974年由美國IBM公司的SanJose研究所中的科研人員Boyce和Chamberlin提出的,并于1975~1979年在關(guān)系數(shù)據(jù)庫管理系統(tǒng)原型SystemR上實現(xiàn)了這種語言。243.1986年,ANSI的數(shù)據(jù)庫委員會批準(zhǔn)了SQL作為關(guān)系數(shù)據(jù)庫語言的美國標(biāo)準(zhǔn),并公布了SQL標(biāo)準(zhǔn)文本SQL-86,1987年ISO將其采納為國際標(biāo)準(zhǔn)。4.不同的數(shù)據(jù)庫管理系統(tǒng)廠商開發(fā)的SQL并不完全相同。這些不同類型的SQL一方面遵循了標(biāo)準(zhǔn)SQL語言規(guī)定的基本操作,另一方面又在標(biāo)準(zhǔn)SQL語言的基礎(chǔ)上進(jìn)行了擴(kuò)展,增強(qiáng)了功能。不同廠商的SQL有不同的名稱,例如,Oracle產(chǎn)品中的SQL稱為PL/SQL,MicrosoftSQLServer產(chǎn)品中的SQL稱為Transact-SQL。四、關(guān)系數(shù)據(jù)庫語言SQL25四、關(guān)系數(shù)據(jù)庫語言SQLSQL的主要功能(DDL、DML、DCL)(1)數(shù)據(jù)定義功能 SQL的數(shù)據(jù)定義功能通過數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL)實現(xiàn)。它用來定義數(shù)據(jù)庫的邏輯結(jié)構(gòu),包括基本表、視圖和索引。 基本的DDL包括3類,即定義、修改和刪除。26SQL的主要功能

(2)數(shù)據(jù)操縱功能 SQL的數(shù)據(jù)操縱功能通過數(shù)據(jù)操縱語言(DataManipulationLanguage,DML)實現(xiàn)。它包括數(shù)據(jù)查詢和數(shù)據(jù)更新兩大類操作,其中數(shù)據(jù)查詢是指對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢、統(tǒng)計、分組、排序等操作;數(shù)據(jù)更新包括插入、刪除和修改3種操作。四、關(guān)系數(shù)據(jù)庫語言SQL27四、關(guān)系數(shù)據(jù)庫語言SQLSQL的主要功能(3)數(shù)據(jù)控制功能 數(shù)據(jù)庫的控制是指數(shù)據(jù)庫的安全性和完整性控制。SQL的數(shù)據(jù)控制功能通過數(shù)據(jù)控制語言(DataControlLanguage,DCL)實現(xiàn),它包括對基本表和視圖的授權(quán),完整性規(guī)則的描述以及事務(wù)開始和結(jié)束等控制語句。28四、關(guān)系數(shù)據(jù)庫語言SQLSQL的特點(diǎn)SQL語言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,語言風(fēng)格統(tǒng)一。使用SQL語句就可以獨(dú)立完成數(shù)據(jù)管理的核心操作。SQL還是高度非過程化的,在對數(shù)據(jù)庫進(jìn)行存取操作時無需了解存取路徑。SQL語言采用集合操作方式,其操作對象、操作結(jié)果均可以是元組的集合。SQL具有交互式和嵌入式兩種形式。交互式SQL能夠獨(dú)立地用于聯(lián)機(jī)交互,直接鍵入SQL命令就可以對數(shù)據(jù)庫進(jìn)行操作。29四、關(guān)系數(shù)據(jù)庫語言SQLSQL語言簡潔、易學(xué)易用。雖然SQL的語言功能極強(qiáng),但其語言十分簡潔,只用了9個動詞就完成了其核心功能。SQL的命令動詞及其功能如下表所示。表2.3 SQL的命令動詞SQL的功能命令動詞數(shù)據(jù)定義CREATE,DROP,ALTER數(shù)據(jù)操縱SELECT,INSERT,UPDATE,DELETE數(shù)據(jù)控制GRANT,REVOKE30四、關(guān)系數(shù)據(jù)庫語言SQLSQL支持三級模式結(jié)構(gòu)。31四、關(guān)系數(shù)據(jù)庫語言SQL①全體基本表(BaseTable)構(gòu)成了數(shù)據(jù)庫的模式?;颈硎潜旧愍?dú)立存在的表,在SQL中一個關(guān)系就對應(yīng)一個基本表。②視圖(View)和部分基本表構(gòu)成了數(shù)據(jù)庫的外模式。視圖是從基本表或其他視圖中導(dǎo)出

溫馨提示

  • 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

提交評論