第六章數(shù)據(jù)庫技術(shù)基礎(chǔ)_第1頁
第六章數(shù)據(jù)庫技術(shù)基礎(chǔ)_第2頁
第六章數(shù)據(jù)庫技術(shù)基礎(chǔ)_第3頁
第六章數(shù)據(jù)庫技術(shù)基礎(chǔ)_第4頁
第六章數(shù)據(jù)庫技術(shù)基礎(chǔ)_第5頁
已閱讀5頁,還剩121頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.本章主要介紹如下知識: 數(shù)據(jù)庫系統(tǒng)的基本知識 對數(shù)據(jù)模型進行闡述,特別是其中的E-R模型和關(guān)系模型 著重介紹關(guān)系型數(shù)據(jù)庫及其設(shè)計理論 數(shù)據(jù)庫的設(shè)計過程 簡單介紹面向?qū)ο髷?shù)據(jù)庫系統(tǒng).6.1 6.1 數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)知識數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)知識 6.1.1數(shù)據(jù)庫系統(tǒng)的產(chǎn)生與發(fā)展 6.1.2 數(shù)據(jù)庫的基本術(shù)語 6.1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)體系.6.1.16.1.1數(shù)據(jù)庫系統(tǒng)的產(chǎn)生與發(fā)展數(shù)據(jù)庫系統(tǒng)的產(chǎn)生與發(fā)展 數(shù)據(jù)管理技術(shù)經(jīng)歷以下三個階段:人工管理階段(50年代中期以前);文件系統(tǒng)階段(50年代后期到60年代中期);數(shù)據(jù)庫系統(tǒng)階段(60年代后期以來)。 .1.人工管理階段當時外存沒有磁盤等直接存取的存儲設(shè)

2、備;軟件沒有操作系統(tǒng),數(shù)據(jù)的處理是批處理。 人 工 管 理 數(shù) 據(jù) 具 有 如 下 特 點 : 1)數(shù)據(jù)不保存。 2)數(shù)據(jù)需要由應用程序自己管理,沒有相應的軟件來處理數(shù)據(jù)。 3)數(shù)據(jù)不共享。 4)數(shù)據(jù)不具有獨立性。 .2.文件系統(tǒng)階段 50年代后期到60年代中期,在操作系統(tǒng)中有專門的數(shù)據(jù)管理軟件,一般稱為文件系統(tǒng)。文件系統(tǒng)是數(shù)據(jù)庫系統(tǒng)發(fā)展的初級階段。 用 文 件 系 統(tǒng) 管 理 數(shù) 據(jù) 具 有 如 下 特 點 : 1)數(shù)據(jù)可長期保存。2)簡單的數(shù)據(jù)管理功能 3)數(shù)據(jù)共享性差。 4)數(shù)據(jù)的獨立性差。.3.數(shù)據(jù)庫系統(tǒng)階段 60年代末期,人們對文件系統(tǒng)進行了擴充,研制了一種結(jié)構(gòu)化的數(shù)據(jù)組織和處理方式

3、,才出現(xiàn)了真正的數(shù)據(jù)庫系統(tǒng)。 數(shù) 據(jù) 庫 系 統(tǒng) 的 基 本 特 點 如 下 : 1)數(shù)據(jù)的集成性。2)數(shù)據(jù)的高度共享性與低冗余性。3)數(shù)據(jù)獨立性高。數(shù)據(jù)的獨立性包括:.物理獨立性:是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,如存儲設(shè)備的更換、物理存儲的更換、存取方式改變等都不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應用程序的改變。邏輯獨立性:是指數(shù)據(jù)的總體邏輯結(jié)構(gòu)改變時,如修改數(shù)據(jù)模式、改變數(shù)據(jù)間的聯(lián)系等,不需要修改相應的應用程序。(4)數(shù)據(jù)的管理和控制能力。 數(shù)據(jù)管理發(fā)展的三個階段的軟硬件背景及其特點的比較見下表 。.人工管理階段人工管理階段文件系統(tǒng)階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段背背景景應用背景應用

4、背景科學計算科學計算科學計算、管理科學計算、管理大規(guī)模管理大規(guī)模管理硬件背景硬件背景無直接存取存儲設(shè)無直接存取存儲設(shè)備備磁盤、磁鼓磁盤、磁鼓大容量磁備盤大容量磁備盤軟件背景軟件背景沒有操作系統(tǒng)沒有操作系統(tǒng)有文件系統(tǒng)有文件系統(tǒng)有數(shù)據(jù)庫管理系統(tǒng)有數(shù)據(jù)庫管理系統(tǒng)處理方式處理方式批處理批處理聯(lián)機實時處理、批處理聯(lián)機實時處理、批處理聯(lián)機實時處理、分布處理、聯(lián)機實時處理、分布處理、批處理批處理特特點點數(shù)據(jù)的管理者數(shù)據(jù)的管理者用戶用戶( (程序員程序員) )文件系統(tǒng)文件系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)面向的對象數(shù)據(jù)面向的對象某一應用程序某一應用程序某一應用某一應用現(xiàn)實世界現(xiàn)實世界數(shù)據(jù)共享程度數(shù)據(jù)共享程度

5、無共享,冗余度極無共享,冗余度極大大共享性差,冗余度大共享性差,冗余度大共享性高,冗余度小共享性高,冗余度小數(shù)據(jù)的獨立性數(shù)據(jù)的獨立性不獨立,完全依賴不獨立,完全依賴于程序于程序獨立性差獨立性差具有高度的物理獨立性和一具有高度的物理獨立性和一定的邏輯獨立性定的邏輯獨立性數(shù)據(jù)的結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)化無結(jié)構(gòu)無結(jié)構(gòu)記錄內(nèi)有結(jié)構(gòu),整體無記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu)結(jié)構(gòu)整體結(jié)構(gòu)化,用數(shù)據(jù)模型描整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述述數(shù)據(jù)控制能力數(shù)據(jù)控制能力應用程序自己控制應用程序自己控制應用程序自己控制應用程序自己控制由數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)安全性、完整性、并發(fā)控制安全性、完整性、并發(fā)控制和恢復能力和

