第一章數據庫系統概述_第1頁
第一章數據庫系統概述_第2頁
第一章數據庫系統概述_第3頁
第一章數據庫系統概述_第4頁
第一章數據庫系統概述_第5頁
已閱讀5頁,還剩53頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

數據庫系統概述熟練掌握:數據庫相關概念;數據庫的組成;三種數據模型掌握:數據庫管理系統;數據庫系統的發展。1.1數據庫的相關概念

數據、數據庫、數據庫管理系統和數據庫系統是與數據庫技術密切相關的4個基本概念。數據

數據(data)是對客觀事物的符號表示,是數據庫中存儲的基本對象。在計算機科學中,數據指所有能輸入計算機并被計算機程序處理的符號介質的總稱。圖形符號、數字、字母、聲音、圖像、學生的檔案記錄等都是數據。例如,一個人的聯系方式包括電話、地址、郵編、單位等,這些也都是數據。數據庫

數據庫(database,DB)是存儲在計算機存儲設備上,結構化的相關數據的集合。它不僅存放數據,而且還存放數據之間的聯系。數據庫中的數據按照一定的數據模型組織、描述,以文件的形式存儲在存儲介質上,是數據庫系統操作的對象和結果,具有較小的冗余度、較高的數據獨立性和易擴展性,可以被各種用戶共享。數據庫管理系統

數據庫管理系統(databasemanagementsystem,DBMS)是位于用戶與操作系統之間的幫助用戶建立、使用和管理數據庫的數據管理軟件,對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。用戶通過DBMS訪問數據庫中的數據,數據庫管理員也通過DBMS進行數據庫的維護工作。它提供多種功能,可使多個應用程序和用戶用不同的方法并發地建立、修改和詢問數據庫。數據庫管理系統的主要功能:1、數據定義定義數據庫的模式、外模式和內模式,以及它們的二級印像。2、數據操縱實現對數據庫的基本操作,包括查詢、插入修改、刪除等。3、數據庫運行管理對數據庫的運行管理是DBMS運行的核心部分。DBMS通過對數據庫的控制以確保數據的正確有效和數據庫系統的正常運行。DBMS對數據庫的控制主要通過四個方面實現:數據的安全性控制、數據的完整性控制、多用戶環境下的并發控制、數據庫的回復。4、數據庫的建立和維護功能包括數據庫的初始數據的裝入,數據庫的轉存、恢復、重組織、系統性能監視、分析等功能。5、數據通信接口數據庫管理系統的組成DBMS是由許多程序組成的一個大型軟件,每個程序都有自己的功能,共同完成一個或幾個工作。1、語言編譯處理程序數據定義語言DDL編譯程序

把用DDL編寫的各級源模式編譯成各級目標模式。數據操縱語言DML編譯程序

將應用程序中的DML語句轉換成可執行程序,實現對數據庫的檢索、插入和修改等基本操作。2、系統運行控制程序系統總控程序:控制和協調各程序的活動,是運行程序的核心安全性控制程序:防止未被授權的用戶存取數據庫中的數據。并發控制程序:協調多用戶、多任務環境下各應用程序對數據庫的并發操作,保證數據的一致性。完整性控制程序:檢查完整性約束條件,確保進入數據庫中數據的正確性、有效性和相容性。數據存取和更新程序:實施對數據庫數據的檢索、插入、修改和刪除操作。通信控制程序:實現用戶程序與DBMS間的通信3、系統建立、維護程序裝配程序:完成初始數據庫的數據裝入。重組程序:當數據庫系統性能降低時,需要重新組織數據庫,重新裝入數據。系統恢復程序:當數據庫系統受到破壞時,將數據庫系統恢復到以前某個正確的狀態。4、數據字典是用來描述數據庫中有關信息的數據目錄,包括數據庫的三級模式、數據類型、用戶名和用戶權限等有關數據庫系統的信息。是DBMS存取數據的基本依據。

