




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、項目一 掌握數(shù)據(jù)庫基礎知識項目導入數(shù)據(jù)庫技術是信息處理的基礎,它不僅反映數(shù)據(jù)本身所代表的基本信息,還反映數(shù)據(jù)之間的聯(lián)系,是相關數(shù)據(jù)的集合。數(shù)據(jù)庫技術是計算機領域發(fā)展最快的學科之一,目前,數(shù)據(jù)庫技術已從第一代的網(wǎng)狀、層次數(shù)據(jù)庫系統(tǒng),第二代的關系數(shù)據(jù)庫系統(tǒng),發(fā)展到以面向對象模型為主要特征的第三代數(shù)據(jù)庫系統(tǒng)。其中建立在關系模型基礎上的關系數(shù)據(jù)庫是當前最流行的、應用最廣泛的數(shù)據(jù)庫,當前所開發(fā)的基于數(shù)據(jù)庫的應用系統(tǒng)基本上都是關系數(shù)據(jù)庫。因此, 在本項目中,首先對數(shù)據(jù)庫的基礎知識進行初步的討論,然后對數(shù)據(jù)庫開發(fā)所使用的平臺 SQL Server 2005 再作概況的介紹。項目分析數(shù)據(jù)庫技術是為了解決計算機
2、信息處理過程中大量數(shù)據(jù)有效地組織和存儲的問題,在數(shù)據(jù)庫系統(tǒng)中減少數(shù)據(jù)存儲冗余、實現(xiàn)數(shù)據(jù)共享、保障數(shù)據(jù)安全以及高效地檢索數(shù)據(jù)和處理數(shù)據(jù)而設計的,所以,數(shù)據(jù)庫是相關數(shù)據(jù)的集合。本教材中以學生管理數(shù)據(jù)庫系統(tǒng)為教學案例,以關系數(shù)據(jù)庫技術作為基礎,不但需要對數(shù)據(jù)庫的基礎理論有一定的了解,同時還需要掌握一種數(shù)據(jù)庫開發(fā)平臺,即數(shù)據(jù)庫管理系統(tǒng)( DBMS )的使用方法,才能在開發(fā)平臺上有效地開發(fā)出一個實用的學生管理數(shù)據(jù)庫系統(tǒng)。因此,本項目將包括數(shù)據(jù)庫的基礎知識介紹和數(shù)據(jù)庫開發(fā)平臺SQL Server 2005 的使用能力訓練兩部分內容。能力目標1. 了解學生管理數(shù)據(jù)庫的基本需求;2. 了解數(shù)據(jù)管理技術的3 個
3、階段;3. 掌握數(shù)據(jù)庫、數(shù)據(jù)管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的基本概念;4. 掌握 SQL Server 數(shù)據(jù)庫的基本組成和有關知識。知識目標:1. 能根據(jù)實際環(huán)境進行數(shù)據(jù)庫應用系統(tǒng)的需求分析和功能設計;2. 具備使用數(shù)據(jù)庫理論分析相關信息抽象數(shù)據(jù)的能力;3. 了解并掌握數(shù)據(jù)庫開發(fā)平臺SQL Server 2005 的概況和基本設置方法。任務1學生管理數(shù)據(jù)庫基本需求任務要求根據(jù)學生管理的工作流程,對學生管理數(shù)據(jù)庫系統(tǒng)進行整體分析與規(guī)劃。1 .分析學生管理數(shù)據(jù)庫系統(tǒng)的整體需求,掌握需求分析的基本方法;2 .規(guī)劃學生管理數(shù)據(jù)庫系統(tǒng)應具備的功能模塊。知識儲備一個數(shù)據(jù)庫應用系統(tǒng)的開發(fā)設計通常要經(jīng)歷多個環(huán)節(jié),簡單地
4、說可以分為對應用系統(tǒng)前臺應用界面(應用層)和后臺數(shù)據(jù)庫(數(shù)據(jù)層)設計兩個部分的設計,每一部分的設計都是 一個龐大、復雜的工程,因此,通常都是結合軟件工程的原理和方法進行數(shù)據(jù)庫軟件的設計。從一個應用軟件開發(fā)的角度講,一個數(shù)據(jù)庫應用系統(tǒng)的一般設計環(huán)節(jié)如圖1-1所示。就數(shù)據(jù)庫系統(tǒng)的規(guī)劃設計來講,一般設計過程包括:需求分析、數(shù)據(jù)庫概念結構設計、數(shù)據(jù)庫邏輯結構設計、數(shù)據(jù)庫物理結構設計、數(shù)據(jù)庫實施及數(shù)據(jù)庫的運行維護6個環(huán)節(jié)。設計一個數(shù)據(jù)庫應用系統(tǒng),首先要對系統(tǒng)的應用環(huán)境進行分析,掌握用戶需求要求, 這是整個開發(fā)的基礎,需求分析的準確與否,關系到數(shù)據(jù)庫應用系統(tǒng)的開發(fā)質量,本任務將主要討論學生管理數(shù)據(jù)庫系統(tǒng)的
5、需求分析這個環(huán)節(jié)。1.需求分析的任務需求分析是指在開發(fā)設計開始階段,收集用戶的功能要求,了解系統(tǒng)的應用環(huán)境,對需要使用的數(shù)據(jù)進行收集整理,建立起一個完整數(shù)據(jù)集的過程。比如系統(tǒng)的使用用戶的種類、 相關應用的歷史數(shù)據(jù)、有關表單資料的查閱以及實際運作流程等,從而得出所開發(fā)系統(tǒng)的功能運行過程。用戶需求包括數(shù)據(jù)和處理兩部分需求:數(shù)據(jù)需求是指數(shù)據(jù)庫中存儲哪些數(shù)據(jù)結構;處理需求是指用戶要完成什么處理功能,以及對這些處理的響應時間、處理方法等有什么要求。需求分析階段的任務主要包括以下幾個方面:(1)分析用戶活動,產(chǎn)生業(yè)務流程圖了解用戶當前的業(yè)務活動和職能,理清其處理流程。把用戶業(yè)務分成若干個子處理過程,使每個
6、處理功能明確、界面清楚,畫出業(yè)務流程圖。(2)確定系統(tǒng)范圍,產(chǎn)生系統(tǒng)范圍圖在和用戶經(jīng)過充分討論的基礎上,確定計算機所能進行數(shù)據(jù)處理的范圍,確定哪些工作由人工完成,哪些工作由計算機系統(tǒng)完成,即確定人機界面。(3)分析用戶活動所涉及的數(shù)據(jù),產(chǎn)生數(shù)據(jù)流圖深入分析用戶的業(yè)務處理,以數(shù)據(jù)流圖形式表示出數(shù)據(jù)庫的方向和對數(shù)據(jù)所進行的加工。數(shù)據(jù)流圖有四個基本成分:數(shù)據(jù)流、加工或處理、文件、外部實體。(4)分析系統(tǒng)數(shù)據(jù),產(chǎn)生數(shù)據(jù)字典數(shù)據(jù)字典提供對數(shù)據(jù)庫時間描述的集中,它的功能是存儲和檢索各種數(shù)據(jù)描述,數(shù)據(jù)字典是數(shù)據(jù)收集和數(shù)據(jù)分析的主要成果,在數(shù)據(jù)庫設計中占有很重要地位。2.需求分析的方法調查了解了用戶的需求以后
7、,還需要進一步分析和表達用戶的需求,用于需求分析的方法有很多種,主要的方法有自頂向下和自底向上兩種,其中自頂向下的結構化分析方法(Structured Analysis, SA)是一種簡單實用的方法。(1) SA方法SA方法是從最上層的系統(tǒng)組織入手,采用自頂向下、逐層分解的方法分析系統(tǒng)。SA方法把每個系統(tǒng)都抽象成圖1-2所示的數(shù)據(jù)流圖形式。圖1-2系統(tǒng)最高層的數(shù)據(jù)流圖4處理要求信息要求在SA方法中,處理過程的處理邏輯常常借助判定表和判定樹來描述,系統(tǒng)中的數(shù)據(jù)則 借助數(shù)據(jù)字典(DD )來描述。(2)數(shù)據(jù)流圖數(shù)據(jù)流圖(Data Flow Diagram , DFD )表達了數(shù)據(jù)與處理的關系。數(shù)據(jù)流
8、圖中的基本元素如下:圓圈符:O表示處理,輸入數(shù)據(jù)在此進行變換產(chǎn)生輸出數(shù)據(jù)。在其中注明處理的名稱。矩形符:描述一個輸入源點或輸出匯點。在其中注明源點或匯點的名稱。箭頭: 1命名的箭頭描述一個數(shù)據(jù)流。 內容包括被加工的數(shù)據(jù)及其流向,流線上要注明數(shù)據(jù)名稱,箭頭代表數(shù)據(jù)流動方向。右開口矩形框:I I向右開口的矩形框表示文件和數(shù)據(jù)存儲,要在其內標明相應的具體名稱。(3)數(shù)據(jù)字典數(shù)據(jù)流圖表達了數(shù)據(jù)和處理的關系,數(shù)據(jù)字典則是系統(tǒng)中各類數(shù)據(jù)描述的集合,是各類數(shù)據(jù)結構和屬性的清單。它與數(shù)據(jù)流圖互為解釋,數(shù)據(jù)字典貫穿于數(shù)據(jù)庫需求分析直到數(shù)據(jù) 庫運行的全過程,在不同的階段,其內容形式和用途各有區(qū)別,在需求分析階段,
9、它通常包含以下五個部分的內容。數(shù)據(jù)項數(shù)據(jù)項是不可再分的數(shù)據(jù)單位,對數(shù)據(jù)項的描述,通常包括數(shù)據(jù)項名、含義、別名、類 型、長度、取值范圍以及與其他數(shù)據(jù)項的邏輯關系。數(shù)據(jù)結構數(shù)據(jù)結構反映了數(shù)據(jù)之間的組合關系。 一個數(shù)據(jù)結構可以由若干個數(shù)據(jù)項組成, 也可以 由若干個數(shù)據(jù)結構組成, 或有若干個數(shù)據(jù)項和數(shù)據(jù)結構混合組成。 它包括數(shù)據(jù)結構名、 含義 及組成該數(shù)據(jù)結構的數(shù)據(jù)項名或數(shù)據(jù)結構名。數(shù)據(jù)流數(shù)據(jù)流可以是數(shù)據(jù)項,也可以是數(shù)據(jù)結構,表示某一加工處理過程的輸入或輸出數(shù)據(jù)。 對數(shù)據(jù)流的描述應包括數(shù)據(jù)流名、說明、流出的加工名,流入的加工名以及組成該數(shù)據(jù)流的數(shù)據(jù)結構或數(shù)據(jù)項。數(shù)據(jù)存儲數(shù)據(jù)存儲是處理過程中要存儲的數(shù)據(jù)
10、,它可以是手工憑證、手工文檔或計算機文檔。對數(shù)據(jù)存儲的描述應包括數(shù)據(jù)存儲名、說明、輸入數(shù)據(jù)流、輸出數(shù)據(jù)流、數(shù)據(jù)量、存取頻率和 存取方式。處理過程對處理過程的描述包括處理過程名、說明、輸入數(shù)據(jù)流、輸出數(shù)據(jù)流,并簡要說明處理工作、頻度要求、數(shù)據(jù)量及響應時間等。最終形成的數(shù)據(jù)流圖和數(shù)據(jù)字典是“系統(tǒng)需求分析說明書”的主要內容,是下一步進行概念結構設計的基礎。在本任務中,我們從項目準備的角度, 對學生管理數(shù)據(jù)庫應用系統(tǒng)先做一個整體的概括 分析,對學生管理數(shù)據(jù)庫中所需要準備的數(shù)據(jù)及其相關理論進行一個框架層面上的了解,為后續(xù)進行數(shù)據(jù)庫規(guī)劃和應用開發(fā)作好充足的知識和技能上的準備。任務實施學生管理數(shù)據(jù)庫系統(tǒng),
11、具有不同的用戶群體, 不同的用戶群體又對數(shù)據(jù)有著不同的需求 要求,正確地分析相應用戶的要求并恰當?shù)貙⑵浔磉_出來,是學生管理數(shù)據(jù)庫系統(tǒng)設計的起始工作。在本任務實施前,首先要對用戶環(huán)境進行準確的分析。1 .用戶類型分析學生管理數(shù)據(jù)庫通常的用戶為學生、教師和教學管理人員。不同的用戶有不同的信息查詢和信息管理要求。學生管理數(shù)據(jù)庫系統(tǒng), 要方便應用系統(tǒng)的管理員對數(shù)據(jù)庫中的基本信息 數(shù)據(jù)進行管理和維護, 教師用戶能夠對基本信息進行查詢并對部分信息進行更新管理,學生對與自己相關的數(shù)據(jù)可以進行查詢,對個人的基本信息可以進行維護。2 .功能需求分析學生管理數(shù)據(jù)庫系統(tǒng)其主要功能是實現(xiàn)了基礎資料、學生管理、課程管理
12、和成績管理四大模塊的管理。其中,基礎資料中又包括院系、班級、宿舍、教師基本資料的管理,包括了 對其的增加、刪除、修改和查詢;學生管理中,包括學生檔案和學生學籍的管理,包括了對 其中學生各個屬性的增加、刪除、修改和查詢;課程管理中,包括了對新的課程進行設置, 以及對班級選課的管理;成績管理中,包括了對學生成績的錄入和對學生成績進行分析。任務實踐1 .設計完成學生管理數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)流圖根據(jù)任務實施環(huán)節(jié)對學生管理數(shù)據(jù)庫系統(tǒng)應用環(huán)境的分析,繪制學生管理數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)流程圖,如圖1-3所示。圖1-3學生管理數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)流圖2 . 設計相關功能模塊。根據(jù)功能需求分析的情況,確定學生管理數(shù)據(jù)庫系統(tǒng)的功
13、能模塊如下:(1) 基本信息管理:包括院系信息管理和專業(yè)信息管理等功能;(2) 班級信息管理:包括班級信息管理和班級信息瀏覽等功能;(3) 教師信息管理:包括教師信息錄入和管理等功能;(4) 學生基本信息管理:包括學生信息的錄入、管理、查詢以及導入、導出等功能;(5) 系統(tǒng)維護:主要用于實現(xiàn)數(shù)據(jù)的備份、還原和清理功能;(6) 用戶管理:主要用于實現(xiàn)用戶管理、更改密碼等功能。任務 2 了解數(shù)據(jù)庫基礎知識任務要求通過本任務的學習應掌握以下內容:數(shù)據(jù)、 數(shù)據(jù)庫、 數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的基本知識。知識儲備1. 數(shù)據(jù)庫管理技術的產(chǎn)生數(shù)據(jù)庫技術產(chǎn)生于20 世紀 60 年代末 70 年代初,其主要目的
14、是有效地管理和存取大量的數(shù)據(jù)資源。近年來,數(shù)據(jù)庫技術和計算機網(wǎng)絡技術的發(fā)展相互滲透,相互促進,已成為當今計算機領域發(fā)展迅速,應用廣泛的兩大領域,數(shù)據(jù)庫技術不僅應用于事務處理,并且進一步應用到情報檢索,人工智能,專家系統(tǒng),計算機輔助設計等數(shù)據(jù)管理領域。談數(shù)據(jù)管理技術,先要講到數(shù)據(jù)處理。所謂數(shù)據(jù)處理,是指對各種數(shù)據(jù)進行收集、存儲、加工和傳播的一系列活動的總和??v觀數(shù)據(jù)處理的歷史,可以認為,數(shù)據(jù)庫技術萌芽于五十年代后期,形成于六十年代中期, 成熟于七十年代,廣泛應用于八十年代。2. 數(shù)據(jù)庫管理技術的發(fā)展數(shù)據(jù)庫管理技術主要研究如何存儲、使用和管理數(shù)據(jù),是計算機數(shù)據(jù)管理技術發(fā)展的新階段 , 是計算機技術
15、中發(fā)展最快、應用最廣的技術之一。數(shù)據(jù)管理的水平是和計算機硬件、軟件的發(fā)展相適應的,隨著計算機技術的發(fā)展,數(shù)據(jù)管理技術經(jīng)歷了三個階段的發(fā)展:人工管理階段;文件系統(tǒng)階段;數(shù)據(jù)系統(tǒng)階段。( 1) 人工管理階段(20 世紀 50 年代)在這一階段,計算機主要用于科學計算,硬件設施方面,外部存儲只有磁帶、卡片和紙帶等, 沒有磁盤等直接存取設備。軟件方面,只有匯編語言,沒有操作系統(tǒng)和數(shù)據(jù)管理軟件,數(shù)據(jù)量小,數(shù)據(jù)無結構,由用戶直接管理,數(shù)據(jù)依賴于特定的應用程序,缺乏獨立性。此階段應用程序與數(shù)據(jù)之間的關系是一一對應的關系,如圖1-4 所示。圖1-4人工管理階段應用程序 與數(shù)據(jù)之間的關系人工管理階段的數(shù)據(jù)具有以
16、下幾個特點:數(shù)據(jù)不保存當時的計算機主要用于科學計算,一般不需要 長期保存數(shù)據(jù)。每處理一批數(shù)據(jù),都要特地為這批 數(shù)據(jù)編制相應的應用程序,計算任務完成后,用戶 作業(yè)退出計算機系統(tǒng),數(shù)據(jù)空間隨著程序空間一起 被釋放。沒有專門的軟件對數(shù)據(jù)進行管理每個應用程序都要包括存儲結構、存取方法、 輸入/輸出方式等內容的設計。一旦數(shù)據(jù)發(fā)生改變,就必須修改應用程序,因而數(shù)據(jù)與程序 不具有獨立性。數(shù)據(jù)不共享一組數(shù)據(jù)對應一個應用程序。如果多個應用程序涉及某些相同的數(shù)據(jù),則必須各自進行定義,因此程序間有大量的數(shù)據(jù)冗余。數(shù)據(jù)不具有獨立性數(shù)據(jù)的獨立性包括了數(shù)據(jù)的邏輯獨立性和數(shù)據(jù)的物理獨立性。當數(shù)據(jù)的邏輯結構或物理 結構發(fā)生變
17、化時,必須對應用程序做相應的修改。(2)文件系統(tǒng)階段(20世紀50年代后期60年代中期)圖1-5文件系統(tǒng)階段應用程序與數(shù)據(jù)之間的關系在這一階段,計算機已大量用于 數(shù)據(jù)的管理。硬件方面,有了磁盤、 磁鼓等直接存取存儲設備。軟件方面, 操作系統(tǒng)中已經(jīng)有了專門的管理軟件, 一般稱為文件系統(tǒng)。數(shù)據(jù)處理方式有 批處理,也有聯(lián)機實時處理。此階段 應用程序與數(shù)據(jù)之間的關系如圖1-5所示。文件系統(tǒng)階段的數(shù)據(jù)具有以下幾個特點:數(shù)據(jù)長期保存數(shù)據(jù)以“文件”形式可長期保存在外部存儲器的磁盤上。由于計算機大量用于數(shù)據(jù)處理,數(shù)據(jù)需要長期保留在外存上反復進行查詢、修改、插入及刪除等操作。文件系統(tǒng)管理數(shù)據(jù)所有的文件由文件管理
18、系統(tǒng)統(tǒng)一進行管理和維護,數(shù)據(jù)文件可以脫離程序而獨立存在。文件系統(tǒng)把數(shù)據(jù)組織成相互獨立的數(shù)據(jù)文件,按文件名訪問,按記錄進行存取,可以對文件 進行修改、插入及刪除操作。文件系統(tǒng)實現(xiàn)了記錄內的結構性,但文件之間整體無結構,數(shù)據(jù)之間的聯(lián)系要通過程序去構造。程序和數(shù)據(jù)之間由文件系統(tǒng)提供存取方法進行轉換,使應用程序與數(shù)據(jù)之間有了一定的獨立性。 數(shù)據(jù)共享性差,冗余度大由于文件之間缺乏聯(lián)系,造成每個應用程序都有對應的文件,而不能共享相同的數(shù)據(jù),因此,數(shù)據(jù)的冗余度大,同樣的數(shù)據(jù)有可能在多個文件中重復存儲。這往往在進行更新操作時就可能使同樣的數(shù)據(jù)在不同的文件中不一樣,造成數(shù)據(jù)的不一致性。數(shù)據(jù)獨立性差文件系統(tǒng)中的文
19、件是為某一特定應用服務的,文件的邏輯結構對該應用程序來說是優(yōu)化的,因此要想對現(xiàn)有的數(shù)據(jù)增加一些新的應用會很困難,系統(tǒng)不容易擴充。一旦數(shù)據(jù)的邏輯結構改變,必須修改應用程序,修改文件結構的定義。因此數(shù)據(jù)與程序之間仍缺乏獨立性??梢姡募到y(tǒng)仍然是一個不具有彈性的整體無結構的數(shù)據(jù)集合,即文件之間是孤立的, 不能反映現(xiàn)實世界事物之間的內在聯(lián)系。(3)數(shù)據(jù)庫系統(tǒng)階段(20世紀60年代后期至今)在此階段,數(shù)據(jù)管理規(guī)模一再擴大,數(shù)據(jù)量急劇增加。硬件已有大容量磁盤,硬件價格下降,軟件價格上升。介于這種情況,為了提高系統(tǒng)性能,為了解決共享數(shù)據(jù)的需求,從文件系統(tǒng)中分離出了專門的軟件系統(tǒng)一一數(shù)據(jù)庫管理系統(tǒng),用來統(tǒng)一
20、管理數(shù)據(jù)。數(shù)據(jù)庫階段應用程序與數(shù)據(jù)之間的關系如圖1-6所示。圖1-6數(shù)據(jù)庫階段應用程序與數(shù)據(jù)之間的關系數(shù)據(jù)庫系統(tǒng)階段的數(shù)據(jù)管理具有以下幾個特點:數(shù)據(jù)結構化數(shù)據(jù)庫是存儲在磁盤等外部存儲設備上的數(shù)據(jù)集合,是按一定的數(shù)據(jù)結構組織起來的。與文件系統(tǒng)相比,文件系統(tǒng)中的文件之間不存在聯(lián)系,因而從總體上看數(shù)據(jù)沒有結構的;而數(shù)據(jù)庫中文件是相互聯(lián)系的,并在總體上有一定的結構形式。這就是文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng) 的最大區(qū)別。數(shù)據(jù)庫正是通過文件之間的聯(lián)系反映現(xiàn)實世界事物間的自然聯(lián)系。數(shù)據(jù)的共享性高,冗余度低,易擴充數(shù)據(jù)庫中的數(shù)據(jù)是面向整個系統(tǒng),是有結構的數(shù)據(jù),不但可以被多個應用共享,而且容 易增加新的應用,易于修改、易
21、于擴充。這樣就大大減少了數(shù)據(jù)冗余,提高了共享性,節(jié)約 存儲空間。數(shù)據(jù)共享還能夠避免數(shù)據(jù)之間的不相容性與不一致性。 數(shù)據(jù)獨立性高數(shù)據(jù)獨立是數(shù)據(jù)庫技術努力追求的目標,數(shù)據(jù)獨立性包括數(shù)據(jù)的物理獨立性和數(shù)據(jù)的邏輯獨立性兩方面。物理獨立性是指用戶的應用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。數(shù)據(jù)在磁盤上存儲由DBMS1理,用戶程序不需要了解,應用程序要處理的只是數(shù)據(jù)的邏輯結構,這樣當數(shù)據(jù)的物理存儲改變了,應用程序不用改變。邏輯獨立性是指用戶的應用程序與數(shù)據(jù)庫的邏輯結構是相互獨立的,當數(shù)據(jù)的邏輯結構改時, 用戶程序也可以不變。在數(shù)據(jù)方式下,用戶不是自建文件,而是取自數(shù)據(jù)庫中的某個子集, 是數(shù)據(jù)庫管理
22、系統(tǒng)從數(shù)據(jù)庫映射出來的,所以叫做邏輯文件,但實際上的物理存儲只出現(xiàn)一次。 數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制。數(shù)據(jù)庫系統(tǒng)提供了4 個方面的數(shù)據(jù)控制功能,分別是并發(fā)控制、恢復、 完整性和安全性。數(shù)據(jù)庫中各個應用程序所使用的數(shù)據(jù)由數(shù)據(jù)庫系統(tǒng)統(tǒng)一規(guī)定,按照一定的數(shù)據(jù)模型組織和建立,由系統(tǒng)統(tǒng)一管理和集中控制,以保證數(shù)據(jù)的完整性、安全性, 并在多用戶同時使用數(shù)據(jù)庫時進行并發(fā)控制,在發(fā)生故障后對系統(tǒng)進行恢復。任務實施數(shù)據(jù)庫理論及其應用技術是在人們運用計算機進行數(shù)據(jù)處理過程中產(chǎn)生的一門有關數(shù)據(jù)采集、整理、存儲、分類、排序、檢索、維護、加工、統(tǒng)計和傳輸?shù)纫幌盗胁僮鬟^程的知識和技術,其中有很多概念性的知識需要理
23、解。本任務作為數(shù)據(jù)庫概念設計的前述知識,通過任務實踐來介紹數(shù)據(jù)庫系統(tǒng)的基本概念。任務實踐1. 數(shù)據(jù)( Data)( 1) 數(shù)據(jù)的定義數(shù)據(jù)是描述事物的符號記錄。數(shù)據(jù)的概念包括兩個方面:一是存儲在某一種媒體上的數(shù)據(jù)形式;二是描述事物特性的數(shù)據(jù)內容。( 2) 數(shù)據(jù)的表現(xiàn)形式數(shù)據(jù)是數(shù)據(jù)庫中存儲的基本對象。數(shù)據(jù)在大多數(shù)人的第一印象中就是數(shù)字,其實數(shù)字只是其中一種最簡單的表現(xiàn)形式,是數(shù)據(jù)的一種傳統(tǒng)和狹義的理解。按廣義的理解來說,數(shù)據(jù)的種類有很多,如文字、 圖形、 圖像、 聲音、 視頻、 語言以及學校學生的檔案等,都是數(shù)據(jù),都可以轉化為計算機可以識別的標識,并以數(shù)字化后的二進制形式存入計算機。在日常生活中,
24、人們需要描述各種事物,可直接用自然語言描述。在計算機中,為了存儲和處理這些事物,就要抽出對這些事物感興趣的特征組成一個記錄來描述。例如: 在學生管理數(shù)據(jù)庫中,學生的基本信息情況是學生的姓名、性別、出生年月,這都說明了學生的基 本特征,就可以這樣來描述一個學生:(張三,男, 1994/04 )。(3)數(shù)據(jù)與信息的關系信息與數(shù)據(jù)既有聯(lián)系, 又有區(qū)別。信息是對數(shù)據(jù)加工處理之后所得到的并可以對決策產(chǎn)生影響的數(shù)據(jù)。數(shù)據(jù)是信息的表現(xiàn)形式;信息是數(shù)據(jù)有意義的表示??梢杂脠D1-7表示出數(shù)據(jù)與信息之間的關系。(4)數(shù)據(jù)與其語義學生記錄就是一個數(shù)據(jù)。對于此記錄來說,要表示特定的含義,必須對它給予解釋說明, 數(shù)據(jù)解
25、釋的含義稱為數(shù)據(jù)的語義,數(shù)據(jù)與其語義是不可分的。可以這樣認為:數(shù)據(jù)是信息的符號表示或載體,信息則是數(shù)據(jù)的內涵, 是對數(shù)據(jù)的語義解釋。 例如:學生記錄(張三,男, 1994/04 )可以解釋為張三是名男同學,出生年月為1994年4月,這樣它才具有了表述信息的功能。2 .數(shù)據(jù)庫(DR DataBase)數(shù)據(jù)庫是指長期存放在計算機內的、有組織的、可共享的數(shù)據(jù)集合。 從字面意思來說就是存放數(shù)據(jù)的倉庫,該倉庫建立在計算機存儲設備上,且數(shù)據(jù)是按一定的格式存放的,可供多用戶共享,具有盡可能小的冗余度和較高的數(shù)據(jù)獨立性和易擴展性。它不僅描述事物的數(shù)據(jù)本身,還包括相關事物之間的聯(lián)系。數(shù)據(jù)庫具有兩個比較突出的特點
26、。(1)集成性把在特定的環(huán)境中與某應用程序相關的數(shù)據(jù)及其聯(lián)系集中在一塊并按照一定的結構形 式進行存儲,即集成性。例如,可以將圖書館的館藏圖書和圖書借閱情況保存在數(shù)據(jù)庫中, 以便于對圖書信息的管理。(2)共享性數(shù)據(jù)庫中的數(shù)據(jù)能被多個應用程序的用戶所使用,即共享性。例如,學生管理數(shù)據(jù)庫即可以給教務處提供學生信息,又可以給學工處等其他部門提供學生信息。 數(shù)據(jù)庫的用戶分為 3種:數(shù)據(jù)庫管理員:他們使用數(shù)據(jù)庫管理系統(tǒng)提供的工具軟件對數(shù)據(jù)庫進行各種維護和管理,以便使其更好地為其他用戶服務。應用程序員:他們使用數(shù)據(jù)庫語言和程序設計語言編寫使用和操縱數(shù)據(jù)庫中數(shù)據(jù)的程序。非程序員用戶:他們通過聯(lián)機終端設備,使用
27、數(shù)據(jù)庫查詢語言訪問數(shù)據(jù)庫。3 .數(shù)據(jù)庫管理系統(tǒng)(DBMS DataBase Managenent System )數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心組成部分,是一種操縱和管理數(shù)據(jù)庫的大型軟件,用于建立、使用和維護數(shù)據(jù)庫。用戶通過DBM助問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫管理員也通過DBMS進行數(shù)據(jù)庫的維護工作。用戶在數(shù)據(jù)庫系統(tǒng)中的一些操作,如數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫的運行管理及數(shù)據(jù)控制等都是數(shù)據(jù)庫管理系統(tǒng)來實現(xiàn)的。如圖1-8所示。圖1-8數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)主要包括以下幾個功能:數(shù)據(jù)定義DBMSI供數(shù)據(jù)定義語言(DDL Data Definition Language ),定義數(shù)據(jù)庫的三級模式
28、結構,兩級映像以及定義數(shù)據(jù)的完整性和安全控制等約束。用戶可以方便地對數(shù)據(jù)庫中的數(shù)據(jù)對象(包括表、視圖、索引、存儲過程等)進行定義。數(shù)據(jù)操縱DBMSI供數(shù)據(jù)操縱語言(DML Data Manipulation Language ),用戶可以使用 DML操 縱數(shù)據(jù)實現(xiàn)對數(shù)據(jù)庫的基本操作,如查詢、插入、刪除及修改等。數(shù)據(jù)庫的運行管理數(shù)據(jù)庫的運行管理功能是DBMS勺運行控制、管理功能,所有數(shù)據(jù)庫的操作都要在數(shù)據(jù)庫管理系統(tǒng)的統(tǒng)一管理和控制下進行,以保證事務的正確運行和數(shù)據(jù)的安全性、完整性。這也是DBMS!行時的核心部分,它包括如下內容:數(shù)據(jù)的并發(fā)控制數(shù)據(jù)的安全性保護數(shù)據(jù)的完整性控制 數(shù)據(jù)庫恢復數(shù)據(jù)字典數(shù)
29、據(jù)字典是一個自動的或手動的存儲數(shù)據(jù)元的定義和屬性的文檔。對數(shù)據(jù)的數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯、外部實體等進行定義和描述,其目的是對數(shù)據(jù)流程 圖中的各個元素做出詳細的說明。數(shù)據(jù)字典本身也可以看成是一個數(shù)據(jù)庫,只不過它是系統(tǒng)數(shù)據(jù)庫,是一組表和視圖結構,存放在 SYSTE昧空間中。4 .數(shù)據(jù)庫系統(tǒng)(DBS DataBase System )數(shù)據(jù)庫系統(tǒng)是由數(shù)據(jù)庫及其管理軟件組成的系統(tǒng),是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),其構成主要有數(shù)據(jù)庫及相關硬件、數(shù)據(jù)庫管理系統(tǒng)及其開發(fā)工具、應用系統(tǒng)、數(shù)據(jù)庫管理員和用戶這幾部分,其中,在數(shù)據(jù)庫的建立、使用和維護的過程要有專門的人員來完成, 這些人就
30、被稱為數(shù)據(jù)庫管理員(DBA DataBase Administrator )。數(shù)據(jù)庫系統(tǒng)Z構如圖1-9所示。圖1-9數(shù)據(jù)庫系統(tǒng)結構數(shù)據(jù)庫系統(tǒng)一般由4個部分組成:數(shù)據(jù)庫:是指長期存儲在計算機內的,有組織,可共享的數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)學模型組織、 描述和存儲,具有較小的冗余,較高的數(shù)據(jù)獨立性和易擴展性, 并可為各種用戶共享。 硬件:構成計算機系統(tǒng)的各種物理設備,包括存儲所需的外部設備。 硬件的配置應滿足整個數(shù)據(jù)庫系統(tǒng)的需要。 軟件:包括操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)及應用程序。 人員:主要有4類。第一類為系統(tǒng)分析員和數(shù)據(jù)庫設計人員,系統(tǒng)分析員負責應用系統(tǒng)的需求分析和規(guī)范說明, 并參與數(shù)據(jù)
31、庫系統(tǒng)的概要設計。數(shù)據(jù)庫設計人員負責數(shù)據(jù)庫中 數(shù)據(jù)的確定、數(shù)據(jù)庫各級模式的設計。第二類為應用程序員,負責編寫使用數(shù)據(jù)庫的應用程序。第三類為最終用戶, 他們利用系統(tǒng)的接口或查詢語言訪問數(shù)據(jù)庫。第四類為數(shù)據(jù)庫管理員,負責數(shù)據(jù)庫的總體信息控制。數(shù)據(jù)庫系統(tǒng)在整個計算機系統(tǒng)中的地位如圖1-10所示。任務3數(shù)據(jù)庫系統(tǒng)的結構任務要求1 . 了解三級組織結構描述方法;2 .熟悉模式之間的映射關系;3 .掌握數(shù)據(jù)模型的概念。知識儲備數(shù)據(jù)庫系統(tǒng)有著嚴謹?shù)捏w系結構。雖然各個廠家、各個用戶使用的數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品類型和規(guī)??赡芟嗖詈艽?, 但它們在體系結構上通常都具有相同的特征,即采用三級模式結構,并提供兩種映像功能。
32、1.數(shù)據(jù)庫系統(tǒng)的三級模式從數(shù)據(jù)庫管理角度看,數(shù)據(jù)系統(tǒng)通常采用三級模式結構,這是數(shù)據(jù)庫管理系統(tǒng)內部的系統(tǒng)結構;從數(shù)據(jù)庫最終用戶角度看,數(shù)據(jù)庫系統(tǒng)的結構分為集中式結構、分布式結構、客戶 /服務器結構,這是數(shù)據(jù)庫系統(tǒng)外部的結構。數(shù)據(jù)庫系統(tǒng)的三級模式結構是指數(shù)據(jù)庫系統(tǒng)由外模式、概念模式、內模式三級構成,如圖1-11所示。內模式也稱為存儲模式,一個數(shù)據(jù)庫只有一個內模式,它是整個數(shù)據(jù)庫的最底層表示。內模式是數(shù)據(jù)物理結構和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)內部的表示方式。內模式定義的是存儲記錄的類型、存儲記錄的物理順序、 索引和存儲路徑等數(shù)據(jù)的存儲組織。DBM醍供了內模式描述語言(內模式DDL來嚴格定義內模式。(
33、2)模式模式也稱為邏輯模式或概念模式,是數(shù)據(jù)庫全體數(shù)據(jù)的邏輯結構和特性的描述,是所有用戶的公共數(shù)據(jù)視圖, 它是數(shù)據(jù)庫模式結構的中間層,既不涉及數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境,也與具體的應用程序、所使用的應用開發(fā)工具及高級程序設計語言無關。模式實際上是數(shù)據(jù)庫在邏輯上的視圖, 一個數(shù)據(jù)庫只有一個模式。 定義模式時,不僅要 定義數(shù)據(jù)的邏輯結構還要定義數(shù)據(jù)記錄由哪些數(shù)據(jù)項組成,以及數(shù)據(jù)項的名字、類型、取值范圍等,而且要定義數(shù)據(jù)之間的聯(lián)系,定義與數(shù)據(jù)有關的安全性、完整性要求。DBM班供了模式描述語言(模式 DDD來嚴格地定義模式。外模式外模式也稱為子模式或用戶模式,它是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶
34、)能夠看見和使用的局部數(shù)據(jù)的邏輯結構和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。外模式一般是模式的子集。一個數(shù)據(jù)庫可以有多個外模式。這樣, 不同的用戶通過不同的外模式實現(xiàn)各自的數(shù)據(jù)視圖,也達到共享數(shù)據(jù)的目的。同一外模式可以被一個用戶的多個應用程序所使用,但一個應用程序只能使用一個外模式。外模式是保證數(shù)據(jù)庫安全性的一個有力措施。每個用戶只能看見和訪問所對應的外模式中的數(shù)據(jù),數(shù)據(jù)庫的其余數(shù)據(jù)是不可見的。DBM醍供了外模式描述語言(外模式DDL來嚴格地定義外模式。2. 數(shù)據(jù)庫的兩級映射數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽象級別,它把數(shù)據(jù)的具體組織留給 DBMST理,使用戶
35、能邏輯地、抽象地處理數(shù)據(jù),而不必關心數(shù)據(jù)在計算機中的具體表示方式與存儲方式。為了能夠在內部實現(xiàn)這三個抽象層次的聯(lián)系和轉換,DBMS在這三級模式之間提供了兩層映射。(1) 外模式 / 模式映射。對應于同一個模式,可以有任意多個外模式。它定義了某一個外模式和模式之間的對應關系,這些映射定義通常包含在各自的外模式中,當模式改變時,該映射要做相應的改變,以保證外模式保持不變,實現(xiàn)了數(shù)據(jù)與程序的邏輯獨立性。(2) 模式 / 內模式映射。它定義了數(shù)據(jù)邏輯結構和存儲結構之間的對應關系,說明邏輯記錄和字段在內部是如何表示的。這樣,當數(shù)據(jù)庫的存儲結構改變時,可相應地修改該映射,從而使模式保持不變,保證了數(shù)據(jù)與程
36、序的物理獨立性。正是這兩層映射保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)具有較高的邏輯獨立性和物理獨立性。模式是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述,它僅僅涉及到型的描述,不涉及到具體的值。模式的一個具體值稱為一個實例,同一個模式可以有很多實例。模式是相對穩(wěn)定的, 而實例是相對變動的,因為數(shù)據(jù)庫中的數(shù)據(jù)是在不斷更新。模式反映的是數(shù)據(jù)的結構及其聯(lián)系,而實例反映的是數(shù)據(jù)庫某一時刻的狀態(tài)。3. 數(shù)據(jù)模型數(shù)據(jù)模型是現(xiàn)實世界中數(shù)據(jù)特征的抽象。在數(shù)據(jù)庫中采用數(shù)據(jù)模型來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。數(shù)據(jù)模型應滿足三方面的要求:( 1) 能夠比較真實地模擬現(xiàn)實世界;( 2) 容易為人所理解;( 3) 便于在計算機上
37、實現(xiàn)。4. 數(shù)據(jù)模型的分類在數(shù)據(jù)庫系統(tǒng)設計過程中針對不同的使用對象和應用目的往往分層次采用不同類型的模型,可以將這些模型分為兩類,一種模型是概念模型;另一種是數(shù)據(jù)模型。(1)概念模型也稱信息模型。它從用戶的觀點出發(fā)對數(shù)據(jù)和信息建模的,主要用于數(shù)據(jù)庫的概念級設計。通常人們先將現(xiàn)實世界抽象為概念世界,然后再將概念世界轉為機器世界。換句話說, 就是先將現(xiàn)實世界中的客觀對象抽象為實體和聯(lián)系, 系統(tǒng),這樣的模型就是物理數(shù)據(jù)模型。(2)數(shù)據(jù)模型是按計算機系統(tǒng)對數(shù)據(jù)建模,主要用于在 DBM滸實現(xiàn)數(shù)據(jù)的存儲、操縱、控制等。數(shù)據(jù) 模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎,各種機器上 實現(xiàn)的DBMS:件都是基于某種數(shù)據(jù)模型的
38、。為了把現(xiàn)實世界中的具體事物抽象、組織 為某一 DBMS支持的數(shù)據(jù)模型,人們常常首先 將現(xiàn)實世界抽象為信息世界,然后將信息世界 轉換為機器世界。無論是概念模型還是數(shù)據(jù)模 型都要能較好地刻畫與反映現(xiàn)實世界,要與現(xiàn) 實世界保持一致?,F(xiàn)實世界中客觀對象的抽象 過程如圖1-12所示。它并不依賴于計算機系統(tǒng)或某個DBMS轉換 “機器世界DBMS的數(shù)據(jù)模型圖1-12現(xiàn)實世界中客觀對象的抽象過程任務實施1.數(shù)據(jù)模型的組成要素數(shù)據(jù)模型是模型中的一種,是對現(xiàn)實世界數(shù)據(jù)特征的抽象,它描述了系統(tǒng)的三個方面: 靜態(tài)特性、動態(tài)特性和完整性約束條件。因此,數(shù)據(jù)模型通常由三部分組成:數(shù)據(jù)結構、數(shù) 據(jù)操作和數(shù)據(jù)完整性約束。(
39、1)數(shù)據(jù)結構數(shù)據(jù)結構是所研究的對象類型的集合,用于描述系統(tǒng)的靜態(tài)特性,是數(shù)據(jù)模型的基礎。 數(shù)據(jù)操作和約束都建立在數(shù)據(jù)結構上,不同的數(shù)據(jù)結構具有不同的操作和約束。數(shù)據(jù)模型中的數(shù)據(jù)結構主要描述數(shù)據(jù)的類型、內容、性質以及數(shù)據(jù)間的聯(lián)系等。例如, 建立一個學生管理數(shù)據(jù)庫,學生(對象)的基本情況(類型)如學號、姓名、性別、出生日 期、入學日期、學制、班號、宿舍號等構成了數(shù)據(jù)庫的基本框架,而每個學生的課程信息和 成績信息等對象與學生的基本信息存在著數(shù)據(jù)關聯(lián),這種數(shù)據(jù)關聯(lián)也必須存儲在數(shù)據(jù)庫中。 數(shù)據(jù)模型按其數(shù)據(jù)結構類型的不同分為層次模型、網(wǎng)狀模型、關系模型和面向對象模型。(2)數(shù)據(jù)操作用于描述系統(tǒng)的動態(tài)特性。
40、 例如,根據(jù)數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象實例的操作,用戶的要求對數(shù)據(jù)庫中的數(shù)據(jù)進行增加、刪除、查詢、修改等各種操作。數(shù)據(jù)模型必須定義 這些操作的確切含義、操作符號、操作規(guī)則(如優(yōu)先級)以及實現(xiàn)操作的語言等。( 3) 數(shù)據(jù)的完整性約束數(shù)據(jù)的完整性約束是指在給定的數(shù)據(jù)模型中,數(shù)據(jù)及其數(shù)據(jù)關聯(lián)所遵守的一組規(guī)則,用以保證數(shù)據(jù)庫中數(shù)據(jù)的正確性、一致性。例如, 學生管理數(shù)據(jù)庫中,學號作為學生信息在數(shù)據(jù)庫中的唯一標志,每個學生的學號都不能為空值,并且不能有重復值。此外, 數(shù)據(jù)模型還應該提供自定義完整性約束條件的機制,以反映具體應用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。例如, 在學生管理數(shù)據(jù)庫中規(guī)定學生
41、的性別只能輸入男或女, 輸入的成績不能超過100 分等, 這些系統(tǒng)數(shù)據(jù)的特殊約束要求,用戶能在數(shù)據(jù)模型中自己來定義并產(chǎn)生制約。2. 概念模型概念模型是現(xiàn)實世界到機器世界的一個中間層次,是面向數(shù)據(jù)庫用戶的實現(xiàn)世界的模型,主要用來描述世界的概念化結構,它使數(shù)據(jù)庫的設計人員在設計的初始階段,擺脫計算機系統(tǒng)及DBMS勺具體技術問題,集中精力分析數(shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系等,與具體的數(shù)據(jù)管理系統(tǒng)無關。針對于抽象的信息世界,建立概念模型涉及的一些基本概念。( 1) 實體( Entity )將現(xiàn)實世界中客觀存在并可以相互區(qū)別的事物稱為實體。實體即可以是具體的事物,例如,一名學生,一門課程,也可以是抽象的事件,例
42、如,學生的選課,老師的授課等都是實體。( 2) 屬性( Attribute )屬性是指實體所具有的特性,一個實體可以由若干個屬性描述。例如, 教師實體可以由教師號、教師姓名、教師性別、教師職稱等屬性組成。屬性的具體取值稱為屬性值,用來描述一個具體實體。屬性值(10001,張楊,男,講師)具體代表教師實體的一位教師。( 3) 域(Domain)屬性的取值范圍稱為該屬性的域,例如,學號的域為12 位數(shù)字組成的字符編號集合。( 4) 實體型(Entity Type )用實體類型名和所有屬性來共同表示的同一類實體,稱為實體型。例如, 教師 (教師號、教師姓名、教師性別、教師職稱)就是一個教師實體型。(
43、 5) 實體集(Entity Set )同一類型實體的集合,例如全體學生就是一個實體集,學生實體集=張三',李四,張梅,。( 6) 鍵(Key)鍵是能夠唯一地標識出一個實體集中每一個實體的屬性或屬性組合,鍵也被稱為關鍵字或碼。例如,教師號在教師實體中就是鍵。(7)聯(lián)系(Relationship )實體集之間的對應關系稱為聯(lián)系,它反映了現(xiàn)實世界事物之間的相互關聯(lián),主要指實體內部的聯(lián)系(各屬性之間的聯(lián)系)和實體間的聯(lián)系。實體之間的聯(lián)系類型比較復雜,一般分 為一對一、一對多、多對多三類。一對一聯(lián)系(1:1)如果對于實體集 A中的每一個實體,實體集B中至多有一個與之相對應, 反之,實體集 B中
44、的每一個實體,也至多有一個實體集 A的實體與之對應,則稱實體集 A與實體集B具有 一對一聯(lián)系,記作:1:1。例如,每個班級只有一個班長,班長和班級之間是一對一聯(lián)系。一對多聯(lián)系(1: n)如果對于實體集 A中的每一個實體,實體集B中有n個實體與之相對應, 反之,如果實 體集B中的每一個實體,實體集A中至多只有一個實體與之相對應,則稱實體集A與實體集B具有一對多聯(lián)系,記作:1: n。例如,每個學生只能屬于一個班級,每個班級可以有多名 學生,班級和該班級中的學生之間是一對多聯(lián)系。多對多聯(lián)系(m n)如果對于實體集 A中的每一個實體,實體集B中有n (n>0)個實體與之相對應,反之, 如果實體集
45、B中的每一個實體,實體集 A也有m (m> 0)個實體與之相對應,則稱實體集A與實體集B具有多對多的聯(lián)系,記作:m: no例如,每個教師可以上多門課程,每門課程 又可以被多名教師授課,課程與教師之間是多對多聯(lián)系。兩個實體型之間的三類聯(lián)系如圖1-13來表示。一對一一對多多對多圖1-13兩個實體型之間的聯(lián)系示意圖任務實踐( 7) 型的表示概念模型的表示方法很多,最常用的是實體一聯(lián)系方法,是由美籍華人陳平山于1976年提出的,它通過簡單的圖形方式描述現(xiàn)實世界中的數(shù)據(jù),這種圖稱為實體一聯(lián)系圖, 簡稱E-R圖。E-R圖提供了表示實體、屬性和聯(lián)系的方法。E-R圖有三個要素:(1)實體用矩形表示實體,
46、矩形內標注實體名稱。(2)屬性用橢圓表示屬性,橢圓內標注屬性名稱,并用連線與實體連接起來。(3)實體之間的聯(lián)系用菱形表示,菱形內注明聯(lián)系名稱,并用連線將菱形框分別與相關實體相連,并在連線上注明聯(lián)系類型(1:1、1:門或門:吊。圖1-14所示為兩個實體之間的三種聯(lián)系。圖1-15為一個班級、學生的完整E-R圖,班級實體型與學生實體型之間是一對多的關系。(a) 1 : 1聯(lián)系b b) 1 : n聯(lián)系圖1-14兩個實體之間的三類聯(lián)系( 8) 型的表示層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型,用樹形結構表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型稱為層次模型?,F(xiàn)實世界中很多事物是按層次組織起來的。層次數(shù)據(jù)模型的提
47、出,首先是為了模擬這種按層次組織起來的事物,層次數(shù)據(jù)庫也是按記錄來存取數(shù)據(jù)的。層次模型數(shù)據(jù)庫系統(tǒng)的典型代表是舊M公司的IMS (Information Management System )數(shù)據(jù)庫管理系統(tǒng),這是一個曾經(jīng)廣泛使用的數(shù)據(jù)庫管理系統(tǒng)。層次模型的表示方法是:樹的結點表示實體集(記錄的型),結點之間的連線表示相連 兩實體集之間的關系,這種關系只能是“ 1: MT的。通常把表示1的實體集放在上方, 稱為父結點,表示M的實體集放在下方,稱為子結點。(1)層次模型的數(shù)據(jù)結構層次模型有以下兩個特點: 有且僅有一個結點無父結點,該結點稱為根節(jié)點。其他結點有且僅有一個父結點。在層次模型中,每個節(jié)點表
48、示一個記錄類型,記錄之間的聯(lián)系用節(jié)點之間的連線表示這每個記錄類型可包含若干字段,記錄類型描述的是實體,錄類型及其字段都必須命名,并且名稱要求唯一。若用圖來表示,層次模型是一棵倒立的樹。結點層次從根開始定義,根為第一層,根的子女稱為第二層,根稱為其子女的雙親,同一雙親的子女稱為兄弟。圖1-16所示為一個系的層次模型。層次模型對具有一對多層次關系的描述非常自圖1-16 一個層次模型的示例字段描述的是實體的屬性。各個記種聯(lián)系是父子之間的一對多的聯(lián)系。所以層次模型數(shù)據(jù)庫系統(tǒng)只能處理一對多的實體聯(lián)系。層次模型中實體集之間多對多的聯(lián)系的處理,解決的然、直觀、容易理解,這是層次數(shù)據(jù)庫的突出優(yōu)點。方法是引入冗
49、余結點。例如,學生和課程之間的多對多的聯(lián)系, 引入學生和課程的冗余結點, 轉換為兩棵樹:一棵樹的根是學生, 子結點是課程,它表現(xiàn)了一個學生可以選多門課程;棵樹的根是課程,子結點是學生,它反映了一門課程可以被多個學生選。至于冗余結點可以 用虛擬結點實現(xiàn):在冗余結點處僅存放一個指針,指向實際結點。(2)層次模型的數(shù)據(jù)操作與約束條件 層次模型的樹是有序樹(層次順序)。對任一結點的所有子樹都規(guī)定了先后次序, 這一限制隱含了對數(shù)據(jù)庫存取路徑的控制。 樹中父子結點之間只存在一種聯(lián)系,因此,對樹中的任一結點, 只有一條自根結點到達它的路徑。 不能直接表示多對多的聯(lián)系。樹結點中任何記錄的屬性只能是不可再分的簡
50、單數(shù)據(jù)類型。(3)層次模型的存儲結構層次數(shù)據(jù)庫中不僅要存儲數(shù)據(jù)本身,還要存儲數(shù)據(jù)之間的層次聯(lián)系,層次模型的數(shù)據(jù)存儲常常是和數(shù)據(jù)之間聯(lián)系的存儲結合在一起的,常用的實現(xiàn)方法有兩種。順序法按照層次順序把所有的記錄鄰接存放,即通過物理空間的位置相鄰來實現(xiàn)層次順序。指針法各個記錄存放時不是按層次順序,而是用指針按層次順序把它們鏈接起來。(4)層次模型的優(yōu)缺點層次模型的優(yōu)點主要如下: 層次模型本身比較簡單。對于實體間聯(lián)系是固定的,且預先定義好的應用系統(tǒng),采用層次模型來實現(xiàn),其性 能較優(yōu)。層次模型提供了良好的完整性支持。層次模型的缺點主要如下:不能直接實現(xiàn)多對多聯(lián)系。對插入和刪除限制比較多。查詢子女節(jié)點必須
51、通過雙親節(jié)點。 由于結構嚴密,層次模型的操作命令趨于程序化。( 9) 型及其表示在現(xiàn)實世界中事物之間的聯(lián)系更多的是非層次關系的。用層次模型表示非樹形結構是很不直接的,網(wǎng)狀模型則可以克服這一弊病。用網(wǎng)絡結構表示實體類型及其實體之間聯(lián)系的模型。顧名思義,一個事物和另外的幾個都有聯(lián)系這樣構成一張網(wǎng)狀圖。網(wǎng)狀數(shù)據(jù)模型的典型CODASY L Conference On Data Systems代表是 DBTG(Data Base TaskGroup )系統(tǒng),也稱1-17所示為一個抽象的簡單的網(wǎng)圖1-17簡單的網(wǎng)狀模型Language)系統(tǒng)。若用圖表示,網(wǎng)狀模型是一個網(wǎng)絡。圖 狀模型。(1)網(wǎng)狀模型的數(shù)據(jù)
52、結構網(wǎng)狀模型的數(shù)據(jù)結構主要有以下兩個特征:允許一個以上的結點無雙親一個結點可以有多于一個的雙親(2)網(wǎng)狀模型的數(shù)據(jù)操作與約束條件網(wǎng)狀模型一般來講沒有層次模型那樣嚴格的完整性 的約束條件,但具體的網(wǎng)狀數(shù)據(jù)庫系統(tǒng)對數(shù)據(jù)操作都加了一些限制,提供了一定的完整性約束。DBTG在模式DDL 中提供了定義DBTGB據(jù)庫完整性的若干概念和語句,主要如下:支持記錄碼的概念。例如,學生記錄的學號就是碼,因此數(shù)據(jù)庫中不允許學生記錄 中學號出現(xiàn)重復值。保證一個聯(lián)系中雙親記錄和子女記錄之間是一對多的聯(lián)系??梢灾С蛛p親記錄和子女記錄之間某些約束。例如,有些子女記錄要求雙親記錄存在才能插入、雙親記錄刪除時也連同刪除。(3)
53、網(wǎng)狀模型的存儲結構網(wǎng)狀模型的存儲結構中關鍵是如何實現(xiàn)記錄之間的聯(lián)系。具體實現(xiàn)方法有鏈接法,如: 單向鏈接,雙向鏈接,環(huán)狀鏈接,向首鏈接。(4)網(wǎng)狀模型的優(yōu)缺點網(wǎng)狀模型的優(yōu)點主要如下:能夠更為直接地描述現(xiàn)實世界。 具有良好的性能,存取效率較高。網(wǎng)狀模型的缺點主要如下: 結構復雜,不利于最終用戶掌握。其DLL、DM皿言復雜,用戶不容易使用。( 10)關系模型是目前最重要的一種模型。關系模型是由 舊M公司的E.F.Codd于1970年首次提出,以后的幾年里陸續(xù)出現(xiàn)了以關系數(shù)據(jù)模型為基礎的數(shù)據(jù)庫管理系統(tǒng),稱為關系數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫領域當前的研究工作都是以關系方法為基礎的。目前廣泛使用的數(shù)據(jù)庫管理系
54、統(tǒng)有 Oracle、Sybase、Informix、DB2、SQLServer、Access 系列數(shù)據(jù)庫等。關系模型是在層次模型和網(wǎng)狀模型的基礎上發(fā)展起來的,如果說層次模型和網(wǎng)狀模型是用“圖”表示實體及其他聯(lián)系的話,那么關系模型是用“表”來表示的,關系就是二維表格。(1)關系模型的數(shù)據(jù)結構關系模型中數(shù)據(jù)的邏輯結構是一張二維表,它由行和列組成。每一行稱為一個元組, 每一列稱為一個屬性(或字段)。通過如圖1-18所示的教師信息表,介紹關系模型中的相關術語。教師號教師姓名教師性別教師職稱10001張楊;男講師一10002二李華二:女講師10003張三弋男副教授,7 W,甭或屬»教師信息表某一分量 關系模式1元組或行元組主碼圖1-18教師信息表(2)關系數(shù)據(jù)模型的基本概念關系模式(Relation Scheme二維表的表頭那一行稱為關系模式,又稱表的框架或記錄類型。關系模式是記錄的型,決定二維表的內容。數(shù)據(jù)庫的關系數(shù)據(jù)模型就是若干關系模式的集合。每一個關系模式都必須命名,且同一關系數(shù)據(jù)模型中關系模式名不允許相同。每一個關系模式都是由一些屬性組成,關系模式的屬性名通常取自相關實體類型的屬性名。關系模式可表示為:關系模式名(屬性名1,屬性名2,屬性名 n)的形式。例如圖 1-18 所示的教師信息表(教師號,教師姓名,教師性別,教師職稱)。 關系( Rela
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生產(chǎn)應急處置管理制度
- 生產(chǎn)環(huán)節(jié)衛(wèi)生管理制度
- 生產(chǎn)車間人力管理制度
- it考勤管理制度
- pu車間管理制度
- 上線結算管理制度
- 上課校服管理制度
- 東湖漁業(yè)管理制度
- 嚴格生產(chǎn)管理制度
- 中醫(yī)合同管理制度
- 云南省昆明市官渡區(qū)2022-2023學年七年級下學期期末語文試題(含答案)
- 山東財經(jīng)大學成人高考線性代數(shù)復習自測題及參考答案
- 最全廣聯(lián)達教程全套
- 廣東省全國大學英語四、大級考試考務手冊
- 國家開放大學《高等數(shù)學基礎》形考任務1-4參考答案
- 2022年河北唐山市公安交通警察支隊第五交通警察大隊招聘輔警17人筆試備考題庫及答案解析
- GB/T 9966.16-2021天然石材試驗方法第16部分:線性熱膨脹系數(shù)的測定
- GB/T 9800-1988電鍍鋅和電鍍鎘層的鉻酸鹽轉化膜
- GB/T 7193-2008不飽和聚酯樹脂試驗方法
- 陜西省府谷縣國能礦業(yè)有限公司環(huán)??⒐を炇諜z測報告公示
- 第5章 自動駕駛儀系統(tǒng)《民航飛機自動飛行控制系統(tǒng)》
評論
0/150
提交評論