6、恢復能力.6.1.2 6.1.2 數(shù)據(jù)庫的基本術(shù)語數(shù)據(jù)庫的基本術(shù)語1. 數(shù)據(jù)(Data)定義:數(shù)據(jù)是描述事物的符號記錄。 數(shù)據(jù)的表現(xiàn)形式不僅是數(shù)字,還包括字符(文字和符號)、圖表(圖形、圖像和表格)及聲音、語言等 。 信息是從原始數(shù)據(jù)中經(jīng)過篩選、提煉等加工后,產(chǎn)生的對決策有影響的數(shù)據(jù)。 .2. 數(shù)據(jù)庫(Database)定義:數(shù)據(jù)庫(DB)是長期儲存在計算機內(nèi)的、有組織的、可共享的數(shù)據(jù)的集合。 數(shù)據(jù)庫有以下特點:1)數(shù)據(jù)結(jié)構(gòu)化。 2)實現(xiàn)數(shù)據(jù)共享。 3)減少數(shù)據(jù)的冗余。 4)數(shù)據(jù)獨立。 .3.數(shù)據(jù)庫管理系統(tǒng)(Databbase Management System簡稱DBMS)定義:數(shù)據(jù)庫管理系

7、統(tǒng)它是位于用戶和操作系統(tǒng)(OS)之間的一層數(shù)據(jù)管理軟件,負責數(shù)據(jù)庫中數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、數(shù)據(jù)控制及保護和數(shù)據(jù)接口等。 .4.數(shù)據(jù)庫管理員(Database Adminstrator簡稱DBA)定義:由專職人員對數(shù)據(jù)庫進行規(guī)劃、設(shè)計、維護、監(jiān)視等,稱這些專職人員為數(shù)據(jù)庫管理員。 數(shù) 據(jù) 庫 管 理 員 的 具 體 職 責 包 括 : 1)數(shù)據(jù)庫定義與設(shè)計。 2)數(shù)據(jù)庫運行與維護。 3)數(shù)據(jù)庫的改進和重組重構(gòu)。 .5.數(shù)據(jù)庫系統(tǒng)(Database System簡稱DBS)定義:數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)軟件)、系統(tǒng)平臺、應用系統(tǒng)和人員構(gòu)成。 數(shù)據(jù)庫系統(tǒng)在整個計算機系

8、統(tǒng)中的地位如下圖所示。 .DBOSDBMS應用程序應用程序.6.1.3 6.1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)體系數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)體系 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)可以有多種不同的層次。 從數(shù)據(jù)庫管理系統(tǒng)角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構(gòu),這是數(shù)據(jù)庫系統(tǒng)的內(nèi)部系統(tǒng)結(jié)構(gòu)。 從數(shù)據(jù)庫最終用戶角度看,數(shù)據(jù)庫系統(tǒng)分為單用戶數(shù)據(jù)庫系統(tǒng)、主從式數(shù)據(jù)庫系統(tǒng)、分布式數(shù)據(jù)庫系統(tǒng)和客戶/服務器數(shù)據(jù)庫系統(tǒng)。.1. 數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu) 模式是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。 數(shù)據(jù)庫系統(tǒng)在其內(nèi)部具有三級模式和二級映像。三級模式分別為外模式、模式與內(nèi)模式;二級映像則是外模式/模式映像和模式/內(nèi)模式映像。 三級模式與二級映像構(gòu)成數(shù)據(jù)庫

9、系統(tǒng)的內(nèi)部的抽象結(jié)構(gòu)體系,如下圖所示。.應 用 程應 用 程序序A應 用 程應 用 程序序B應 用 程應 用 程序序n外模式外模式1外模式外模式n模式模式(概念數(shù)據(jù)庫概念數(shù)據(jù)庫)內(nèi)模式內(nèi)模式(物理數(shù)據(jù)庫物理數(shù)據(jù)庫)數(shù)據(jù)庫數(shù)據(jù)庫外模式外模式/模式模式映像映像模式模式/內(nèi)模式內(nèi)模式映像映像.(1)數(shù)據(jù)庫系統(tǒng)的三級模式。 外模式也稱子模式或用戶模式,還稱為用戶級模式。它是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖。 模式也稱邏輯模式,還稱概念模式。是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。 內(nèi)模式也稱存儲模式,還稱物理模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述。.(

10、2)數(shù)據(jù)庫系統(tǒng)的二級映像。 外模式模式映像:它使數(shù)據(jù)具有較高的邏輯獨立性。它定義了該外模式與模式之間的對應關(guān)系。這些映象定義通常包含在各自外模式的描述中。當模式改變時,DBA要對相關(guān)的外模式模式映像作相應的改變,以使外模式保持不變。應用程序是依據(jù)數(shù)據(jù)的外模式編寫的,外模式不變,應用程序就沒必要修改。所以外模式模式映像功能保證了數(shù)據(jù)與程序的邏輯獨立性。. 模式內(nèi)模式映像:它使數(shù)據(jù)具有較高的物理獨立性。它定義了數(shù)據(jù)庫全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應關(guān)系。該映像定義通常包含在模式描述中。當數(shù)據(jù)庫的存儲結(jié)構(gòu)了,DBA要對模式內(nèi)模式映像作相應的改變,以使模式保持不變。模式不變,與模式?jīng)]有直接聯(lián)系的應用程

