第1章 理解數(shù)據(jù)庫_第1頁
第1章 理解數(shù)據(jù)庫_第2頁
第1章 理解數(shù)據(jù)庫_第3頁
第1章 理解數(shù)據(jù)庫_第4頁
第1章 理解數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩158頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

任課人:cws第1章

理解數(shù)據(jù)庫1.11.21.31.41.5數(shù)據(jù)庫系統(tǒng)應用實例1.圖書館數(shù)據(jù)庫系統(tǒng)的應用一個查詢應用程序界面數(shù)據(jù)庫系統(tǒng)應用實例1.圖書館數(shù)據(jù)庫系統(tǒng)的應用一個應用程序界面查詢結果1.11.21.31.41.5數(shù)據(jù)庫系統(tǒng)應用實例1.圖書館數(shù)據(jù)庫系統(tǒng)的應用圖書館數(shù)據(jù)庫1.11.21.31.41.5數(shù)據(jù)庫系統(tǒng)應用實例韓山圖書館查詢系統(tǒng):1.11.21.31.41.5數(shù)據(jù)庫系統(tǒng)應用實例圖書館數(shù)據(jù)庫系統(tǒng)工作原理用戶通過應用程序輸入查詢條件,應用程序?qū)⒉樵儣l件轉(zhuǎn)換為查詢命令,將該命令發(fā)給DBMS;DBMS根據(jù)接收到的查詢命令從圖書館數(shù)據(jù)庫中取出數(shù)據(jù)返回給應用程序;應用程序按用戶通俗易懂的格式顯示查詢結果。1.11.21.31.41.5數(shù)據(jù)庫系統(tǒng)應用實例概括:(1)數(shù)據(jù)庫由若干張相互關聯(lián)的表格組成。(2)數(shù)據(jù)庫管理系統(tǒng)是一個管理數(shù)據(jù)庫的軟件。(3)數(shù)據(jù)庫系統(tǒng)的組成。1.11.21.31.41.5應用程序應用程序應用程序DBMSDBJAVA源程序代碼SQL語句最常見的數(shù)據(jù)庫應用程序(1)-用戶注冊最常見的數(shù)據(jù)庫應用程序(2)-論壇章節(jié)內(nèi)容1.1什么是數(shù)據(jù)1.2數(shù)據(jù)描述1.3數(shù)據(jù)模型1.4關系代數(shù)(結合第4章)1.5數(shù)據(jù)庫系統(tǒng)的組成和結構161.11.21.31.41.51.1什么是數(shù)據(jù)?本節(jié)概念:信息數(shù)據(jù)數(shù)據(jù)處理1.11.21.31.41.51.1.1信息與數(shù)據(jù)數(shù)據(jù)定義:指存儲在某種介質(zhì)上能夠識別的物理符號,是信息的載體,這些符號可以是數(shù),字符或者其他。數(shù)據(jù)包括:數(shù)值型數(shù)據(jù):是以數(shù)字表示信息;非數(shù)值型數(shù)據(jù):是以符號及其組合來表示信息。例如字符、文字、圖表、圖形、圖像、聲音等均屬于非數(shù)值型數(shù)據(jù)。1.11.21.31.41.51.1.1信息與數(shù)據(jù)數(shù)據(jù)表示:型:指數(shù)據(jù)內(nèi)容存儲在媒體上的具體形式值:指所描述的客觀事物的具體特性例:一個人的身高:這個人的身高有1.8米。信息型數(shù)字字符值1.801米81.11.21.31.41.51.1.1信息與數(shù)據(jù)信息定義:是經(jīng)過加工處理并對人類社會實踐和生產(chǎn)活動產(chǎn)生決策影響的數(shù)據(jù)。是經(jīng)過處理后的數(shù)據(jù),是整理過的數(shù)據(jù)。信息具有實效性,有用性,知識性,是客觀世界的反映。1.11.21.31.41.5信息與數(shù)據(jù)區(qū)別?信息與數(shù)據(jù)之間存在固有的聯(lián)系:數(shù)據(jù)是信息的符號表示或稱為載體;信息則是數(shù)據(jù)的內(nèi)涵,是對數(shù)據(jù)語義的解釋。任何事物的屬性都是通過數(shù)據(jù)來表示的。數(shù)據(jù)經(jīng)過加以處理之后,成為信息。而信息必須通過數(shù)據(jù)才能傳播,才能對人類有影響。1.11.21.31.41.5信息與數(shù)據(jù)區(qū)別?例如:一組數(shù)據(jù)1、3、5、7、9、11、13、15它是一組數(shù)據(jù),如果我們對它進行分析便可以得出它是一組等差數(shù)列,我們可以比較容易地知道后面的數(shù)字,那么它便是一條信息。它是有用的數(shù)據(jù)。又如:數(shù)據(jù)1、3、2、4、5、1、41它不能告訴我們?nèi)魏螙|西,故它不是信息。1.11.21.31.41.51.11.21.31.41.51.1.2數(shù)據(jù)處理數(shù)據(jù)處理定義:是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,也稱信息處理。內(nèi)容:數(shù)據(jù)的收集、組織、整理、存儲、加工、維護、查詢和傳播等一系列活動。目的:從大量的數(shù)據(jù)中,提取有效的信息資源。1.1.2數(shù)據(jù)處理數(shù)據(jù)與信息之間的關系:信息=數(shù)據(jù)+數(shù)據(jù)處理:1.11.21.31.41.51.1.2數(shù)據(jù)處理數(shù)據(jù)處理的工作:數(shù)據(jù)管理它的主要任務是收集信息,將信息用數(shù)據(jù)表示并按類別組織保存。數(shù)據(jù)加工它的主要任務是對數(shù)據(jù)進行變換、抽取和運算。數(shù)據(jù)傳播通過數(shù)據(jù)傳播,信息在空間或時間上以各種形式傳遞。1.11.21.31.41.51.1.2數(shù)據(jù)處理數(shù)據(jù)處理隨著數(shù)據(jù)處理量的增長,產(chǎn)生了數(shù)據(jù)管理技術。