目前,廣泛應用的大型網絡數據庫管理系統有:微軟的SQLServer、IBM的DB2、ORACLE、SYBASE等。常用的桌面數據庫管理系統有:VisualFoxpro、Access等。數據庫系統數據庫系統(Databasesystem,簡稱DBS)是指在計算機系統中引入數據庫后的系統。一般由計算機硬件、數據庫集合、數據庫管理系統、相關的軟件及其開發工具和人員構成的。數據庫管理系統是整個數據庫系統的核心。

數據庫系統的主要特點包括:①數據結構化②數據共享③數據獨立性④統一的數據控制(安全性控制、完整性控制、并發操作控制)1.2數據管理技術的產生和發展

20世紀50年代初期,計算機開始應用于數據管理,并逐漸得到人們的認可。幾十年來,數據管理技術隨著計算機軟件、硬件的發展而不斷地發展,經歷了人工管理、文件管理系統、數據庫管理系統3個階段。1.人工管理階段

(20世紀50年代中期以前)

計算機主要用于科學與工程計算。由于當時沒有必要的軟件、硬件環境的支持,用戶只能直接在裸機上操作,采用批處理方式處理數據。人工管理階段具有如下特點:(1)數據不保存。(2)應用程序管理數據。(3)數據不能共享。(4)數據不具有獨立性。

應用程序與數據之間是一一對應的關系,如圖所示。

2.文件管理系統階段

(20世紀50年代中期到20世紀60年代中期)

在文件管理方式下,人們將程序存儲到程序文件中,將處理的數據存儲到數據文件中。文件管理方式最大的優點是數據與程序的分離,大大提高了數據處理的效率,但在使用過程中仍存在以下缺點:(1)數據共享性差。在文件管理系統中,文件仍然是面向應用的,當不同的應用程序具有部分相同的數據時,也必須建立各自的文件,而不能共享數據,因此數據的共享性差、冗余度高,浪費存儲空間。(2)數據的獨立性差。在文件管理系統中,一旦數據的結構改變,就必須修改應用程序;反之,一旦應用程序的結構改變,也必然引起數據結構的改變。在文件管理系統階段,應用程序與數據文件之間的對應關系如圖所示。3.數據庫管理系統階段

(20世紀60年代后期)

這個階段中程序和數據的聯系通過數據庫管理系統(DBMS)來實現。數據庫管理系統階段具有以下特點:(1)數據的共享性高、冗余度低。數據庫管理系統從整體角度對待和描述數據,數據不再面向特定的某個或多個應用,而是面向整個應用系統。數據冗余明顯減少,實現了數據共享。

(2)數據獨立性高。在這一管理方式下,應用程序不再只與一個孤立的數據文件相對應,而是通過數據庫管理系統實現邏輯文件與物理數據之間的映射,這樣應用程序對數據的管理和訪問不但靈活方便,而且應用程序與數據之間完全獨立。(3)數據由數據庫管理系統統一管理和控制。數據庫的共享是并發(concurrency)的共享,即多個用戶可以同時存取數據庫中的數據,甚至可以同時存取數據庫中同一個數據,而這些都由數據庫管理系統統一管理與控制,從而簡化了應用程序。在數據庫管理系統階段,應用程序與數據之間的對應關系如圖所示。1.3數據庫系統的結構1.數據庫系統的組成

數據庫系統一般由數據庫、硬件、軟件、數據庫管理員和用戶5部分組成。1)數據庫

數據庫是一個結構化的數據集合。在一個數據庫系統中,可以根據需要創建多個數據庫,并且數據庫中的數據通常可以被多個用戶所共享。2)軟件(1)DBMS,它是為數據庫的建立、使用和維護配置的軟件。(2)支持DBMS運行的操作系統。(3)具有與數據庫接口的高級語言及其編譯系統,便于開發應用程序。(4)以DBMS為核心的應用開發工具,它們為數據庫系統的開發和應用提供了良好的環境。(5)為特定應用環境開發的數據庫應用程序。3)硬件

任何一個計算機系統都需要有中央處理器、存儲器和輸入/輸出設備等硬件。一個數據庫系統需要有足夠快的處理器來處理這些數據,以便快速響應用戶的數據處理和數據檢索請求,同時還需要有足夠容量的內存與外存來存儲大量的數據。4)數據庫管理員