11、序也不會改變,所以模式內(nèi)模式映像功能保證了數(shù)據(jù)與程序的物理獨立性。.2. 數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)(1)單用戶數(shù)據(jù)庫系統(tǒng)。 DBDB.(2)主從式數(shù)據(jù)庫系統(tǒng)。DB主機主機.(3)分布式數(shù)據(jù)庫系統(tǒng)。主主機機DBDBDB主主機機主主機機網(wǎng)網(wǎng)絡絡.(4)客戶/服務器數(shù)據(jù)庫系統(tǒng)。客戶機客戶機客戶機客戶機客戶機客戶機客戶機客戶機服務器服務器.6.2 6.2 數(shù)據(jù)模型數(shù)據(jù)模型 6.2.1 數(shù)據(jù)模型的基本概念 6.2.2 概念模型 6.2.3 數(shù)據(jù)模型.6.2.1 6.2.1 數(shù)據(jù)模型的基本概念數(shù)據(jù)模型的基本概念 數(shù)據(jù)模型根據(jù)不同的應用層次劃分為三種類型:1、概念模型:也稱信息模型。它是按用戶觀點來對數(shù)據(jù)和信息

12、建模,主要用于數(shù)據(jù)庫設(shè)計。它與具體數(shù)據(jù)庫管理系統(tǒng)無關(guān),與具體的計算機平臺無關(guān)。目前,較為流行的概念模型有E-R模型、擴充的E-R模型、面向?qū)ο竽P偷取?2、邏輯模型:又稱數(shù)據(jù)模型。它是按計算機系統(tǒng)觀點對數(shù)據(jù)建模,主要用于DBMS的實現(xiàn)。目前數(shù)據(jù)模式有很多種,包括層次模型、網(wǎng)狀模型和關(guān)系模型、面向?qū)ο竽P偷取?、物理模型:它是一中面向計算機物理表示的模型,此模型給出了數(shù)據(jù)模型在計算機上的物理結(jié)構(gòu)的表示。. 數(shù)據(jù)模型的三要素:1、數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)用來描述系統(tǒng)的靜態(tài)特征。它主要描述數(shù)據(jù)的類型、內(nèi)容性質(zhì)以及數(shù)據(jù)間的聯(lián)系等。 2、數(shù)據(jù)操作。數(shù)據(jù)操作用于描述系統(tǒng)的動態(tài)特征。它主要描述在相應數(shù)據(jù)結(jié)構(gòu)上的操

13、作類型與操作方式。數(shù)據(jù)庫主要有檢索和更新(包括插入、刪除和修改)兩類操作。.3、數(shù)據(jù)約束條件。 數(shù)據(jù)約束條件是一組完整型規(guī)則的集合,它描述了數(shù)據(jù)及其聯(lián)系應具有的制約和依賴規(guī)則。.6.2.2 6.2.2 概念模型概念模型 概念模型是現(xiàn)實世界到機器世界的一個中間層次。 概念模型的表示方法很多,其中最常用的是實體聯(lián)系模型,簡稱為E-R模型。該模型將現(xiàn)實世界中需要的信息,以及它們之間的基本聯(lián)接關(guān)系轉(zhuǎn)化成圖,比較直觀的反映了現(xiàn)實世界。.1. 概念模型涉及的基本概念(1)實體:客觀存在的并可相互區(qū)別的事物稱為實體??梢允蔷唧w的人、事、物,比如小趙、信息學院、教材等;也可以是抽象的概念或聯(lián)系,比如領(lǐng)導與職工

14、的領(lǐng)導關(guān)系。實體是概念世界中的基本單位。.(2)屬性:實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。如學生實體可以由學號、姓名、性別等屬性組成。(3)聯(lián)系:現(xiàn)實世界中的事物間的關(guān)聯(lián)稱為聯(lián)系。如教師與學生的授課關(guān)系等。這些聯(lián)系反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系。.兩個實體集間的聯(lián)系可以分為以下幾種:一對一聯(lián)系(1 :1):對于實體集A中的每一個實體,實體集B中有且只能有一個實體與之聯(lián)系,反之亦然。如學校與校長之間的聯(lián)系 。一對多聯(lián)系(1 :n)或多對一聯(lián)系(n :1):對于實體集A中的每一個實體,實體集B中有n (n1)個實體與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A

15、中有且只能有一個實體與之聯(lián)系。如一個學院由多個班級。 . 多對多聯(lián)系(m :n): 這是一種復雜的聯(lián)系,對于實體集A中的每一個實體,實體集B中有n (n1)個實體與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中有n (n1)實體與之聯(lián)系。如一門課同時有若干個學生選修,而一個學生可以同時選修多門課。.2. 概念模型基本概念之間的關(guān)系(1)實體集(聯(lián)系)與屬性間的關(guān)系。 一個實體可以有若干個屬性,實體以及它的所有屬性構(gòu)成了實體的一個完整描述,因此實體與屬性間有一定的聯(lián)系。如在學生基本情況信息表中每一個人(實體)可以有:編號、姓名、性別、系別、年齡、籍貫、政治面貌等屬性,它們組成了一個有關(guān)學生

16、實體的完整描述。. 聯(lián)系也可以附有屬性,聯(lián)系和它的所有的屬性構(gòu)成了聯(lián)系的一個完整描述,因此,聯(lián)系與屬性間也有聯(lián)接關(guān)系。(2)實體集與聯(lián)系。 實體集間可通過聯(lián)系建立聯(lián)接關(guān)系。 概念模型中的基本關(guān)系的結(jié)構(gòu)如下圖所示。 .學學生生信信息息表表關(guān)關(guān)系系關(guān)系名關(guān)系名主碼主碼(男,女男,女)信息信息,材料材料北京北京,上海上海團員團員,黨員黨員域域?qū)傩詫傩?列列)元元組組行行屬性名屬性名.3. 概念模型的表示方法(1)實體集的表示方法:在E-R圖中用矩形表示實體集,在矩形內(nèi)寫上該實體集的名字。(2)屬性的表示方法:在E-R圖中用橢圓表示屬性,在橢圓內(nèi)寫上該屬性的名稱。并用無向邊將其與相應的實體連接起來。.

