




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
任課人:cws第1章
理解數據庫1.11.21.31.41.5數據庫系統應用實例1.圖書館數據庫系統的應用一個查詢應用程序界面數據庫系統應用實例1.圖書館數據庫系統的應用一個應用程序界面查詢結果1.11.21.31.41.5數據庫系統應用實例1.圖書館數據庫系統的應用圖書館數據庫1.11.21.31.41.5數據庫系統應用實例韓山圖書館查詢系統:1.11.21.31.41.5數據庫系統應用實例圖書館數據庫系統工作原理用戶通過應用程序輸入查詢條件,應用程序將查詢條件轉換為查詢命令,將該命令發給DBMS;DBMS根據接收到的查詢命令從圖書館數據庫中取出數據返回給應用程序;應用程序按用戶通俗易懂的格式顯示查詢結果。1.11.21.31.41.5數據庫系統應用實例概括:(1)數據庫由若干張相互關聯的表格組成。(2)數據庫管理系統是一個管理數據庫的軟件。(3)數據庫系統的組成。1.11.21.31.41.5應用程序應用程序應用程序DBMSDBJAVA源程序代碼SQL語句最常見的數據庫應用程序(1)-用戶注冊最常見的數據庫應用程序(2)-論壇章節內容1.1什么是數據1.2數據描述1.3數據模型1.4關系代數(結合第4章)1.5數據庫系統的組成和結構161.11.21.31.41.51.1什么是數據?本節概念:信息數據數據處理1.11.21.31.41.51.1.1信息與數據數據定義:指存儲在某種介質上能夠識別的物理符號,是信息的載體,這些符號可以是數,字符或者其他。數據包括:數值型數據:是以數字表示信息;非數值型數據:是以符號及其組合來表示信息。例如字符、文字、圖表、圖形、圖像、聲音等均屬于非數值型數據。1.11.21.31.41.51.1.1信息與數據數據表示:型:指數據內容存儲在媒體上的具體形式值:指所描述的客觀事物的具體特性例:一個人的身高:這個人的身高有1.8米。信息型數字字符值1.801米81.11.21.31.41.51.1.1信息與數據信息定義:是經過加工處理并對人類社會實踐和生產活動產生決策影響的數據。是經過處理后的數據,是整理過的數據。信息具有實效性,有用性,知識性,是客觀世界的反映。1.11.21.31.41.5信息與數據區別?信息與數據之間存在固有的聯系:數據是信息的符號表示或稱為載體;信息則是數據的內涵,是對數據語義的解釋。任何事物的屬性都是通過數據來表示的。數據經過加以處理之后,成為信息。而信息必須通過數據才能傳播,才能對人類有影響。1.11.21.31.41.5信息與數據區別?例如:一組數據1、3、5、7、9、11、13、15它是一組數據,如果我們對它進行分析便可以得出它是一組等差數列,我們可以比較容易地知道后面的數字,那么它便是一條信息。它是有用的數據。又如:數據1、3、2、4、5、1、41它不能告訴我們任何東西,故它不是信息。1.11.21.31.41.51.11.21.31.41.51.1.2數據處理數據處理定義:是指將數據轉換成信息的過程,也稱信息處理。內容:數據的收集、組織、整理、存儲、加工、維護、查詢和傳播等一系列活動。目的:從大量的數據中,提取有效的信息資源。1.1.2數據處理數據與信息之間的關系:信息=數據+數據處理:1.11.21.31.41.51.1.2數據處理數據處理的工作:數據管理它的主要任務是收集信息,將信息用數據表示并按類別組織保存。數據加工它的主要任務是對數據進行變換、抽取和運算。數據傳播通過數據傳播,信息在空間或時間上以各種形式傳遞。1.11.21.31.41.51.1.2數據處理數據處理隨著數據處理量的增長,產生了數據管理技術。
數據管理技術的數據處理是指從某些已知的數據出發,推導加工出一些新的數據,這些新的數據又表示了新的信息。例如,某省全體高考學生各門課程成績的總分按從高到低的順序進行排序、統計各個分數段的人數等,進而可以根據招生人數確定錄取分數線。1.11.21.31.41.51.2數據描述本節概念:現實世界信息世界數據世界/機器世界1.11.21.31.41.51.2數據描述客觀存在的事物轉換成數據的形式存儲到計算機中,經歷了3個領域:現實世界、信息世界和數據世界。現實世界事物事物性質信息世界實體實體屬性數據世界記錄數據項1.11.21.31.41.51.2.1現實世界現實世界是存在于人們頭腦之外的客觀世界。例如:學校中有教師、學生、課程,學生選修課程并取得成績,教師為學生授課,并錄入學生的成績存入學生的檔案,即成績管理等;圖書館中有圖書、管理員和讀者,讀者借閱圖書,管理員對圖書和讀者進行管理等。1.11.21.31.41.51.2.2信息世界信息世界是現實世界在人們頭腦中的反映,人們把它用文字或符號記載下來。1.11.21.31.41.51.2.2信息世界在信息世界中,有以下與數據庫技術相關的術語:實體屬性碼域實體型實體集聯系1.11.21.31.41.51.2.2信息世界1.實體客觀存在并且可以相互區別的事物稱為實體。可表示:具體的事物如,一個學生、一本圖書等屬于實際事物抽象的事件如,教師的授課、借閱圖書、比賽等活動是比較抽象的事件——對應一個數據庫表的一條記錄。1.11.21.31.41.51.2.2信息世界2.屬性描述實體的特性稱為屬性。一個實體可以用若干個屬性來描述,如學生實體由學號、姓名、性別、出生日期等若干個屬性組成。實體屬性的組成:型:也稱屬性名——例:學生姓名、學號和性別等值:——例:
“張三”、“2008050101”、“女”——對應一個數據庫表的字段。1.11.21.31.41.51.2.2信息世界3.碼唯一標識實體的屬性或屬性的組合稱為碼。例:學生的學號是學生實體的碼。——對應一個數據庫表的主鍵。1.11.21.31.41.51.2.2信息世界4.域屬性的取值范圍稱為該屬性的域。例:學號的域為10位整數姓名的域為字符串集合年齡的域為小于28的整數性別的域為男、女1.11.21.31.41.51.2.2信息世界5.實體型用實體名及其屬性名的集合來抽象和刻畫同類實體,稱為實體型。例:學生(學號,姓名,性別,出生日期,系)就是一個實體型。——對應,數據庫的一個表結構1.11.21.31.41.51.2.2信息世界6.實體集同類實體的集合稱為實體集。例:全體學生、一批圖書等。——對應一個數據庫表(包括整個表數據)。1.11.21.31.41.51.2.2信息世界聯系在現實世界中,事物內部以及事物之間是有聯系的,這些聯系在信息世界中反映為實體(型)內部的聯系和實體(型)之間的聯系。實體間的都存在什么樣的聯系呢?1.11.21.31.41.51.2.2信息世界聯系兩個實體型之間的聯系可以分為3類:一對一聯系一對多聯系多對多聯系1.11.21.31.41.5聯系分類一對一聯系如果對于實體集A中的每一個實體,實體集B中至多存在一個實體與之聯系;反之亦然,則稱實體集A與實體集B之間存在一對一聯系,記作1∶1。例:班級:班長電影院中觀眾:座位1.11.21.31.41.5聯系分類一對多聯系如果對于實體集A中的每一個實體,實體集B中存在多個實體與之聯系;反之,對于實體集B中的每一個實體,實體集A中至多只存在一個實體與之聯系,則稱實體集A與實體集B之間存在一對多的聯系,記作1∶n。例:班級:學生職工:部門1.11.21.31.41.5聯系分類多對多聯系如果對于實體集A中的每一個實體,實體集B中存在多個實體與之聯系;反之,對于實體集B中的每一個實體,實體集A中也存在多個實體與之聯系,則稱實體集A與實體集B之間存在多對多聯系,記作m∶n。例:學生:課程藥廠:藥品1.11.21.31.41.5聯系分類例如:(a)1∶1聯系(b)1∶n聯系(c)m∶n聯系1.11.21.31.41.5聯系分類兩個以上的實體集之間也存在著一對一、一對多、多對多的聯系。1.11.21.31.41.5聯系分類同一實體集內部的各實體也可以存在一對一、一對多、多對多的聯系。1.11.21.31.41.51.2.3數據世界數據世界,又稱機器世界。信息世界的信息在機器世界中以數據形式存儲。實體→記錄實體的屬性→數據項(又稱字段)現實世界中的事物及其聯系→數據模型1.11.21.31.41.51.2.2信息世界現實世界中客觀對象的抽象過程1.11.21.31.41.51.3數據模型數據模型對現實世界數據特征進行抽象,來描述數據庫的結構與語義。理解本節概念:數據模型概念模型關系模型關系模型的完整性約束1.11.21.31.41.51.3.1數據模型的分類1.概念數據模型簡稱為概念模型,表示實體類型和實體間的聯系,獨立于計算機系統模型。用于建立信息世界的數據模型,強調其語義表達功能,要求概念簡單、清晰,易于用戶理解是現實世界的第一層抽象;是用戶和數據庫設計人員之間進行交流的工具。2.結構數據模型簡稱為數據模型,涉及計算機系統和DBMS的模型,例如層次模型、網狀模型、關系模型等。它是直接面向數據庫的邏輯結構是現實世界的第二層抽象數據模型有嚴格的形式化定義,以便于在計算機系統中實現。1.11.21.31.41.51.11.21.31.41.51.3數據模型概念模型的表示方法概念模型的表示方法很多,其中最為著名和使用最為廣泛的是P.P.Chen于1976年提出的E-R(Entity-Relationship)模型。1.3數據模型E-R模型主要成分是實體、聯系和屬性。E-R模型的圖形表示稱為E-R圖,設計E-R圖的方法稱為E-R方法。E-R模型的概念設計,分為3步:首先設計局部E-R模型;然后把各個局部E-R模型綜合成一個全局E-R模型最后對全局E-R模型進行優化,得到最終的E-R模型。1.11.21.31.41.51.3數據模型E-R圖通用的表示方式如下(以班級和學生關系為例):用矩形框表示實體型,框內標上實體名。用橢圓形框表示實體的屬性,并用無向邊把實體和屬性連接起來。用菱形框表示實體間的聯系,框內標上聯系名用無向邊分別把菱形框與有關實體連接起來,在無向邊旁注明聯系的類型。若聯系也有屬性,則把屬性和菱形框也用無向邊連接起來。1.11.21.31.41.51.3數據模型班級與學生的E-R圖1.11.21.31.41.51.3數據模型課程與學生的E-R圖1.11.21.31.41.51.3數據模型E-R模型有兩個明顯的優點:接近于人的思維,容易理解與計算機無關,用戶容易接受。1.11.21.31.41.51.3.1數據模型的分類1.概念數據模型簡稱為概念模型,表示實體類型和實體間的聯系,獨立于計算機系統模型。用于建立信息世界的數據模型,強調其語義表達功能,要求概念簡單、清晰,易于用戶理解是現實世界的第一層抽象;是用戶和數據庫設計人員之間進行交流的工具。2.結構數據模型簡稱為數據模型,涉及計算機系統和DBMS的模型,例如層次模型、網狀模型、關系模型等。它是直接面向數據庫的邏輯結構是現實世界的第二層抽象數據模型有嚴格的形式化定義,以便于在計算機系統中實現。1.11.21.31.41.51.3.3數據模型的要素和種類數據模型是嚴格定義的一組概念的集合,這些概念精確地描述了系統的靜態特征(數據結構)、動態特征(數據操作)和數據約束條件,這是數據模型的三要素。數據結構數據操作數據約束條件1.11.21.31.41.5數據模型的三要素1)數據結構是所研究的對象類型的集合,這些對象是數據庫的組成部分;包括兩個方面:數據本身:數據的類型、內容和性質等。例如關系模型中的域、屬性、關系等。數據之間的聯系:數據之間是如何相互關聯的。例如關系模型中的主碼、外碼聯系等。1.11.21.31.41.5數據模型的三要素2)數據操作數據操作是對數據庫中的各種對象(型)的實例(值)允許執行的操作集合。數據操作包括操作對象及有關的操作規則,主要有檢索和更新(包括插入、刪除和修改)兩類。1.11.21.31.41.5數據模型的三要素3)數據約束條件數據約束條件是一組完整性規則的集合。完整性規則是給定數據模型中的數據及其聯系所具有的制約和依存規則,用以限定符合數據模型的數據庫狀態及其狀態的變化,以保證數據的正確、有效、相容。1.11.21.31.41.5常見的數據模型數據模型是數據庫系統的一個關鍵概念,數據模型不同,相應的數據庫系統就完全不同,任何一個數據庫管理系統都是基于某種數據模型的。目前數據庫管理系統所支持的數據模型分為4種:層次模型、網狀模型、關系模型和關系對象模型。關系模型結構簡單,數據之間的關系容易實現,因此關系模型是目前廣泛使用的數據模型,并且關系數據庫也是目前流行的數據庫。1.11.21.31.41.51.3.4關系模型關系模型是目前最重要的一種數據模型,關系數據庫系統采用關系模型作為數據的組織方式。關系模型是在20世紀70年代初由美國IBM公司的E.F.Codd提出的,為數據庫技術的發展奠定了理論基礎。由于E.F.Codd的杰出工作,他于1981年獲得ACM圖靈獎。1.11.21.31.41.51.3.4關系模型關系模型的數據結構關系模型與以往的模型不同,它是建立在嚴格的數據概念基礎上的。關系模型中數據的邏輯結構是一張二維表,它由行和列組成。1.11.21.31.41.51.3.4關系模型下面分別介紹關系模型中的相關術語。關系元組屬性域分量候選碼主碼全碼主屬性和非主屬性關系模式1.11.21.31.41.5關系模型的術語關系一個關系就是一張二維表。學號姓名年齡性別所在系2007X1201李小雙18女信息系2007D1204張小玉20女電子系2007J1206王大鵬19男計算機系……………1.11.21.31.41.5關系模型的術語元組(記錄)關系表中的每行對應一個元組,組成元組的元素稱為分量。數據庫中的一個實體或實體之間的一個聯系均使用一個元組來表示。學號姓名年齡性別所在系2007X1201李小雙18女信息系2007D1204張小玉20女電子系2007J1206王大鵬19男計算機系……………1.11.21.31.41.5關系模型的術語屬性表中的一列即為一個屬性,給每個屬性取一個名稱為屬性名。屬性具有型和值兩層含義:屬性的型指屬性名和屬性值域;屬性的值是指屬性具體的取值。1.11.21.31.41.5關系模型的術語屬性關系中的屬性名具有標識列的作用,所以在同一個關系中的屬性名(列名)不能相同。一個關系中通常有個多個屬性,屬性用于表示實體的特征。學號姓名年齡性別所在系2007X1201李小雙18女信息系2007D1204張小玉20女電子系2007J1206王大鵬19男計算機系……………1.11.21.31.41.5關系模型的術語域屬性的取值范圍。如:性別屬性的域是“男”、“女”大學生的年齡屬性域可以設置為10~30等。學號姓名年齡性別所在系2007X1201李小雙18女信息系2007D1204張小玉20女電子系2007J1206王大鵬19男計算機系……………1.11.21.31.41.5關系模型的術語分量元組中的一個屬性值。如:“李小雙”“男”學號姓名年齡性別所在系2007X1201李小雙18女信息系2007D1204張小玉20女電子系2007J1206王大鵬19男計算機系……………1.3數據模型候選碼(碼)若關系中的某一屬性或屬性組的值能唯一標識一個元組,則稱該屬性或屬性組為候選碼。學號姓名年齡性別所在系2007X1201李小雙18女信息系2007D1204張小玉20女電子系2007J1206王大鵬19男計算機系……………1.11.21.31.41.51.3數據模型主碼/主鍵若一個關系中有多個候選碼,則選定其中一個為主碼。學號姓名年齡性別所在系2007X1201李小雙18女信息系2007D1204張小玉20女電子系2007J1206王大鵬19男計算機系……………1.11.21.31.41.5關系模型的術語全碼關系模式的所有屬性是這個關系模式的候選碼,稱為全碼。全碼是候選碼的特例。例如,設有以下關系:學生選課(學號,課程)其中的“學號”和“課程”相互獨立,屬性間不存在依賴關系,它的碼就是全碼。1.11.21.31.41.5關系模型的術語主屬性和非主屬性在關系中,候選碼中的屬性稱為主屬性不包含在任何候選碼中的屬性稱為非主屬性1.11.21.31.41.5關系模型的術語關系模式關系的描述稱為關系模式,它可以形式化地表示為R(U,D,Dom,F)。其中:R為關系名;U為組成該關系的屬性的集合;D為屬性組U中的屬性所來自的域;Dom為屬性向域的映像集合;F為屬性間數據依賴關系的集合。1.11.21.31.41.5關系模型的術語關系模式關系模式通常可以簡記為R(U)或R(A1,A2,…,An)。其中R為關系名,A1,A2,…,An為屬性名。而域名及屬性向域的映像常直接稱為屬性的類型及長度。例如,關系學生學籍表的關系模式可以表示為:學生學籍表(學號,姓名,年齡,性別,所在系)。1.11.21.31.41.5關系模型的術語關系模式在一個給定的應用領域中,所有實體及實體間的聯系的集合就構成一個關系數據庫。1.11.21.31.41.5關系的性質(1)同一屬性的數據具有同質性即每一列中的分量是同一類型的數據,它們來自同一個域。(2)同一關系的屬性名具有不可重復性即同一關系中不同屬性的數據可出自同一個域,但不同的屬性要給予不同的屬性名。(3)關系中列的位置具有順序無關性即列的次序可以任意交換、重新組織。1.11.21.31.41.5關系的性質(4)關系具有元組無冗余性即關系中的任意兩個元組不能完全相同。(5)關系中元組的位置具有順序無關性即元組的順序可以任意交換。(6)關系中每個分量必須取原子值即每個分量都必須是不可分的數據項。1.11.21.31.41.5關系的性質規范化的關系簡稱范式;例如:1.11.21.31.41.51.3.5關系的完整性關系模型中允許定義3類完整性約束:實體完整性參照完整性用戶自定義的完整性其中實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,稱為兩個不變性,應該由關系系統自動支持;用戶自定義的完整性是應用領域需要遵循的約束條件,體現了具體領域中的語義約束。1.11.21.31.41.5實體完整性規則1.1實體完整性規則若屬性A是基本關系R的主屬性,則屬性A不能取空值。例如學生關系“學生(學號,姓名,性別,專業號,年齡)”“學號”為主碼,則“學號”不能取空值。1.11.21.31.41.5實體完整性實體完整性規則規定基本關系的所有主屬性都不能取空值,而不僅是指主碼不能取空值。例如,學生選課關系“選修(學號,課程號,成績)”,“學號、課程號”為候選碼,則“學號”和“課程號”兩個屬性都不能取空值。1.11.21.31.41.5實體完整性對于實體完整性規則說明如下。(1)實體完整性規則是針對基本關系而言的。一個基本表通常對應信息世界的一個實體集,例如學生關系對應于學生的集合。(2)信息世界中的實體是可區分的,即它們具有某種唯一性標識。(3)關系模型中以主碼作為唯一性標識。(4)主碼中的屬性即主屬性不能取空值。所謂空值就是“不知道”或“不確定”的值1.11.21.31.41.5參照完整性【例1-1】學生關系和專業關系表示如下,其中主碼用下劃線標識。學生(學號,姓名,性別,專業號,年齡)專業(專業號,專業名)結論:關系中某個屬性的取值需要參照其他關系的屬性來取值。1.11.21.31.41.5參照完整性【例1-2】學生、課程、學生與課程之間的多對多聯系選修可以用如下3個關系表示。學生(學號,姓名,性別,專業號,年齡)課程(課程號,課程名,學分)選修(學號,課程號,成績)結論:關系中某些屬性的取值需要參照其他關系的屬性來取值1.11.21.31.41.5參照完整性【例1-3】關系:學生(學號,姓名,性別,專業號,年齡,班長)結論:同一個關系內部某些屬性間也可能存在引用關系。1.11.21.31.41.5參照完整性定義2.5設F是基本關系R的一個或一組屬性,但不是關系R的主碼。如果F與基本關系S的主碼Ks相對應,則稱F是基本關系R的外碼(ForeignKey),并稱基本關系R為參照關系,基本關系S為被參照關系或目標關系。關系R和關系S有可能是同一關系。被參照關系S的主碼Ks和參照關系R的外碼F必須定義在同一個(或一組)域上。1.11.21.31.41.5參照完整性【例1-1】學生(學號,姓名,性別,專業號,年齡)專業(專業號,專業名)“專業號”是學生關系的外碼,專業關系是被參照關系,學生關系是參照關系。1.11.21.31.41.5參照完整性【例1-2】學生(學號,姓名,性別,專業號,年齡)課程(課程號,課程名,學分)選修(學號,課程號,成績)“學號”和“課程號”是選修關系的外碼,學生關系和課程關系是被參照關系,選修關系是參照關系。1.11.21.31.41.5參照完整性【例1-3】關系:學生(學號,姓名,性別,專業號,年齡,班長)“班長”是外碼,學生關系既是被參照關系,也是參照關系。1.11.21.31.41.5參照完整性規則2.2參照完整性規則:若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S有可能是同一關系),則對于R中每個元組在F上的值必須為以下值之一。(1)取空值(F的每個屬性值均為空值)。(2)或者等于S中某個元組的主碼值。1.11.21.31.41.5參照完整性【例1-1】學生(學號,姓名,性別,專業號,年齡)專業(專業號,專業名)“專業號”只能取以下兩類值:空值,表示尚未給該學生分配專業;非空值,其值必須是專業關系中某個元組的“專業號”值;1.11.21.31.41.5用戶自定義的完整性用戶自定義的完整性就是針對某一具體關系數據庫的約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求。例如,某個屬性必須取唯一值、屬性值之間應滿足一定的函數關系、某屬性的取值范圍在0~100之間等。例如,性別只能取“男”或“女”;學生的成績必須在0~100之間。1.11.21.31.41.51.4關系代數理解概念什么是關系代數傳統的集合運算關系的選擇、投影及連接操作1.11.21.31.41.51.4關系代數關系代數是一種抽象的查詢語言,是關系數據操縱語言的一種傳統表達方式,它用關系的運算來表達查詢。運算的三大要素:運算對象運算符運算結果關系代數:關系集合運算符專門的關系運算符比較運算符邏輯運算符關系1.11.21.31.41.51.4關系代數關系代數運算符運算符含義運算符含義集合運算符∪-∩×并差交廣義笛卡兒積比較運算符>≥<≤=≠大于大于等于小于小于等于等于不等于專門的關系運算符σπ∞÷選擇投影連接除邏輯運算符∧∨非與或
1.11.21.31.41.51.4關系代數關系代數的運算按運算符的不同可分為:傳統的集合運算并、交、差、廣義笛卡爾積專門的關系運算選擇、投影、連接、除等1.11.21.31.41.51.4.1傳統的集合運算傳統的集合運算是二目運算,包括并交差廣義笛卡兒積設關系R和關系S具有相同的目n(即兩個關系都具有n個屬性),且相應的屬性取自同一個域,則可以定義并、差、交運算如下:1.11.21.31.41.51.4.1傳統的集合運算1.并(Union)關系R與關系S的并記作:
R∪S={t│tRtS},t是元組變量。其結果關系仍為n目關系,由屬于R或屬于S的元組組成。1.11.21.31.41.51.4.1傳統的集合運算1.并(Union)ABCa1b1c1a1b2c2a2b2c1a1b3c2
R∪SABCABCa1b1c1a1b2c2a1b2c2a1b3c2a2b2c1a2b2c11.11.21.31.41.51.4.1傳統的集合運算2.差(Difference)關系R與關系S的差記作:R-S={t│tRt
S},t是元組變量。其結果關系仍為n目關系,由屬于R而不屬于S的所有元組組成。1.11.21.31.41.51.4.1傳統的集合運算2.差(Difference)
R-SABCa1b1c1ABCABCa1b1c1a1b2c2a1b2c2a1b3c2a2b2c1a2b2c11.11.21.31.41.51.4.1傳統的集合運算3.交(Intersection)關系R與關系S的交記作:R∩S={t│tRtS},t是元組變量其結果關系仍為n目關系,由既屬于R又屬于S的元組組成。1.11.21.31.41.51.4.1傳統的集合運算3.交(Intersection)
R∩SABCa1b2c2a2b2c1ABCABCa1b1c1a1b2c2a1b2c2a1b3c2a2b2c1a2b2c11.11.21.31.41.51.4.1傳統的集合運算4.廣義笛卡兒積(ExtendedCartesianProduct)兩個分別為n目和m目的關系R和S的廣義笛卡兒積是一個(n+m)列的元組的集合。元組的前n列是關系R的一個元組,后m列是關系S的一個元組。若R有k1個元組,S有k2個元組,則關系R和關系S的廣義笛卡兒積有kl×k2個元組。記作:R×S={
│trRtsS}1.11.21.31.41.51.4.1傳統的集合運算
R×SR.AR.BR.CS.AS.BS.Ca1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1ABCABCa1b1c1a1b2c2a1b2c2a1b3c2a2b2c1a2b2c11.11.21.31.41.51.4.2專門的關系運算專門的關系運算包括:選擇投影連接除1.11.21.31.41.51.4.2專門的關系運算選擇(Selection)(限制)是在關系R中選擇滿足給定條件的諸元組,記作:
σF(R)={t|tRF(t)=‘真’}其中,F表示選擇條件,它是一個邏輯表達式,取邏輯值為“真”或“假”。選擇運算實際上是從關系R中選取使邏輯表達式F為真的元組,這是從行的角度進行的運算。1.11.21.31.41.5選擇邏輯表達式F的基本形式為:
X1θY1[ΦX2θY2ΦX3θY3…]其中,θ表示比較運算符,它可以是>、、<、、=或≠;X1、Y1是屬性名、常量或簡單函數,屬性名也可以用它的序號(如1,2,…)來代替;Φ表示邏輯運算符,它可以是(非)、∧(與)或∨(或);[]表示任選項,即[]中的部分可要可不要;…表示上述格式可以重復下去。1.11.21.31.41.5選擇設有一個學生-課程數據庫,它包括以下內容。其關系模式如下。Student(sno,sname,ssex,sage,sdept)Course(cno,cname)Score(sno,cno,degree)1.11.21.31.41.5選擇【例1.4】查詢數學系學生的信息,如下。σSdept='數學系'(Student)或σ5='數學系'(Student)1.11.21.31.41.5選擇【例1-5】查詢年齡小于20歲的學生的信息σSage<20(Student)或σ4<20
(Student)1.11.21.31.41.51.4.2專門的關系運算投影(Projection)關系R上的投影是從R中選擇出若干屬性列組成新的關系,記作:
πA(R)={t[A]|tR}其中A為R中的屬性列。投影操作是從列的角度進行的運算。投影之后不僅取消了原關系中的某些列,而且還可能取消某些元組,因為取消了某些屬性列后,就可能出現重復元組,關系操作將自動取消相同的元組。1.11.21.31.41.5投影【例1.6】查詢學生的學號和姓名。πSno,Sname(Student)或π1,2(Student)1.11.21.31.41.5投影【例1-7】查詢學生關系Student中都有哪些系,即查詢學生關系Student在所在系屬性上的投影。πSdept(Student)或π5(Student)1.11.21.31.41.51.4.2專門的關系運算連接(Join)連接也稱為θ連接,它是從兩個關系的笛卡兒積中選取屬性間滿足一定條件的元組,記作:其中A和B分別為R和S上數目相等且可比的屬性組,θ是比較運算符。連接運算是從R和S的笛卡兒積R×S中選取(R關系)在A屬性組上的值與(S關系)在B屬性組上的值滿足比較關系θ的元組。1.11.21.31.41.5連接設關系R、S分別如表一般連接C<E的結果見表1.11.21.31.41.51.4.2專門的關系運算連接運算中,有兩種最重要、最常見的連接:等值連接:
θ為“=”的連接運算;自然連接:是一種特殊的等值連接;1.11.21.31.41.5連接等值連接θ為“=”的連接運算稱為等值連接,它是從關系R與S的笛卡兒積中選取A、B屬性值相等的那些元組,等值連接為:1.11.21.31.41.5連接自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性列去掉,即若R和S具有相同的屬性組B,則自然連接可記作:1.11.21.31.41.5連接設關系R、S分別如表等值連接R.B=S.B的結果見表1.11.21.31.41.5連接設關系R、S分別如表自然連接的結果見表1.11.21.31.41.51.4.2專門的關系運算除(Division)給定關系R(X,Y)和S(Y,Z),其中X,Y可以為單個屬性或屬性組,關系R中的Y與關系S中的Y可以有不同的屬性名,但必須出自相同的域。R與S的除運算得到一個新的關系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合,記作:R÷S={tr[X]│trRπy(S)Yx};其中Yx為x在R中的象集,x=tr[X];1.11.21.31.41.5除除(Division)除操作是同時從行和列的角度進行的運算。除操作適合于包含“對于所有的/全部的”語句的查詢操作。1.11.21.31.41.5除【例1.9】設關系R,S分別見表1-12(a)、(b),則R÷S的結果見1-12(c)。R={X,Y},S={Y,Z}其中,X={A},Y={B,C},Z={D}1.11.21.31.41.5除R={X,Y},S={Y,Z}其中,X={A},Y={B,C},Z={D}YX={a1}={{b1,c2},{b2,c3},{b2,c1}}YX={a2}={{b3,c5},{b2,c3}}YX={a3}={{b4,c4}}YX={a4}={{b6,c4}}1.11.21.31.41.5除R={X,Y},S={Y,Z}其中,X={A},Y={B,C},Z={D}YX={a1}={{b1,c2},{b2,c3},{b2,c1}}YX={a2}={{b3,c5},{b2,c3}}YX={a3}={{b4,c4}}YX={a4}={{b6,c4}}πy(S)={{b1,c2},{b2,c3},{b2,c1}}YX={a1}因此,R÷S={a1}1.11.21.31.41.5R÷S一般用于關系R中X各個值的像集Y是否包含關系S中屬性Y的所有值;也可看成RS÷S的結構在R和S的聯系RS中,找出與S中所有的元組有關系的R元組”。1.4.2專門的關系運算關系代數操作舉例(強化訓練)在關系代數中,關系代數運算經過有限次復合后形成的式子稱為關系代數表達式。對關系數據庫中數據的查詢操作可以寫成一個關系代數表達式,或者說,寫成一個關系代數表達式就表示已經完成了查詢操作。1.11.21.31.41.5關系代數操作舉例設學生-課程數據庫中有3個關系。學生關系:S(Sno,Sname,Ssex,Sage)課程關系:C(Cno,Cname,Teacher)學習關系:SC(Sno,Cno,Degree)(1)查詢學習課程號為C3號課程的學生學號和成績。πSno,Degree(σCno='C3'(SC))1.11.21.31.41.5關系代數操作舉例設學生-課程數據庫中有3個關系。學生關系:S(Sno,Sname,Ssex,Sage)課程關系:C(Cno,Cname,Teacher)學習關系:SC(Sno,Cno,Degree)(2)查詢學習課程號為C4課程的學生學號和姓名。πSno,Sname(σCno='C4'(S∞SC))1.11.21.31.41.5關系代數操作舉例設學生-課程數據庫中有3個關系。學生關系:S(Sno,Sname,Ssex,Sage)課程關系:C(Cno,Cname,Teacher)學習關系:SC(Sno,Cno,Degree)(3)查詢學習課程名為maths的學生學號和姓名。πSno,Sname(σCname='maths'(S∞SC∞C))1.11.21.31.41.5關系代數操作舉例設學生-課程數據庫中有3個關系。學生關系:S(Sno,Sname,Ssex,Sage)課程關系:C(Cno,Cname,Teacher)學習關系:SC(Sno,Cno,Degree)(4)查詢學習課程號為C1或C3課程的學生學號。πSno(σCno=‘C1’∨Cno=‘C3’(SC))1.11.21.31.41.5關系代數操作舉例設學生-課程數據庫中有3個關系。學生關系:S(Sno,Sname,Ssex,Sage)課程關系:C(Cno,Cname,Teacher)學習關系:SC(Sno,Cno,Degree)(5)查詢不學習課程號為C2的學生的姓名和年齡。πSname,Sage(S)-πSname,Sage(σCno='C2''(S∞SC))1.11.21.31.41.5關系代數操作舉例設學生-課程數據庫中有3個關系。學生關系:S(Sno,Sname,Ssex,Sage)課程關系:C(Cno,Cname,Teacher)學習關系:SC(Sno,Cno,Degree)(6)查詢學習全部課程的學生姓名。πSname(S∞(πSno,Cno(SC)÷πCno(C)))1.11.21.31.41.5關系代數操作舉例設學生-課程數據庫中有3個關系。學生關系:S(Sno,Sname,Ssex,Sage)課程關系:C(Cno,Cname,Teacher)學習關系:SC(Sno,Cno,Degree)(7)查詢所學課程包括200701所學課程的學生學號。πSno,Cno(SC)÷πCno(σSno='200701'(SC))1.11.21.31.41.51.5數據庫系統的組成和結構本節任務數據庫相關概念數據庫系統的體系結構1.11.21.31.41.51.5.1數據庫相關概念1.數據庫數據庫(DataBase,DB)是一個有結構的、集成的、可共享的統一管理的數據集合。它不僅包括數據本身,而且包括相關數據之間的聯系。數據庫技術主要研究如何存儲、使用和管理數據。1.11.21.31.41.51.5.1數據庫相關概念1.數據庫所謂有結構的,指的是數據是按一定的模型組織起來的。數據模型可用數據結構來描述。數據模型決定數據的組織方式、操作方法。理解數據庫的前提是理解數據模型。現在的數據庫多數是以關系模型來組織數據的。可以簡單地把關系模型的數據結構-關系理解成為一張二維表。1.11.21.31.41.51.5.1數據庫相關概念1.數據庫所謂集成的,是指數據庫中集中存放著企業各種各樣的數據。集中存放的好處是:一個數據只需一個備份,重復存儲少,即消除了數據的冗余。沒有數據冗余,也就能保證數據的一致。1.11.21.31.41.51.5.1數據庫相關概念1.數據庫所謂共享,指的是數據庫中的數據可以被不同的用戶使用。也就是說,每一個用戶可以按自己的要求訪問相同的數據庫。所謂統一管理的,指的是數據庫由DBMS統一管理,任何數據訪問都是通過DBMS來完成的。1.11.21.31.41.51.5.1數據庫相關概念2.數據庫管理系統數據庫管理系統(DataBaseManagementSystem,DBMS)是位于用戶與操作系統(OS)之間的一層數據管理軟件,它為用戶或應用程序提供訪問數據庫的方法,包括數據庫的創建、查詢、更新及各種數據控制,它是數據庫系統的核心。1.11.21.31.41.51.5.1數據庫相關概念2.數據庫管理系統所有訪問數據庫的請求都由DBMS來完成的。DBMS提供了操作數據庫的許多命令(語言),即SQL語言。1.11.21.31.41.51.5.1數據庫相關概念2.數據庫管理系統數據庫管理系統一般由計算機軟件公司提供,目前比較流行的DBMS有VisualFoxPro、Access、Sybase、SQLServer、Oracle等。1.11.21.31.41.51.5.1數據庫相關概念3.數據庫應用系統凡使用數據庫技術管理其數據的系統都稱為數據庫應用系統(DataBaseApplicationSystem)。應用程序是用戶與數據庫之間的橋梁。應用程序與DBMS交互,DBMS訪問DB。數據庫應用系統可以用于事務管理、計算機輔助設計、計算機圖形分析和處理及人工智能等系統中。1.11.21.31.41.51.5.1數據庫相關概念4.數據庫系統數據庫系統(DataBaseSystem,DBS)是指在計算機系統中引入數據庫后的系統。它由計算機硬件、數據庫、數據庫管理系統(及其開發工具)、數據庫應用系統、數據庫用戶構成。1.11.21.31.41.5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB31/T 478.14-2014主要工業產品用水定額及其計算方法第14部分:航天(民品)
- DB31/T 329.7-2019重點單位重要部位安全技術防范系統要求第7部分:城市軌道交通
- DB31/T 329.11-2019重點單位重要部位安全技術防范系統要求第11部分:醫療機構
- DB31/T 1392-2022公園綠地養護質量評價
- DB31/T 1336-2021旅游景區游客體驗和社會美譽度評價規范
- DB31/T 1327-2021電子競技場館運營服務規范
- DB31/T 1038-2017生態公益林主要造林樹種苗木質量分級
- DB31/T 1016-2016郵政普遍服務規范
- DB31/ 765.1-2013重點行業反恐怖防范系統管理規范第1部分:公共供水
- 影視設備行業公共關系服務批發考核試卷
- 物流責任保險大綱
- 《汽車安全駕駛技術》夜間駕駛
- 《植物學》:莖課件
- 產婦入戶訪視培訓課件
- 風濕免疫疾病的心理咨詢和心理療法
- 出國勞務培訓課件
- 《企業安全生產費用提取和使用管理辦法》解讀20231227
- 用工情況說明格式及范文
- 國家開放大學《政治學原理》章節自檢自測題參考答案
- 《裝配式鋼結構界面處理砂漿》
- 瓦哈比派的學習資料
評論
0/150
提交評論