數據庫管理員是對整個數據庫系統進行全面維護和管理的專門人員,他們在數據庫系統的開發、維護和應用中起著重要的作用。5)用戶

用戶也稱最終用戶,他們可以通過應用系統的用戶接口使用數據庫。1.4數據庫系統的三級模式結構

數據庫領域公認的標準結構是美國國家標準協會(AmericanNationalStandardInstitute,ANSI)的數據庫管理系統研究小組于1978年提出的標準化的建議,將數據庫結構劃分為3個模式:概念模式、外模式和內模式,又稱為數據庫的三級模式結構,使不同級別的用戶對數據庫形成不同的視圖。所謂視圖,是指觀察、認識和理解數據庫的范圍、角度和方法,是數據庫在用戶“眼中”的反映,很顯然,不同層次的用戶所“看到”的數據庫是不相同的。1)概念模式

介于內模式和外模式之間的中間層次概念模式對應于概念級。它是對數據庫中全部數據的邏輯結構和特征的總體描述,是所有用戶的公共數據視圖(全局視圖),由若干個概念記錄類型組成。

概念模式不僅要描述概念記錄類型,還要描述記錄間的聯系、操作、數據的完整性以及安全性等要求。定義模式時不僅要定義數據的邏輯結構(如數據記錄由哪些數據項構成,數據項的名字、類型、長度和取值范圍等),而且還要定義與數據有關的安全性、完整性要求以及定義這些數據之間的聯系。2)外模式最接近用戶,也就是用戶所看到的數據視圖

外模式又稱子模式,對應于用戶級,是對用戶用到的那部分數據的描述。它是某個或某幾個用戶所看到的數據庫的數據視圖,與某一應用有關的數據的邏輯表示。外模式由若干個外部記錄類型組成。用戶使用數據操縱語言對數據庫進行操作,實際上是對外模式的外部記錄進行操作。

一個數據庫可以有多個外模式。如果不同的用戶在應用需求、數據的方式、對數據保密的要求等方面存在差異,則他們的外模式描述就是不同的。外模式是概念模式的子集,也稱子模式或用戶模式。3)內模式最接近物理存儲,也就是數據的物理存儲方式

內模式又稱存儲模式,對應于物理級,它是數據庫中全體數據的內部表示或底層描述,是數據庫最低一級的邏輯描述,它描述了數據在存儲介質上的存儲方式和物理結構,對應著實際存儲在外存儲介質上的數據庫。

在一個數據庫系統中,只有唯一的數據庫。因而作為定義、描述數據庫存儲結構的內模式和定義、描述數據庫邏輯結構的概念模式,也是唯一的。但建立在數據庫系統之上的應用則是非常廣泛、多樣的,所以對應的外模式不是唯一的,也不可能是唯一的。

因此,概念模式描述的是數據的全局邏輯結構,外模式涉及的是數據的局部邏輯結構,即用戶可以直接接觸到的數據的邏輯結構,而內模式更多的是由數據庫系統內部實現。三級模式結構的優點:保證了數據的獨立性;將內模式和概念模式分開,保證了數據的物理獨立性;將外模式和概念模式分開,保證了數據的邏輯獨立性。簡化了用戶接口;按照外模式編寫應用程序或輸入命令,而不需要了解數據庫內部的存儲結構,方便用戶使用系統。有利于數據共享;在不同的外模式下可有多個用戶共享系統中的數據,減少了數據冗余。利于數據的安全保密。在外模式下根據要求進行操作,只能對限定的數據進行操作,保證了其他數據的安全。2、三級模式間的映射

數據庫的三級模式是數據庫在3個級別(層次)上的抽象,使用戶能夠邏輯地、抽象地處理數據而不必關心數據在計算機中的物理表示和存儲。

實際上,對于一個數據庫系統而言,物理級數據庫是客觀存在的,它是進行數據庫操作的基礎,概念級數據庫不過是物理級數據庫的一種邏輯的、抽象的描述(即模式),用戶級數據庫則是用戶與數據庫的接口,它是概念級數據庫的一個子集(外模式)。因此,為了實現三個抽象層次的聯系和轉換,數據庫系統在這三級模式中提供了映射機制,即:外模式/概念模式映射概念模式/內模式映射