17、(3)聯(lián)系的表示方法:在E-R圖中用菱形表示聯(lián)系,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)的實體連接起來,同時在無向邊旁標上聯(lián)系的類型,如1 :1,1 :n,n :m等。如下圖所示。.班級班級領(lǐng)導領(lǐng)導班長班長11(a)兩個實體集間的兩個實體集間的1:1聯(lián)系聯(lián)系班級班級組成組成學生學生1n(b)兩個實體集間的兩個實體集間的1:n聯(lián)系聯(lián)系. 聯(lián)系本身也是一種實體型,也有屬性,如果一個聯(lián)系具有屬性,則將這些屬性用無向邊與該聯(lián)系連接起來。課程課程選修選修學生學生nm(c)兩個實體集間的兩個實體集間的n: m聯(lián)系聯(lián)系. 例例6.1 6.1 有三個實體集及它們的屬性,它們分別是:學生(Student):學

18、號(Xh)、姓名(Xm)、性別(Xb)、年齡(Nl)班級(Class):班號(Bh)、專業(yè)(Zy)課程(Course):課程號(Kh)、課程名(Km)、學分(Xf) 由這三個實體集構(gòu)成的概念模型,可用E-R圖來表示,如圖所示。.ClassStudentCourseXh組成組成選修選修KmXfXhXmXbNlBh成績成績學生學生1nnmZy.6.2.3 6.2.3 數(shù)據(jù)模型數(shù)據(jù)模型在數(shù)據(jù)庫領(lǐng)域中最常用的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型、關(guān)系模型三種模型。1. 層次模型層次模型是最早發(fā)展起來的數(shù)據(jù)庫模型。它的基本結(jié)構(gòu)是樹形結(jié)構(gòu),這種結(jié)構(gòu)方式在現(xiàn)實世界中很普遍,如家族結(jié)構(gòu)、行政組織結(jié)構(gòu)等。. 在圖論中,

19、我們學過樹的定義,任一樹結(jié)構(gòu)均有以下特性:1)棵樹有且僅有一個無雙親結(jié)點,稱為根結(jié)點。2)除根結(jié)點以外其他的結(jié)點有且僅有一個雙親,無子女的結(jié)點稱為葉結(jié)點。 層次模型的示例如下圖所示。 .院院 系系學學 校校研究所研究所機機 關(guān)關(guān)教研室教研室班班 級級科研室科研室科室科室教師教師學生學生科研人員科研人員工作人員工作人員領(lǐng)導領(lǐng)導領(lǐng)導領(lǐng)導領(lǐng)導領(lǐng)導領(lǐng)導領(lǐng)導領(lǐng)導領(lǐng)導領(lǐng)導領(lǐng)導領(lǐng)導領(lǐng)導組成組成組成組成組成組成組成組成.2.網(wǎng)狀模型 網(wǎng)狀模型是一種更具有普遍性的結(jié)構(gòu),從圖論的角度講,網(wǎng)狀模型是一個不加任何條件限制的無向圖。網(wǎng)狀模型是以記錄為結(jié)點的網(wǎng)狀結(jié)構(gòu),它滿足以下條件:(1)可以有任意個結(jié)點無雙親。(2)允

20、許結(jié)點有一個以上的雙親。(3)允許兩個結(jié)點之間有一種或兩種以上的聯(lián)系。. 網(wǎng)狀模型的示例如下圖所示。工廠工廠市場部市場部生產(chǎn)部生產(chǎn)部產(chǎn)品產(chǎn)品管理管理管理管理推銷推銷生產(chǎn)生產(chǎn).3.關(guān)系模型 目前,關(guān)系模型是數(shù)據(jù)庫領(lǐng)域中目前最重要的一種數(shù)據(jù)模型。關(guān)系模型的本質(zhì)是一張二維表,關(guān)系模型中,一張二維表就稱為一個關(guān)系。(1)關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)。關(guān)系模型采用二維表來表示,簡稱表。如下表是一張學生登記表,它由行(元組)和列(屬性)組成。.學號學號姓名姓名性別性別年齡年齡系號系號年級年級950104950104王小明王小明女女191901019595950206950206黃大鵬黃大鵬男男20200202959

21、5950508950508張文斌張文斌女女181805059595. 關(guān)系二維表一般具有下面幾個性質(zhì): 1) 元組個數(shù)有限性。2) 元組的唯一性。 3)元組次序的無關(guān)性。4)元組分量的原子性5)屬性名的唯一性。6)屬性的次序無關(guān)性。7) 分量值域的同一性。. 需要注意的是:關(guān)系必須滿足一定的規(guī)范條件,其中最基本的一條是:關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項,即不允許表中還有表。 外鍵:二維表中某個屬性或?qū)傩越M合雖不是該表的關(guān)鍵字或只是關(guān)鍵字的一部分,但卻是另外一個表的關(guān)鍵字時,稱該屬性或?qū)傩越M合為這個表的外部關(guān)鍵字或外鍵。.(2)關(guān)系模型的操作。一般有以下四種操作:1)數(shù)據(jù)查詢。數(shù)據(jù)查詢是

22、數(shù)據(jù)庫的核心操作。它包括單表查詢和多表查詢。 單表查詢:是指僅在一個數(shù)據(jù)庫表進行的查詢。 多表查詢:是指同時涉及兩個以上的表的查詢。首先將相關(guān)的關(guān)系合并成一個關(guān)系,再對合并后的關(guān)系作橫向或縱向的定位。確定要查詢的數(shù)據(jù),之后進行操作。.2)數(shù)據(jù)插入。數(shù)據(jù)插入僅對一個關(guān)系而言,在指定的關(guān)系中插入一個或多個元組。3)數(shù)據(jù)刪除。數(shù)據(jù)刪除的基本單位是一個表中元組,它將滿足條件元組從表中刪除。4)數(shù)據(jù)修改。數(shù)據(jù)修改又稱更新操作。它可以分解為刪除和插入兩個基本操作。 以上四種操作的對象都是關(guān)系(表),而操作的結(jié)果也是關(guān)系(表)。.(3)關(guān)系模型的約束條件。關(guān)系模型定義三種數(shù)據(jù)約束條件:1)實體完整性約束條件