數(shù)據(jù)管理技術的數(shù)據(jù)處理是指從某些已知的數(shù)據(jù)出發(fā),推導加工出一些新的數(shù)據(jù),這些新的數(shù)據(jù)又表示了新的信息。例如,某省全體高考學生各門課程成績的總分按從高到低的順序進行排序、統(tǒng)計各個分數(shù)段的人數(shù)等,進而可以根據(jù)招生人數(shù)確定錄取分數(shù)線。1.11.21.31.41.51.2數(shù)據(jù)描述本節(jié)概念:現(xiàn)實世界信息世界數(shù)據(jù)世界/機器世界1.11.21.31.41.51.2數(shù)據(jù)描述客觀存在的事物轉(zhuǎn)換成數(shù)據(jù)的形式存儲到計算機中,經(jīng)歷了3個領域:現(xiàn)實世界、信息世界和數(shù)據(jù)世界。現(xiàn)實世界事物事物性質(zhì)信息世界實體實體屬性數(shù)據(jù)世界記錄數(shù)據(jù)項1.11.21.31.41.51.2.1現(xiàn)實世界現(xiàn)實世界是存在于人們頭腦之外的客觀世界。例如:學校中有教師、學生、課程,學生選修課程并取得成績,教師為學生授課,并錄入學生的成績存入學生的檔案,即成績管理等;圖書館中有圖書、管理員和讀者,讀者借閱圖書,管理員對圖書和讀者進行管理等。1.11.21.31.41.51.2.2信息世界信息世界是現(xiàn)實世界在人們頭腦中的反映,人們把它用文字或符號記載下來。1.11.21.31.41.51.2.2信息世界在信息世界中,有以下與數(shù)據(jù)庫技術相關的術語:實體屬性碼域?qū)嶓w型實體集聯(lián)系1.11.21.31.41.51.2.2信息世界1.實體客觀存在并且可以相互區(qū)別的事物稱為實體??杀硎荆壕唧w的事物如,一個學生、一本圖書等屬于實際事物抽象的事件如,教師的授課、借閱圖書、比賽等活動是比較抽象的事件——對應一個數(shù)據(jù)庫表的一條記錄。1.11.21.31.41.51.2.2信息世界2.屬性描述實體的特性稱為屬性。一個實體可以用若干個屬性來描述,如學生實體由學號、姓名、性別、出生日期等若干個屬性組成。實體屬性的組成:型:也稱屬性名——例:學生姓名、學號和性別等值:——例:

