![数据库系统概论课件_第1页](http://file4.renrendoc.com/view11/M02/09/31/wKhkGWXN6IiAZNGDAACp5XQc7Ps800.jpg)
![数据库系统概论课件_第2页](http://file4.renrendoc.com/view11/M02/09/31/wKhkGWXN6IiAZNGDAACp5XQc7Ps8002.jpg)
![数据库系统概论课件_第3页](http://file4.renrendoc.com/view11/M02/09/31/wKhkGWXN6IiAZNGDAACp5XQc7Ps8003.jpg)
![数据库系统概论课件_第4页](http://file4.renrendoc.com/view11/M02/09/31/wKhkGWXN6IiAZNGDAACp5XQc7Ps8004.jpg)
![数据库系统概论课件_第5页](http://file4.renrendoc.com/view11/M02/09/31/wKhkGWXN6IiAZNGDAACp5XQc7Ps8005.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章緒論1.1資料庫系統概述1.2數據模型1.3資料庫系統結構1.4資料庫系統的組成1.5小結1.1資料庫系統概述
1.1.1資料庫的地位
1.1.2四個基本概念
1.1.3數據管理技術的產生與發展資料庫的地位資料庫技術產生於六十年代末,是數據管理的最新技術,是電腦科學的重要分支;資料庫技術是資訊系統的核心和基礎,它的出現極大地促進了電腦應用向各行各業的滲透;資料庫的建設規模、資料庫資訊量的大小和使用頻度已成為衡量一個國家資訊化程度的重要標誌;1.1資料庫系統概述1.1.1資料庫的地位
1.1.2四個基本概念
1.1.3數據管理技術的產生與發展1.1.2四個基本概念數據(Data)資料庫(Database)資料庫管理系統(DBMS)資料庫系統(DBS)1.數據(Data)資料庫中存儲的基本對象,分數值型數據和非數值型數據,如:文字、圖形、圖像、聲音、數字、符號及動畫等。1.數據(Data)在資料庫中用一組特徵組成一個記錄描述一個人或事物.如:(07106133,李曉璐,女),這個學生記錄就是一組數據。2.資料庫(Database,簡稱DB)DB是存放數據及其相關資訊的倉庫,是事務處理、資訊管理等應用系統的基礎。DB中既要存放數據本身的值,還要存儲數據與數據之間的聯繫。如“圖書管理資訊系統”中有:教師、學生、圖書,還有學生與圖書之間的借閱關係。二、資料庫(續)資料庫的定義資料庫(Database,簡稱DB)是長期儲存在電腦內、有組織的、可共用的大量數據集合二、資料庫(續)資料庫的特徵數據按一定的數據模型組織、描述和儲存可為各種用戶共用冗餘度較小數據獨立性較高易擴展3.資料庫管理系統(DatabaseManagementSystem,簡稱DBMS)DBMS是用戶與操作系統(OS)之間的數據管理軟體,它將大量數據按某種數據模型組織起來,並存儲到電腦中。使用戶能高效獲取數據,並對數據進行維護和控制。DBMS為數據庫提供數據的定義、建立、查詢、統計和維護等功能,如建立資料庫,定義表結構,查詢、統計數據,維護資料庫等。DBMS提供的數據控制功能包括數據的完整性、安全性、併發、恢復等的控制。三、資料庫管理系統什麼是DBMS資料庫管理系統(DatabaseManagementSystem,簡稱DBMS)是位於用戶與操作系統之間的一層數據管理軟體。DBMS的用途科學地組織和存儲數據、高效地獲取和維護數據DBMS的基本目標提供一個可以方便、有效地存取資料庫資訊的環境。DBMS的主要功能數據定義功能
提供數據定義語言(DDL)
定義資料庫中的數據對象數據操縱功能:提供數據操縱語言(DML)
操縱數據實現對數據庫的基本操作
(查詢、插入、刪除和修改)DBMS的主要功能資料庫的運行管理
保證數據的安全性、完整性、 多用戶對數據的併發使用 發生故障後的系統恢復資料庫的建立和維護功能(實用程式)
資料庫數據批量裝載 資料庫轉儲 介質故障恢復 資料庫的重組織 性能監視等目前,DBMS軟體很多。例如,Oracle,Informix,Sybase,SQLServer,VisualFoxPro等都是DBMS,其中,VisualFoxPro是由Microsoft公司推出的DBMS。4.資料庫系統(DatabaseSystem,簡稱DBS)DBS是在電腦系統中引入資料庫後的系統。…(1)電腦系統(電腦硬體、應用系統)(2)資料庫DB(3)資料庫管理系統DBMS(4)用戶設計員及程式員管理員最終用戶資料庫系統(DBS)DBA四、資料庫系統什麼是資料庫系統資料庫系統(DatabaseSystem,簡稱DBS)是指在電腦系統中引入資料庫後的系統構成。在不引起混淆的情況下常常把資料庫系統簡稱為數據庫。資料庫系統的構成由資料庫、資料庫管理系統(及其開發工具)、應用系統、資料庫管理員(和用戶)構成。DBS、DBMS和DB之間的關係是什麼?答案:DBS包含DBMS和DB。DBS資料庫系統(續)資料庫系統構成圖示參看教材page_6圖1.1資料庫系統在電腦系統中的位置圖示參看教材page_6圖1.21.1資料庫系統概述1.1.1資料庫的地位
1.1.2四個基本概念
1.1.3數據管理技術的產生與發展1.1.3數據管理技術的產生和發展什麼是數據管理對數據進行分類、組織、編碼、存儲、檢索和維護,是數據處理的中心問題數據管理技術的發展過程人工管理階段(40年代中--50年代中)檔系統階段(50年代末--60年代中)資料庫系統階段(60年代末--現在)1.1.2數據管理技術發展的3個階段數據管理是數據處理的中心問題。數據管理指的是對數據進行組織、編碼、分類、存儲、檢索與維護等操作。
1.1.2數據管理技術發展的3個階段隨著電腦硬體技術和軟體技術的發展和進步,電腦數據管理的水準不斷提高,管理方式也發生了很大的變化。數據管理經歷了手工管理、檔系統和數據庫系統(DBS)三個階段。1.手工管理階段始於20世紀50年代,當時電腦的存儲設備沒有磁片,數據只能存放於卡片、紙帶上。在軟體方面,也沒有專門的管理數據的軟體。Late1950s–Middle60s檔系統 數據與程式有了一定的獨立性Data數據程式Program2.檔系統階段數據1統一存取數據2數據n程式2程式1程式n3.資料庫系統階段數據被組織成統一的邏輯結構,各個用戶可以為了不同目的來資料庫中存取數據。數據冗餘大為減少,數據的改動也不會引起應用程式的修改。Late60s 資料庫系統階段 數據與程式有了完全的獨立性Data數據程式Program數據管理技術的產生和發展(續)數據管理技術的發展動力應用需求的推動電腦硬體的發展電腦軟體的發展資料庫系統(續)特點數據的管理者:DBMS數據面向的對象:現實世界 數據的共用程度:共用性高 數據的獨立性:高度的物理獨立性和一定的邏輯獨立性 數據的結構化:整體結構化數據控制能力:由DBMS統一管理和控制應用程式與數據的對應關係(資料庫系統)DBMS應用程式1應用程式2資料庫…數據的高共用性的好處降低數據的冗餘度,節省存儲空間避免數據間的不一致性使系統易於擴充數據獨立性物理獨立性指用戶的應用程式與存儲在磁片上的資料庫中數據是相互獨立的。當數據的物理存儲改變了,應用程式不用改變。邏輯獨立性指用戶的應用程式與資料庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,用戶程式也可以不變。數據結構化整體數據的結構化是資料庫的主要特徵之一。資料庫中實現的是數據的真正結構化數據的結構用數據模型描述,無需程式定義和解釋。數據可以變長。數據的最小存取單位是資料項目。DBMS對數據的控制功能數據的安全性(Security)保護使每個用戶只能按指定方式使用和處理指定數據,保護數據以防止不合法的使用造成的數據的洩密和破壞。數據的完整性(Integrity)檢查將數據控制在有效的範圍內,或保證數據之間滿足一定的關係。DBMS對數據的控制功能併發(Concurrency)控制對多用戶的併發操作加以控制和協調,防止相互干擾而得到錯誤的結果。資料庫恢復(Recovery)將資料庫從錯誤狀態恢復到某一已知的正確狀態。第一章緒論1.1資料庫系統概述1.2數據模型1.3資料庫系統結構1.4資料庫系統的組成1.5小結1.2數據模型在資料庫中用數據模型這個工具來描述數據,組織數據和對數據進行操作的。通俗地講數據模型就是現實世界的模擬。(數位化)現有的資料庫系統都是基於某種數據模型的,數據模型是資料庫系統的核心和基礎。因此瞭解數據模型的基本概念是學習資料庫的基礎。1.2.1兩類數據模型數據模型應滿足三方面要求能比較真實地模擬現實世界容易為人所理解便於在電腦上實現在開發實施資料庫應用系統的不同階段,需要使用不同的數據模型。數據模型分成兩個不同的層次(1)概念模型也稱資訊模型,它是按用戶的觀點來對數據和資訊建模。主要用於資料庫設計階段。(2)邏輯模型和物理模型主要是按電腦系統的觀點對數據建模,用於實現資料庫管理資訊系統。現實世界→概念模型:資料庫設計人員完成(E-R)概念模型→邏輯模型:資料庫設計人員或者設計工具協助完成。邏輯模型→物理模型:是由DBMS完成。1.2數據模型1.2.1兩類數據模型
1.2.2數據模型的組成要素
1.2.2概念模型
1.2.3常用數據模型
1.2.4層次模型
1.2.5網狀模型
1.2.6關係模型1.2.2數據模型的組成要素數據結構數據操作數據的完整性約束1.數據結構數據結構描述資料庫的組成對象以及對象之間的聯繫。通常包含兩類:(1)與對象的類型、內容、性質相關的。(比如關係模型中的域、屬性、關係等)。(2)與數據之間聯繫有關的對象。數據結構是刻畫一個數據模型性質的最重要方面。數據結構是對系統靜態特性的描述2.數據操作數據操作。對數據庫中各種對象(型)的實例(值)允許執行的操作及有關的操作規則數據操作的類型。檢索更新(包括插入、刪除、修改)數據操作是對系統動態特性的描述。3.數據的約束條件數據的約束條件一組完整性規則的集合。完整性規則是給定的數據模型中數據及其聯繫所具有的制約和儲存規則,用以限定符合數據模型的資料庫狀態以及狀態的變化,以保證數據的正確、有效、相容。
數據的約束條件(續)數據模型對約束條件的定義反映和規定本數據模型必須遵守的基本的通用的完整性約束條件。例如在關係模型中,任何關係必須滿足實體完整性和參照完整性兩個條件。提供定義完整性約束條件的機制,以反映具體應用所涉及的數據必須遵守的特定的語義約束條件。1.2.3概念模型1.概念模型2.資訊世界中的基本概念3.概念模型的表示方法1.概念模型概念模型的用途概念模型用於資訊世界的建模完成從現實世界到機器世界的一個轉化。是資料庫設計的有力工具資料庫設計人員和用戶之間進行交流的語言對概念模型的基本要求較強的語義表達能力,能夠方便、直接地表達應用中的各種語義知識簡單、清晰、易於用戶理解。2.資訊世界中的基本概念
(1)實體(Entity)客觀存在並可相互區別的事物稱為實體。可以是具體的人、事、物或抽象的概念。(2)屬性(Attribute)實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。
(3)碼(Key)唯一標識實體的屬性集稱為碼。
資訊世界中的基本概念(續)(4)域(Domain)屬性的取值範圍稱為該屬性的域。(性別,價格等)(5)實體型(EntityType)用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型。例如學生(學號,姓名,性別,所在院系,入學時間)就是一個實體型。(6)實體集(EntitySet)同型實體的集合稱為實體集。全體學生就是一個實體集。資訊世界中的基本概念(續)(7)聯繫(Relationship)現實世界中事物內部以及事物之間的聯繫在資訊世界中反映為實體內部的聯繫和實體之間的聯繫實體型間聯繫(兩個實體型):一對一聯繫(1:1)一對多聯繫(1:n)多對多聯繫(m:n)
兩個實體型間的聯繫實體型1聯繫名實體型2111:1聯繫實體型1聯繫名實體型2mnm:n聯繫實體型1聯繫名實體型21n1:n聯繫兩個實體型間的聯繫一對一聯繫如果對於實體集A中的每一個實體,實體集B中至多有一個實體與之聯繫,反之亦然,則稱實體集A與實體集B具有一對一聯繫。記為1:1。
實例班級與班長之間的聯繫:一個班級只有一個正班長一個班長只在一個班中任職兩個實體型間的聯繫(續)一對多聯繫如果對於實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯繫,反之,對於實體集B中的每一個實體,實體集A中至多只有一個實體與之聯繫,則稱實體集A與實體集B有一對多聯繫記為1:n實例系別與學生之間的聯繫:一個系裏有若干名學生,每個學生只在一個系中學習兩個實體型間的聯繫(續)多對多聯繫(m:n)如果對於實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯繫,反之,對於實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯繫,則稱實體集A與實體B具有多對多聯繫。記為m:n實例課程與學生之間的聯繫:一門課程同時有若干個學生選修一個學生可以同時選修多門課程多個實體型間的聯繫(續)多個實體型間的一對多聯繫若實體集E1,E2,...,En存在聯繫,對於實體集Ej(j=1,2,...,i-1,i+1,...,n)中的給定實體,最多只和Ei中的一個實體相聯系,則我們說Ei與E1,E2,...,Ei-1,Ei+1,...,En之間的聯繫是一對多的。多個實體型間的聯繫(續)實例
課程、教師與參考書三個實體型如果一門課程可以有若干個教師講授,使用若干本參考書,每一個教師只講授一門課程,每一本參考書只供一門課程使用課程與教師、參考書之間的聯繫是一對多的多個實體型間的一對一聯繫多個實體型間的多對多聯繫同一實體集內各實體間的聯繫一對多聯繫實例
職工實體集內部具有領導與被領導的聯繫某一職工(幹部)“領導”若干名職工一個職工僅被另外一個職工直接領導這是一對多的聯繫一對一聯繫多對多聯繫3.概念模型的表示方法概念模型的表示方法很多,最常用的是實體-聯繫方法(E-R方法)。用E-R圖來描述現實世界的概念模型E-R方法也稱為E-R模型本節只介紹E-R圖要點。有關如何認識分析現實世界,從而抽取實體之間的聯繫,建立概念模型的方法將在第7章詳述。E-R圖實體型用矩形表示,矩形框內寫明實體名。學生教師E-R圖(續)屬性用橢圓形表示,並用無向邊將其與相應的實體連接起來學生學號年齡性別姓名E-R圖(續)聯繫聯繫本身:用菱形表示,菱形框內寫明聯繫名,並用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1:1、1:n或m:n)聯繫的屬性:聯繫本身也是一種實體型,也可以有屬性。如果一個聯繫具有屬性,則這些屬性也要用無向邊與該聯繫連接起來。
聯繫的表示方法實體型1聯繫名實體型2111:1聯繫實體型1聯繫名實體型2mnm:n聯繫實體型1聯繫名實體型21n1:n聯繫聯繫的表示方法(續)實體型1聯繫名mn同一實體型內部的m:n聯繫實體型1聯繫名實體型21m多個實體型間的1:n聯繫實體型3n聯繫的表示方法示例班級班級-班長班長111:1聯繫課程選修學生mnm:n聯繫班級組成學生1n1:n聯繫聯繫的表示方法示例(續)職工領導1n同一實體型內部的1:n聯繫課程講授教師1m多個實體型間的1:n聯繫參考書n聯繫屬性的表示方法課程選修學生mn成績E-R圖(續)E-R圖實例:
P19-P20
某工廠物資管理E-R圖1.2.4常用的數據模型非關係模型層次模型(HierarchicalModel)網狀模型(NetworkModel)數據結構:以基本層次聯繫為基本單位
基本層次聯繫:兩個記錄以及它們之間的一對多(包括一對一)的聯繫常用數據模型(續)關係模型(RelationalModel)數據結構:表面向對象模型(ObjectOrientedModel)數據結構:對象1.2數據模型1.2.1兩類數據模型1.2.2數據模型的組成要素1.2.3概念模型1.2.4最常用的數據模型1.2.7關係模型1.2.7關係模型1.關係模型是目前最重要的一種數據模型,關係資料庫系統採用關係模型作為數據的組織方式。
2.美國IBM公司的研究員E.F.Codd於1970年提出關係模型的概念,並為此獲得圖靈獎。1.2.7關係模型1.關係數據模型的數據結構2.關係數據模型的數據操作3.關係數據模型的完整性約束4.關係數據模型的存儲結構5.關係數據模型的優缺點6.典型的關係資料庫系統
關係數據模型的數據結構在用戶觀點下,關係模型中數據的邏輯結構是一張二維表,它由行和列組成。關係模型的基本概念一、基本概念關係(Relation)一個關係對應通常說的一張表。元組(Tuple)表中的一行即為一個元組。屬性(Attribute)表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名。關係模型的基本概念主碼(Key)表中的某個屬性組,它可以唯一確定一個元組。域(Domain)屬性的取值範圍。分量元組中的一個屬性值。關係模式對關係的描述格式為:關係名(屬性1,屬性2,…,屬性n)例如:學生(學號,姓名,年齡,性別,系,年級)關係數據模型的數據結構(續)二、實體及實體間的聯繫的表示方法實體型:直接用關係(表)表示。屬性:用屬性名表示。一對一聯繫:隱含在實體對應的關係中。一對多聯繫:隱含在實體對應的關係中。多對多聯繫:直接用關係表示。關係數據模型的數據結構(續)例1學生、系、系與學生之間的一對多聯繫:學生(學號,姓名,年齡,性別,系號,年級)系(系號,系名,辦公地點)例2系、系主任、系與系主任間的一對一聯繫關係數據模型的數據結構(續)例3學生、課程、學生與課程之間的多對多聯繫:
學生(學號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學分)選修(學號,課程號,成績)關係數據模型的數據結構(續)三、關係規範化(第6章)即要滿足一定的規範條件,最基本的規範條件:關係的每一個分量必須是一個不可分的資料項目。2.關係模型的數據操縱查詢、插入、刪除、更新數據操作是集合操作,操作對象和操作結果都是關係,即若幹元組的集合存取路徑對用戶隱蔽,用戶只要指出“幹什麼”,不必詳細說明“怎麼幹”3.關係模型的完整性約束實體完整性(主鍵)參照完整性(一致性,相容性)用戶定義的完整性(合理性)4.關係數據模型的存儲結構表以檔形式存儲有的DBMS一個表對應一個操作系統檔有的DBMS自己設計檔結構5.關係模型的優缺點優點建立在嚴格的數學概念的基礎上概念單一。數據結構簡單、清晰,用戶易懂易用實體和各類聯繫都用關係來表示。對數據的檢索結果也是關係。關係模型的存取路徑對用戶透明具有更高的數據獨立性,更好的安全保密性簡化了程式員的工作和數據庫開發建立的工作關係模型的優缺點(續)缺點存取路徑對用戶透明導致查詢效率往往不如非關係數據模型為提高性能,必須對用戶的查詢請求進行優化增加了開發資料庫管理系統的難度6.典型的關係資料庫系統ORACLESqlServerSYBASEINFORMIXDB/2COBASEPBASEEasyBaseDM/2OpenBase6.典型的關係資料庫系統ORACLE和SqlServer的比較Oracle可以運行在任何主流平臺,而後者只能運行在Windows平臺。Oracle安全性更高。Sqlserver在windows平臺上整合性、穩定性最好。Oracel價格高。Sqlserver操作簡單。在長時間運行大量事務方面oracle速度較快。第一章緒論1.1資料庫系統概述1.2數據模型1.3資料庫系統結構1.4資料庫系統的組成1.5小結1.3資料庫系統結構1.3.1資料庫系統內部的模式結構從資料庫管理系統角度看,資料庫系統採用三級模式結構。1.3.2資料庫系統外部的體系結構從資料庫最終用戶角度看,分為單用戶結構、主從式結構、分佈式結構等等。本節重點學習三級模式結構。1.3.1資料庫系統的模式結構資料庫系統模式的概念資料庫系統的三級模式結構資料庫的二級映象功能與數據獨立性小結一、資料庫系統模式的概念“型”和“值”的概念型(Type)對某一類數據的結構和屬性的說明值(Value)是型的一個具體賦值例如:學生記錄記錄型:(學號,姓名,性別,系別,年齡,籍貫)該記錄型的一個記錄值:(900201,李明,男,電腦,22,江蘇)資料庫系統模式的概念(續)模式(Schema)資料庫中對全體數據的邏輯結構和特徵的描述是型的描述反映的是數據的結構及其聯繫模式是相對穩定的模式的一個實例(Instance)模式的一個具體值反映資料庫某一時刻的狀態同一個模式可以有很多實例實例隨資料庫中的數據的更新而變動資料庫系統模式的概念(續)例如:1.模式:在學生選課資料庫模式中,包含學生,課程,和學生選課三個關係。是相對穩定的。2.實例:
2003年的所有學生記錄
2004年的所有學生記錄。值是相對變動的。3.結論:
模式反映的是數據的結構及其聯繫,而實例反映的是資料庫某個時刻的狀態,是動態的。二、資料庫系統的三級模式結構所有的資料庫管理系統產品在體系結構上都具有相同的特徵:即採用三級模式結構,並提供兩級映像功能。三級模式結構是指數據庫系統是由外模式、模式和內模式三級模式組成,如下圖示:資料庫系統的三級模式結構(續)1.模式(Schema)模式(也稱邏輯模式)資料庫中全體數據的邏輯結構和特徵的描述。(二維表)所有用戶的公共數據視圖,綜合了所有用戶的需求。一個資料庫只有一個模式模式的地位:是資料庫系統模式結構的中間層與數據的物理存儲細節和硬體環境無關與具體的應用程式、開發工具及高級程式設計語言無關模式的定義數據的邏輯結構(資料項目的名字、類型、取值範圍等)數據之間的聯繫數據有關的安全性、完整性要求2.外模式(ExternalSchema)外模式(也稱子模式或用戶模式)資料庫用戶(包括應用程式員和最終用戶)使用的局部數據的邏輯結構和特徵的描述。(視圖的概念)資料庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。外模式是保證資料庫安全性的一個有力措施。外模式(續)外模式的地位:介於模式與應用之間模式與外模式的關係:一對多外模式通常是模式的子集一個資料庫可以有多個外模式。反映了不同的用戶的應用需求、看待數據的方式、對數據保密的要求對模式中同一數據,在外模式中的結構、類型、長度、保密級別等都可以不同外模式與應用的關係:一對多同一外模式也可以為某一用戶的多個應用系統所使用,但一個應用程式只能使用一個外模式。外模式(續)外模式的用途保證資料庫安全性的一個有力措施。每個用戶只能看見和訪問所對應的外模式中的數據3.內模式(InternalSchema)內模式(也稱存儲模式)是數據物理結構和存儲方式的描述是數據在資料庫內部的表示方式記錄的存儲方式(順序存儲,按照B樹結構存儲,按hash方法存儲)索引的組織方式數據是否壓縮存儲數據是否加密數據存儲記錄結構的規定一個資料庫只有一個內模式三、資料庫的二級映象與數據獨立性三級模式是對數據的三個抽象級別
使得用戶可以處理數據,而不必關心數據在電腦中的具體表示方式和存儲方式。資料庫管理系統在三級模式間提供了兩層映像:
外模式/模式映像模式/內模式映像這兩層映像保證了數據具有較高的邏輯獨立性和物理獨立性。資料庫系統的三級模式結構1.外模式/模式映象定義外模式與模式之間的對應關係每一個外模式都對應一個外模式/模式映象映象定義通常包含在各自外模式的描述中外模式/模式映象的用途保證數據的邏輯獨立性當模式改變時,資料庫管理員修改有關的外模式/模式映象,使外模式保持不變應用程式是依據數據的外模式編寫的,從而應用程式不必修改,保證了數據與程式的邏輯獨立性,簡稱數據的邏輯獨立性。2.模式/內模式映象模式/內模式映象定義了數據全局邏輯結構與存儲結構之間的對應關係。例如,說明邏輯記錄和字段在內部是如何表示的資料庫中模式/內模式映象是唯一的該映象定義通常包含在模式描述中模式/內模式映象的用途保證數據的物理獨立性當資料庫的存儲結構改變了(例如選用了另一種存儲結構),資料庫管理員修改模式/內模式映象,使模式保持不變應用程式不受影響。保證了數據與程式的物理獨立性,簡稱數據的物理獨立性。四、系統結構小結模式是資料庫的中心與關鍵獨立於資料庫的其他層次設計資料庫模式結構時應首先確定資料庫的邏輯模式小結(續)內模式依賴於全局邏輯結構,但獨立於資料庫的用戶視圖即外模式,也獨立於具體的存儲設備。它將全局邏輯結構中所定義的數據結構及其聯繫按照一定的物理存儲策略進行組織,以達到較好的時間與空間效率。小結(續)外模式面向具體的應用程式,定義在邏輯模式之上,但獨立於存儲模式和存儲設備設計外模式時應充分考慮到應用的擴充性。當應用需求發生較大變化,相應外模式不能滿足其視圖要求時,該外模式就得做相應改動小結(續)應用程式在外模式描述的數據結構上編制的,它依賴於特定的外模式,與資料庫的模式和存儲結構獨立。不同的應用程式有時可以共用同一個外模式。小結(續)二級映象保證了資料庫外模式的穩定性,從而從底層保證了應用程式的穩定性,除非應用需求本身發生變化,否則應用程式一般不需要修改。數據與程式之間的獨立性,使得數據的定義和描述可以從應用程式中分離出去。1.3資料庫系統結構1.3.1資料庫系統內部的模式結構從資料庫管理系統角度看1.3.2資料庫系統外部的體系結構從資料庫最終用戶角度看1.3.2資料庫系統外部的體系結構單用戶結構主從式結構分佈式結構客戶/伺服器結構流覽器/應用伺服器/資料庫伺服器結構1.單用戶數據庫系統整個資料庫系統(應用程式、DBMS、數據)裝在一臺電腦上,為一個用戶獨佔,不同機器之間不能共用數據。早期的最簡單的資料庫系統2.主從式結構的資料庫系統一個主機帶多個終端的多用戶結構資料庫系統,包括應用程式、DBMS、數據,都集中存放在主機上,所有處理任務都由主機來完成各個用戶通過主機的終端併發地存取資料庫,共用數據資源主從式結構的資料庫系統主機終端主從式結構的資料庫系統(續)優點易於管理、控制與維護。缺點當終端用戶數目增加到一定程度後,主機的任務會過分繁重,成為瓶頸,從而使系統性能下降。系統的可靠性依賴主機,當主機出現故障時,整個系統都不能使用。3.分佈式結構的資料庫系統資料庫中的數據在邏輯上是一個整體,但物理地分佈在電腦網絡的不同結點上。網路中的每個結點都可以獨立處理本地資料庫中的數據,執行局部應用同時也可以同時存取和處理多個異地資料庫中的數據,執行全局應用分佈式結構的資料庫系統(續)優點適應了地理上分散的公司、團體和組織對於資料庫應用的需求。缺點數據的分佈存放給數據的處理、管理與維護帶來困難。當用戶需要經常訪問遠程數據時,系統效率會明顯地受到網路傳輸的制約。4.客戶/伺服器結構的資料庫系統把DBMS功能和應用分開網路中某個(些)結點上的電腦專門用於執行DBMS功能,稱為資料庫伺服器,簡稱伺服器其他結點上的電腦安裝DBMS的週邊應用開發工具,用戶的應用系統,稱為客戶機客戶/伺服器資料庫系統的種類集中的伺服器結構一台數據庫伺服器,多臺客戶機分佈的伺服器結構在網路中有多台數據庫伺服器分佈的伺服器結構是客戶/伺服器與分佈式資料庫的結合客戶/伺服器結構的優點客戶端的用戶請求被傳送到資料庫伺服器,資料庫伺服器進行處理後,只將結果返回給用戶,從而顯著減少了數據傳輸量資料庫更加開放客戶與伺服器一般都能在多種不同的硬體和軟體平臺上運行可以使用不同廠商的資料庫應用開發工具客戶/伺服器結構的缺點“胖客戶”問題:系統安裝複雜,工作量大。應用維護困難,難於保密,造成安全性差。相同的應用程式要重複安裝在每一臺客戶機上,從系統總體來看,大大浪費了系統資源。系統規模達到數百數千臺客戶機,它們的硬體配置、操作系統又常常不同,要為每一個客戶機安裝應用程序和相應的工具模組,其安裝維護代價便不可接受了。流覽器/應用伺服器/資料庫伺服器結構客戶端:流覽器軟體、用戶介面流覽器的介面統一,廣大用戶容易掌握大大減少了培訓時間與費用。伺服器端分為兩部分:Web伺服器、應用伺服器資料庫伺服器等大大減少了系統開發和維護代價能夠支持數萬甚至更多的用戶智能卡移動通信電腦外設機頂盒零售設備印刷機影印機互聯網伺服器電話交換設備嵌入式數據管理系統的結構第一章緒論1.1資料庫系統概述1.2數據模型1.3資料庫系統結構1.4資料庫系統的組成1.5小結1.4資料庫系統的組成資料庫資料庫管理系統(及其開發工具)應用系統資料庫管理員(用戶)一、硬體平臺及資料庫資料庫系統對硬體資源的要求(1)足夠大的記憶體操作系統DBMS的核心模組數據緩衝區應用程式資料庫系統對硬體資源的要求(2)足夠大的外存磁片操作系統DBMS應用程式資料庫及其備份光碟、磁帶、軟碟數據備份(3)較高的通道能力,提高數據傳送率二、軟體DBMS操作系統與資料庫介面的高級語言及其編譯系統以DBMS為核心的應用開發工具為特定應用環境開發的資料庫應用系統三、人員資料庫管理員系統分析員資料庫設計人員應用程式員(最終用戶)1.資料庫管理員(DBA)決定資料庫中的資訊內容和結構決定資料庫的存儲結構和存取策略定義數據的安全性要求和完整性約束條件資料庫管理員(續)監控資料庫的使用和運行週期性轉儲資料庫數據檔日誌檔系統故障恢復介質故障恢復監視審計檔資料庫管理員(續)資料庫的改進和重組性能監控和調優數據重組資料庫重構2.系統分析員負責應用系統的需求分析和規範說明與用戶及DBA協商,確定系統的硬軟體配置參與資料庫系統的概要設計3.資料庫設計人員參加用戶需求調查和系統分析確定資料庫中的數據設計資料庫各級模式4.應用程式員設計和編寫應用系統的程式模組進行調試和安裝5.用戶偶然用戶企業或組織機構的高中級管理人員簡單用戶銀行的職員、機票預定人員、旅館總臺服務員用戶(續)複雜用戶工程師、科學家、經濟學家、科技工作者等直接使用資料庫語言訪問資料庫,甚至能夠基於資料庫管理系統的API編制自己的應用程式第一章緒論1.1資料庫系統概述1.2數據模型1.3資料庫系統結構1.4
資料庫系統的組成1.5小結小結資料庫系統概述資料庫的基本概念數據管理的發展過程資料庫系統的研究領域數據模型數據模型的三要素概念模型,E-R模型三種主要數據模型小結(續)資料庫系統的結構資料庫系統三級模式結構資料庫系統的體系結構資料庫系統的組成
下課了。。。追求休息一會兒。。。第二章關係資料庫2.1關係數據結構及形式化定義2.2關係操作2.3關係的完整性2.4關係代數2.5關係演算2.6小結關係資料庫簡介系統而嚴格地提出關係模型的是美國IBM公司的E.F.Codd1970年提出關係數據模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970之後,提出了關係代數和關係演算的概念1972年提出了關係的第一、第二、第三範式1974年提出了關係的BC範式關係資料庫簡介目前,關係資料庫系統的研究和開發取得了很大的成就,是目前應用最廣泛,最重要的資料庫系統。關係資料庫主要應用數學方法來處理資料庫中的數據關係數據模型的原理、技術和應用十分重要,是本書,本課程的重點。關係資料庫簡介關係資料庫系統是支持關係模型的資料庫系統。關係模型的組成關係數據結構關係操作集合關係完整性約束第二章關係資料庫2.1關係數據結構及形式化定義2.2關係操作2.3關係的完整性2.4關係代數(關係資料庫中實現關係操作的一種語言)2.5關係演算2.6小結2.1關係數據結構及形式化定義2.1.1關係2.1.2關係模式2.1.3關係資料庫2.2.1關係⒈域(Domain)
2.笛卡爾積(CartesianProduct)
3.關係(Relation)⒈域(Domain)1)域是一組具有相同數據類型的值的集合。例:整數實數介於某個取值範圍的整數長度指定長度的字串集合{‘男’,‘女’}介於某個取值範圍的日期2.笛卡爾積(CartesianProduct)1)笛卡爾積是域上面的一種集合運算。定義2.2:給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={(d1,d2,…,dn)|di
Di,i=1,2,…,n}其中每一個元素(d1,d2,…,dn)叫做一個n元組或者簡稱元組。笛卡爾積(續)例給出三個域:
D1=SUPERVISOR={張清玫,劉逸}
D2=SPECIALITY={電腦專業,資訊專業}D3=POSTGRADUATE={李勇,劉晨,王敏}則D1,D2,D3的笛卡爾積為:D1×D2×D3={(張清玫,電腦專業,李勇),(張清玫,電腦專業,劉晨),
(張清玫,電腦專業,王敏),(張清玫,資訊專業,李勇),
(張清玫,資訊專業,劉晨),(張清玫,資訊專業,王敏),
(劉逸,電腦專業,李勇),(劉逸,電腦專業,劉晨),
(劉逸,電腦專業,王敏),(劉逸,資訊專業,李勇),
(劉逸,資訊專業,劉晨),(劉逸,資訊專業,王敏)}笛卡爾積(續)2)元組(Tuple)笛卡爾積中每一個元素(d1,d2,…,dn)叫作一個n元組(n-tuple)或簡稱元組。
3)分量(Component)笛卡爾積元素(d1,d2,…,dn)中的每一個值di叫作一個分量。
笛卡爾積(續)4)基數(Cardinalnumber)若Di(i=1,2,…,n)為有限集,其基數為mi(i=1,2,…,n),則D1×D2×…×Dn的基數M為:在上例中,基數:2×2×3=12,即D1×D2×D3共有2×2×3=12個元組笛卡爾積(續)5)笛卡爾積的表示方法笛卡爾積可表示為一個二維表。表中的每行對應一個元組,表中的每列對應一個域。在上例中,12個元組可列成一張二維表
3.關係(Relation)1)關係D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關係,表示為
R(D1,D2,…,Dn)
R:關係名
n:關係的目或度(Degree)關係(續)注意:關係是笛卡爾積的有限子集。無限關係在資料庫系統中是無意義的。由於笛卡爾積不滿足交換律,即
(d1,d2,…,dn)≠(d2,d1,…,dn)
但關係滿足交換律,即(d1,d2,…,di,dj,…,dn)=(d1,d2,…,dj,di
,…,dn)(i,j=1,2,…,n)解決方法:為關係的每個列附加一個屬性名以取消關係元組的有序性關係(續)例在表2.1的笛卡爾積中取出有實際意義的元組來構造關係關係:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)關係名,屬性名假設:專業與導師:1:n,導師與研究生:1:n。那麼,表2.1中的一個子集才是有實際意義的。把該關係取名為SAP.於是:SAP關係可以包含三個元組{(張清玫,電腦專業,李勇),
(張清玫,電腦專業,劉晨),
(劉逸,資訊專業,王敏)}
關係(續)2)元組關係中的每個元素是關係中的元組,通常用t表示。3)單元關係與二元關係當n=1時,稱該關係為單元關係(Unaryrelation)。當n=2時,稱該關係為二元關係(Binaryrelation)。關係(續)4)關係的表示關係也是一個二維表,表的每行對應一個元組,表的每列對應一個域。表2.2SAP關係SUPERVISORSPECIALITYPOSTGRADUATE張清玫電腦專業李勇張清玫電腦專業劉晨張清玫資訊專業王敏關係(續)5)屬性關係中不同列可以對應相同的域,為了加以區分,必須對每列起一個名字,稱為屬性(Attribute)。n目關係必有n個屬性。關係(續)6)碼候選碼(Candidatekey)若關係中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼在最簡單的情況下,候選碼只包含一個屬性。在最極端的情況下,關係模式的所有屬性組是這個關係模式的候選碼,稱為全碼(All-key)關係(續)碼(續)主碼若一個關係有多個候選碼,則選定其中一個為主碼(Primarykey)主碼的諸屬性稱為主屬性(Primeattribute)。不包含在任何侯選碼中的屬性稱為非碼屬性(Non-keyattribute)關係(續)7)三類關係基本關係(基本表或基表)實際存在的表,是實際存儲數據的邏輯表示查詢表查詢結果對應的表視圖表由基本表或其他視圖表導出的表,是虛表,不對應實際存儲的數據8)基本關係的性質①列是同質的(Homogeneous)每一列中的分量是同一類型的數據,來自同一個域。②不同的列可出自同一個域其中的每一列稱為一個屬性;不同的屬性要給予不同的屬性名。基本關係的性質(續)上例中也可以只給出兩個域:人(PERSON)=張清玫,劉逸,李勇,劉晨,王敏專業(SPECIALITY)=電腦專業,資訊專業SAP關係的導師屬性和研究生屬性都從PERSON域中取值為了避免混淆,必須給這兩個屬性取不同的屬性名,而不能直接使用功能變數名稱。例如定義:導師屬性名為SUPERVISOR-PERSON(或SUPERVISOR)研究生屬性名為POSTGRADUATE-PERSON(或POSTGRADUATE)基本關係的性質(續)③列的順序無所謂列的次序可以任意交換遵循這一性質的資料庫產品(如ORACLE),增加新屬性時,永遠是插至最後一列但也有許多關係資料庫產品沒有遵循這一性質,例如FoxPro仍然區分了屬性順序基本關係的性質(續)④任意兩個元組不能完全相同由笛卡爾積的性質決定但許多關係資料庫產品沒有遵循這一性質。例如:Oracle,FoxPro等都允許關係表中存在兩個完全相同的元組,除非用戶特別定義了相應的約束條件。基本關係的性質(續)⑤行的順序無所謂行的次序可以任意交換遵循這一性質的資料庫產品(如ORACLE),插入一個元組時永遠插至最後一行但也有許多關係資料庫產品沒有遵循這一性質,例如FoxPro仍然區分了元組的順序基本關係的性質(續)⑥分量必須取原子值每一個分量都必須是不可分的資料項目。這是規範條件中最基本的一條2.1關係數據結構2.1.1關係2.1.2關係模式2.1.3關係資料庫2.2.2關係模式1.什麼是關係模式2.定義關係模式3.關係模式與關係1.什麼是關係模式關係模式(RelationSchema)是型關係是值關係模式是對關係的描述那麼,關係需要描述哪些方面呢?1.什麼是關係模式1.關係是元組的集合。因此關係模式必須指出這個元組集合的結構,即:
①關係由哪些屬性構成②屬性來自哪些域③屬性與域之間的映象關係2.元組語義以及完整性約束條件即凡符合元組語義的那部分元素的全體構成了該關係模式的關係。3.不同時刻,關係模式的關係會發生變化。對關係的描述成為關係模式,定義如下: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.2.3關係資料庫1.關係資料庫2.關係資料庫的型與值1.關係資料庫
在一個給定的應用領域中,所有實體及實體之間聯繫的關係的集合構成一個關係資料庫。2.關係資料庫的型與值關係資料庫也有型和值之分關係資料庫的型稱為關係資料庫模式,是對關係資料庫的描述若干域的定義在這些域上定義的若干關係模式關係資料庫的值是這些關係模式在某一時刻對應的關係的集合,通常簡稱為關係資料庫第二章關係資料庫2.1關係數據結構及形式化定義2.2關係操作2.3關係的完整性2.4關係代數2.5關係演算2.6小結2.2關係操作
2.2.1基本的關係操作2.2.2關係數據語言的種類關係操作集合(續)1)基本的關係操作查詢操作選擇、投影、連接、除、並、交、差、笛卡兒積數據更新操作插入、刪除、修改查詢的表達能力是其中最主要的部分關係操作集合(續)關係操作的特點集合操作方式,即操作的對象和結果都是集合。非關係數據模型的數據操作方式:一次一記錄檔系統的數據操作方式關係操作集合(續)2.2.2關係數據語言的分類1.關係代數語言用對關係的運算來表達查詢要求典型代表:ISBL關係操作集合(續)2.關係演算語言:用謂詞來表達查詢要求元組關係演算語言謂詞變元的基本對象是元組變數典型代表:APLHA,QUEL域關係演算語言謂詞變元的基本對象是域變數典型代表:QBE3.具有關係代數和關係演算雙重特點的語言典型代表:SQL關係操作集合(續)
關係數據語言的特點關係語言是一種高度非過程化的語言存取路徑的選擇由DBMS的優化機制來完成用戶不必用迴圈結構就可以完成數據操作能夠嵌入高級語言中使用關係代數、元組關係演算和域關係演算三種語言在表達能力上完全等價。三種語言都是抽象的查詢語言,與具體的RDBMS中實現的實際語言並不完全一樣,但能用作評估實際系統中查詢語言能力的標準和基礎。第二章關係資料庫2.1關係數據結構及形式化定義2.2關係操作2.3關係的完整性2.4關係代數2.5關係演算2.6小結關係的完整性(續)2.3.1關係的三類完整性約束2.3.2實體完整性2.3.3參照完整性2.3.4用戶定義的完整性2.3關係的完整性關係模型的完整性規則是對關係的某種約束條件。關係模型中三類完整性約束:實體完整性參照完整性用戶定義的完整性實體完整性和參照完整性是關係模型必須滿足的完整性約束條件,被稱作是關係的兩個不變性,應該由關係系統自動支持。1.關係的三類完整性約束實體完整性通常由關係系統自動支持參照完整性早期系統不支持,目前大型系統能自動支持用戶定義的完整性反映應用領域需要遵循的約束條件,體現了具體領域中的語義約束用戶定義後由系統支持關係的完整性(續)2.3.1關係的三類完整性約束2.3.2實體完整性2.3.3參照完整性2.3.4用戶定義的完整性2.3.1實體完整性規則五2.1實體完整性規則(EntityIntegrity)若屬性A是基本關係R的主屬性,則屬性A不能取空值。例SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE屬性為主碼(假設研究生不會重名),則其不能取空值實體完整性(續)關係模型必須遵守實體完整性規則的原因(1)實體完整性規則是針對基本關係而言的。一個基本表通常對應現實世界的一個實體集。(2)現實世界中的實體和實體間的聯繫都是可區分的,即它們具有某種唯一性標識。(3)相應地,關係模型中以主碼作為唯一性標識。實體完整性(續)(4)主碼中的屬性即主屬性不能取空值。空值就是“不知道”或“無意義”的值。主屬性取空值,就說明存在某個不可標識的實體,即存在不可區分的實體,這與第(2)點相矛盾,因此這個規則稱為實體完整性。實體完整性(續)注意:實體完整性規則規定基本關係的所有主屬性都不能取空值例選修(學號,課程號,成績)“學號、課程號”為主碼,則兩個屬性都不能取空值。關係的完整性2.3.1關係的三類完整性約束2.3.2實體完整性2.3.3參照完整性2.3.4用戶定義的完整性2.3.2參照完整性1.關係間的引用2.外碼3.參照完整性規則1.關係間的引用在關係模型中實體及實體間的聯繫都是用關係來描述的,因此可能存在著關係與關係間的引用。例1學生實體、專業實體以及專業與學生間的一對多聯繫學生(學號,姓名,性別,專業號,年齡)專業(專業號,專業名)關係間的引用(續)例2學生、課程、學生與課程之間的多對多聯繫學生(學號,姓名,性別,專業號,年齡)課程(課程號,課程名,學分)選修(學號,課程號,成績)
學生學生選課課程關係間的引用(續)例3學生實體及其內部的領導聯繫(一對多)
學生(學號,姓名,性別,專業號,年齡,班長)2.外碼(ForeignKey)定義2.5設F是基本關係R的一個或一組屬性,但不是關係R的碼。如果F與基本關係S的主碼Ks相對應,則稱F是基本關係R的外碼。基本關係R稱為參照關係(ReferencingRelation)基本關係S稱為被參照關係(ReferencedRelation)或目標關係(TargetRelation)。外碼(續)說明:關係R和S不一定是不同的關係。目標關係S的主碼Ks和參照關係的外碼F必須定義在同一個(或一組)域上。外碼並不一定要與相應的主碼同名。當外碼與相應的主碼屬於不同關係時,往往取相同的名字,以便於識別。3.參照完整性規則規則2.2若屬性(或屬性組)F是基本關係R的外碼它與基本關係S的主碼Ks相對應(基本關係R和S不一定是不同的關係),則對於R中每個元組在F上的值必須為:
或者取空值(F的每個屬性值均為空值)
或者等於S中某個元組的主碼值。參照完整性規則(續)學生關係中每個元組的“專業號”屬性只取下麵兩類值:(1)空值,表示尚未給該學生分配專業(2)非空值,這時該值必須是專業關係中某個元組的“專業號”值,表示該學生不可能分配到一個不存在的專業中參照完整性規則(續)
選修(學號,課程號,成績)“學號”和“課程號”是選修關係中的主屬性,按照實體完整性和參照完整性規則,它們只能取相應被參照關係中已經存在的主碼值。參照完整性規則(續)學生(學號,姓名,性別,專業號,年齡,班長)“班長”屬性值可以取兩類值:(1)空值,表示該學生所在班級尚未選出班長,或該學生本人即是班長;(2)非空值,這時該值必須是本關係中某個元組的學號值關係的完整性(續)2.3.1關係的三類完整性約束2.3.2實體完整性2.3.3參照完整性2.3.4用戶定義的完整性2.3.3用戶定義的完整性用戶定義的完整性是針對某一具體關係資料庫的約束條件,反映某一具體應用所涉及的數據必須滿足的語義要求。關係模型應提供定義和檢驗這類完整性的機制,以便用統一的系統的方法處理它們,而不要由應用程式承擔這一功能。用戶定義的完整性(續)例:
課程(課程號,課程名,學分)“課程號”屬性必須取唯一值非主屬性“課程名”也不能取空值“學分”屬性只能取值{1,2,3,4}小結關係數據結構
關係域笛卡爾積關係關係,屬性,元組候選碼,主碼,主屬性基本關係的性質關係模式關係資料庫關係的數據操作集合查詢選擇、投影、連接、除、並、交、差數據更新插入、刪除、修改關係的完整性約束實體完整性參照完整性外碼用戶定義的完整性
下課了。。。追求休息一會兒。。。第二章關係資料庫2.1關係數據結構及形式化定義2.2關係操作2.3關係的完整性2.4關係代數2.5關係演算2.6小結2.4
關係代數
概述
傳統的集合運算專門的關係運算概述1.關係代數2.關係代數運算的三個要素3.關係代數運算的分類4.一些約定概述1.關係代數 一種抽象的查詢語言 用對關係的運算來表達查詢概述(續)2.關係代數運算的三個要素運算對象:關係運算結果:關係運算符:有集合運算符、專門的關係運算符、算術比較符和邏輯運算符四類概述(續)3.關係代數運算的分類 傳統的集合運算並、差、交、廣義笛卡爾積 專門的關係運算選擇、投影、連接、除概述(續)4.一些約定(表示記號
)(1)R,t
R,t[Ai]
(2)A,t[A],A(3)trts稱為元組的連接(4)象集Zx給定一個關係R(X,Z),X和Z為屬性組。當t[X]=x時,x在R中的象集(ImagesSet)為:
Zx={t[Z]|t
R,t[X]=x}
它表示R中屬性組X上值為x的諸元組在Z上分量的集合。2.4
關係代數
概述
傳統的集合運算
專門的關係運算2.4.1傳統的集合運算並差交廣義笛卡爾積1.並(Union)R和S具有相同的目n(即兩個關係都有n個屬性)相應的屬性取自同一個域R∪S
仍為n目關係,由屬於R或屬於S的元組組成
R∪S={t|t
R∨t
S}並(續)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S
2.差(Difference)R和S具有相同的目n相應的屬性取自同一個域R-S
仍為n目關係,由屬於R而不屬於S的所有元組組成
R-S={t|t
R∧t
S}差(續)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S
3.交(Intersection)R和S具有相同的目n相應的屬性取自同一個域R∩S仍為n目關係,由既屬於R又屬於S的元組組成
R∩S={t|t
R∧t
S} R∩S=R–(R-S)交(續)ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S
4.廣義笛卡爾積(ExtendedCartesianProduct)Rn目關係,k1個元組Sm目關係,k2個元組R×S
列:(n+m)列的元組的集合元組的前n列是關係R的一個元組後m列是關係S的一個元組行:k1×k2個元組R×S={tr
ts|tr
R∧ts
S}廣義笛卡爾積(續)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR×S
ABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c12.4
關係代數概述傳統的集合運算專門的關係運算2.4.2專門的關係運算選擇投影連接除1.選擇(Selection)1)選擇又稱為限制(Restriction)2)選擇運算符的含義在關係R中選擇滿足給定條件的諸元組
σF(R)={t|t
R∧F(t)='真'}F:選擇條件,是一個邏輯運算式
選擇(續)3)選擇運算是從行的角度進行的運算4)舉例 設有一個學生-課程資料庫,包括學生關係Student、課程關係Course和選修關係SC。σ選擇(續)學號Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001李勇男20IS95002劉晨女19CS95003王敏女18MA95004張立男19CS(a)
Student例1例2例4例3例9選擇(續)(b)Course課程號課程名先行課學分CnoCnameCpnoCcredit1資料庫542數學
23資訊系統144操作系統635數據結構746數據處理
27PASCAL語言64例9選擇(續)
(c)SC學號課程號成績SnoCnoGrade9500119295001285950013889500229095002380例7例9選擇(續)[例1]查詢電腦科學系(CS)全體學生
σSdept
=‘CS'(Student)
或σ5=‘IS'(Student)SnoSnameSsexSageSdept95002劉晨女19CS95004張立男19CS選擇(續)[例2]查詢年齡小於20歲的學生資訊
σSage<20(Student)
或σ4<20(Student)
SnoSnameSsexSageSdept95002劉晨女19CS95003王敏女18MA95004張立男19CS選擇(續)[例3]查詢1號課程且成績在90分以上的學生資訊
σCno=‘1’^Grade>90(SC)
或σGrade>90(
σCno=‘1’(SC))
或σCno=‘1’(SC)∩σGrade>90(SC)
選擇(續)[例4]查詢沒有選修1號課程的學生資訊
2.投影(Projection)1)投影運算符的含義從R中選擇出若干屬性列組成新的關係
πA(R)={t[A]|t
R} A:R中的屬性列
2.投影(Projection)2)投影操作主要是從列的角度進行運算但投影之後不僅取消了原關係中的某些列,而且還可能取消某些元組(避免重複行)π投影(續)3)舉例[例]查詢學生的姓名和所在系即求Student關係上學生姓名和所在系兩個屬性上的投影
πSname,Sdept(Student)
或π2,5(Student)結果:
投影(續)SnameSdept李勇CS劉晨IS王敏MA張立IS投影(續)[例]查詢學生關係Student中都有哪些系
πSdept(Student)
結果:SdeptCSISMA選擇(續)[例]查詢選修1號課程的學生學號
πSnoσCno=’1’(SC)選擇(續)[例]查詢沒有選修1號課程的學生學號
πSno(Student)-πSnoσCno=’1’(SC)選擇(續)[例]查詢選修1號課程的學生姓名
3.連接(Join)1)連接也稱為θ連接2)連接運算的含義從兩個關係的笛卡爾積中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年成都货运从业资格证新政
- 2025年泉州货运上岗证考试
- 2025年宜宾货运从业资格证考试题目库存答案
- 2025年扬州c1货运从业资格证考试题
- 2025年聊城考货运资格证模拟试题
- 二零二五年度教师全职聘用与教育产品研发合作协议
- 二零二五年度水塔施工绿色施工与节能减排合同
- 2024年高考物理母题题源系列专题09带电粒子在电场中的运动含解析
- 2024-2025学年高中生物课时分层作业20光合作用原理的应用和化能合成作用含解析新人教版必修1
- 2024年高考英语必考点专题13状语从句高效演练含解析
- 产业园区环保管家实践和案例
- 医学约束带的使用课件
- 传染病防控工作职能部门间协调机制及流程
- 社会团体法定代表人登记表
- 中小学心理健康教育教师技能培训专题方案
- 高速公路隧道管理站专业知识竞赛试题与答案
- 2020年常见肿瘤AJCC分期手册第八版(中文版)
- 五年级下册生命、生态、安全教案
- 原发性肺癌手术临床路径(最全版)
- 最新工程招投标实训课程标准教案
- 建筑工程施工质量验收规范检验批填写全套表格+示范填写及说明
评论
0/150
提交评论