23、。實體完整性約束要求關(guān)系中主碼的任何屬性都不能為空。這是數(shù)據(jù)庫完整性的最基本的要求,因為主碼唯一標識元組,如為空則不能為主碼。.2)參照完整性約束條件。參照完整性約束是對關(guān)系間引用數(shù)據(jù)的一種限制。即在關(guān)系中的外鍵要么是所關(guān)聯(lián)關(guān)系中的實際存在的元組,要么就為空值。比如在下面關(guān)系中:職工關(guān)系(職工編號,姓名,性別,部門編號)部門關(guān)系(部門編號,部門名稱,部門經(jīng)理) 職工編號是職工關(guān)系的主碼,而外碼為部門編號,職工關(guān)系與部門關(guān)系通過部門編號關(guān)聯(lián),參照完整性要求職工關(guān)系中的部門編號的值在部門關(guān)系中必有相應元組。.3)用戶定義的完整性約束條件。用戶定義的完整性約束條件是某一具體數(shù)據(jù)庫的約束條件,是用戶自

24、己定義的某一具體數(shù)據(jù)必須滿足的語義要求。 其中前兩者約束條件由關(guān)系數(shù)據(jù)庫系統(tǒng)自動支持。對后者,則由關(guān)系數(shù)據(jù)庫系統(tǒng)提供完整性約束語言,用戶利用該語言定義出約束條件。.6.3 6.3 關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫 6.3.1 關(guān)系模型的特點 6.3.2 關(guān)系代數(shù) 6.3.3 結(jié)構(gòu)化查詢語言SQL.6.3.1 6.3.1 關(guān)系模型的特點關(guān)系模型的特點1.單一的數(shù)據(jù)結(jié)構(gòu)關(guān)系 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是單一的?,F(xiàn)實世界的實體以及實體之間的各種聯(lián)系均用關(guān)系來表示,從用戶角度來看,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。2.關(guān)系操作 關(guān)系操作采用集合操作方式。即操作對象和結(jié)果都是集合。其中查詢是最基本的操作。.3.關(guān)系的三

25、類完整性規(guī)則 關(guān)系模型的完整性規(guī)則是對數(shù)據(jù)的約束。關(guān)系模型提供了三類完整性規(guī)則:實體完整性規(guī)則、參照完整性規(guī)則和用戶自定義完整性規(guī)則。.6.3.2 6.3.2 關(guān)系代數(shù)關(guān)系代數(shù) 關(guān)系模型中的關(guān)系操作通常用關(guān)系代數(shù)和關(guān)系演算來表示的。關(guān)系代數(shù)是一種抽象的查詢語言,它是用對關(guān)系的運算來表達查詢的。關(guān)系演算是用謂詞來表達查詢要求的方式。二者是等價的。在這里我們著重介紹關(guān)系代數(shù)。.1. 關(guān)系代數(shù)的相關(guān)概念(1)笛卡爾積:令A和B是任意兩個集合,若有序?qū)Φ牡谝粋€成員是A的元素,第二個成員是B的元素,所有這樣的有序?qū)Φ募?,稱為集合A和B的笛卡爾積或直積。記作AB。 AB=|(xA)(yB) 笛卡爾積可表

26、示為一個二維表,表中的每一行對應一個元組,表中的每一列對應一個域(同一屬性的集合)。. 我們看一個例子:例如:A=a,b, B=0,1,2則: AB=a,0,a,1, a,2, b,0, b,1, b,2 BA=0,a,0,b, 1,a, 1,b, 2,a, 2,b.(2)關(guān)系:令A和B是任意兩個集合,笛卡爾積AB的子集R稱作A到B的關(guān)系。簡單的說:關(guān)系是笛卡爾積的子集。(3)關(guān)系模型:關(guān)系的描述稱為關(guān)系模型。它可以形象化地表示為一個五元組: R(U,D,DOM,F(xiàn))。其中R為關(guān)系名,U為組成該關(guān)系的屬性名的集合,D為屬性組U中屬性所來自的域,DOM為屬性向域的映像集合,F(xiàn)為屬性間數(shù)據(jù)依賴關(guān)系

27、。.2.傳統(tǒng)的集合運算(1)并:設(shè)關(guān)系R和S具有相同的關(guān)系模式,R和S的并是由屬于R或?qū)儆赟的元組構(gòu)成的集合,記為RS。形式定義如下: RS = t | tR tS , t是元組變量,R和S都有n個屬性。 并運算可以實現(xiàn)插入若干元組的操作。如對關(guān)系R插入R,則可用并運算表示為:RR。.(2)差:設(shè)關(guān)系R和S具有相同的關(guān)系模式,R和S的差是由屬于R但不屬于S的元組構(gòu)成的集合,記為RS。形式定義如下: RS = t | tR tS , R和S都有n個屬性。 差運算可實現(xiàn)刪除操作。如對關(guān)系R刪除R,則可用差運算表示為:RR。 對關(guān)系的修改可分兩步進行,先做刪除操作,再做插入操作,即先做差運算再做并運

28、算。.(3)交:設(shè)關(guān)系R和S具有相同的關(guān)系模式,關(guān)系R和S的交是由既屬于R又屬于S的元組構(gòu)成的集合,記為RS,這里要求R和S定義在相同的關(guān)系模式上。形式定義如下: RS = ttR tS, R和S都有n個屬性。.(4)廣義笛卡爾積:設(shè)關(guān)系R和S的元數(shù)分別為r和s,則R和S的笛卡爾積是一個(r+s)元的元組集合,每個元組的前r個分量來自R的一個元組,后s個分量來自S的一個元組,記為:RS。形式定義如下: RS = t | t= tr R ts S 下面舉例說明上述的四種傳統(tǒng)集合運算。. 例R R 關(guān)系關(guān)系R R1 1R R2 2R R3 31 12 23 32 25 57 7S S關(guān)系關(guān)系R R

29、1 1R R2 2R R3 34 42 23 31 12 23 3R RS (RS (R和和S S 的并的并) )R R1 1R R2 2R R3 31 12 23 32 25 57 74 42 23 3RS (RRS (R和和S S 的交的交) )R R1 1R R2 2R R3 31 12 23 3R RS (RS (R和和S S 的差的差) )R R1 1R R2 2R R3 32 25 57 7R RS(RS(R和和S S的廣義笛卡爾積的廣義笛卡爾積) )R R1 1R R2 2R R3 3R R1 1R R2 2R R3 31 12 23 34 42 23 31 12 23 31 1