“張三”、“2008050101”、“女”——對應一個數(shù)據(jù)庫表的字段。1.11.21.31.41.51.2.2信息世界3.碼唯一標識實體的屬性或?qū)傩缘慕M合稱為碼。例:學生的學號是學生實體的碼?!獙粋€數(shù)據(jù)庫表的主鍵。1.11.21.31.41.51.2.2信息世界4.域?qū)傩缘娜≈捣秶Q為該屬性的域。例:學號的域為10位整數(shù)姓名的域為字符串集合年齡的域為小于28的整數(shù)性別的域為男、女1.11.21.31.41.51.2.2信息世界5.實體型用實體名及其屬性名的集合來抽象和刻畫同類實體,稱為實體型。例:學生(學號,姓名,性別,出生日期,系)就是一個實體型?!獙?,數(shù)據(jù)庫的一個表結構1.11.21.31.41.51.2.2信息世界6.實體集同類實體的集合稱為實體集。例:全體學生、一批圖書等?!獙粋€數(shù)據(jù)庫表(包括整個表數(shù)據(jù))。1.11.21.31.41.51.2.2信息世界聯(lián)系在現(xiàn)實世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系在信息世界中反映為實體(型)內(nèi)部的聯(lián)系和實體(型)之間的聯(lián)系。實體間的都存在什么樣的聯(lián)系呢?1.11.21.31.41.51.2.2信息世界聯(lián)系兩個實體型之間的聯(lián)系可以分為3類:一對一聯(lián)系一對多聯(lián)系多對多聯(lián)系1.11.21.31.41.5聯(lián)系分類一對一聯(lián)系如果對于實體集A中的每一個實體,實體集B中至多存在一個實體與之聯(lián)系;反之亦然,則稱實體集A與實體集B之間存在一對一聯(lián)系,記作1∶1。例:班級:班長電影院中觀眾:座位1.11.21.31.41.5聯(lián)系分類一對多聯(lián)系如果對于實體集A中的每一個實體,實體集B中存在多個實體與之聯(lián)系;反之,對于實體集B中的每一個實體,實體集A中至多只存在一個實體與之聯(lián)系,則稱實體集A與實體集B之間存在一對多的聯(lián)系,記作1∶n。例:班級:學生職工:部門1.11.21.31.41.5聯(lián)系分類多對多聯(lián)系如果對于實體集A中的每一個實體,實體集B中存在多個實體與之聯(lián)系;反之,對于實體集B中的每一個實體,實體集A中也存在多個實體與之聯(lián)系,則稱實體集A與實體集B之間存在多對多聯(lián)系,記作m∶n。例:學生:課程藥廠:藥品1.11.21.31.41.5聯(lián)系分類例如:(a)1∶1聯(lián)系(b)1∶n聯(lián)系(c)m∶n聯(lián)系1.11.21.31.41.5聯(lián)系分類兩個以上的實體集之間也存在著一對一、一對多、多對多的聯(lián)系。1.11.21.31.41.5聯(lián)系分類同一實體集內(nèi)部的各實體也可以存在一對一、一對多、多對多的聯(lián)系。1.11.21.31.41.51.2.3數(shù)據(jù)世界數(shù)據(jù)世界,又稱機器世界。信息世界的信息在機器世界中以數(shù)據(jù)形式存儲。實體→記錄實體的屬性→數(shù)據(jù)項(又稱字段)現(xiàn)實世界中的事物及其聯(lián)系→數(shù)據(jù)模型1.11.21.31.41.51.2.2信息世界現(xiàn)實世界中客觀對象的抽象過程1.11.21.31.41.51.3數(shù)據(jù)模型數(shù)據(jù)模型對現(xiàn)實世界數(shù)據(jù)特征進行抽象,來描述數(shù)據(jù)庫的結構與語義。理解本節(jié)概念:數(shù)據(jù)模型概念模型關系模型關系模型的完整性約束1.11.21.31.41.51.3.1數(shù)據(jù)模型的分類1.概念數(shù)據(jù)模型簡稱為概念模型,表示實體類型和實體間的聯(lián)系,獨立于計算機系統(tǒng)模型。用于建立信息世界的數(shù)據(jù)模型,強調(diào)其語義表達功能,要求概念簡單、清晰,易于用戶理解是現(xiàn)實世界的第一層抽象;是用戶和數(shù)據(jù)庫設計人員之間進行交流的工具。2.結構數(shù)據(jù)模型簡稱為數(shù)據(jù)模型,涉及計算機系統(tǒng)和DBMS的模型,例如層次模型、網(wǎng)狀模型、關系模型等。它是直接面向數(shù)據(jù)庫的邏輯結構是現(xiàn)實世界的第二層抽象數(shù)據(jù)模型有嚴格的形式化定義,以便于在計算機系統(tǒng)中實現(xiàn)。1.11.21.31.41.51.11.21.31.41.51.3數(shù)據(jù)模型概念模型的表示方法概念模型的表示方法很多,其中最為著名和使用最為廣泛的是P.P.Chen于1976年提出的E-R(Entity-Relationship)模型。1.3數(shù)據(jù)模型E-R模型主要成分是實體、聯(lián)系和屬性。E-R模型的圖形表示稱為E-R圖,設計E-R圖的方法稱為E-R方法。E-R模型的概念設計,分為3步:首先設計局部E-R模型;然后把各個局部E-R模型綜合成一個全局E-R模型最后對全局E-R模型進行優(yōu)化,得到最終的E-R模型。1.11.21.31.41.51.3數(shù)據(jù)模型E-R圖通用的表示方式如下(以班級和學生關系為例):用矩形框表示實體型,框內(nèi)標上實體名。用橢圓形框表示實體的屬性,并用無向邊把實體和屬性連接起來。用菱形框表示實體間的聯(lián)系,框內(nèi)標上聯(lián)系名用無向邊分別把菱形框與有關實體連接起來,在無向邊旁注明聯(lián)系的類型。若聯(lián)系也有屬性,則把屬性和菱形框也用無向邊連接起來。1.11.21.31.41.51.3數(shù)據(jù)模型班級與學生的E-R圖1.11.21.31.41.51.3數(shù)據(jù)模型課程與學生的E-R圖1.11.21.31.41.51.3數(shù)據(jù)模型E-R模型有兩個明顯的優(yōu)點:接近于人的思維,容易理解與計算機無關,用戶容易接受。1.11.21.31.41.51.3.1數(shù)據(jù)模型的分類1.概念數(shù)據(jù)模型簡稱為概念模型,表示實體類型和實體間的聯(lián)系,獨立于計算機系統(tǒng)模型。用于建立信息世界的數(shù)據(jù)模型,強調(diào)其語義表達功能,要求概念簡單、清晰,易于用戶理解是現(xiàn)實世界的第一層抽象;是用戶和數(shù)據(jù)庫設計人員之間進行交流的工具。2.結構數(shù)據(jù)模型簡稱為數(shù)據(jù)模型,涉及計算機系統(tǒng)和DBMS的模型,例如層次模型、網(wǎng)狀模型、關系模型等。它是直接面向數(shù)據(jù)庫的邏輯結構是現(xiàn)實世界的第二層抽象數(shù)據(jù)模型有嚴格的形式化定義,以便于在計算機系統(tǒng)中實現(xiàn)。1.11.21.31.41.51.3.3數(shù)據(jù)模型的要素和種類數(shù)據(jù)模型是嚴格定義的一組概念的集合,這些概念精確地描述了系統(tǒng)的靜態(tài)特征(數(shù)據(jù)結構)、動態(tài)特征(數(shù)據(jù)操作)和數(shù)據(jù)約束條件,這是數(shù)據(jù)模型的三要素。數(shù)據(jù)結構數(shù)據(jù)操作數(shù)據(jù)約束條件1.11.21.31.41.5數(shù)據(jù)模型的三要素1)數(shù)據(jù)結構是所研究的對象類型的集合,這些對象是數(shù)據(jù)庫的組成部分;包括兩個方面:數(shù)據(jù)本身:數(shù)據(jù)的類型、內(nèi)容和性質(zhì)等。例如關系模型中的域、屬性、關系等。數(shù)據(jù)之間的聯(lián)系:數(shù)據(jù)之間是如何相互關聯(lián)的。例如關系模型中的主碼、外碼聯(lián)系等。1.11.21.31.41.5數(shù)據(jù)模型的三要素2)數(shù)據(jù)操作數(shù)據(jù)操作是對數(shù)據(jù)庫中的各種對象(型)的實例(值)允許執(zhí)行的操作集合。數(shù)據(jù)操作包括操作對象及有關的操作規(guī)則,主要有檢索和更新(包括插入、刪除和修改)兩類。1.11.21.31.41.5數(shù)據(jù)模型的三要素3)數(shù)據(jù)約束條件數(shù)據(jù)約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是給定數(shù)據(jù)模型中的數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。1.11.21.31.41.5常見的數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的一個關鍵概念,數(shù)據(jù)模型不同,相應的數(shù)據(jù)庫系統(tǒng)就完全不同,任何一個數(shù)據(jù)庫管理系統(tǒng)都是基于某種數(shù)據(jù)模型的。目前數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型分為4種:層次模型、網(wǎng)狀模型、關系模型和關系對象模型。關系模型結構簡單,數(shù)據(jù)之間的關系容易實現(xiàn),因此關系模型是目前廣泛使用的數(shù)據(jù)模型,并且關系數(shù)據(jù)庫也是目前流行的數(shù)據(jù)庫。1.11.21.31.41.51.3.4關系模型關系模型是目前最重要的一種數(shù)據(jù)模型,關系數(shù)據(jù)庫系統(tǒng)采用關系模型作為數(shù)據(jù)的組織方式。關系模型是在20世紀70年代初由美國IBM公司的E.F.Codd提出的,為數(shù)據(jù)庫技術的發(fā)展奠定了理論基礎。由于E.F.Codd的杰出工作,他于1981年獲得ACM圖靈獎。1.11.21.31.41.51.3.4關系模型關系模型的數(shù)據(jù)結構關系模型與以往的模型不同,它是建立在嚴格的數(shù)據(jù)概念基礎上的。關系模型中數(shù)據(jù)的邏輯結構是一張二維表,它由行和列組成。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關系模型的術語元組(記錄)關系表中的每行對應一個元組,組成元組的元素稱為分量。數(shù)據(jù)庫中的一個實體或?qū)嶓w之間的一個聯(lián)系均使用一個元組來表示。學號姓名年齡性別所在系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關系模型的術語域?qū)傩缘娜≈捣秶?。?性別屬性的域是“男”、“女”大學生的年齡屬性域可以設置為10~30等。學號姓名年齡性別所在系2007X1201李小雙18女信息系2007D1204張小玉20女電子系2007J1206王大鵬19男計算機系……………1.11.21.31.41.5關系模型的術語分量元組中的一個屬性值。如:“李小雙”“男”學號姓名年齡性別所在系2007X1201李小雙18女信息系2007D1204張小玉20女電子系2007J1206王大鵬19男計算機系……………1.3數(shù)據(jù)模型候選碼(碼)若關系中的某一屬性或?qū)傩越M的值能唯一標識一個元組,則稱該屬性或?qū)傩越M為候選碼。學號姓名年齡性別所在系2007X1201李小雙18女信息系2007D1204張小玉20女電子系2007J1206王大鵬19男計算機系……………1.11.21.31.41.51.3數(shù)據(jù)模型主碼/主鍵若一個關系中有多個候選碼,則選定其中一個為主碼。學號姓名年齡性別所在系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(xiàn))。其中:R為關系名;U為組成該關系的屬性的集合;D為屬性組U中的屬性所來自的域;Dom為屬性向域的映像集合;F為屬性間數(shù)據(jù)依賴關系的集合。1.11.21.31.41.5關系模型的術語關系模式關系模式通常可以簡記為R(U)或R(A1,A2,…,An)。其中R為關系名,A1,A2,…,An為屬性名。而域名及屬性向域的映像常直接稱為屬性的類型及長度。例如,關系學生學籍表的關系模式可以表示為:學生學籍表(學號,姓名,年齡,性別,所在系)。1.11.21.31.41.5關系模型的術語關系模式在一個給定的應用領域中,所有實體及實體間的聯(lián)系的集合就構成一個關系數(shù)據(jù)庫。1.11.21.31.41.5關系的性質(zhì)(1)同一屬性的數(shù)據(jù)具有同質(zhì)性即每一列中的分量是同一類型的數(shù)據(jù),它們來自同一個域。(2)同一關系的屬性名具有不可重復性即同一關系中不同屬性的數(shù)據(jù)可出自同一個域,但不同的屬性要給予不同的屬性名。(3)關系中列的位置具有順序無關性即列的次序可以任意交換、重新組織。1.11.21.31.41.5關系的性質(zhì)(4)關系具有元組無冗余性即關系中的任意兩個元組不能完全相同。(5)關系中元組的位置具有順序無關性即元組的順序可以任意交換。(6)關系中每個分量必須取原子值即每個分量都必須是不可分的數(shù)據(jù)項。1.11.21.31.41.5關系的性質(zhì)規(guī)范化的關系簡稱范式;例如:1.11.21.31.41.51.3.5關系的完整性關系模型中允許定義3類完整性約束:實體完整性參照完整性用戶自定義的完整性其中實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,稱為兩個不變性,應該由關系系統(tǒng)自動支持;用戶自定義的完整性是應用領域需要遵循的約束條件,體現(xiàn)了具體領域中的語義約束。1.11.21.31.41.5實體完整性規(guī)則1.1實體完整性規(guī)則若屬性A是基本關系R的主屬性,則屬性A不能取空值。例如學生關系“學生(學號,姓名,性別,專業(yè)號,年齡)”“學號”為主碼,則“學號”不能取空值。1.11.21.31.41.5實體完整性實體完整性規(guī)則規(guī)定基本關系的所有主屬性都不能取空值,而不僅是指主碼不能取空值。例如,學生選課關系“選修(學號,課程號,成績)”,“學號、課程號”為候選碼,則“學號”和“課程號”兩個屬性都不能取空值。1.11.21.31.41.5實體完整性對于實體完整性規(guī)則說明如下。(1)實體完整性規(guī)則是針對基本關系而言的。一個基本表通常對應信息世界的一個實體集,例如學生關系對應于學生的集合。(2)信息世界中的實體是可區(qū)分的,即它們具有某種唯一性標識。(3)關系模型中以主碼作為唯一性標識。(4)主碼中的屬性即主屬性不能取空值。所謂空值就是“不知道”或“不確定”的值1.11.21.31.41.5參照完整性【例1-1】學生關系和專業(yè)關系表示如下,其中主碼用下劃線標識。學生(學號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)結論:關系中某個屬性的取值需要參照其他關系的屬性來取值。1.11.21.31.41.5參照完整性【例1-2】學生、課程、學生與課程之間的多對多聯(lián)系選修可以用如下3個關系表示。學生(學號,姓名,性別,專業(yè)號,年齡)課程(課程號,課程名,學分)選修(學號,課程號,成績)結論:關系中某些屬性的取值需要參照其他關系的屬性來取值1.11.21.31.41.5參照完整性【例1-3】關系:學生(學號,姓名,性別,專業(yè)號,年齡,班長)結論:同一個關系內(nèi)部某些屬性間也可能存在引用關系。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】學生(學號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)“專業(yè)號”是學生關系的外碼,專業(yè)關系是被參照關系,學生關系是參照關系。1.11.21.31.41.5參照完整性【例1-2】學生(學號,姓名,性別,專業(yè)號,年齡)課程(課程號,課程名,學分)選修(學號,課程號,成績)“學號”和“課程號”是選修關系的外碼,學生關系和課程關系是被參照關系,選修關系是參照關系。1.11.21.31.41.5參照完整性【例1-3】關系:學生(學號,姓名,性別,專業(yè)號,年齡,班長)“班長”是外碼,學生關系既是被參照關系,也是參照關系。1.11.21.31.41.5參照完整性規(guī)則2.2參照完整性規(guī)則:若屬性(或?qū)傩越M)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S有可能是同一關系),則對于R中每個元組在F上的值必須為以下值之一。(1)取空值(F的每個屬性值均為空值)。(2)或者等于S中某個元組的主碼值。1.11.21.31.41.5參照完整性【例1-1】學生(學號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)“專業(yè)號”只能取以下兩類值:空值,表示尚未給該學生分配專業(yè);非空值,其值必須是專業(yè)關系中某個元組的“專業(yè)號”值;1.11.21.31.41.5用戶自定義的完整性用戶自定義的完整性就是針對某一具體關系數(shù)據(jù)庫的約束條件,它反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。例如,某個屬性必須取唯一值、屬性值之間應滿足一定的函數(shù)關系、某屬性的取值范圍在0~100之間等。例如,性別只能取“男”或“女”;學生的成績必須在0~100之間。1.11.21.31.41.51.4關系代數(shù)理解概念什么是關系代數(shù)傳統(tǒng)的集合運算關系的選擇、投影及連接操作1.11.21.31.41.51.4關系代數(shù)關系代數(shù)是一種抽象的查詢語言,是關系數(shù)據(jù)操縱語言的一種傳統(tǒng)表達方式,它用關系的運算來表達查詢。運算的三大要素:運算對象運算符運算結果關系代數(shù):關系集合運算符專門的關系運算符比較運算符邏輯運算符關系1.11.21.31.41.51.4關系代數(shù)關系代數(shù)運算符運算符含義運算符含義集合運算符∪-∩×并差交廣義笛卡兒積比較運算符>≥<≤=≠大于大于等于小于小于等于等于不等于專門的關系運算符σπ∞÷選擇投影連接除邏輯運算符∧∨非與或

