




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、North China Electric Power University教案院系:經(jīng)濟管理系教研室:信管教師:數(shù)據(jù)庫原理及應(yīng)用課程教案課程名稱數(shù)據(jù)庫原理及應(yīng)用課程學(xué)分3課程屬性必修課(V )專業(yè)選修課()校定公共選修課()課程總學(xué) 時48學(xué)時其中:講課:32學(xué)時實驗:16學(xué)時先修課程信息技術(shù)基礎(chǔ)授課專業(yè)、 班級經(jīng)管系工商、信管、經(jīng)濟學(xué)、會計、工程造價各專業(yè)主要教材教材名稱出版社作者出版時間Visual FoxPro 程序設(shè)計教程(第二版)北京郵電大學(xué)出版社劉衛(wèi)國2006教材名稱出版社作者出版時間數(shù)據(jù)庫系統(tǒng)概論(第 三版)高等教育出版社王珊,薩師 煊2006教學(xué)目的 及要求教學(xué)目標:本章主要介
2、紹數(shù)據(jù)庫原理部分,通過課程學(xué)習,要求學(xué)生能夠達到以下 目標:1. 掌握數(shù)據(jù)庫系統(tǒng)基本概念2. 了解數(shù)據(jù)庫系統(tǒng)的產(chǎn)生與發(fā)展狀況3. 掌握關(guān)系數(shù)據(jù)模型的概念等熟練掌握關(guān)系數(shù)據(jù)模型和關(guān)系數(shù)據(jù)庫的設(shè)計方法。重點難點:本章主要講述數(shù)據(jù)庫原理部分,其中關(guān)系數(shù)據(jù)庫作為目前數(shù)據(jù)庫的主 流,它的相關(guān)概念和關(guān)系運算以及關(guān)系數(shù)據(jù)庫的設(shè)計是本章的重點和難點部 分。解決方法:對關(guān)系數(shù)據(jù)庫的概念和關(guān)系運算以及關(guān)系數(shù)據(jù)庫的設(shè)計部分,講解要以具體實例為主,通過具體的二維表來介紹相關(guān)概念和它的具體運算過程。使 學(xué)生有直觀的感受,從而掌握住關(guān)系的概念和運算,為以后的學(xué)習打下基礎(chǔ)。 教學(xué)方法和手段:先演示實例一,讓學(xué)生在課程開始建
3、立總體感性認識。教學(xué)方法:任務(wù)驅(qū)動和啟發(fā)式結(jié)合。手段:多媒體教學(xué)、實例演示、板書 講授學(xué)時:6學(xué)時注:表中()選項請打“V”第一章 數(shù)據(jù)庫系統(tǒng)概述 教學(xué)目的與要求 通過課程學(xué)習, 要求學(xué)生了解數(shù)據(jù)庫系統(tǒng)的產(chǎn)生與發(fā)展狀況, 掌握數(shù)據(jù)庫系統(tǒng)基本概念, 了解數(shù)據(jù)模型,熟練掌握關(guān)系數(shù)據(jù)模型和關(guān)系數(shù)據(jù)庫的設(shè)計方法。 教學(xué)內(nèi)容 數(shù)據(jù)庫系統(tǒng)產(chǎn)生和發(fā)展狀況, 計算機數(shù)據(jù)管理管理方法的四個階段; 數(shù)據(jù)庫和數(shù)據(jù)庫系 統(tǒng)的基本概念; 數(shù)據(jù)庫管理系統(tǒng)和應(yīng)用系統(tǒng); 三種數(shù)據(jù)模型層次模型、 網(wǎng)狀模型和關(guān)系模型 的概念,關(guān)系模型中的相關(guān)概念;關(guān)系數(shù)據(jù)庫的設(shè)計方法。 教學(xué)重點與難點 關(guān)系數(shù)據(jù)庫的概念和關(guān)系運算;關(guān)系數(shù)據(jù)庫的設(shè)
4、計方法。現(xiàn)在數(shù)據(jù)庫已是每一項業(yè)務(wù)的基礎(chǔ)。 數(shù)據(jù)庫被應(yīng)用于維護商業(yè)內(nèi)部記錄, 在萬維網(wǎng)上為 顧客和客戶顯示數(shù)據(jù), 以及支持很多其它商業(yè)處理。 數(shù)據(jù)庫同樣出現(xiàn)在很多科學(xué)研究的核心 中, 天文學(xué)家、 地理學(xué)家以及其他很多科學(xué)家搜集的數(shù)據(jù)也是用數(shù)據(jù)庫表示的。 數(shù)據(jù)庫也用 在企業(yè)、行政部門。因此,數(shù)據(jù)庫技術(shù)已成為當今計算機信息系統(tǒng)的核心技術(shù),是計算機技 術(shù)和應(yīng)用發(fā)展的基礎(chǔ)。經(jīng)過 40 多年的發(fā)展,它已形成了較為完整的理論體系和實用技術(shù)。本章主要介紹數(shù)據(jù)庫技術(shù)的發(fā)展和數(shù)據(jù)庫系統(tǒng)涉及的最基本、 最重要的概念, 包括數(shù)據(jù) 管理技術(shù)的發(fā)展、數(shù)據(jù)模型、關(guān)系數(shù)據(jù)庫、數(shù)據(jù)庫設(shè)計。1.1 數(shù)據(jù)管理技術(shù)的發(fā)展隨著計算機硬
5、件和軟件的發(fā)展, 計算機數(shù)據(jù)管理方法至今大致經(jīng)歷了四個階段: 人工管 理階段、文件系統(tǒng)階段、數(shù)據(jù)庫系統(tǒng)階段和高級數(shù)據(jù)庫階段。1.1.1 人工管理階段在人工管理階段( 20 世紀 50 年代中期以前) ,計算機主要用于科學(xué)計算,其他工作還 沒有展開。外部存儲器只有磁帶、卡片和紙帶等,還沒有磁盤等字節(jié)存取存儲設(shè)備。軟件只 有匯編語言, 沒有操作系統(tǒng)和管理數(shù)據(jù)的軟件, 尚無數(shù)據(jù)管理方面的軟件。 數(shù)據(jù)處理的方式 基本上是批處理。這個階段數(shù)據(jù)管理的特點如下: 數(shù)據(jù)不保存因為該階段計算機主要應(yīng)用于科學(xué)計算, 對于數(shù)據(jù)保存的需求尚不迫切, 只是在計算某 一課題時將數(shù)據(jù)輸入,完成后得到結(jié)果,因此無需保存數(shù)據(jù)。
6、 系統(tǒng)沒有專用的軟件對數(shù)據(jù)進行管理 數(shù)據(jù)需要由應(yīng)用程序自己管理,沒有相應(yīng)的軟件系統(tǒng)負責數(shù)據(jù)的管理工作。 數(shù)據(jù)不共享數(shù)據(jù)是面向程序的,一組數(shù)據(jù)只能對應(yīng)一個程序。多個應(yīng)用程序涉及某些相同的數(shù)據(jù)時, 也必須各自定義, 因此程序之間有大量的冗余數(shù) 據(jù)。 數(shù)據(jù)不具有獨立性 程序依賴于數(shù)據(jù),如果數(shù)據(jù)的類型、格式、或輸入輸出方式等邏輯結(jié)構(gòu)或物理結(jié)構(gòu)發(fā) 生變化,必須對應(yīng)用程序做出相應(yīng)的修改。在人工管理階段,程序與數(shù)據(jù)之間的關(guān)系可用圖1-1表示。怪11-1人工管理階段1.1.2文件系統(tǒng)階段從20世紀50年代后期到60年代中期,計算機不僅用于科學(xué)計算,還大量應(yīng)用于信息 管理。大量的數(shù)據(jù)存儲、檢索和維護成為緊迫的需
7、求。在硬件方面,有了磁盤、磁鼓等直接 存儲設(shè)備;在軟件方面,出現(xiàn)了高級語言和操作系統(tǒng),且操作系統(tǒng)中有了專門管理數(shù)據(jù)的軟件,一般稱之為文件系統(tǒng);在處理方式方面,不僅有批處理,也有聯(lián)機實時處理。用文件系統(tǒng)管理數(shù)據(jù)的特點如下:數(shù)據(jù)以文件形式可長期保存下來由于計算機大量用于數(shù)據(jù)處理,數(shù)據(jù)需要長期保存在輔存上,以便用戶可隨時對文件進 行查詢、修改和增刪等處理。文件系統(tǒng)可對數(shù)據(jù)的存取進行管理有專門的軟件即文件系統(tǒng)進行數(shù)據(jù)管理,文件系統(tǒng)把數(shù)據(jù)組織成相互獨立的數(shù)據(jù)文件, 利用“按名訪問,按記錄存取”的管理技術(shù),對文件進行修改、插入和刪除的操作。因此, 程序員只與文件名打交道,不必明確數(shù)據(jù)的物理存儲,大大減輕了
8、程序員的負擔。文件組織多樣化有順序文件、鏈接文件、索引文件等,因而對文件的記錄可順序訪問,也可隨機訪問,更 便于存儲和查找數(shù)據(jù)。但文件之間相互獨立、缺乏聯(lián)系。數(shù)據(jù)之間的聯(lián)系要通過程序去構(gòu)造。程序與數(shù)據(jù)之間有一定獨立性由專門的軟件即文件系統(tǒng)進行數(shù)據(jù)管理,程序和數(shù)據(jù)之間由軟件提供的存取方法進行轉(zhuǎn)換,數(shù)據(jù)存儲發(fā)生變化不一定影響程序的運行,既可大大節(jié)省維護的工作量,又可減輕程序員的負擔。與人工管理階段相比,文件系統(tǒng)階段對數(shù)據(jù)的管理有了很大的進步,但一些根本性問題仍沒有徹底解決,主要表現(xiàn)在以下三方面:數(shù)據(jù)冗余度大數(shù)據(jù)獨立性差數(shù)據(jù)一致性差由于相同數(shù)據(jù)的重復(fù)存儲、各自管理,在進行更新操作時,容易造成數(shù)據(jù)的不
9、一致性。在文件系統(tǒng)階段,程序與數(shù)據(jù)之間的關(guān)系可用圖1-2表示。1.1.3數(shù)據(jù)庫系統(tǒng)階段20世紀60年代后期,計算機硬件、軟件有了進一步的發(fā)展。 計算機應(yīng)用于管理的規(guī)模更 加龐大,數(shù)據(jù)量急劇增加;硬件方面出現(xiàn)了大容量磁盤,使計算機聯(lián)機存取大量數(shù)據(jù)成為可 能;硬件價格下降,而軟件價格上升,使開發(fā)和維護系統(tǒng)軟件的成本增加。文件系統(tǒng)的數(shù)據(jù) 管理方法已無法適應(yīng)開發(fā)應(yīng)用系統(tǒng)的需要。為解決多用戶、多個應(yīng)用程序共享數(shù)據(jù)的需求, 出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng),即數(shù)據(jù)庫管理系統(tǒng)。用數(shù)據(jù)庫系統(tǒng)來管理數(shù)據(jù)比文件 系統(tǒng)具有明顯的優(yōu)點,從文件系統(tǒng)到數(shù)據(jù)庫系統(tǒng),標志著數(shù)據(jù)管理技術(shù)的飛躍。數(shù)據(jù)庫系統(tǒng)管理數(shù)據(jù)的特點如下:數(shù)
10、據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫與文件系統(tǒng)的根本區(qū)別。有了數(shù)據(jù)庫管理系統(tǒng)后, 數(shù)據(jù)庫中的任何數(shù)據(jù)都不屬于任何應(yīng)用。數(shù)據(jù)是公共的,結(jié)構(gòu)是全面的。它是在對整個組織的各種應(yīng)用(包括將來可能的應(yīng)用)進行全局考慮后建立起來的總的數(shù)據(jù)結(jié)構(gòu)。它是按照某種數(shù)據(jù)模型,將全組織的各種數(shù)據(jù)組織到一個結(jié)構(gòu)化的數(shù)據(jù)庫 中,整個組織的數(shù)據(jù)不是一盤散沙,可表示出數(shù)據(jù)之間的有機關(guān)聯(lián)。【例1.2】要建立學(xué)生成績管理系統(tǒng), 系統(tǒng)包含學(xué)生(學(xué)號、姓名、性別、系別、年齡)、 課程(課程號、課程名)、成績(學(xué)號、課程號、成績)等數(shù)據(jù),分別對應(yīng)三個文件。若采用文件處理方式,因為文件系統(tǒng)只表示記錄內(nèi)部的聯(lián)系,而不涉及不同文件記錄之間的聯(lián)系,要想
11、查找某個學(xué)生的學(xué)號、姓名、所選課程的名稱和成績,必須編寫一段不很簡 單的程序來實現(xiàn)。而采用數(shù)據(jù)庫方式, 數(shù)據(jù)庫系統(tǒng)不僅描述數(shù)據(jù)本身,還描述數(shù)據(jù)之間的聯(lián)系,上述查詢可以非常容易地聯(lián)機查到。數(shù)據(jù)共享性高、冗余少,易擴充數(shù)據(jù)庫系統(tǒng)從全局角度看待和描述數(shù)據(jù),數(shù)據(jù)不再面向某個應(yīng)用程序而是面向整個系 統(tǒng),因此數(shù)據(jù)可以被多個用戶、多個應(yīng)用共享使用。這樣便減少了不必要的數(shù)據(jù)冗余,節(jié)約 存儲空間,同時也避免了數(shù)據(jù)之間的不相容性與不一致性。由于數(shù)據(jù)面向整個系統(tǒng),是有結(jié)構(gòu)的數(shù)據(jù),不僅可被多個應(yīng)用共享使用,而且容易增加 新的應(yīng)用,這就使得數(shù)據(jù)庫系統(tǒng)彈性大,易于擴充,可以適應(yīng)各種用戶的要求。數(shù)據(jù)獨立性高數(shù)據(jù)的獨立性是指
12、數(shù)據(jù)的邏輯獨立性和數(shù)據(jù)的物理獨立性。數(shù)據(jù)的邏輯獨立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的,即當數(shù)據(jù)的總體邏輯結(jié)構(gòu)改變時,數(shù)據(jù)的局部邏輯結(jié)構(gòu)不變,由于應(yīng)用程序是依據(jù)數(shù)據(jù)的局部邏輯結(jié)構(gòu) 編寫的,所以應(yīng)用程序不必須修改,從而保證了數(shù)據(jù)與程序間的邏輯獨立性。例如,在原有的記錄類型之間增加新的聯(lián)系,或在某些記錄類型中增加新的數(shù)據(jù)項,均可確保數(shù)據(jù)的邏輯獨立性。數(shù)據(jù)的物理獨立性是指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的, 即當數(shù)據(jù)的存儲結(jié)構(gòu)改變時,數(shù)據(jù)的邏輯結(jié)構(gòu)不變,從而應(yīng)用程序也不必改變。例如,改變存儲設(shè)備和增加新的存儲設(shè)備,或改變數(shù)據(jù)的存儲組織方式,均可確保數(shù)據(jù)的物理獨立性。
13、有統(tǒng)一的數(shù)據(jù)控制功能數(shù)據(jù)庫為多個用戶和應(yīng)用程序所共享, 對數(shù)據(jù)的存取往往是并發(fā)的,即多個用戶可以同 時存取數(shù)據(jù)庫中的數(shù)據(jù), 甚至可以同時存取數(shù)據(jù)庫中的同一個數(shù)據(jù),為確保數(shù)據(jù)庫數(shù)據(jù)的正確有效和數(shù)據(jù)庫系統(tǒng)的有效運行,數(shù)據(jù)庫管理系統(tǒng)提供下述四方面的數(shù)據(jù)控制功能。 數(shù)據(jù)的安全性(security )控制數(shù)據(jù)的安全性是指保護數(shù)據(jù)以防止不合法使用數(shù)據(jù)造成數(shù)據(jù)的泄露和破壞,保證數(shù)據(jù)的安全和機密。使每個用戶只能按規(guī)定,對某些數(shù)據(jù)以某些方式進行使用和處理。例如,系統(tǒng)提供口令檢查或其他手段來驗證用戶身份,防止非法用戶使用系統(tǒng);也可以對數(shù)據(jù)的存取權(quán)限進行限制,只有通過檢查后才能執(zhí)行相應(yīng)的操作。 數(shù)據(jù)的完整性(int
14、egrity)控制數(shù)據(jù)的完整性是指系統(tǒng)通過設(shè)置一些完整性規(guī)則以確保數(shù)據(jù)的正確性、有效性和相容 性。完整性控制將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。有效性是指數(shù)據(jù)是否在其定義的有效范圍,如月份只能用1-12之間的正整數(shù)表示;正確性是指數(shù)據(jù)的合法性,如年齡屬于數(shù)值型數(shù)據(jù),只能含0,1,9,不能含字母或特殊符號;相容性是指表示同一事實的兩個數(shù)據(jù)應(yīng)相同,否則就不相容,如一個人不能有兩個性別。 并發(fā)(concurrency )控制多用戶同時存取或修改數(shù)據(jù)庫時,可能會發(fā)生相互干擾而提供給用戶不正確的數(shù)據(jù),并使數(shù)據(jù)庫的完整性受到破壞,因此必須對多用戶的并發(fā)操作加以控制和協(xié)調(diào)。 數(shù)據(jù)恢復(fù)(r
15、ecovery )計算機系統(tǒng)出現(xiàn)各種故障是很正常的,數(shù)據(jù)庫中的數(shù)據(jù)被破壞、被丟失也是可能的。當數(shù)據(jù)庫被破壞或數(shù)據(jù)不可靠時,系統(tǒng)有能力將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到最近某一時刻的正確狀態(tài)。數(shù)據(jù)庫系統(tǒng)階段,程序與數(shù)據(jù)之間的關(guān)系可用圖1-3表示。圖1-3數(shù)據(jù)庫縈統(tǒng)階段從文件系統(tǒng)管理發(fā)展到數(shù)據(jù)庫系統(tǒng)管理是信息處理領(lǐng)域的一個重大變化。在文件系統(tǒng)階段,人們關(guān)注的是系統(tǒng)功能的設(shè)計,因此程序設(shè)計處于主導(dǎo)地位,數(shù)據(jù)服從于程序設(shè)計;而在數(shù)據(jù)庫系統(tǒng)階段,數(shù)據(jù)的結(jié)構(gòu)設(shè)計成為信息系統(tǒng)首先關(guān)心的問題。數(shù)據(jù)庫技術(shù)經(jīng)歷了以上三個階段的發(fā)展,已有了比較成熟的數(shù)據(jù)庫技術(shù),但隨著計算機軟硬件的發(fā)展,數(shù)據(jù)庫技術(shù)仍需不斷向前發(fā)展。1.1.4
16、 高級數(shù)據(jù)庫階段20 世紀 70 年代,層次、網(wǎng)狀、關(guān)系等三大數(shù)據(jù)庫系統(tǒng)奠定了數(shù)據(jù)庫技術(shù)的概念、原理 和方法。 從 20 世紀 80 年代以來, 數(shù)據(jù)庫技術(shù)在商業(yè)領(lǐng)域的巨大成功刺激了其他領(lǐng)域?qū)?shù)據(jù) 庫技術(shù)需求的迅速增長。 這些新的領(lǐng)域為數(shù)據(jù)庫應(yīng)用開辟了新的天地, 另一方面在應(yīng)用中提 出的一些新的數(shù)據(jù)管理的需求也直接推動了數(shù)據(jù)庫技術(shù)的研究和發(fā)展, 尤其是面向?qū)?shù)據(jù)庫 系統(tǒng)。另外,數(shù)據(jù)庫技術(shù)不斷與其它計算機分支結(jié)合,向高一級的數(shù)據(jù)庫技術(shù)發(fā)展。新型的 數(shù)據(jù)庫技術(shù)有1)分布式數(shù)據(jù)庫系統(tǒng)2)面向?qū)ο髷?shù)據(jù)庫系統(tǒng)3)多媒體數(shù)據(jù)庫系統(tǒng)4)數(shù)據(jù)倉庫1.2 數(shù)據(jù)庫的基本概念在介紹數(shù)據(jù)庫的基本概念之前,先介紹一些數(shù)
17、據(jù)庫最常用的術(shù)語和基本概念。1.2.1 數(shù)據(jù) (Data)數(shù)字、文字、聲音、圖形、圖像等。 用數(shù)據(jù)描述的現(xiàn)實世界中的對象可以是實在的事物, 如描述一個學(xué)生的情況可用學(xué)號、 姓名、 性別、年齡、系別、入學(xué)時間等, 則可以這樣描述: ( 0801002、張明、男、 22、經(jīng)濟管理系、 2008)這里的學(xué)生記錄就是數(shù)據(jù)。 對于這條記錄, 了解其含義的將得到如下信息: 趙文是個大 學(xué)生, 男,今年 22 歲, 2003年考入計算機系; 而不了解含義的人則無法理解其含義。 可見, 數(shù)據(jù)的形式本身還不能完全表達其內(nèi)容, 需要經(jīng)過語義解釋。 因此數(shù)據(jù)和關(guān)于數(shù)據(jù)的解釋是 不可分的, 數(shù)據(jù)的解釋是對數(shù)據(jù)含義的說
18、明, 數(shù)據(jù)的含義成為數(shù)據(jù)的語義, 數(shù)據(jù)與其語義是 不可分的。1.2.2 數(shù)據(jù)庫 (DataBase ,簡稱 DB)數(shù)據(jù)庫是長期存儲在計算機內(nèi)有組織的共享的數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù) 據(jù)模型組織、描述和儲存。它可以供用戶共享,具有盡可能小的冗余度和較高的數(shù)據(jù)獨立性, 使得數(shù)據(jù)存儲最優(yōu),數(shù)據(jù)最容易操作,并且具有完善的自我保護能力和數(shù)據(jù)恢復(fù)能力。數(shù)據(jù)庫特點如下: 集成性把某特定應(yīng)用環(huán)境中的各種應(yīng)用相關(guān)的數(shù)據(jù)及其數(shù)據(jù)之間的聯(lián)系全部地集中地并按照 一定的結(jié)構(gòu)形式進行存儲, 或者說, 把數(shù)據(jù)庫看成為若干個單個性質(zhì)不同的數(shù)據(jù)文件的聯(lián)合 和統(tǒng)一的數(shù)據(jù)整體。 共享性數(shù)據(jù)庫中的一塊塊數(shù)據(jù)可為多個不同的用
19、戶所共享, 即多個不同的用戶, 使用多種不同 的語言,為了不同的應(yīng)用目的,而同時存取數(shù)據(jù)庫,甚至同時存取同一塊數(shù)據(jù),即多用戶系 統(tǒng)。1.2.3 數(shù)據(jù)庫管理系統(tǒng) (DataBase Management System ,簡稱 DBMS)數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它是數(shù)據(jù)庫系統(tǒng)的核 心組成部分,用戶在數(shù)據(jù)庫系統(tǒng)中的一切操作,包括數(shù)據(jù)定義、查詢、更新及各種控制,都 是通過DBM進行的。DBM蹴是實現(xiàn)把用戶意義下的抽象的邏輯數(shù)據(jù)處理轉(zhuǎn)換成計算機中的具 體的物理數(shù)據(jù)的處理軟件,這給用戶帶來很大的方便。它的主要功能有以下幾個方面: 數(shù)據(jù)定義DBM醍供數(shù)據(jù)定義語言 DDL(
20、Data Define Language ),用戶通過它可以方面地對數(shù)據(jù) 庫中的數(shù)據(jù)對象進行定義。 例如,為保證數(shù)據(jù)庫安全而定義的用戶口令和存取權(quán)限, 為保證 正確語義而定義完整性規(guī)則。 數(shù)據(jù)操縱DBMS提供數(shù)據(jù)操縱語言 DML(Data Manipulation Language)實現(xiàn)對數(shù)據(jù)庫的基本操作, 包括檢索、插入、修改、刪除等。SQL語言就是DML的一種。 數(shù)據(jù)庫運行管理數(shù)據(jù)庫在建立、運行和維護時由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理、統(tǒng)一控制。DBMS通過對數(shù)據(jù)的安全性控制、 數(shù)據(jù)的完整性控制、 多用戶環(huán)境下的并發(fā)控制以及數(shù)據(jù)庫的恢復(fù), 來確保 數(shù)據(jù)正確有效和數(shù)據(jù)庫系統(tǒng)的正常運行。 數(shù)據(jù)庫的建立
21、和維護功能它包括數(shù)據(jù)庫的初始數(shù)據(jù)的裝入,轉(zhuǎn)換功能,數(shù)據(jù)庫的轉(zhuǎn)儲、恢復(fù)、重組織,系統(tǒng)性能 監(jiān)視、分析等功能。這些功能通常是由一些實用程序完成的。 數(shù)據(jù)通信DBM醍供與其他軟件系統(tǒng)進行通信的功能。實現(xiàn)用戶程序與DBMS間的通信,通常與操作系統(tǒng)協(xié)調(diào)完成。1.2.4 數(shù)據(jù)庫系統(tǒng) (DataBase System ,簡稱 DBS)數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng), 一般由數(shù)據(jù)庫、 數(shù)據(jù)庫管理系統(tǒng) (及其開發(fā)工具) 、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成(見圖 1-5)。1.2.5圖1-5數(shù)據(jù)庫系統(tǒng)用戶(User)用戶是指使用數(shù)據(jù)庫的人,即對數(shù)據(jù)庫的存儲、維護和檢索等操作。用戶大致可分為終 端用
22、戶、應(yīng)用程序員和數(shù)據(jù)庫管理員。1.最終用戶(End User)主要是使用數(shù)據(jù)庫的各級管理人員、工程技術(shù)人員、科研人員,一般為非計算機專業(yè)人員。2. 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)人員(Applicati on Programmer )負責為終端用戶設(shè)計和編制應(yīng)用程序,以便終端用戶對數(shù)據(jù)庫進行存取操作。3. 數(shù)據(jù)庫管理員(DadaBase Administrator ,簡稱 DBA)DBA是數(shù)據(jù)庫所屬單位的代表。一個單位決定開發(fā)一個數(shù)據(jù)庫系統(tǒng)時,首先就應(yīng)確定DBA的人選。DBA不僅應(yīng)當熟悉系統(tǒng)軟件,還應(yīng)熟悉本單位的業(yè)務(wù)工作。DBA應(yīng)自始至終參加整個數(shù)據(jù)庫系統(tǒng)地研制開發(fā)工作,開發(fā)成功后,DBA將全面負責數(shù)據(jù)庫
23、系統(tǒng)的“管理、維護和正常使用的”。其職責如下:參與數(shù)據(jù)庫設(shè)計的全過程,決定數(shù)據(jù)庫的結(jié)構(gòu)和內(nèi)容;定義數(shù)據(jù)的安全性和完整性,負責分配用戶對數(shù)據(jù)庫的使用權(quán)限和口令管理;監(jiān)督控制數(shù)據(jù)庫的使用和運行,改進和重新構(gòu)造數(shù)據(jù)庫系統(tǒng)。當數(shù)據(jù)庫受到破壞時, 應(yīng)負責恢復(fù)數(shù)據(jù)庫;當數(shù)據(jù)庫的結(jié)構(gòu)需要改變時,完成對數(shù)據(jù)結(jié)構(gòu)的修改。因此,DBA不僅要有較高的技術(shù)專長和較深的資歷,并應(yīng)具有了解和闡明管理要求的能 力。特別對于大型數(shù)據(jù)庫系統(tǒng),DBA極為重要。對于常見的微機數(shù)據(jù)庫系統(tǒng),通常只有一個用戶,常常不設(shè) DBA DBA的職責由應(yīng)用程序員或終端用戶代替。1.2.6數(shù)據(jù)庫系統(tǒng)的組成用戶管理員用DBMS數(shù)據(jù)庫圖1-6數(shù)據(jù)庫系統(tǒng)
24、組成示意圖1.3數(shù)據(jù)模型數(shù)據(jù)模型(Data Model)是專門用來抽象、表示和處理現(xiàn)實世界中 的數(shù)據(jù)和信息的工具。計算機系統(tǒng)是不能直接處理現(xiàn)實世界的,現(xiàn)實世界只有數(shù)據(jù)化 后,才能由計算機系統(tǒng)來處理這些代表現(xiàn)實世界的數(shù)據(jù)。為了把現(xiàn)實世界的具體事物及事物之間的聯(lián)系轉(zhuǎn)換成計算機能夠處理的數(shù)據(jù),必須用某種數(shù)據(jù)模型來抽象和描述這些數(shù)據(jù)。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心。通俗地講,數(shù)據(jù)模型是現(xiàn)實世界的模擬。數(shù)據(jù)模型應(yīng)滿足三方面要求:一是能比較真實地模擬現(xiàn)實世界; 二是容易理解;三是易在計算機上實現(xiàn)。在數(shù)據(jù)庫系統(tǒng)中針對不同的 使用對象和應(yīng)用目的,采用不同的數(shù)據(jù)模型。根據(jù)模型應(yīng)用的不同,可將模型分為兩類。第一類模型
25、是概念模型, 也稱信息模型,它是一種獨立于計算機系統(tǒng)的數(shù)據(jù)模型,完全不涉及信息在計算機中的表示,只是用來描述某個特定組織所關(guān)心的信息結(jié)構(gòu)。概念模型是按用戶的觀點對數(shù)據(jù)和信息建模,強調(diào)其語義表達能力,概念應(yīng)該簡單、清晰、易于用戶理解,它是對現(xiàn)實世界的第一層抽象,是用戶和數(shù)據(jù)庫設(shè)計人員之間進行交流的工具。這一類模型中最著名的是“實體聯(lián)系模型”。第二類模型是數(shù)據(jù)模型,主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,它是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模, 是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),是對現(xiàn)實世界的第二層抽象。這類模型直接與DNMS有關(guān),稱為“邏輯數(shù)據(jù)模型”,一般又稱為“結(jié)構(gòu)數(shù)據(jù)模型”。這類模型有嚴 格的形式化定義
26、,以便于在計算機系統(tǒng)中實現(xiàn)。它通常有一組嚴格定義的無二義性語法和語 義的數(shù)據(jù)庫語言,人們可以用這種語言來定義、操縱數(shù)據(jù)庫中的數(shù)據(jù)。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)。各種機器上實現(xiàn)的DBMS軟件都是基于某種數(shù)據(jù)模型的。1.3.1 概念模型由圖 1-6 可以看出,概念模型實質(zhì)上是現(xiàn)實世界到機器世界的一個中間層次。1.概念模型中的基本概念概念模型涉及的概念主要有實體(entity) 實體是一個數(shù)據(jù)對象,指應(yīng)用中可以區(qū)別的客觀存在的事物。實體既可以是實際存在的 對象,也可以是某種概念。如一個工人、一個學(xué)生、一個學(xué)校、一個操作流程等都是實體。屬性(attribute)實體所具有的某一特性成為屬性。 一個
27、實體可以由若干個屬性來描述。 如職工實體由職 工號、姓名、性別、年齡、職稱、部門等屬性組成,則(1010,陳平,男, 34,工程師, 02)這組屬性值就構(gòu)成了一個具體的職工實體。實體集(entity set)所有屬性名完全相同的同類實體的集合, 稱為實體集。 如全體職工就是一個實體集, 為 了區(qū)分實體集,每個實體集都有一個名稱,即實體名。職工實體指的是名為職工的實體集, 而 (1010,陳平,男, 34,工程師, 02)是該實體集中的一個實體,同一實體集中沒有完全相 同的兩實體。碼(Key) 能惟一標識實體的屬性或?qū)傩约?,稱為碼,有時也稱為實體標識符,或簡稱為鍵。如職 工實體中的職工號屬性。(
28、5)域(Domain) 屬性的取值范圍稱為該屬性的域(值域) ,如“職工性別”的屬性域為 男,女 。實體型(Entity Type )實體集的名及其所有屬性名的集合, 稱為實體型。 如職工(職工號、 姓名、性別、年齡、 職稱、部門)就是職工實體集的實體型。實體型抽象地刻畫了所有同集實體,在不引起混淆 的情況下,實體型往往簡稱為實體。2概念模型中實體的聯(lián)系(Relationship)在現(xiàn)實世界中, 事物內(nèi)部以及事物之間是有聯(lián)系的, 這些聯(lián)系在信息世界中反映為實體 (型)內(nèi)部的聯(lián)系和實體(型)之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之 間的聯(lián)系,實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系
29、。兩個實體集之間的聯(lián)系可歸納為以下三類: 一對一聯(lián)系 (1:1)如果對于實體集E1中的每個實體,實體集E2至多有一個(也可沒有)實體與之聯(lián)系,反之亦然,那么實體集E1和E2的聯(lián)系稱為一對一聯(lián)系”記為1:1”(見圖1-7所示)。實體集E1 實體集E2圖1-7兩個實體集之間的聯(lián)系(1:1)一對多聯(lián)系(1:n)如果實體集E1中每個實體可以與實體集E2中任意個(零個或多個)實體間有聯(lián)系,而E2中每個實體至多和 E1中一個實體有聯(lián)系,那么稱 E1對E2的聯(lián)系是一對多聯(lián)系 記為“1n”見圖1-8所示)。實體集E1實體集E2圖1-8兩個實體集之間的聯(lián)系(1: n)多對多聯(lián)系(m:n)如果實體集E1中每個實體
30、可以與實體集E2中任意個(零個或多個)實體有聯(lián)系,反之亦然,那么稱 E1和E2的聯(lián)系是 多對多聯(lián)系”記為m:n ”(見圖1-9所示)。實體集E1實體集E2圖1-9 兩個實體集之間的聯(lián)系(m: n)3 概念模型的表示方法概念模型是對信息世界建模,因此概念模型應(yīng)能方便、準確地描述信息世界中的常用概念。概念模型的表示方法很多,其中廣泛被采用的是實體聯(lián)系模型(En tity Relatio nshipModel)。它是由Peter Chen于1976年在題為“實體聯(lián)系模型:將來的數(shù)據(jù)視圖”論文中提 出的,簡稱為E-R模型。E-R模型的要素E-R 模型的主要的元素是:實體集、屬性、聯(lián)系集,其表示方法如下
31、: 實體用方框表示,方框內(nèi)注明實體的命名。實體名常用大寫字母開頭的有具體意義的英文名詞表示。然而,為了便于用戶與軟件開發(fā)人員的交流,在需求分析階段建議用中文表示,在設(shè)計階段在根據(jù)需要轉(zhuǎn)成英文形式。下面的聯(lián)系名和屬性名也采用這種方式。 屬性用橢圓形框表示,框內(nèi)寫上屬性名,并用無向連線與其實體集相連,加下畫線 的屬性為標識符。 聯(lián)系用菱形框表示,并用線段將其與相關(guān)的實體連接起來,并在連線上標明聯(lián)系的 類型,即1:1、1:n、m:n。聯(lián)系也會有屬性,用于描述聯(lián)系的特征,如酬金等。因此,E-R模型也稱為E-R圖。E-R圖(E-R diagram)是用來描述實體集、屬性和聯(lián)系的 圖形。圖中每種元素都用結(jié)
32、點表示。用實線來連接實體集與它的屬性以及聯(lián)系與它的實體集?!纠?.4圖1-10是一個E-R圖,表示一個簡單的電影數(shù)據(jù)庫。實體集是電影、影星和制片公司。電影實體集有三個屬性:電影名、電影制作日期、片長。另外兩個實體集影星和制片公司正好有兩個相同的屬性:名稱和地址。圖中還有兩個聯(lián)系:?簽約是電影及其影星的聯(lián)系。因此這也是影星及其參演電影的聯(lián)系。?擁有是電影及其所屬電影公司的聯(lián)系。電影圖1-10電影數(shù)據(jù)庫的實體聯(lián)系圖建立E-R圖建立E-R圖的步驟: 確定實體和實體的屬性; 確定實體和實體之間的聯(lián)系及聯(lián)系的類型; 給實體和聯(lián)系加上屬性。1.3.2數(shù)據(jù)模型1.數(shù)據(jù)模型的組成要素數(shù)據(jù)庫模型是數(shù)據(jù)庫系統(tǒng)的核
33、心和基礎(chǔ),任何DBMS都支持一種數(shù)據(jù)模型。數(shù)據(jù)模型是嚴格定義的一組概念的集合,它描述了系統(tǒng)的靜態(tài)特性、動態(tài)特性和完整性約束條件。因 此,數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。 數(shù)據(jù)結(jié)構(gòu) 任何一種數(shù)據(jù)模型都規(guī)定了一種數(shù)據(jù)結(jié)構(gòu), 即信息世界中的實體和實體之間聯(lián)系的表示 方法。數(shù)據(jù)結(jié)構(gòu)描述了系統(tǒng)的靜態(tài)特性,是數(shù)據(jù)模型本質(zhì)的內(nèi)容。數(shù)據(jù)結(jié)構(gòu)是所研究的對象類型的集合。 這些對象是數(shù)據(jù)庫的組成成分, 它包括兩類, 一 類是與數(shù)據(jù)類型、 內(nèi)容、 性質(zhì)有關(guān)的對象, 如網(wǎng)狀模型中的數(shù)據(jù)項、 記錄,關(guān)系模型中的域、 屬性、關(guān)系等;一類是與數(shù)據(jù)之間聯(lián)系有關(guān)的對象,如網(wǎng)狀模型中的系型(Set Type
34、)。數(shù)據(jù)結(jié)構(gòu)是刻畫一個數(shù)據(jù)模型性質(zhì)最重要的方面。 因此在數(shù)據(jù)庫系統(tǒng)中, 通常按照其數(shù) 據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。 如層次結(jié)構(gòu)、 網(wǎng)狀結(jié)構(gòu)和關(guān)系結(jié)構(gòu)的數(shù)據(jù)模型分別命名為層 次模型、網(wǎng)狀模型和關(guān)系模型。 數(shù)據(jù)操作 數(shù)據(jù)操作是對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作的集合,包括操作 及有關(guān)的操作規(guī)則。 數(shù)據(jù)操作描述了系統(tǒng)的動態(tài)特性。 對數(shù)據(jù)庫的操作主要有數(shù)據(jù)維護和數(shù) 據(jù)檢索兩大類,這是任何數(shù)據(jù)模型都必須規(guī)定的操作,包括操作符、含義、規(guī)則等。 數(shù)據(jù)的約束條件數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合。 完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián) 系所具有的制約和依存規(guī)則, 用以限定符合數(shù)據(jù)模型的數(shù)據(jù)
35、庫狀態(tài)以及狀態(tài)的變化, 以保證 數(shù)據(jù)的正確、相容和有效。2. 最常用的數(shù)據(jù)模型目前,數(shù)據(jù)庫領(lǐng)域中最常用的數(shù)據(jù)模型有四種,它們是:層次模型 (Hierarchical Model)網(wǎng)狀模型 (Network Model)關(guān)系模型 (Relational Model)面向?qū)ο竽P?(Object Oriented Model) 其中,前兩類模型稱為非關(guān)系模型。非關(guān)系模型的數(shù)據(jù)庫系統(tǒng)在 20 世紀 70 年代至 80 年代初非常流行, 在數(shù)據(jù)庫系統(tǒng)產(chǎn)品中占據(jù)了主導(dǎo)地位, 在數(shù)據(jù)庫系統(tǒng)的初期起了重要的作 用。在關(guān)系模型發(fā)展后,非關(guān)系模型迅速衰退。在我國,早就不見非關(guān)系模型;但在美國等 一些國家里, 由
36、于早期開發(fā)的應(yīng)用系統(tǒng)實際與層次數(shù)據(jù)庫或網(wǎng)狀數(shù)據(jù)庫系統(tǒng)的, 因此目前仍 有層次數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫系統(tǒng)在繼續(xù)使用。面向?qū)ο髷?shù)據(jù)庫是近年才出現(xiàn)的數(shù)據(jù)模型, 是目前數(shù)據(jù)庫技術(shù)的研究方向, 本書在第八 章中介紹。關(guān)系模型是目前使用最廣泛的數(shù)據(jù)模型,占據(jù)數(shù)據(jù)庫的主導(dǎo)地位。1.3.3 層次模型層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型, 典型的層次模型系統(tǒng)是美國 IBM 公司于 1968 年推出的 IMS(Information Management System) 數(shù)據(jù)庫管理系統(tǒng),這個系統(tǒng)在 20 世紀 70 年代在商業(yè)上得到廣泛應(yīng)用。在現(xiàn)實世界中, 有許多事物是按層次組織起來的, 如一個系由若干個專業(yè)和教
37、研室, 一 個專業(yè)有若干個班級, 一個班級有若干個學(xué)生, 一個教研室有若干個教師。 其數(shù)據(jù)庫模型如 圖 1-11 所示。層次模型用一棵“有向樹”的數(shù)據(jù)結(jié)構(gòu)來表示各類實體以及實體間的聯(lián)系。 在樹中,每個結(jié)點表示一個記錄類型,結(jié)點間的連線(或邊)表示記錄類型間的關(guān)系,每個記錄類型可包含若干個字段, 記錄類型描述的是實體, 字段描述實體的屬性, 各個記錄類型 及其字段都必須命名。圖1-11層次模型查詢子女結(jié)點必須通過雙親結(jié)點。 由于結(jié)構(gòu)嚴密,層次命令趨于程序化。1.3.4網(wǎng)狀模型現(xiàn)實世界中事物之間的聯(lián)系更多的是非層次關(guān)系的,用層次模型表示這種關(guān)系很不直 觀,網(wǎng)狀模型克服了這一弊病,可以清晰的表示這種
38、非層次關(guān)系。網(wǎng)狀模型取消了層次模型的兩個限制,在層次模型中,若一個結(jié)點可以有一個以上的父結(jié)點,就得到網(wǎng)狀模型。用有向圖結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型成為網(wǎng)狀模型 (Network Model)。1969年,CODAS 丫組織提出DBTG報告中的數(shù)據(jù)模型是網(wǎng)狀模型的主要代 表。圖1-12學(xué)校網(wǎng)狀模型1.3.5關(guān)系模型關(guān)系模型是目前最常用的一種數(shù)據(jù)模型。關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式。1970年,美國IBM公司的研究員E.F.Codd首次提出了數(shù)據(jù)系統(tǒng)的關(guān)系數(shù)據(jù)模型,標志著數(shù)據(jù)庫系統(tǒng)新時代的來臨, 開創(chuàng)了數(shù)據(jù)庫關(guān)系方法和關(guān)系數(shù)據(jù)理論的研究,為數(shù)據(jù)庫技術(shù)奠定了理論基礎(chǔ)。由于 E
39、.F.Codd的杰出工作,他于 1981年榮獲ACM圖靈獎。1980年后,各種關(guān)系數(shù)據(jù)庫管理系統(tǒng)的產(chǎn)品迅速出現(xiàn),如Oracle、Ingress、Sybase、Informix等,關(guān)系數(shù)據(jù)庫系統(tǒng)統(tǒng)治了數(shù)據(jù)庫市場,數(shù)據(jù)庫的應(yīng)用領(lǐng)域迅速擴大。與層次模型和網(wǎng)狀模型相比,關(guān)系模型的概念簡單、清晰,并且具有嚴格的數(shù)據(jù)基礎(chǔ), 形成了關(guān)系數(shù)據(jù)理論,操作也直觀、容易,因此易學(xué)易用。無論是數(shù)據(jù)庫的設(shè)計和建立,還 是數(shù)據(jù)庫的使用和維護,都比非關(guān)系模型時代簡便得多。與其他的數(shù)據(jù)模型相同,關(guān)系模型也是由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。1. 數(shù)據(jù)結(jié)構(gòu)在關(guān)系模型中,數(shù)據(jù)的邏輯結(jié)構(gòu)是關(guān)系。 關(guān)系可形象地用二維表表示
40、,它由行和列組成?,F(xiàn)以職工表(圖1-13所示)為例,介紹關(guān)系模型中的一些術(shù)語。員工編號姓名年齡性別部門號430425王天喜25男Deno1430430莫玉27女Deno2430211肖劍峰33男Deno3430121楊瓊英23女Deno2430248趙繼平41男Deno3圖1-13關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系(Relation): 個關(guān)系可用一個表來表示,常稱為表,如圖1-13中的這張職工表。每個關(guān)系(表)都有與其它關(guān)系(表)不同的名稱。元組(Tuple):表中的一行數(shù)據(jù)總稱為一個元組。一個元組即為一個實體的所有屬性值的總稱。一個關(guān)系中不能有兩個完全相同的元組。屬性(Attribute):表中的每一
41、列即為一個屬性。每個屬性都有一個屬性名, 在每一列的首行現(xiàn)實。一個關(guān)系中不能有兩個同名屬性。如圖1-13的表有五列,對應(yīng)五個屬性(員工編號,姓名,年齡,性別,部門號)。域(Domain): 一個屬性的取值范圍就是該屬性的域。如職工的年齡屬性域為2位整數(shù)(18-70),性別的域為(男,女)等。分量(Component): 個元組在一個屬性上的值稱為該元組在此屬性上的 分量。主碼(Key):表中的某個屬性組,它可以唯一確定一個元組,如圖1-19中的職工編號,可以唯一確定一個職工,也就成為本關(guān)系的主碼。關(guān)系模式:一個關(guān)系的關(guān)系名及其全部屬性名的集合簡稱為該關(guān)系的關(guān)系模式。一般表示為:關(guān)系名(屬性 1
42、,屬性2,,屬性n)如上面的關(guān)系可描述為:職工(員工編號,性命,年齡,性別,部門號)關(guān)系模式描述了一個關(guān)系的結(jié)構(gòu);關(guān)系是元組的集合,是某一時刻關(guān)系模式的狀態(tài)或內(nèi)容。因此,關(guān)系模式是穩(wěn)定的、靜態(tài)的,而關(guān)系則是隨時間變化的、動態(tài)的。關(guān)系是關(guān)系模 型中最基本的數(shù)據(jù)結(jié)構(gòu)。關(guān)系既用來表示實體,如上面的職工表,也用來表示實體間的關(guān)系, 如學(xué)生與課程之間的聯(lián)系可以描述為:選修(學(xué)號,課程號,成績)關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系必須滿足一定的規(guī)范條件,這些規(guī)范條工資級別工資基本工資工齡職務(wù)111111111111關(guān)系中的每一列都必須是 不可分的基本數(shù)據(jù)項,即 不允許表中還有表,圖1-14的情況是不
43、允許的。圖1-14 表中有表件是在一個關(guān)系中,屬性間的順序、元組間的順序是無關(guān)緊要的。2. 數(shù)據(jù)操作關(guān)系數(shù)據(jù)模型的操作主要包括查詢、插入、刪除和修改數(shù)據(jù)。它的特點在于:操作對象和操作結(jié)果都是關(guān)系,即關(guān)系模型中的操作是集合操作。它是若干元組的集合,而不像非關(guān)系模型中那樣是單記錄的操作方式。關(guān)系模型中,存取路徑對用戶是隱藏的。用戶只要指出“干什么”或“找什么”,不必詳細說明“怎么干”或“怎么找”,從而方便了用戶,提高了數(shù)據(jù)的獨立性。3. 完整性約束完整性約束是一組完整的數(shù)據(jù)約束規(guī)則,它規(guī)定了數(shù)據(jù)模型中的數(shù)據(jù)必須符合的條件, 對數(shù)據(jù)作任何操作時都必須保證制。關(guān)系的完整性約束條件包括三大類:實體完整性
44、、參照完整性和用戶定義的完整性。其具體含義在后面介紹。4. 關(guān)系運算1傳統(tǒng)的集合運算傳統(tǒng)的集合運算是二目運算,包括并、交、差、乘積四種運算并設(shè)關(guān)系R和S是同一關(guān)系模式下的關(guān)系,則R和S的并是由屬于R或?qū)儆赟的元組組成的集合。記作R U S二 t | t R t S如果R和S有重復(fù)的元組,則只保留一個?!纠?.5】關(guān)系R和S如圖1-15 (a)、(b)所示,貝U R和S的并運算RUS如圖1-15(c) 所示。差設(shè)關(guān)系R和S是同一關(guān)系模式下的關(guān)系,則R和S的差是由屬于 R但不屬于S的元組組成的集合。記作R S 二t|t R r' S【例1.6】關(guān)系R和S如圖1-15 (a)、(b)所示,貝
45、U R和S的差運算R S如圖1-15(d) 、所示。交 設(shè)關(guān)系R和S是同一關(guān)系模式下的關(guān)系,則R和S的交是由屬于R又屬于S的元組組成的集合。記作R“S =t |t R t S【例1.7】關(guān)系R和S如圖1-15 (a)、(b)所示,貝U R和S的交運算R|S如圖1-15(e) 所示。交和差運算之間存在如下關(guān)系:RD S二R_( R_ b二S4 S_ )R乘積設(shè)關(guān)系R有m個屬性、i個元組;關(guān)系S有n個屬性、j個元組,則關(guān)系 R和S的乘積 是個有(m+n)個屬性的元組集合。每個元組的前 r個分量來自關(guān)系 R的一個元組,后 s個分 量來自S的一個元組,且元組的數(shù)目有 i xj個。乘積運算又叫廣義笛卡爾
46、積。記作R S 二t|t =:tm,tn tm R tn S 雖然在表示上,我們把關(guān)系 R的屬性放在前面,把關(guān)系 S的屬性放在后面,連接成 一個有序結(jié)構(gòu)的元組,但在實際的關(guān)系操作中,屬性間的前后交換次序是無關(guān)的。 做乘積運算時,可從 R的第一個元組開始,一次與 S的每一個元組組合,然后,對R的下一個元組進行同樣的操作,直至R的最后一個元組也進行完同樣的操作為止,即可得到Rx S的全部元組。R和S的乘積運算R S如圖1-15 乘積運算得出的新關(guān)系將數(shù)據(jù)庫的多個孤立的關(guān)系表聯(lián)系在一起了。這樣就使關(guān)系 數(shù)據(jù)庫中獨立的關(guān)系有了溝通的橋梁?!纠?.8】關(guān)系R和S如圖1-15 (a)、(b)所示,則(f)
47、 所示。ABCb2db3bc2dd3b(a) RABca3cb2de5f(b) S1R.AR.BR.CS.AS.BS.Cb2da3cb2db2db2de5fb3ba3cb3bb2db31be5fc2da3cc2db2dc2Jde5Ifd3ba3cd3bb2dd3be5f(f) R x SABCb2db3bc2dd3ba3ce5f(c) R U SABCb3bd3b(d) R - SABCb2d(e) R n S圖1-15關(guān)系R、S及它們的傳統(tǒng)集合運算2. 專門的關(guān)系運算在關(guān)系的運算中,由于關(guān)系數(shù)據(jù)結(jié)構(gòu)的特殊性,在關(guān)系代數(shù)中除了需要一般的集合運算外,還需要一些專門的關(guān)系運算包括:選擇、投影、連接
48、等。選擇選擇運算是在關(guān)系 R中選擇滿足條件 F的所有元組組成的一個關(guān)系。記作二 F (R)二t 11 R F (t)二true其中,F(xiàn)表示選擇條件,它是一個邏輯表達式,取值為“true”或“ false”。邏輯表達式F的基本形式為:X£YWx2日YJIHB表示比較運算符,它可以是、v、w、=和工。X,Yi等是屬性名或簡單函數(shù)。屬性名也可以用它在關(guān)系中從左到右的序號來代替。表示邏輯運算符,它可以是 -、。表示任選項,即中的部分可以要也可以不要,表示上述格式可以重復(fù)下去。選擇運算是單目運算符,即運算的對象僅有一個關(guān)系。選擇運算不會改變參與運算關(guān)系的關(guān)系模式,它只是根據(jù)給定的條件從所給的關(guān)
49、系中找出符合條件的元組。實際上,選擇是從行的角度進行的水平運算,是一種將大關(guān)系分割為較小關(guān)系的工具?!纠?.91設(shè)關(guān)系R和S如圖1-15( a)、( b)所示,計算二A=b' B:3(R)或匚丄b':3(R)的結(jié)果如圖1-16 ( a)所示,;十3 c=c(S)或二3 3=p(S)的結(jié)果如圖1-16 (b)所示。ABCb2d(a)A 三b' B :3 ( R)圖1-16選擇投影投影運算是從一個關(guān)系中,選取某些屬性(列),并對這些屬性重新排列,最后從得出的結(jié)果中刪除重復(fù)的行,從而得到一個新的關(guān)系。設(shè)R是n元關(guān)系,R在其分量Ai1, Ai2,Am (mW n; i1 , i
50、2,im為1到m之間 的整數(shù),可不連續(xù))上的投影操作定義為:i1,i2,|i,im - t | - : ti1 ,t i2 J I Iti:如川,t i1,t i2 I I 11 m , I 11nR即取出所有兀組在特定分量 Ai1, Ai2,Aim上的值。可以改變關(guān)系中列的順投影操作也是單目運算, 它是從列的角度進行的垂直分解運算, 序,與選擇一樣也是一種分割關(guān)系的工具?!纠?.101設(shè)關(guān)系R和S如圖1-15 (a)、( b)所示,計算兀a,c(R)和兀c,b(S)的結(jié)果如圖1-17 (玄)和(b)所示。ACbdbbcddb(a)二ac(R)連接0連接。連接是從兩個關(guān)系的廣義笛卡爾積中選取屬
51、性間滿足一定條件的元組。連接又稱 記作:R仆t|t=:tr,tsI R ts S trA"tsB - ;a予(R S)其中,A和B分別是R和S上個數(shù)相等且可比的屬性組 (名稱可不相同)。A 0 B作為比較公式F, F的一般形式為Fi A F2 A-A Fn,每個Fi是形為trts Bj 的公式。對于連接條件的重要 限制是條件表達式中所包含的對應(yīng)屬性必須來自同一個屬性域,否則是非法的,即屬性得來性 必須相同。若R有m個元組,此運算就是用R的第p個元組的A屬性集的各個值與S的B屬性集從頭 至尾依次作0比較。每當滿足這一比較運算時,就把S中該屬性值的元組接在 R的第p個元組的右邊,構(gòu)成新關(guān)
52、系的一個元組。反之,當不滿足這一比較運算時就繼續(xù)作S關(guān)系B屬性集的下一次比較。這樣,當p從1遍歷到m時,就得到了新關(guān)系的全部元組。新關(guān)系的屬性集取名 方法同乘積運算一樣?!纠?.111設(shè)關(guān)系R和S如圖1-15( a)、( b)所示,計算R><S的結(jié)果如圖1-18所示。圖 1-18 R SB :B1.4數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫,使之能夠有效地存儲數(shù)據(jù),滿足用戶的應(yīng)用需求。1.4.1數(shù)據(jù)庫設(shè)計的方法數(shù)據(jù)庫設(shè)計屬于方法學(xué)的范疇,是數(shù)據(jù)庫應(yīng)用研究的主要領(lǐng)域,不同的數(shù)據(jù)庫設(shè)計方法,采用不同的設(shè)計步驟。在軟件工程之前,主要采用手工試湊法。
53、由于信息結(jié)構(gòu)復(fù)雜,應(yīng)用環(huán) 境多樣,這種方法主要憑借設(shè)計人員的經(jīng)驗和水平,數(shù)據(jù)庫設(shè)計是一種技藝而不是工程技術(shù),缺乏科學(xué)理論和工程方法,工程的質(zhì)量難以保證,數(shù)據(jù)庫很難最優(yōu),數(shù)據(jù)庫運行一段時間后 各種各樣的問題會漸漸的暴露出來,增加了系統(tǒng)維護工作量。如果系統(tǒng)的擴充性不好,經(jīng)過一段時間運行后,要重新設(shè)計。為了改進手工試湊法, 人們運用軟件工程的思想和方法,使設(shè)計過程工程化,提出了各種設(shè)計準則和規(guī)程,形成了一些規(guī)范化設(shè)計方法。其中比較著名的有新奧爾良方法(NewOrleans),他將數(shù)據(jù)庫設(shè)計分為需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計四 個階段。其后有S.B.Yao的五步驟方法。還有Bark
54、er方法,Barker是著名數(shù)據(jù)庫廠商 Oracle 的數(shù)據(jù)庫設(shè)計產(chǎn)品 Oracle Designer主要設(shè)計師,其方法在Oracle Designer中運用和實施。 各種規(guī)范化設(shè)計方法基于過程迭代和逐步求精的設(shè)計思想,只是在細致的程度上有差別,導(dǎo)致設(shè)計步驟的不同。隨著數(shù)據(jù)庫設(shè)計工具的出現(xiàn),產(chǎn)生了一種借助數(shù)據(jù)庫設(shè)計工具的計算機輔助設(shè)計方法。 另外,隨著面向?qū)ο笤O(shè)計方法的發(fā)展和成熟,面向?qū)ο蟮脑O(shè)計方法也開始應(yīng)用于數(shù)據(jù)庫設(shè)計。1.4.2數(shù)據(jù)庫設(shè)計的步驟數(shù)據(jù)庫的設(shè)計按規(guī)范化設(shè)計方法,劃分為五個階段(圖1-19),每個階段有相應(yīng)的成果:圖1-19數(shù)據(jù)庫設(shè)計步驟1. 需求分析階段并對收集的結(jié)果進行整理和需求分析階段,主要是準確收集用戶信息需求和處理需求, 分析,形成需求說明。需求分析是整個設(shè)計活動的基礎(chǔ),也是最困難和最耗時的一步。如果 需求分析不準確或不充分,可能導(dǎo)致整個數(shù)據(jù)庫設(shè)計的返工。2. 概念結(jié)構(gòu)設(shè)計階段概念結(jié)構(gòu)設(shè)計是數(shù)據(jù)庫設(shè)計的重點,對用戶需求進行綜合、歸納、抽象,形成一個概念模型(一般為
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 43708-2025科學(xué)數(shù)據(jù)安全要求通則
- GB/T 19343-2025巧克力及巧克力制品、代可可脂巧克力及代可可脂巧克力制品質(zhì)量要求
- 公司資金貸款合同范本
- 公司變造勞動合同范本
- 醫(yī)療器械保險銷售合同范本
- alc工程合同范本
- 從屬許可合同范本
- 保姆英語合同范本
- 上海遮光窗簾加盟合同范本
- 臨時活動勞務(wù)派遣合同范例
- 2025年黑龍江農(nóng)墾職業(yè)學(xué)院單招職業(yè)傾向性測試題庫附答案
- 2024預(yù)防流感課件完整版
- 病例報告表(CRF)模板
- DL∕T 2447-2021 水電站防水淹廠房安全檢查技術(shù)規(guī)程
- 煤礦績效考核管理辦法
- 前廳羅盤系統(tǒng)操作細則
- 2_甲基丙烯酰氧基乙基磷酰膽堿共聚物應(yīng)用研究進展
- 迅達扶梯9300AE故障代碼
- 乒乓球--社團活動記錄表(共20頁)
- 《各種各樣的橋》ppt課件
- 滬教版小學(xué)數(shù)學(xué)二年級下冊應(yīng)用題專項練習
評論
0/150
提交評論