30、2 23 32 25 57 74 42 23 32 25 57 71 12 23 3.3.專門的關(guān)系運算專門的關(guān)系運算包括選擇、投影、連接、除。(1)選擇:選擇運算是根據(jù)某些條件對關(guān)系做水平分割,即選取符合條件的元組。形式定義如下:F(R) t | tR F(t)= true 其中為選擇運算符,F(xiàn)(R)表示從R中挑選滿足公式F為真的元組所構(gòu)成的關(guān)系。這是從行的角度進行的運算。 例如, 23 (R)表示從R中挑選第2個分量值大于3的元組所構(gòu)成的關(guān)系。.(2)投影:投影運算是從關(guān)系內(nèi)選擇出若干屬性列組成新的關(guān)系。形式定義如下:A(R) t A| tR 其中A為R的屬性列。投影操作是從列的角度進行的

31、運算。 投影之后不僅取消了原關(guān)系中的某些列,而且取消完全相同的元組。 例如, 3,1 (R)表示關(guān)系R中取第1、3列,組成新的關(guān)系,新關(guān)系中第1列為R的第3列,新關(guān)系的第2列為R的第1列。.(3)連接:連接也稱為聯(lián)接。它是從兩個關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組組成新的關(guān)系。關(guān)系R和S的連接運算形式定義如下:R S tt = trR tsS AB trA tsB . 連接運算中有兩種最為常用的連接:1) 等值連接:將連接中的換成“=”,功能是從關(guān)系R和S的笛卡爾積中選取A,B屬性值相等的那些元組。它的形式定義為: R S tt = trR tsS A=B trA tsB .2)自然連

32、接:是一種特殊的等值連接,它要求兩個關(guān)系中進行比較的分量必須是相同的屬性組,并且要在結(jié)果中將重復的屬性去掉。它的形式定義為:R S tt = trR tsS trBtsB 連接運算一般是從行的角度進行的操作,但自然連接是同時從行和列的角度進行的操作。.我們舉例說明連接運算:R R關(guān)系關(guān)系A(chǔ) AB BC CD Da1a1b1b1c1c14 4a2a2b2b2c2c27 7a2a2b3b3c1c15 5a1a1b4b4c2c21 1S S關(guān)系關(guān)系B BE Eb1b12 2b2b26 6b2b28 8b3b31111選擇連接選擇連接A AR.BR.BC CD DS.BS.BE Ea1a1b1b1c1

33、c14 4b1b12 2a2a2b2b2c2c27 7b1b12 2a2a2b2b2c2c27 7b2b26 6a1a1b3b3c1c15 5b2b22 2R S DE .自然連接自然連接R R S SA AB BC CD DE Ea1a1b1b1c1c14 42 2a2a2b2b2c2c27 76 6a2a2b2b2c2c27 78 8a2a2b3b3c1c15 51111A AR.BR.BC CD DS.BS.BE Ea1a1b1b1c1c14 4b1b12 2a2a2b2b2c2c27 7b2b26 6a2a2b2b2c2c27 7b2b28 8a2a2b3b3c1c15 5b3b311

34、11等值連接等值連接 R SR.B=S.B .(4)除:設(shè)R(x)和S(y)是兩個關(guān)系,并且y是x的子集即x中的每一個屬性都在y中,關(guān)系RS是模式xy上的關(guān)系,也就是說,RS包含所有在x中而不在y中的屬性。它形式定義為: RS = trX| trR yx y(S) 其中yx為x在R中的像集。. 我們舉例說明除運算:R R關(guān)系關(guān)系A(chǔ) AB BC CD D2 24 43 34 44 45 56 67 74 45 53 34 42 24 46 67 72 24 43 38 8S S關(guān)系關(guān)系C CD D3 34 46 67 73 38 8R RS SA AB B2 24 4. 根據(jù)上述的關(guān)系運算完成下

35、面例題學生選課數(shù)據(jù)庫的關(guān)系模式為:Student(Sno,Sname,Sdept,Sage);Course(Cno,Cname,Pno);SC(Sno,Cno,Grade)。其中Sno,Sname,Sdept,Sage表示學號、學生姓名、學生系別、學生年齡;Cno,Cname,Pno表示課程號、課程名、預修課程號;Grade表示成績。.寫出對關(guān)系模型Student、Course、SC中的下述查詢表達式:(1)檢索學生年齡小于19的學生的姓名。 Sname(Sage85 (Student SC) (5)求選修了全部課程的學生學號。 Sno,Cno(SC) Cno(Course) .6.3.3 6

36、.3.3 結(jié)構(gòu)化查詢語言結(jié)構(gòu)化查詢語言SQLSQL SQL:是Structured Query Language的縮寫,是一種結(jié)構(gòu)化查詢語言。是1974年由Boyce和Chamberlin提出來的。 由于SQL使用方便、功能豐富、語言簡單易學,現(xiàn)已成為關(guān)系數(shù)據(jù)庫領(lǐng)域中的一個主流語言。.1.SQL數(shù)據(jù)庫結(jié)構(gòu) SQL數(shù)據(jù)庫的結(jié)構(gòu)如圖所示。SQL用戶用戶SQL用戶用戶視圖視圖1視圖視圖2基本表基本表1基本表基本表2基本表基本表3基本表基本表4存儲文件存儲文件1存儲文件存儲文件1存儲文件存儲文件1. 它基本上是三級結(jié)構(gòu),它支持關(guān)系數(shù)據(jù)庫三級模式結(jié)構(gòu),但在SQL數(shù)據(jù)庫中,模式被稱為基本表,內(nèi)模式稱為存儲

37、文件,外模式稱為視圖或部分基本表,元組稱為行,屬性稱為列。.2.結(jié)構(gòu)化查詢語言SQL的組成 SQL語言包括數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)控制4個方面。 數(shù)據(jù)定義包括定義基本表、定義視圖、定義索引3部分。 數(shù)據(jù)查詢是建立數(shù)據(jù)庫的主要目的,SQL語言提供了SELECT語句進行查詢。 數(shù)據(jù)操縱包括數(shù)據(jù)檢索和更新兩部分功能。 數(shù)據(jù)控制是指控制用戶對數(shù)據(jù)的存儲權(quán)力。.3. SQL數(shù)據(jù)庫的查詢 數(shù)據(jù)庫的查詢的基本格式為:SELECTALL/DISTINCTFROM WHEREGROUP BYORDER BY ASC/DESC;在語句中,凡是在中的項是不可缺的, 中的項可根據(jù)需要省略。. 整個查詢語句的