1.11.21.31.41.51.4關系代數(shù)關系代數(shù)的運算按運算符的不同可分為:傳統(tǒng)的集合運算并、交、差、廣義笛卡爾積專門的關系運算選擇、投影、連接、除等1.11.21.31.41.51.4.1傳統(tǒng)的集合運算傳統(tǒng)的集合運算是二目運算,包括并交差廣義笛卡兒積設關系R和關系S具有相同的目n(即兩個關系都具有n個屬性),且相應的屬性取自同一個域,則可以定義并、差、交運算如下:1.11.21.31.41.51.4.1傳統(tǒng)的集合運算1.并(Union)關系R與關系S的并記作:

R∪S={t│tRtS},t是元組變量。其結果關系仍為n目關系,由屬于R或?qū)儆赟的元組組成。1.11.21.31.41.51.4.1傳統(tǒng)的集合運算1.并(Union)ABCa1b1c1a1b2c2a2b2c1a1b3c2

R∪SABCABCa1b1c1a1b2c2a1b2c2a1b3c2a2b2c1a2b2c11.11.21.31.41.51.4.1傳統(tǒng)的集合運算2.差(Difference)關系R與關系S的差記作:R-S={t│tRt

S},t是元組變量。其結果關系仍為n目關系,由屬于R而不屬于S的所有元組組成。1.11.21.31.41.51.4.1傳統(tǒng)的集合運算2.差(Difference)