用戶應用程序根據外模式進行數據操作,通過外模式/概念模式映射,定義和建立某個外模式與模式間的對應關系,將外模式與模式聯系起來,當模式發生改變時,只要改變其映射,就可以使外模式保持不變,對應的應用程序也可保持不變;

另一方面,通過概念模式/內模式映射,定義建立數據的邏輯結構(模式)與存儲結構(內模式)間的對應關系,當數據的存儲結構發生變化時,只需改變模式/內模式映射,就能保持模式不變,因此應用程序也可以保持不變。

數據庫是數據的集合,它不僅要反映數據本身的內容,而且要反映數據之間的聯系。由于計算機不可能直接處理現實世界中的具體事物,人們必須事先把具體事物轉換成計算機能夠處理的數據,這種具有聯系性的相關數據總是按照一定的組織關系排列,從而構成一定的結構,對這種結構的描述就是數據模型。在數據庫中用數據模型這個工具來抽象、表示和處理現實世界的模擬。數據模型包括數據庫數據的結構部分、數據庫數據的操作部分和數據庫數據的約束條件。1.5數據模型數據模型所描述的內容包括三個部分:數據結構、數據操作、數據約束。

1)數據結構:數據模型中的數據結構主要描述數據的類型、內容、性質以及數據間的聯系等。數據結構是數據模型的基礎,數據操作和約束都建立在數據結構上。不同的數據結構具有不同的操作和約束。

2)數據操作:數據模型中數據操作主要描述在相應的數據結構上的操作類型和操作方式。

3)數據約束:數據模型中的數據約束主要描述數據結構內數據間的語法、詞義聯系、他們之間的制約和依存關系,以及數據動態變化的規則,以保證數據的正確、有效和相容。

不同的數據模型實際上是提供給用戶模型化數據和信息的不同工具。根據模型應用的不同目的,可將模型劃分為兩類,它們分屬于兩個不同的層次。

第一層模型是概念層模型,習慣稱為概念模型,它是按照用戶的觀點來對數據和信息建模,主要用于數據庫的設計。

另一層模型是組織層數據模型,簡稱數據模型,它是按照計算機系統的觀點對數據建模,主要用于數據庫的實現,分為關系數據庫、層次數據庫和網狀數據庫,其中,關系數據庫是目前最重要的一種數據庫。20世紀80年代以來,計算機廠商推出的數據庫管理系統大多采用關系數據庫系統。

為了把現實中的具體事物抽象、組織為某一DBMS支持的數據模型,人們首先將現實世界抽象為信息世界,然后將信息世界轉換為機器世界。也就是說,首先把現實世界中的客觀對象抽象為某一信息結構,即用概念模型描述數據,然后再把概念模型轉換為計算機上某一DBMS支持的數據模型,這一過程如圖所示。1.概念模型1)概念模型中的名詞術語(1)實體。客觀存在并且相互區別的事物稱為實體。實體可以是實際的事物,例如,一名學生、一位教師;實體也可以是抽象的事件,例如,一場比賽、一次選課。(2)實體集。具有相同類型及相同性質(或屬性)的實體集合稱為實體集。例如,某所學校的所有學生的集合是學生實體集,所有教師也是實體集。(3)實體的屬性。描述實體的特性稱為屬性。一個實體可以由若干個屬性來刻畫,例如,學生實體可以由學號、姓名、性別、年齡、院系等屬性描述。(4)屬性值。將屬性的具體取值稱為屬性值。(5)域。屬性值的取值范圍稱為改屬性的域。2)實體之間的聯系聯系:就是實體與實體之間的聯系。(1)一對一的聯系(1∶1)。班長和班級之間是一對一的聯系,一個班級只能有一名正班長,而每一名班長只能在一個班級任職。(2)一對多的聯系(1∶n)。系和學生之間具有一對多聯系,一個系有若干名學生,而每一名學生只能在一個系中學習。(3)多對多的聯系(m∶n)。學生和課程之間具有多對多的聯系,一名學生可以選修多門課程,而每一門課程又可以被多名學生選修。3)實體聯系圖:E-R圖