38、含義是: 根據(jù)WHERE子句中的條件,從FROM子句指定的表中找出滿足條件的元組,再按SELECT子句中的目標列或目標列表達式選出元組中的屬性值形成結(jié)果表。如果有GROUP子句,則按列名1的值進行分組。如果有ORDER子句,則在結(jié)果表中按照列名2的值進行升序(ASC)和降序(DESC)排序。.我們舉例說明如何用SQL語言進行查詢。例:學生選課數(shù)據(jù)庫的關(guān)系模式為: Student(Sno,Sname,Sdept,Sage); Course(Cno,Cname,Pno); SC(Sno,Cno,Grade)。(1)查詢?nèi)w學生的姓名、學號。 SELECT Sno, Sname FROM Stude

39、nt;.(2)查詢所有選修過課的學生的學號。 SELECT DISTINCT Sno FROM SC;(3)查詢年齡在19到22之間的學生姓名、系別和年齡。 SELECT Sname, Sdept, Sage FROM Student WHERE Sage BETWEEN 19 AND 23; 謂詞BETWEENAND 和NOT BETWEEN AND可以查找屬性值在(或不在)指定范圍內(nèi)的元組。.(4)查詢出成績?yōu)?0、85、87的記錄。 SELECT * FROM SC WHERE Grade IN(80,85,87);謂詞IN用來查找屬性值屬于指定集合的元組。(5)查詢第二個字為“艷”的學

40、生的姓名和系別。 SELECT Sname, Sdept FROM Student WHERE Sname LIKE - -_艷%; 謂詞LIKE可以用來進行字符串的匹配。其中%代表任意長的的字符串,- 代表任意單個字符。一個漢字占兩個字符。.(6)查詢選修“數(shù)據(jù)庫系統(tǒng)原理”課程的學生姓名。 SELECT Sname FROM Student WHERE Sno IN ( SELECT Sno FROM SC WHERE Cno IN (SELECT Cno FROM Course WHERE Cname=數(shù)據(jù)庫系統(tǒng)原理); 此查詢?yōu)榍短撞樵儭?.6.4 6.4 數(shù)據(jù)庫的設(shè)計數(shù)據(jù)庫的設(shè)計 6.

41、4.1 6.4.1 數(shù)據(jù)庫設(shè)計的步驟數(shù)據(jù)庫設(shè)計的步驟 6.4.2 6.4.2 數(shù)據(jù)庫設(shè)計的需求分析數(shù)據(jù)庫設(shè)計的需求分析 6.4.3 6.4.3 數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計 6.4.4 6.4.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計 6.4.56.4.5 物理結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計. 數(shù)據(jù)庫設(shè)計是數(shù)據(jù)庫應用的核心。數(shù)據(jù)庫設(shè)計是指利用現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng),針對具體的應用對象,構(gòu)造合適的數(shù)據(jù)庫模式,建立基于數(shù)據(jù)庫的應用系統(tǒng)或信息系統(tǒng)。.6.4.1 6.4.1 數(shù)據(jù)庫設(shè)計的步驟數(shù)據(jù)庫設(shè)計的步驟 在數(shù)據(jù)庫設(shè)計中有兩種方法: 一種是以信息需求為主,兼顧處理需求,稱為面向數(shù)據(jù)的方法。 另一種方法是以處理需

42、求為主,兼顧信息需求,稱為面向過程的方法。 這兩種方法現(xiàn)在都有使用,但面向數(shù)據(jù)方法已成為主流方法。. 數(shù)據(jù)庫設(shè)計一般分為以下六個階段:1.需求分析階段 進行數(shù)據(jù)庫設(shè)計首先必須準確分析用戶的需求,按需求合理的設(shè)計系統(tǒng)。2.概念設(shè)計階段 概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。.3.邏輯設(shè)計階段 該階段是將概念結(jié)構(gòu)轉(zhuǎn)化為某個DBMS所支持的數(shù)據(jù)模型,并對其進行優(yōu)化,得到數(shù)據(jù)庫的邏輯模型。4.物理設(shè)計階段 數(shù)據(jù)庫物理設(shè)計是為邏輯數(shù)據(jù)模型選取一個最合適應用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)。.5.實現(xiàn)階段 在數(shù)據(jù)庫實施階段,

43、設(shè)計人員運用DBMS提供的數(shù)據(jù)語言及其宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應用程序,組織數(shù)據(jù)入庫,并進行試運行。6.運行和維護階段 數(shù)據(jù)庫應用系統(tǒng)經(jīng)過試運行后即可投入正式運行。在其運行過程中必須不斷對其進行評價、調(diào)整與修改。. 數(shù)據(jù)庫設(shè)計的步驟如圖所示需求分析需求分析概念設(shè)計概念設(shè)計邏輯設(shè)計邏輯設(shè)計物理設(shè)計物理設(shè)計系統(tǒng)實施系統(tǒng)實施運行與維護運行與維護需求說明需求說明信息結(jié)構(gòu)信息結(jié)構(gòu)邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)物理數(shù)據(jù)庫結(jié)構(gòu)物理數(shù)據(jù)庫結(jié)構(gòu)數(shù)據(jù)庫實施數(shù)據(jù)庫實施總體信息需求總體信息需求處理需求處理需求.6.4.2 6.4.2 數(shù)據(jù)庫設(shè)計的需求分析數(shù)據(jù)庫設(shè)計的需求分析 分析和表達用戶的需求