R-SABCa1b1c1ABCABCa1b1c1a1b2c2a1b2c2a1b3c2a2b2c1a2b2c11.11.21.31.41.51.4.1傳統(tǒng)的集合運算3.交(Intersection)關系R與關系S的交記作:R∩S={t│tRtS},t是元組變量其結果關系仍為n目關系,由既屬于R又屬于S的元組組成。1.11.21.31.41.51.4.1傳統(tǒng)的集合運算3.交(Intersection)

R∩SABCa1b2c2a2b2c1ABCABCa1b1c1a1b2c2a1b2c2a1b3c2a2b2c1a2b2c11.11.21.31.41.51.4.1傳統(tǒng)的集合運算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傳統(tǒng)的集合運算

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(xiàn)表示選擇條件,它是一個邏輯表達式,取邏輯值為“真”或“假”。選擇運算實際上是從關系R中選取使邏輯表達式F為真的元組,這是從行的角度進行的運算。1.11.21.31.41.5選擇邏輯表達式F的基本形式為:

X1θY1[ΦX2θY2ΦX3θY3…]其中,θ表示比較運算符,它可以是>、、<、、=或≠;X1、Y1是屬性名、常量或簡單函數(shù),屬性名也可以用它的序號(如1,2,…)來代替;Φ表示邏輯運算符,它可以是(非)、∧(與)或∨(或);[]表示任選項,即[]中的部分可要可不要;…表示上述格式可以重復下去。1.11.21.31.41.5選擇設有一個學生-課程數(shù)據(jù)庫,它包括以下內(nèi)容。其關系模式如下。Student(sno,sname,ssex,sage,sdept)Course(cno,cname)Score(sno,cno,degree)1.11.21.31.41.5選擇【例1.4】查詢數(shù)學系學生的信息,如下。σSdept='數(shù)學系'(Student)或σ5='數(shù)學系'(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中的屬性列。投影操作是從列的角度進行的運算。投影之后不僅取消了原關系中的某些列,而且還可能取消某些元組,因為取消了某些屬性列后,就可能出現(xiàn)重復元組,關系操作將自動取消相同的元組。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上數(shù)目相等且可比的屬性組,θ是比較運算符。連接運算是從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可以為單個屬性或?qū)傩越M,關系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的聯(lián)系RS中,找出與S中所有的元組有關系的R元組”。1.4.2專門的關系運算關系代數(shù)操作舉例(強化訓練)在關系代數(shù)中,關系代數(shù)運算經(jīng)過有限次復合后形成的式子稱為關系代數(shù)表達式。對關系數(shù)據(jù)庫中數(shù)據(jù)的查詢操作可以寫成一個關系代數(shù)表達式,或者說,寫成一個關系代數(shù)表達式就表示已經(jīng)完成了查詢操作。1.11.21.31.41.5關系代數(shù)操作舉例設學生-課程數(shù)據(jù)庫中有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關系代數(shù)操作舉例設學生-課程數(shù)據(jù)庫中有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關系代數(shù)操作舉例設學生-課程數(shù)據(jù)庫中有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關系代數(shù)操作舉例設學生-課程數(shù)據(jù)庫中有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關系代數(shù)操作舉例設學生-課程數(shù)據(jù)庫中有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關系代數(shù)操作舉例設學生-課程數(shù)據(jù)庫中有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關系代數(shù)操作舉例設學生-課程數(shù)據(jù)庫中有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數(shù)據(jù)庫系統(tǒng)的組成和結構本節(jié)任務數(shù)據(jù)庫相關概念數(shù)據(jù)庫系統(tǒng)的體系結構1.11.21.31.41.51.5.1數(shù)據(jù)庫相關概念1.數(shù)據(jù)庫數(shù)據(jù)庫(DataBase,DB)是一個有結構的、集成的、可共享的統(tǒng)一管理的數(shù)據(jù)集合。它不僅包括數(shù)據(jù)本身,而且包括相關數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)庫技術主要研究如何存儲、使用和管理數(shù)據(jù)。1.11.21.31.41.51.5.1數(shù)據(jù)庫相關概念1.數(shù)據(jù)庫所謂有結構的,指的是數(shù)據(jù)是按一定的模型組織起來的。數(shù)據(jù)模型可用數(shù)據(jù)結構來描述。數(shù)據(jù)模型決定數(shù)據(jù)的組織方式、操作方法。理解數(shù)據(jù)庫的前提是理解數(shù)據(jù)模型?,F(xiàn)在的數(shù)據(jù)庫多數(shù)是以關系模型來組織數(shù)據(jù)的??梢院唵蔚匕殃P系模型的數(shù)據(jù)結構-關系理解成為一張二維表。1.11.21.31.41.51.5.1數(shù)據(jù)庫相關概念1.數(shù)據(jù)庫所謂集成的,是指數(shù)據(jù)庫中集中存放著企業(yè)各種各樣的數(shù)據(jù)。集中存放的好處是:一個數(shù)據(jù)只需一個備份,重復存儲少,即消除了數(shù)據(jù)的冗余。沒有數(shù)據(jù)冗余,也就能保證數(shù)據(jù)的一致。1.11.21.31.41.51.5.1數(shù)據(jù)庫相關概念1.數(shù)據(jù)庫所謂共享,指的是數(shù)據(jù)庫中的數(shù)據(jù)可以被不同的用戶使用。也就是說,每一個用戶可以按自己的要求訪問相同的數(shù)據(jù)庫。所謂統(tǒng)一管理的,指的是數(shù)據(jù)庫由DBMS統(tǒng)一管理,任何數(shù)據(jù)訪問都是通過DBMS來完成的。1.11.21.31.41.51.5.1數(shù)據(jù)庫相關概念2.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)是位于用戶與操作系統(tǒng)(OS)之間的一層數(shù)據(jù)管理軟件,它為用戶或應用程序提供訪問數(shù)據(jù)庫的方法,包括數(shù)據(jù)庫的創(chuàng)建、查詢、更新及各種數(shù)據(jù)控制,它是數(shù)據(jù)庫系統(tǒng)的核心。1.11.21.31.41.51.5.1數(shù)據(jù)庫相關概念2.數(shù)據(jù)庫管理系統(tǒng)所有訪問數(shù)據(jù)庫的請求都由DBMS來完成的。DBMS提供了操作數(shù)據(jù)庫的許多命令(語言),即SQL語言。1.11.21.31.41.51.5.1數(shù)據(jù)庫相關概念2.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)一般由計算機軟件公司提供,目前比較流行的DBMS有VisualFoxPro、Access、Sybase、SQLServer、Oracle等。1.11.21.31.41.51.5.1數(shù)據(jù)庫相關概念3.數(shù)據(jù)庫應用系統(tǒng)凡使用數(shù)據(jù)庫技術管理其數(shù)據(jù)的系統(tǒng)都稱為數(shù)據(jù)庫應用系統(tǒng)(DataBaseApplicationSystem)。應用程序是用戶與數(shù)據(jù)庫之間的橋梁。應用程序與DBMS交互,DBMS訪問DB。數(shù)據(jù)庫應用系統(tǒng)可以用于事務管理、計算機輔助設計、計算機圖形分析和處理及人工智能等系統(tǒng)中。1.11.21.31.41.51.5.1數(shù)據(jù)庫相關概念4.數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)。它由計算機硬件、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、數(shù)據(jù)庫應用系統(tǒng)、數(shù)據(jù)庫用戶構成。1.11.21.31.41.5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論