




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
資料庫系統概論
AnIntroductionto
DatabaseSystems*資料庫技術簡介
資訊社會與資料庫——資料庫的重要性資料庫的學術地位資料庫與高新技術資料庫系統的研究領域資訊社會與資料庫1.資訊無處不在,資料庫無所不包。
國家基礎資訊設施:地理資訊系統(GIS)管理資訊系統(MIS)決策支持系統(DSS)典型應用方面:資訊管理模式識別近年發展特點:與網路密不可分2.成為企業支柱。
資訊管理方式,成為衡量企業的一個標準。資訊高速公路上,DB就好比是車,資訊是貨物。資料庫的學術地位資料庫作為管理資訊的最先進的工具,無論在應用領域,還是在學術地位上,都佔有很重要的位置。圖靈獎(電腦界的諾貝爾獎)資料庫與高新技術1.挑戰不斷,攻堅不斷。2.高新技術與資料庫的結合。
並行、分佈、多媒體、面向對象、網路等等3.數據倉庫,數據挖掘。資料庫系統的研究領域1.DBMS及工具軟體的研製
如:人大金倉資訊技術有限公司的kingbaseES2.DB應用系統的研製
如:教學管理系統開發3.資料庫理論和技術事務、併發、安全、恢復、完整性等課程內容
基礎篇第一章緒論第二章關係資料庫第三章關係資料庫標準語言SQL
第四章資料庫安全性第五章資料庫完整性
設計與應用開發篇第六章關係數據理論第七章資料庫設計第八章資料庫編程課程內容
系統篇第九章關係查詢處理和查詢優化第十章資料庫恢復技術第十一章併發控制*第十二章資料庫管理系統第一至第十一章是本科專業的基本教程(書中有*號的部分除外)第十二至第十七章是高級教程資料庫系統概論AnIntroductiontoDatabaseSystems第一章緒論第一章緒論1.1資料庫系統概述1.2數據模型1.3資料庫系統結構1.4資料庫系統的組成1.5小結第一章緒論1.1資料庫系統概述
1.1.1
四個基本概念1.1.2
數據管理技術的產生和發展1.1.3資料庫系統的特點
用戶
資料庫
應用系統應用開發工具
操作系統
資料庫管理系統
資料庫管理員用戶用戶資料庫系統1.1.1四個基本概念數據(Data)
資料庫(Database)
資料庫管理系統(DBMS)
資料庫系統(DBS)一、數據數據(Data)是資料庫中存儲的基本對象數據的定義描述事物的符號記錄數據的種類文本、圖形、圖像、音頻、視頻、學生的檔案記錄、貨物的運輸情況等數據的特點數據與其語義是不可分的數據舉例數據的形式不能完全表達其內容數據的含義稱為數據的語義,數據與其語義是不可分的。例如93是一個數據語義1:學生某門課的成績語義2:某人的體重語義3:電腦系2003級學生人數語義4:請同學給出。。。數據舉例學生檔案中的學生記錄(李明,男,197205,江蘇南京市,電腦系,1990)語義:學生姓名、性別、出生年月、籍貫、所在院系、入學時間解釋:李明是個大學生,1972年5月出生,江蘇南京市人,1990年考入電腦系請給出另一個解釋和語義二、資料庫(舉例)二、資料庫人們收集並抽取出一個應用所需要的大量數據之後,應將其保存起來以供進一步加工處理,進一步抽取有用資訊。資料庫的定義資料庫(Database,簡稱DB)是長期儲存在電腦內、有組織的、可共用的大量數據的集合。二、資料庫(續)
資料庫的基本特徵數據按一定的數據模型組織、描述和儲存可為各種用戶共用冗餘度較小數據獨立性較高易擴展三、資料庫管理系統什麼是DBMS資料庫管理系統(DatabaseManagementSystem,簡稱DBMS)位於用戶與操作系統之間的一層數據管理軟體。是基礎軟體,是一個大型複雜的軟體系統。DBMS的用途科學地組織和存儲數據、高效地獲取和維護數據。DBMS的主要功能數據定義功能
提供數據定義語言(DDL)
定義資料庫中的數據對象存儲和管理
分類組織、存儲和管理各種數據確定組織數據的檔結構和存取方式實現數據之間的聯繫提供多種存取方法提高存取效率DBMS的主要功能數據操縱功能
提供數據操縱語言(DML)
實現對數據庫的基本操作(查詢、插入、刪除和修改)
資料庫的事務管理和運行管理
資料庫在建立、運行和維護時由DBMS統一管理和控制保證數據的安全性、完整性、多用戶對數據的併發使用生故障後的系統恢復DBMS的主要功能資料庫的建立和維護功能
資料庫初始數據裝載轉換 資料庫轉儲 介質故障恢復 資料庫的重組織 性能監視分析等其他功能
DBMS與網路中其他軟體系統的通信兩個DBMS系統的數據轉換異構資料庫之間的互訪和互操作四、資料庫系統什麼是資料庫系統資料庫系統(DatabaseSystem,簡稱DBS)是指在電腦系統中引入資料庫後的系統構成。在不引起混淆的情況下常常把資料庫系統簡稱為數據庫。資料庫系統的構成資料庫資料庫管理系統(及其開發工具)應用系統資料庫管理員
資料庫應用系統應用開發工具
操作系統
資料庫管理系統
資料庫管理員用戶用戶用戶資料庫系統硬體平臺基礎軟體平臺軟體基礎構架平臺應用軟體平臺軟體產品協同軟體辦公軟體資料庫系統操作系統中間件應用伺服器資料庫在電腦系統中的位置1.1資料庫系統概述
1.1.1四個基本概念
1.1.2數據管理技術的產生和發展
1.1.3資料庫系統的特點
數據管理技術的產生和發展什麼是數據管理對數據進行分類、組織、編碼、存儲、檢索和維護是數據處理的中心問題數據管理技術的發展過程人工管理階段(20世紀40年代中--50年代中)檔系統階段(20世紀50年代末--60年代中)資料庫系統階段(20世紀60年代末--現在)數據管理技術的產生和發展(續)數據管理技術的發展動力應用需求的推動電腦硬體的發展電腦軟體的發展一、人工管理階段時期20世紀40年代中--50年代中產生的背景應用需求 科學計算 硬體水準 無直接存取存儲設備軟體水準 沒有操作系統 處理方式 批處理 人工管理階段(續)特點數據的管理者:用戶(程式員),數據不保存數據面向的對象:某一應用程式數據的共用程度:無共用、冗餘度極大數據的獨立性:不獨立,完全依賴於程式數據的結構化:無結構數據控制能力:應用程式自己控制應用程式與數據的對應關係(人工管理階段)
應用程式1數據集1應用程式2數據集2應用程式n數據集n...…...…人工管理階段應用程式與數據之間的對應關係
二、檔系統階段時期20世紀50年代末--60年代中產生的背景應用需求 科學計算、管理 硬體水準 磁片、磁鼓 軟體水準 有檔系統 處理方式 聯機即時處理、批處理
檔系統階段(續)特點數據的管理者:檔系統,數據可長期保存數據面向的對象:某一應用程式數據的共用程度:共用性差、冗餘度大數據的結構化:記錄內有結構,整體無結構數據的獨立性:獨立性差,數據的邏輯結構改變必須修改應用程式數據控制能力:應用程式自己控制應用程式與數據的對應關係(檔系統階段)應用程式1檔1應用程式2檔2應用程式n檔n存取方法...…...…檔系統階段應用程式與數據之間的對應關係檔系統中數據的結構記錄內有結構。數據的結構是靠程式定義和解釋的。數據只能是定長的。可以間接實現數據變長要求,但訪問相應數據的應用程式複雜了。檔間是獨立的,因此數據整體無結構。可以間接實現數據整體的有結構,但必須在應用程式中對描述數據間的聯繫。數據的最小存取單位是記錄。三、資料庫系統階段時期20世紀60年代末以來產生的背景應用背景大規模管理 硬體背景大容量磁片、磁片陣列 軟體背景有數據庫管理系統 處理方式聯機即時處理,分佈處理,批處理 1.1資料庫系統概述
1.1.1四個基本概念
1.1.2數據管理技術的產生和發展
1.1.3資料庫系統的特點
1.1.3資料庫系統的特點數據結構化數據的共用性高,冗餘度低,易擴充數據獨立性高數據由DBMS統一管理和控制數據結構化整體數據的結構化是資料庫的主要特徵之一整體結構化不再僅僅針對某一個應用,而是面向全組織不僅數據內部結構化,整體是結構化的,數據之間具有聯繫資料庫中實現的是數據的真正結構化數據的結構用數據模型描述,無需程式定義和解釋數據可以變長數據的最小存取單位是資料項目數據的共用性高,冗餘度低,易擴充資料庫系統從整體角度看待和描述數據,數據面向整個系統,可以被多個用戶、多個應用共用使用。數據共用的好處減少數據冗餘,節約存儲空間避免數據之間的不相容性與不一致性使系統易於擴充數據獨立性高物理獨立性
指用戶的應用程式與存儲在磁片上的資料庫中數據是相互獨立的。當數據的物理存儲改變了,應用程式不用改變。邏輯獨立性
指用戶的應用程式與資料庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,用戶程式也可以不變。數據獨立性是由DBMS的二級映像功能來保證的數據由DBMS統一管理和控制DBMS提供的數據控制功能(1)數據的安全性(Security)保護保護數據,以防止不合法的使用造成的數據的洩密和破壞。(2)數據的完整性(Integrity)檢查將數據控制在有效的範圍內,或保證數據之間滿足一定的關係。(3)併發(Concurrency)控制對多用戶的併發操作加以控制和協調,防止相互干擾而得到錯誤的結果。(4)資料庫恢復(Recovery)將資料庫從錯誤狀態恢復到某一已知的正確狀態。應用程式與數據的對應關係(資料庫系統)DBMS應用程式1應用程式2資料庫…資料庫系統階段應用程式與數據之間的對應關係
檔系統(面向應用)人事處財務處教務處教務管理(課程名,學時,學分,教師姓名,教師職稱)人事處財務處教務處財務管理(單位,姓名,工齡,職稱,基本工資,崗位津貼,特殊津貼)人事管理(單位,姓名,年齡,工齡,職稱,職務,政治面目,籍貫,工作經歷)資料庫系統(面向系統)教師資訊:單位,姓名,性別,年齡,工齡,職稱,職務,政治面目,籍貫,工作經歷,基本工資,崗位津貼,特殊津貼,課程名,學時,學分人事處教務處財務處第一章緒論1.1資料庫系統概述1.2數據模型1.3資料庫系統結構1.4資料庫系統的組成1.5小結
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關係模型數據模型在資料庫中用數據模型這個工具來抽象、表示和處理現實世界中的數據和資訊。通俗地講數據模型就是現實世界的模擬。數據模型應滿足三方面要求能比較真實地模擬現實世界容易為人所理解便於在電腦上實現
1.2.1兩大類數據模型數據模型分為兩類(分屬兩個不同的層次)(1)概念模型
也稱資訊模型,它是按用戶的觀點來對數據和資訊建模,用於資料庫設計。(2)邏輯模型和物理模型
邏輯模型主要包括網狀模型、層次模型、關係模型、面向對象模型等,按電腦系統的觀點對數據建模,用於DBMS實現。物理模型是對數據最底層的抽象,描述數據在系統內部的表示方式和存取方法,在磁片或磁帶上的存儲方式和存取方法。兩大類數據模型(續)概念模型是現實世界到機器世界的一個中間層次。客觀對象的抽象過程——兩步抽象(1)現實世界中的客觀對象抽象為概念模型(2)把概念模型轉換為某一DBMS支持的數據模型。兩大類數據模型(續)DBMS支持的數據模型概念模型認識抽象資訊世界機器世界現實世界中客觀對象的抽象過程現實世界現實世界概念模型資料庫設計人員完成邏輯模型物理模型由DBMS完成概念模型邏輯模型資料庫設計人員完成
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關係模型
1.2.2數據模型的組成要素數據結構數據操作完整性約束條件一、數據結構什麼是數據結構描述資料庫的組成對象,以及對象之間的聯繫描述的內容與數據類型、內容、性質有關的對象與數據之間聯繫有關的對象數據結構是對系統靜態特性的描述二、數據操作數據操作對數據庫中各種對象(型)的實例(值)允許執行的操作及有關的操作規則數據操作的類型查詢更新(包括插入、刪除、修改)數據操作是對系統動態特性的描述三、數據的完整性約束條件數據的完整性約束條件一組完整性規則的集合。完整性規則:給定的數據模型中數據及其聯繫所具有的制約和儲存規則。用以限定符合數據模型的資料庫狀態以及狀態的變化,以保證數據的正確、有效、相容。1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關係模型
1.2.3概念模型資訊世界中的基本概念兩個實體型之間的聯繫兩個以上實體型之間的聯繫單個實體型內的聯繫概念模型的一種表示方法一個實例概念模型概念模型的用途概念模型用於資訊世界的建模是現實世界到機器世界的一個中間層次是資料庫設計的有力工具資料庫設計人員和用戶之間進行交流的語言對概念模型的基本要求較強的語義表達能力能夠方便、直接地表達應用中的各種語義知識簡單、清晰、易於用戶理解一、資訊世界中的基本概念(1)實體(Entity)
客觀存在並可相互區別的事物稱為實體。可以是具體的人、事、物或抽象的概念。(2)屬性(Attribute)
實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。(3)碼(Key)
唯一標識實體的屬性集稱為碼。資訊世界中的基本概念(續)(4)域(Domain)屬性的取值範圍稱為該屬性的域。
(5)實體型(EntityType)用實體名及其屬性名集合來抽象和刻畫同類實體為實體型。(6)實體集(EntitySet)同一類型實體的集合稱為實體集。資訊世界中的基本概念(續)(7)聯繫(Relationship)
現實世界中事物內部以及事物之間的聯繫在資訊世界中反映為實體內部的聯繫和實體之間的聯繫。實體內部的聯繫通常是指組成實體的各屬性之間的聯繫實體之間的聯繫通常是指不同實體集之間的聯繫二、兩個實體型之間的聯繫實體型A聯繫名實體型B111:1聯繫實體型A聯繫名1n1:n聯繫實體型A實體型B聯繫名mnm:n聯繫實體型B用圖形來表示兩個實體型之間的這三類聯繫
二、兩個實體型之間的聯繫(續)
一對一聯繫(1:1)實例一個班級只有一個正班長一個班長只在一個班中任職定義:如果對於實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯繫,反之亦然,則稱實體集A與實體集B具有一對一聯繫,記為1:1班級班級-班長班長111:1聯繫兩個實體型之間的聯繫(續)一對多聯繫(1:n)實例一個班級中有若干名學生每個學生只在一個班級中學習定義:如果對於實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯繫,反之,對於實體集B中的每一個實體,實體集A中至多只有一個實體與之聯繫,則稱實體集A與實體集B有一對多聯繫,記為1:n班級組成學生1n1:n聯繫兩個實體型之間的聯繫(續)多對多聯繫(m:n)實例課程與學生之間的聯繫:一門課程同時有若干個學生選修一個學生可以同時選修多門課程定義:
如果對於實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯繫,反之,對於實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯繫,則稱實體集A與實體B具有多對多聯繫,記為m:n課程選修學生mnm:n聯繫三、兩個以上實體型之間的聯繫兩個以上實體型之間一對多聯繫若實體集E1,E2,...,En存在聯繫,對於實體集Ej(j=1,2,...,i-1,i+1,...,n)中的給定實體,最多只和Ei中的一個實體相聯系,則我們說Ei與E1,E2,...,Ei-1,Ei+1,...,En之間的聯繫是一對多的兩個以上實體型之間的聯繫(續)實例
課程、教師與參考書三個實體型一門課程可以有若干個教師講授,使用若干本參考書,每一個教師只講授一門課程,每一本參考書只供一門課程使用課程講授教師1m兩個以上實體型間1:n聯繫參考書n兩個以上實體型之間的聯繫(續)兩個以上實體型間的多對多聯繫實例
供應商、專案、零件三個實體型一個供應商可以供給多個專案多種零件每個專案可以使用多個供應商供應的零件每種零件可由不同供應商供給供應商供應專案mp兩個以上實體型間m:n聯繫零件n四、單個實體型內的聯繫一對多聯繫實例
職工實體型內部具有領導與被領導的聯繫某一職工(幹部)“領導”若干名職工一個職工僅被另外一個職工直接領導這是一對多的聯繫職工領導1n單個實體型內部1:n聯繫五、概念模型的一種表示方法實體-聯繫方法(E-R方法)用E-R圖來描述現實世界的概念模型E-R方法也稱為E-R模型E-R圖實體型用矩形表示,矩形框內寫明實體名。屬性用橢圓形表示,並用無向邊將其與相應的實體連接起來學生教師學生學號年齡性別姓名E-R圖(續)聯繫聯繫本身:
用菱形表示,菱形框內寫明聯繫名,並用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1:1、1:n或m:n)聯繫的表示方法實體型A聯繫名實體型B111:1聯繫實體型A聯繫名1n1:n聯繫實體型A實體型B聯繫名mnm:n聯繫實體型B聯繫的表示方法示例班級任職班長111:1聯繫課程選修學生mnm:n聯繫班級組成學生1n1:n聯繫聯繫的屬性課程選修學生mn成績聯繫的屬性:
聯繫本身也是一種實型,也可以有屬性。如果一個聯繫具有屬性,則這些屬性也要用無向邊與該聯繫連接起來六、一個實例用E-R圖表示某個工廠物資管理的概念模型實體倉庫:倉庫號、面積、電話號碼零件:零件號、名稱、規格、單價、描述供應商:供應商號、姓名、地址、電話號碼、帳號專案:專案號、預算、開工日期職工:職工號、姓名、年齡、職稱一個實例實體之間的聯繫如下:
(1)一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中。倉庫和零件具有多對多的聯繫。用庫存量來表示某種零件在某個倉庫中的數量。(2)一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作,倉庫和職工之間是一對多的聯繫。職工實體型中具有一對多的聯繫(3)職工之間具有領導-被領導關係。即倉庫主任領導若干保管員。(4)供應商、專案和零件三者之間具有多對多的聯繫一個實例
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關係模型
1.2.4最常用的數據模型非關係模型層次模型(HierarchicalModel)網狀模型(NetworkModel)關係模型(RelationalModel)面向對象模型(ObjectOrientedModel)對象關係模型(ObjectRelationalModel)1.2.5層次模型層次模型是資料庫系統中最早出現的數據模型層次資料庫系統的典型代表是IBM公司的IMS(InformationManagementSystem)資料庫管理系統層次模型用樹形結構來表示各類實體以及實體間的聯繫一、層次數據模型的數據結構層次模型
滿足下麵兩個條件的基本層次聯繫的集合為層次模型1有且只有一個結點沒有雙親結點,這個結點稱為根結點2.根以外的其他結點有且只有一個雙親結點層次模型中的幾個術語
根結點,雙親結點,兄弟結點,葉結點層次數據模型的數據結構(續)
R1
根結點
R2
兄弟結點
R3
葉結點
R4
兄弟結點
R5
葉結點
葉結點圖1.16一個層次模型的示例層次數據模型的數據結構(續)層次模型的特點:結點的雙親是唯一的只能直接處理一對多的實體聯繫每個記錄類型可以定義一個排序字段,也稱為碼字段任何記錄值只有按其路徑查看時,才能顯出它的全部意義沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在層次數據模型的數據結構(續)圖1.17教員學生層次資料庫模型根結點記錄型系的子女結點記錄型教員的雙親結點葉結點葉結點字段層次數據模型的數據結構(續)圖1.18教員學生層次資料庫的一個值
二、多對多聯繫在層次模型中的表示多對多聯繫在層次模型中的表示用層次模型間接表示多對多聯繫方法將多對多聯繫分解成一對多聯繫分解方法冗餘結點法虛擬結點法三、層次模型的數據操縱與完整性約束
層次模型的數據操縱查詢插入刪除更新層次模型的數據操縱與完整性約束(續)層次模型的完整性約束條件
無相應的雙親結點值就不能插入子女結點值如果刪除雙親結點值,則相應的子女結點值也被同時刪除更新操作時,應更新所有相應記錄,以保證數據的一致性四、層次數據模型的存儲結構鄰接法
按照層次樹前序遍曆的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現層次順序層次數據模型的存儲結構(續)圖1.20層次資料庫及其實例…A1A2C8C6C4B6C9C2B4C14C7C5C3B1A1圖1.21鄰接法按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集
層次數據模型的存儲結構(續)鏈接法用指引來反映數據之間的層次聯繫子女-兄弟鏈接法層次序列鏈接法層次數據模型的存儲結構(續)子女-兄弟鏈接法每個記錄設兩類指針,分別指向最左邊的子女(每個記錄型對應一個)和最近的兄弟層次數據模型的存儲結構(續)層次序列鏈接法按樹的前序穿越順序鏈接各記錄值五、層次模型的優缺點優點層次模型的數據結構比較簡單清晰查詢效率高,性能優於關係模型,不低於網狀模型層次數據模型提供了良好的完整性支持缺點多對多聯繫表示不自然對插入和刪除操作的限制多,應用程式的編寫比較複雜查詢子女結點必須通過雙親結點由於結構嚴密,層次命令趨於程式化
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關係模型1.2.6網狀模型網狀資料庫系統採用網狀模型作為數據的組織方式典型代表是DBTG系統:亦稱CODASYL系統70年代由DBTG提出的一個系統方案奠定了資料庫系統的基本概念、方法和技術實際系統CullinetSoftwareInc.公司的IDMSUnivac公司的DMS1100Honeywell公司的IDS/2HP公司的IMAGE1.網狀數據模型的數據結構網狀模型滿足下麵兩個條件的基本層次聯繫的集合:1.允許一個以上的結點無雙親;2.一個結點可以有多於一個的雙親。網狀數據模型的數據結構(續)表示方法(與層次數據模型相同)實體型:用記錄類型描述每個結點表示一個記錄類型(實體)屬性:用字段描述每個記錄類型可包含若干個字段聯繫:用結點之間的連線表示記錄類型(實體)之間的一對多的父子聯繫網狀數據模型的數據結構(續)網狀模型與層次模型的區別網狀模型允許多個結點沒有雙親結點網狀模型允許結點有多個雙親結點網狀模型允許兩個結點之間有多種聯繫(複合聯繫)網狀模型可以更直接地去描述現實世界層次模型實際上是網狀模型的一個特例網狀數據模型的數據結構(續)網狀模型中子女結點與雙親結點的聯繫可以不唯一要為每個聯繫命名,並指出與該聯繫有關的雙親記錄和子女記錄R1與R3之間的聯繫L1R2與R3之間的聯繫L2
網狀數據模型的數據結構(續)網狀模型的例子
網狀數據模型的數據結構(續)多對多聯繫在網狀模型中的表示用網狀模型間接表示多對多聯繫方法:將多對多聯繫直接分解成一對多聯繫網狀數據模型的數據結構(續)例如:一個學生可以選修若干門課程,某一課程可以被多個學生選修,學生與課程之間是多對多聯繫引進一個學生選課的聯結記錄,由3個數據項組成學號課程號成績表示某個學生選修某一門課程及其成績網狀數據模型的數據結構(續)圖1.24學生/選課/課程的網狀數據模型網狀數據模型的操縱與完整性約束(續)網狀資料庫系統(如DBTG)對數據操縱加了一些限制,提供了一定的完整性約束碼:唯一標識記錄的資料項目的集合
一個聯繫中雙親記錄與子女記錄之間是一對多聯繫支持雙親記錄和子女記錄之間某些約束條件
三、網狀數據模型的存儲結構關鍵實現記錄之間的聯繫常用方法單向鏈接雙向鏈接環狀鏈接向首鏈接網狀數據模型的存儲結構(續)圖1.25學生/選課/課程的網狀資料庫實例
學生記錄課程記錄選課記錄四、網狀數據模型的優缺點優點能夠更為直接地描述現實世界,如一個結點可以有多個雙親具有良好的性能,存取效率較高缺點結構比較複雜,而且隨著應用環境的擴大,資料庫的結構就變得越來越複雜,不利於最終用戶掌握DDL、DML語言複雜,用戶不容易使用
1.2數據模型
1.2.1兩大類數據模型
1.2.2數據模型的組成要素
1.2.3概念模型
1.2.4最常用的數據模型
1.2.5層次模型
1.2.6網狀模型
1.2.7關係模型1.2.7關係模型關係資料庫系統採用關係模型作為數據的組織方式1970年美國IBM公司SanJose研究室的研究員E.F.Codd首次提出了資料庫系統的關係模型電腦廠商新推出的資料庫管理系統幾乎都支持關係模型
一、關係數據模型的數據結構在用戶觀點下,關係模型中數據的邏輯結構是一張二維表,它由行和列組成。學號姓名年齡性別系名年級2005004王小明19女社會學20052005006黃大鵬20男商品學20052005008張文斌18女法律2005………………學生登記表屬性元組關係數據模型的數據結構(續)關係(Relation)一個關係對應通常說的一張表元組(Tuple)表中的一行即為一個元組屬性(Attribute)表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名關係數據模型的數據結構(續)碼(Key)表中的某個屬性組,它可以唯一確定一個元組。域(Domain)屬性的取值範圍。分量元組中的一個屬性值。關係模式對關係的描述關係名(屬性1,屬性2,…,屬性n)學生(學號,姓名,年齡,性別,系,年級)關係數據模型的數據結構(續)例1
學生、系、系與學生之間的一對多聯繫:
學生(學號,姓名,年齡,性別,系號,年級)系(系號,系名,辦公地點)例2系、系主任、系與系主任間的一對一聯繫關係數據模型的數據結構(續)例3學生、課程、學生與課程之間的多對多聯繫:學生(學號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學分)選修(學號,課程號,成績)關係數據模型的數據結構(續)關係必須是規範化的,滿足一定的規範條件最基本的規範條件:關係的每一個分量必須是一個不可分的資料項目,不允許表中還有表
圖1.27中工資和扣除是可分的資料項目,不符合關係模型要求職工號姓名職稱工資扣除實發基本津貼職務房租水電86051陳平講師13051200501601122283圖1.27一個工資表(表中有表)實例關係數據模型的數據結構(續)關係術語一般表格的術語關係名表名關係模式表頭(表格的描述)關係(一張)二維表元組記錄或行屬性列屬性名列名屬性值列值分量一條記錄中的一個列值非規範關係表中有表(大表中嵌有小表)表1.2術語對比二、關係數據模型的操縱與完整性約束數據操作是集合操作,操作對象和操作結果都是關係查詢插入刪除更新數據操作是集合操作,操作對象和操作結果都是關係,即若幹元組的集合存取路徑對用戶隱蔽,用戶只要指出“幹什麼”,不必詳細說明“怎麼幹”關係數據模型的操縱與完整性約束(續)關係的完整性約束條件實體完整性參照完整性用戶定義的完整性三、關係數據模型的存儲結構實體及實體間的聯繫都用表來表示表以檔形式存儲有的DBMS一個表對應一個操作系統檔有的DBMS自己設計檔結構四、關係數據模型的優缺點優點建立在嚴格的數學概念的基礎上概念單一實體和各類聯繫都用關係來表示對數據的檢索結果也是關係關係模型的存取路徑對用戶透明具有更高的數據獨立性,更好的安全保密性簡化了程式員的工作和數據庫開發建立的工作關係數據模型的優缺點(續)缺點存取路徑對用戶透明導致查詢效率往往不如非關係數據模型為提高性能,必須對用戶的查詢請求進行優化增加了開發DBMS的難度第一章緒論1.1資料庫系統概述1.2數據模型1.3資料庫系統結構1.4資料庫系統的組成1.5小結1.3資料庫系統結構從資料庫管理系統角度看,資料庫系統通常採用三級模式結構,是資料庫系統內部的系統結構從資料庫最終用戶角度看(資料庫系統外部的體系結構),資料庫系統的結構分為:單用戶結構主從式結構分佈式結構客戶/伺服器流覽器/應用伺服器/資料庫伺服器多層結構等資料庫系統結構(續)1.3.1資料庫系統模式的概念
1.3.2資料庫系統的三級模式結構1.3.3資料庫的二級映像功能與數據獨立性
1.3.1資料庫系統模式的概念“型”和“值”的概念型(Type)對某一類數據的結構和屬性的說明值(Value)是型的一個具體賦值例如學生記錄型:
(學號,姓名,性別,系別,年齡,籍貫)一個記錄值:
(900201,李明,男,電腦,22,江蘇)資料庫系統模式的概念(續)模式(Schema)資料庫邏輯結構和特徵的描述是型的描述反映的是數據的結構及其聯繫模式是相對穩定的實例(Instance)模式的一個具體值反映資料庫某一時刻的狀態同一個模式可以有很多實例實例隨資料庫中的數據的更新而變動資料庫系統模式的概念(續)例如:在學生選課資料庫模式中,包含學生記錄、課程記錄和學生選課記錄
2003年的一個學生資料庫實例,包含:2003年學校中所有學生的記錄學校開設的所有課程的記錄所有學生選課的記錄2002年度學生資料庫模式對應的實例與
2003年度學生資料庫模式對應的實例是不同的資料庫系統結構(續)1.3.1資料庫系統模式的概念1.3.2資料庫系統的三級模式結構1.3.3資料庫的二級映像功能與數據獨立性
1.3.2資料庫系統的三級模式結構模式(Schema)外模式(ExternalSchema)內模式(InternalSchema)
資料庫系統的三級模式結構(續)圖1.28資料庫系統的三級模式結構一、模式(Schema)模式(也稱邏輯模式)資料庫中全體數據的邏輯結構和特徵的描述所有用戶的公共數據視圖,綜合了所有用戶的需求一個資料庫只有一個模式模式的地位:是資料庫系統模式結構的中間層與數據的物理存儲細節和硬體環境無關與具體的應用程式、開發工具及高級程式設計語言無關模式(續)模式的定義數據的邏輯結構(資料項目的名字、類型、取值範圍等)數據之間的聯繫數據有關的安全性、完整性要求二、外模式(ExternalSchema)外模式(也稱子模式或用戶模式)資料庫用戶(包括應用程式員和最終用戶)使用的局部數據的邏輯結構和特徵的描述資料庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示外模式(續)外模式的地位:介於模式與應用之間模式與外模式的關係:一對多外模式通常是模式的子集一個資料庫可以有多個外模式。反映了不同的用戶的應用需求、看待數據的方式、對數據保密的要求對模式中同一數據,在外模式中的結構、類型、長度、保密級別等都可以不同外模式與應用的關係:一對多同一外模式也可以為某一用戶的多個應用系統所使用但一個應用程式只能使用一個外模式外模式(續)外模式的用途保證資料庫安全性的一個有力措施每個用戶只能看見和訪問所對應的外模式中的數據三、內模式(InternalSchema)內模式(也稱存儲模式)是數據物理結構和存儲方式的描述是數據在資料庫內部的表示方式記錄的存儲方式(順序存儲,按照B樹結構存儲,按hash方法存儲)索引的組織方式數據是否壓縮存儲數據是否加密數據存儲記錄結構的規定一個資料庫只有一個內模式內模式(續)例如學生記錄,如果按堆存儲,則插入一條新記錄總是放在學生記錄存儲的最後,如右圖所示內模式(續)如果按學號昇冪存儲,則插入一條記錄就要找到它應在的位置插入,如圖1.29(b)所示如果按照學生年齡聚簇存放,假如新插入的S3是16歲,則應插入的位置如圖1.29(c)所示
圖1.29記錄不同的存儲方式示意圖資料庫系統結構(續)1.3.1資料庫系統模式的概念1.3.2資料庫系統的三級模式結構1.3.3資料庫的二級映像功能與數據獨立性
1.3.3資料庫的二級映像功能與數據獨立性三級模式是對數據的三個抽象級別二級映象在DBMS內部實現這三個抽象層次的聯繫和轉換外模式/模式映像模式/內模式映像一、外模式/模式映象模式:描述的是數據的全局邏輯結構外模式:描述的是數據的局部邏輯結構同一個模式可以有任意多個外模式每一個外模式,資料庫系統都有一個外模式/模式映象,定義外模式與模式之間的對應關係映象定義通常包含在各自外模式的描述中外模式/模式映象(續)保證數據的邏輯獨立性當模式改變時,資料庫管理員修改有關的外模式/模式映象,使外模式保持不變應用程式是依據數據的外模式編寫的,從而應用程式不必修改,保證了數據與程式的邏輯獨立性,簡稱數據的邏輯獨立性。二、模式/內模式映象模式/內模式映象定義了數據全局邏輯結構與存儲結構之間的對應關係。例如,說明邏輯記錄和字段在內部是如何表示的資料庫中模式/內模式映象是唯一的該映象定義通常包含在模式描述中模式/內模式映象(續)保證數據的物理獨立性當資料庫的存儲結構改變了(例如選用了另一種存儲結構),資料庫管理員修改模式/內模式映象,使模式保持不變應用程式不受影響。保證了數據與程式的物理獨立性,簡稱數據的物理獨立性。二級映像與數據獨立性資料庫的二級映像保證了資料庫外模式的穩定性從底層保證了應用程式的穩定性,除非應用需求本身發生變化,否則應用程式一般不需要修改數據與程式之間的獨立性,使得數據的定義和描述可以從應用程式中分離出去數據的存取由DBMS管理用戶不必考慮存取路徑等細節簡化了應用程式的編制大大減少了應用程式的維護和修改
第一章緒論1.1資料庫系統概述1.2數據模型1.3資料庫系統結構1.4資料庫系統的組成1.5小結1.4資料庫系統的組成資料庫資料庫管理系統(及其開發工具)應用系統資料庫管理員資料庫系統的組成(續)硬體平臺及資料庫軟體人員一、硬體平臺及資料庫資料庫系統對硬體資源的要求
(1)足夠大的記憶體操作系統DBMS的核心模組數據緩衝區應用程式硬體平臺及資料庫(續)
(2)足夠大的外存磁片或磁片陣列資料庫光碟、磁帶數據備份(3)較高的通道能力,提高數據傳送率二、軟體DBMS支持DBMS運行的操作系統與資料庫介面的高級語言及其編譯系統以DBMS為核心的應用開發工具為特定應用環境開發的資料庫應用系統三、人員資料庫管理員系統分析員和數據庫設計人員應用程式員用戶人員(續)圖1.30各種人員的數據視圖不同的人員涉及不同的數據抽象級別,具有不同的數據視圖,如下圖所示1.資料庫管理員(DBA)具體職責:1.決定資料庫中的資訊內容和結構2.決定資料庫的存儲結構和存取策略3.定義數據的安全性要求和完整性約束條件資料庫管理員(續)4.監控資料庫的使用和運行週期性轉儲資料庫數據檔日誌檔系統故障恢復介質故障恢復監視審計檔資料庫管理員(續)5.資料庫的改進和重組性能監控和調優定期對數據庫進行重組織,以提高系統的性能需求增加和改變時,資料庫須需要重構造2.系統分析員和數據庫設計人員系統分析員
負責應用系統的需求分析和規範說明與用戶及DBA協商,確定系統的硬軟體配置參與資料庫系統的概要設計系統分析員和數據庫設計人員(續)資料庫設計人員參加用戶需求調查和系統分析確定資料庫中的數據設計資料庫各級模式3.應用程式員設計和編寫應用系統的程式模組進行調試和安裝4.用戶
用戶是指最終用戶(EndUser)。最終用戶通過應用系統的用戶介面使用資料庫。
1.偶然用戶不經常訪問資料庫,但每次訪問資料庫時往往需要不同的資料庫資訊企業或組織機構的高中級管理人員用戶(續)2.簡單用戶主要工作是查詢和更新資料庫銀行的職員、機票預定人員、旅館總臺服務員3.複雜用戶工程師、科學家、經濟學家、科技工作者等直接使用資料庫語言訪問資料庫,甚至能夠基於資料庫管理系統的API編制自己的應用程式第一章緒論1.1資料庫系統概述1.2數據模型1.3資料庫系統結構1.4資料庫系統的組成1.5小結1.5小結資料庫系統概述資料庫的基本概念數據管理的發展過程數據模型數據模型的三要素概念模型,E-R模型三種主要資料庫模型小結(續)資料庫系統的結構資料庫系統三級模式結構資料庫系統兩層映像系統結構資料庫系統的組成
第二章關係資料庫關係資料庫簡介系統而嚴格地提出關係模型的是美國IBM公司的E.F.Codd1970年提出關係數據模型
E.F.Codd,“ARelationalModelofDataforLargeShredDataBanks”,《CommunicationoftheACM》,1970之後,提出了關係代數和關係演算的概念1972年提出了關係的第一、第二、第三範式1974年提出了關係的BC範式關係資料庫簡介關係資料庫應用數學方法來處理資料庫中的數據80年代後,關係資料庫系統成為最重要、最流行的資料庫系統關係資料庫簡介典型實驗系統SystemRUniversityINGRES典型商用系統ORACLESYBASEINFORMIXDB2INGRES第二章關係資料庫2.1關係數據結構及形式化定義2.2關係操作2.3關係的完整性2.4關係代數2.5小結2.1關係數據結構及形式化定義2.1.1關係2.1.2關係模式2.1.3關係資料庫2.1.1
關係單一的數據結構----關係現實世界的實體以及實體間的各種聯繫均用關係來表示邏輯結構----二維表從用戶角度,關係模型中數據的邏輯結構是一張二維表建立在集合代數的基礎上關係(續)⒈域(Domain)
2.笛卡爾積(CartesianProduct)
3.關係(Relation)⒈域(Domain)域是一組具有相同數據類型的值的集合。例:
整數實數介於某個取值範圍的整數指定長度的字串集合
{‘男’,‘女’}
介於某個取值範圍的日期……………..2.笛卡爾積(CartesianProduct)笛卡爾積給定一組域D1,D2,…,Dn,這些域中可以有相同的。
D1,D2,…,Dn的笛卡爾積為:
D1×D2×…×Dn={(d1,d2,…,dn)|di
Di,i=1,2,…,n}所有域的所有取值的一個組合不能重複笛卡爾積(續)例給出三個域:
D1=SUPERVISOR={張清玫,劉逸}
D2=SPECIALITY={電腦專業,資訊專業}D3=POSTGRADUATE={李勇,劉晨,王敏}則D1,D2,D3的笛卡爾積為:
D1×D2×D3={(張清玫,電腦專業,李勇),(張清玫,電腦專業,劉晨),
(張清玫,電腦專業,王敏),(張清玫,資訊專業,李勇),
(張清玫,資訊專業,劉晨),(張清玫,資訊專業,王敏),
(劉逸,電腦專業,李勇),(劉逸,電腦專業,劉晨),
(劉逸,電腦專業,王敏),(劉逸,資訊專業,李勇),
(劉逸,資訊專業,劉晨),(劉逸,資訊專業,王敏)}笛卡爾積(續)
元組(Tuple)笛卡爾積中每一個元素(d1,d2,…,dn)叫作一個n元組(n-tuple)或簡稱元組(Tuple)(張清玫,電腦專業,李勇)、(張清玫,電腦專業,劉晨)等都是元組
分量(Component)笛卡爾積元素(d1,d2,…,dn)中的每一個值di叫作一個分量張清玫、電腦專業、李勇、劉晨等都是分量
笛卡爾積(續)基數(Cardinalnumber)若Di(i=1,2,…,n)為有限集,其基數為(i=1,2,…,n),則D1×D2×…×Dn的基數M為:在上例中,基數:2×2×3=12,即D1×D2×D3共有2×2×3=12個元組笛卡爾積(續)笛卡爾積的表示方法笛卡爾積可表示為一個二維表。表中的每行對應一個元組,表中的每列對應一個域。在上例中,12個元組可列成一張二維表
3.關係(Relation)1)關係
D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關係,表示為
R(D1,D2,…,Dn)
R:關係名n:關係的目或度(Degree)關係(續)2)元組關係中的每個元素是關係中的元組,通常用t表示。3)單元關係與二元關係當n=1時,稱該關係為單元關係(Unaryrelation)或一元關係當n=2時,稱該關係為二元關係(Binaryrelation)關係(續)4)關係的表示關係也是一個二維表,表的每行對應一個元組,表的每列對應一個域關係(續)5)屬性關係中不同列可以對應相同的域為了加以區分,必須對每列起一個名字,稱為屬性(Attribute)n目關係必有n個屬性關係(續)6)碼候選碼(Candidatekey)若關係中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼簡單的情況:候選碼只包含一個屬性全碼(All-key)最極端的情況:關係模式的所有屬性組是這個關係模式的候選碼,稱為全碼(All-key)關係(續)主碼若一個關係有多個候選碼,則選定其中一個為主碼(Primarykey)主屬性候選碼的諸屬性稱為主屬性(Primeattribute)不包含在任何侯選碼中的屬性稱為非主屬性(Non-Primeattribute)或非碼屬性(Non-keyattribute)關係(續)D1,D2,…,Dn的笛卡爾積的某個子集才有實際含義例:表2.1的笛卡爾積沒有實際意義取出有實際意義的元組來構造關係關係:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)假設:導師與專業:1:1,導師與研究生:1:n主碼:POSTGRADUATE(假設研究生不會重名)
SAP關係可以包含三個元組{(張清玫,電腦專業,李勇),
(張清玫,電腦專業,劉晨),
(劉逸,資訊專業,王敏)}關係(續)7)三類關係基本關係(基本表或基表)實際存在的表,是實際存儲數據的邏輯表示查詢表查詢結果對應的表視圖表由基本表或其他視圖表導出的表,是虛表,不對應實際存儲的數據關係(續)8)基本關係的性質①列是同質的(Homogeneous)每一列中的分量是同一類型的數據,來自同一個域②不同的列可出自同一個域其中的每一列稱為一個屬性不同的屬性要給予不同的屬性名基本關係的性質(續)③列的順序無所謂列的次序可以任意交換遵循這一性質的資料庫產(ORACLE),增加新屬性時,永遠是插至最後一列但也有許多關係資料庫產品沒有遵循這一性質,例如FoxPro仍然區分了屬性順序。基本關係的性質(續)④任意兩個元組不能完全相同由笛卡爾積的性質決定但許多關係資料庫產品沒有遵循這一性質。例如:Oracle,FoxPro等都允許關係表中存在兩個完全相同的元組,除非用戶特別定義了相應的約束條件。基本關係的性質(續)⑤行的順序無所謂行的次序可以任意交換遵循這一性質的資料庫產品(如ORACLE),插入一個元組時永遠插至最後一行但也有許多關係資料庫產品沒有遵循這一性質,例如FoxPro仍然區分了元組的順序。基本關係的性質(續)⑥分量必須取原子值這是規範條件中最基本的一條表2.3非規範化關係2.1關係數據結構2.1.1關係2.1.2關係模式2.1.3關係資料庫2.1.2關係模式1.什麼是關係模式2.定義關係模式3.關係模式與關係1.什麼是關係模式關係模式(RelationSchema)是型關係是值關係模式是對關係的描述元組集合的結構屬性構成屬性來自的域屬性與域之間的映象關係元組語義以及完整性約束條件屬性間的數據依賴關係集合2.定義關係模式關係模式可以形式化地表示為:
R(U,D,DOM,F)
R關係名
U
組成該關係的屬性名集合
D
屬性組U中屬性所來自的域
DOM屬性向域的映象集合
F
屬性間的數據依賴關係集合定義關係模式(續)例:導師和研究生出自同一個域——人,取不同的屬性名,並在模式中定義屬性向域的映象,即說明它們分別出自哪個域:
DOM(SUPERVISOR-PERSON)=DOM(POSTGRADUATE-PERSON)=PERSON定義關係模式(續)關係模式通常可以簡記為
R(U)或R(A1,A2,…,An)R:關係名A1,A2,…,An:屬性名注:功能變數名稱及屬性向域的映象常常直接說明為屬性的類型、長度3.關係模式與關係關係模式對關係的描述靜態的、穩定的關係關係模式在某一時刻的狀態或內容動態的、隨時間不斷變化的關係模式和關係往往統稱為關係
通過上下文加以區別2.1關係數據結構2.1.1關係2.1.2關係模式2.1.3關係資料庫2.1.3
關係資料庫關係資料庫在一個給定的應用領域中,所有關係的集合構成一個關係資料庫關係資料庫的型與值2.關係資料庫的型與值關係資料庫的型:關係資料庫模式對關係資料庫的描述。關係資料庫模式包括若干域的定義在這些域上定義的若干關係模式關係資料庫的值:關係模式在某一時刻對應的關係的集合,簡稱為關係資料庫第二章關係資料庫2.1關係模型概述2.2關係操作2.3關係的完整性2.4關係代數2.5關係演算2.6小結2.2.1基本關係操作
常用的關係操作查詢:選擇、投影、連接、除、並、交、差數據更新:插入、刪除、修改查詢的表達能力是其中最主要的部分選擇、投影、並、差、笛卡爾積是5種基本操作關係操作的特點集合操作方式:操作的對象和結果都是集合,一次一集合的方式2.2.2關係資料庫語言的分類
關係代數語言用對關係的運算來表達查詢要求代表:ISBL關係演算語言:用謂詞來表達查詢要求元組關係演算語言謂詞變元的基本對象是元組變數代表:APLHA,QUEL域關係演算語言謂詞變元的基本對象是域變數代表:QBE具有關係代數和關係演算雙重特點的語言代表:SQL(StructuredQueryLanguage)第二章關係資料庫2.1關係數據結構及形式化定義2.2關係操作2.3關係的完整性2.4關係代數2.5關係演算2.6小結2.3關係的完整性2.3.1關係的三類完整性約束2.3.2實體完整性2.3.3參照完整性2.3.4用戶定義的完整性2.3.1關係的三類完整性約束關係模型的完整性規則是對關係的某種約束條件。
關係模型中三類完整性約束:實體完整性、參照完整性、用戶定義的完整性實體完整性和參照完整性:
關係模型必須滿足的完整性約束條件稱為關係的兩個不變性,應該由關係系統自動支持用戶定義的完整性:
應用領域需要遵循的約束條件,體現了具體領域中的語義約束2.3關係的完整性2.3.1關係的三類完整性約束2.3.2實體完整性2.3.3參照完整性2.3.4用戶定義的完整性2.3.2實體完整性規則2.1實體完整性規則(EntityIntegrity)若屬性A是基本關係R的主屬性,則屬性A不能取空值例:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE:主碼(假設研究生不會重名)不能取空值(所謂空值就是“不知道”或“不存在”的值)實體完整性(續)實體完整性規則的說明(1)實體完整性規則是針對基本關係而言的。一個基本表通常對應現實世界的一個實體集。(2)現實世界中的實體是可區分的,即它們具有某種唯一性標識。(3)關係模型中以主碼作為唯一性標識。(4)主碼中的屬性即主屬性不能取空值。主屬性取空值,就說明存在某個不可標識的實體,即存在不可區分的實體,這與第(2)點相矛盾,因此這個規則稱為實體完整性實體完整性(續)注意實體完整性規則規定基本關係的所有主屬性都不能取空值例選修(學號,課程號,成績)“學號、課程號”為主碼,則兩個屬性都不能取空值。2.3關係的完整性2.3.1關係的三類完整性約束2.3.2實體完整性2.3.3參照完整性2.3.4用戶定義的完整性2.3.3參照完整性1.關係間的引用2.外碼3.參照完整性規則1.關係間的引用在關係模型中實體及實體間的聯繫都是用關係來描述的,因此可能存在著關係與關係間的引用。例1學生實體、專業實體
學生(學號,姓名,性別,專業號,年齡)專業(專業號,專業名)主碼主碼學生關係引用了專業關係的主碼“專業號”。學生關係中的“專業號”值必須是確實存在的專業的專業號
,即專業關係中有該專業的記錄。關係間的引用(續)
例2學生、課程、學生與課程之間的多對多聯繫學生(學號,姓名,性別,專業號,年齡)課程(課程號,課程名,學分)選修(學號,課程號,成績)
學生選課課程學生表關係間的引用(續)例3學生實體及其內部的一對多聯繫學生(學號,姓名,性別,專業號,年齡,班長)“學號”是主碼,“班長”是外碼,它引用了本關係的“學號”“班長”必須是確實存在的學生的學號
2.外碼(ForeignKey)設F是基本關係R的一個或一組屬性,但不是關係R的碼。如果F與基本關係S的主碼Ks相對應,則稱F是基本關係R的外碼基本關係R稱為參照關係(ReferencingRelation)基本關係S稱為被參照關係(ReferencedRelation)或目標關係(TargetRelation)外碼(續)[例1]:學生關係的“專業號”與專業關係的主碼“專業號”相對應“專業號”屬性是學生關係的外碼專業關係是被參照關係,學生關係為參照關係外碼(續)[例2]:選修關係的“學號”與學生關係的主碼“學號”相對應,選修關係的“課程號”與課程關係的主碼“課程號”相對應學生關係和課程關係均為被參照關係選修關係為參照關係“學號”和“課程號”是選修關係的外碼外碼(續)[例3]:“班長”與本身的主碼“學號”相對應“班長”是外碼學生關係既是參照關係也是被參照關係
外碼(續)關係R和S不一定是不同的關係目標關係S的主碼Ks和參照關係的外碼F必須定義在同一個(或一組)域上外碼並不一定要與相應的主碼同名當外碼與相應的主碼屬於不同關係時,往往取相同的名字,以便於識別3.參照完整性規則規則2.2參照完整性規則
若屬性(或屬性組)F是基本關係R的外碼它與基本關係S的主碼Ks相對應(基本關係R和S不一定是不同的關係),則對於R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值)或者等於S中某個元組的主碼值參照完整性規則(續)[例1]:學生關係中每個元組的“專業號”屬性只取兩類值:(1)空值,表示尚未給該學生分配專業(2)非空值,這時該值必須是專業關係中某個元組的“專業號”值,表示該學生不可能分配一個不存在的專業參照完整性規則(續)[例2]:選修(學號,課程號,成績)“學號”和“課程號”可能的取值:(1)選修關係中的主屬性,不能取空值(2)只能取相應被參照關係中已經存在的主碼值參照完整性規則(續)[例3]:學生(學號,姓名,性別,專業號,年齡,班長)“班長”屬性值可以取兩類值:(1)空值,表示該學生所在班級尚未選出班長(2)非空值,該值必須是本關係中某個元組的學號值關係的完整性(續)2.3.1關係的三類完整性約束2.3.2實體完整性2.3.3參照完整性2.3.4用戶定義的完整性2.3.4用戶定義的完整性針對某一具體關係資料庫的約束條件,反映某一具體應用所涉及的數據必須滿足的語義要求關係模型應提供定義和檢驗這類完整性的機制,以便用統一的系統的方法處理它們,而不要由應用程式承擔這一功能用戶定義的完整性(續)例:
課程(課程號,課程名,學分)“課程號”屬性必須取唯一值非主屬性“課程名”也不能取空值“學分”屬性只能取值{1,2,3,4}
休息一會兒。。。追求第二章關係資料庫(續)第二章關係資料庫2.1關係模型概述2.2關係數據結構2.3關係的完整性2.4關係代數2.5小結2.4
關係代數
概述傳統的集合運算專門的關係運算概述1.關係代數2.運算的三要素3.關係代數運算的三個要素4.關係代數運算的分類5.表示記號概述1.關係代數 一種抽象的查詢語言用對關係的運算來表達查詢概述(續)2.關係代數運算的三個要素運算對象:關係運算結果:關係運算符:四類概述(續)
集合運算符將關係看成元組的集合運算是從關係的“水準”方向即行的角度來進行專門的關係運算符不僅涉及行而且涉及列算術比較符輔助專門的關係運算符進行操作邏輯運算符輔助專門的關係運算符進行操作集合運算符∪-∩×並差交笛卡爾積比較運算符>≥<≤=<>大於大於等於小於小於等於等於不等於運算符含義運算符含義表2.4關係代數運算符
概述專門的關係運算符σπ
÷選擇投影連接除邏輯運算符
∧∨非與或運算符含義運算符含義表2.4關係代數運算符(續)
概述(續)概述(續)4.關係代數運算的分類 傳統的集合運算並、差、交、廣義笛卡爾積 專門的關係運算選擇、投影、連接、除2.4
關係代數
概述
傳統的集合運算
專門的關係運算2.4.1傳統的集合運算並差交廣義笛卡爾積1.並(Union)R和S具有相同的目n(即兩個關係都有n個屬性)相
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省營口市大石橋市水源鎮2024-2025學年高中畢業班質量檢測試題生物試題含解析
- 四川省成都市雙流棠湖中學2025年高三聯考數學試題(聯考)試題含解析
- 吉林省吉林市第七中學2025年初三教學質量檢查(二統)數學試題含解析
- 武漢傳媒學院《人體解剖與組織學》2023-2024學年第一學期期末試卷
- 陜西省西安電子科技中學2025屆下學期初三期末考試生物試題含解析
- 山西經貿職業學院《生物統計與試驗設計Ⅰ》2023-2024學年第二學期期末試卷
- 四川建筑職業技術學院《建設法規與實務》2023-2024學年第一學期期末試卷
- 蘇南京一中學2024-2025學年初三元月月考化學試題含解析
- 南京中醫藥大學《長沙文化研究》2023-2024學年第二學期期末試卷
- 江蘇海洋大學《和聲基礎》2023-2024學年第二學期期末試卷
- 《游園》課件統編版高中語文必修下冊
- 數字鄉村農村信息化服務平臺建設方案-數字農村信息化云服平臺建設方案
- 專題04 三角函數-備戰2025年高考數學真題題源解密(新高考卷)解析版
- GB/T 44442-2024智能制造遠程運維系統評價指標體系
- 部編版《綜合性學習:中華傳統節日》課件
- DBJ33T 1319-2024 住宅小區供配電工程技術標準
- 腕踝針療法完整版本
- 提升質量意識-強化質量管理
- 大眾傳媒文化智慧樹知到期末考試答案章節答案2024年復旦大學
- 2024年《網絡反不正當競爭暫行規定》重點解讀
- NB-T20048-2011核電廠建設項目經濟評價方法
評論
0/150
提交評論