44、,通常采用結(jié)構(gòu)化分析方法,這種方法用自頂向下,逐層分解的方式分析系統(tǒng)。并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。.6.4.3 6.4.3 數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計1.概念結(jié)構(gòu)設(shè)計的目的 概念結(jié)構(gòu)設(shè)計階段的目標是通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。 概念結(jié)構(gòu)的設(shè)計方法有兩種:.(1)集中式模式設(shè)計法:根據(jù)需求由一個統(tǒng)一機構(gòu)或人員設(shè)計一個綜合的全局模式。該方法簡單方便,適用于小型或不復雜的系統(tǒng)設(shè)計。(2)視圖集成設(shè)計法:這種方法是將一個系統(tǒng)分解成若干個子系統(tǒng),首先對每一個子系統(tǒng)進行模式設(shè)計,建立各個局部視圖,然后將這些局部視圖進行集成,最終形成整個系統(tǒng)的

45、全局模式。.2.概念結(jié)構(gòu)設(shè)計的過程 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計是使用E-R模型和視圖集成設(shè)計法進行設(shè)計的。它的設(shè)計過程是:首先設(shè)計局部應用,再進行局部視圖(局部E-R圖)設(shè)計,然后進行視圖集成得到概念模型(全局E-R圖)。. 視圖設(shè)計一般有三種方法:(1)自頂向下。這種方法是從總體概念結(jié)構(gòu)開始逐層細化。如教師這個視圖可以從一般教師開始,分解成高級教師、普通教師等。進一步再由高級教師細化為青年高級教師與中年高級教師等。(2)自底向上。這種方法是從具體的對象逐層抽象,最后形成總體概念結(jié)構(gòu)。(3)由內(nèi)向外。這種方法是從核心的對象著手,然后向四周逐步擴充,直到最終形成總體概念結(jié)構(gòu)。. 在視圖集成過程中最重要的

46、任務是解決各個E-R圖設(shè)計中的沖突。常見的沖突有以下幾類:(1)命名沖突。命名沖突有同名異義和同義異名兩種。如教師屬性何時參加工作與參加工作時間屬于同義異名。(2)概念沖突。同一概念在一處為實體而在另一處為屬性或聯(lián)系。(3)域沖突。相同屬性在不同視圖中有不同的域。(4)約束沖突。不同的視圖可能有不同的約束。. 我們舉例說明數(shù)據(jù)庫的概念設(shè)計過程:設(shè)計學生管理系統(tǒng)。包括學生的學籍管理子系統(tǒng)和課程管理子系統(tǒng)兩個系統(tǒng)。(1)學籍管理子系統(tǒng)包括學生、宿舍、班級、教室、輔導員。這些實體之間的聯(lián)系有: 一個班級有若干學生,一個學生只能屬于一個班;一個宿舍可以住多個學生,一個學生只能住在一個宿舍中;一個輔導員

47、帶若干個學生,一個學生只屬于一個輔導員。一個輔導員帶多個班級;一個班級在多個教室上課,一個教室有多個班級來上課。.(2)課程管理子系統(tǒng)包括學生、課程、教師、教室、教科書。這些實體之間的聯(lián)系有: 一個學生選修多門課程,一門課程有若干學生選修;一個學生有多個教師授課,一個教師教授若干學生;一門課程由若干個教師講授,一個教室只講一門課程;一個教室開設(shè)多門課,一門課只能在一個教室上。. 針對兩個子系統(tǒng)分別設(shè)計出它們的E-R圖。在E-R圖中省去屬性。學籍管理子系統(tǒng)的E-R圖如圖所示。 輔導員輔導員班級班級教室教室學生學生宿舍宿舍組成組成指導指導管理管理上課上課住宿住宿1n11nn1nmn.對應各個實體的

48、屬性分別為: 學生學號,姓名,性別,出生日期,系別,何時入校,平均成績 班級班級號,學生人數(shù) 輔導員職工號,姓名,性別,工作時間 宿舍宿舍編號,地址,人數(shù) 教室教室編號,地址,容量 其中有下劃線的屬性為實體的碼。. 課程管理子系統(tǒng)的E-R圖如圖所示。學生學生教師教師課程課程教科書教科書教室教室教教學學講講授授選選修修開開設(shè)設(shè)m111mnnnn.對應各個實體的屬性分別為: 學生學號,姓名,性別,年齡,入學時間 課程課程號,課程名,學分 教科書書號,書名,作者,出版日期,關(guān)鍵字 教室教室編號,地址,容量 教師職工號,姓名,性別,職稱 其中有下劃線的屬性為實體的碼。.下面將學籍管理子系統(tǒng)E-R圖和課

49、程管理子系統(tǒng)E-R圖集成學生管理系統(tǒng)E-R圖。集成過程如下:(1)消除沖突。這兩個子E-R圖存在著多方面的沖突: 輔導員屬于教師,學籍管理中的輔導員與課程管理中的教師可以統(tǒng)一為教師。 將輔導員改為教師后,教師與學生之間有兩種不同的聯(lián)系:指導聯(lián)系和教學聯(lián)系,將兩種聯(lián)系綜合為教學聯(lián)系。 調(diào)整學生屬性組成,調(diào)解結(jié)果為:學生學號,姓名,出生日期,年齡,系別,平均成績.(2)消除冗余。 學生實體的屬性中的年齡可由初涉概念日期計算出來,屬于數(shù)據(jù)冗余。調(diào)整為:學生學號,姓名,出生日期,系別,平均成績 教室實體與班級實體之間的上課聯(lián)系可以由教室與課程之間的開設(shè)聯(lián)系、課程與學生之間的選修聯(lián)系、學生與班級之間的組成聯(lián)系三者推導出來,因此屬于數(shù)據(jù)冗余,可以消去。 學

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論