實體聯系方法簡單、實用,通常使用它的工具---E-R圖來描述現實世界的信息結構,并將所描述的結果稱為E-R模型。E-R模型可以轉換為DBMS所支持的數據模型。E-R圖有4個要素:(1)矩形:表示實體,矩形框內標注實體名稱(2)橢圓:表示實體和聯系所具有的屬性,橢圓內標注屬性的名稱。(3)菱形框:表示實體之間的聯系,菱形框內標注聯系的名稱。(4)連線:用來連接實體與實體所具有的屬性、聯系與聯系所具有的屬性,以及實體與聯系。

下面用E-R圖來表示學校教師授課情況的概念模型,如圖所示,教師屬性有系部、姓名;課目屬性有編號、名稱;學生屬性有學號、姓名、年齡及班級。

2.數據模型

概念模型是人們對現實世界事物之間各種聯系的一種抽象表示,它只描述了實體的存在及其聯系,而不能指出如何實現各種聯系。數據庫系統為了能很好地支持概念模型,必須要采用具體的數據組織結構,這就是組織層數據模型,亦稱數據模型。數據模型是概念模型的數據化。任何一個數據庫管理系統都是基于某種數據模型的。數據模型主要用于數據庫管理系統(DBMS)的實現。

目前常用的數據模型有3種:層次模型、網狀模型和關系模型。與之相對應,數據庫也分為3種基本類型:層次數據庫、網狀數據庫和關系數據庫。1)層次模型

層次模型是用樹形結構來表示實體與實體之間的聯系的。層次模型適合描述現實世界原本具有層次關系的系統,例如,企業、學校、機關及家族等。在這種模型中,記錄類型為結點,由根結點、父結點和子結點構成。

層次模型像一棵倒置的樹,根結點在上,層次最高,子結點在下,逐層排列。其主要特征是:有且只有一個無雙親的根結點;根結點以外的子結點,向上僅有一個父結點,向下可以有若干個子結點,表示的是一個父結點對應于多個子結點,而一個子結點是只能對應于一個父結點的一對多的聯系。

層次模型只能直接表示一對多(包括一對一)聯系,而無法直接表示實體間的多對多聯系,但卻簡單、直觀、處理方便、算法規范,如圖所示。

2)網狀模型

網狀模型用網狀結構表示實體與實體之間的聯系。網狀模型允許結點有多于一個的父結點,也可以有一個以上的結點沒有父結點,適合用于表示多對多的聯系。

網狀模型是層次模型的擴展,表示多個從屬關系的層次結構,呈現一種交叉關系的網絡結構。其主要特征是:允許有一個以上的結點無雙親結點,至少有一個結點有多于一個的雙親結點。

網狀模型在概念上、結構上都比較復雜,實現的算法也難以規范化,但這種數據模型可以表示較為復雜的數據結構,如圖所示。

3)關系模型

是通過二維表來表示實體以及實體之間的聯系。在這種模型中,一個二維表就是一個關系,二維表不僅能夠描述實體本身,而且還能反映實體之間的聯系。但并不是所有的二維表都是關系模型,只有具有下列特點的二維表才是關系模型:(1)表格中的每一列都是不可再分的基本數據項。(2)每列的名字不同,同一列的數據類型相同。(3)行的順序無關緊要。(4)列的順序無關緊要。(5)關系中不允許有完全相同的兩行存在。通常將關系模型稱為關系或表,將關系中的行稱為元組(或記錄)。將關系中的列稱為屬性,(或字段)。關系模型的基本術語

在關系模型中,無論是實體還是實體之間的聯系均由關系(表)來表示。1.關系與表

關系(relation)是滿足一定條件的二維表,用來表示概念世界中的實體和實體之間的聯系,二維表名就是關系名。但并非任何一個二維表都是一個關系,確定二維表是一個關系應具有以下幾個特征:(1)表中沒有組合的列,也就是說每一列都是不可再分

溫馨提示

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

評論

0/150

提交評論