大學計算機文化基礎第9章_第1頁
大學計算機文化基礎第9章_第2頁
大學計算機文化基礎第9章_第3頁
大學計算機文化基礎第9章_第4頁
大學計算機文化基礎第9章_第5頁
已閱讀5頁,還剩127頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、大學計算機文化基礎吉林建筑工程學院城建學院The City College Of JiLin Architectural And Civil Engineering Institute第九章 數(shù)據(jù)庫管理系統(tǒng)Access 數(shù)據(jù)庫技術是計算機領域的一個重要分支。在計算機應用的科學計算、數(shù)據(jù)處理和過程控制三大領域中,數(shù)據(jù)處理約占其70,而數(shù)據(jù)庫技術就是作為一門數(shù)據(jù)處理技術發(fā)展起來的。在信息技術高度發(fā)展的今天,數(shù)據(jù)庫技術的應用深入到了各個領域,對一個國家來說,數(shù)據(jù)庫的建設規(guī)模、數(shù)據(jù)庫信息量的的大小也成為衡量國家信息化程度的重要標識。數(shù)據(jù)庫技術已成為現(xiàn)代計算機信息系統(tǒng)和應用開發(fā)系統(tǒng)的核心技術,數(shù)據(jù)庫成了

2、管理信息系統(tǒng)、辦公自動化系統(tǒng)、決策支持系統(tǒng)等各類應用系統(tǒng)的核心部分。 1. 數(shù)據(jù)庫的基本概念:數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫系統(tǒng)。 2. 數(shù)據(jù)模型,實體聯(lián)系模型及E-R圖,從E-R圖導出關系數(shù)據(jù)模型。 3. 關系代數(shù)運算,包括集合運算及選擇、投影、連接運算,數(shù)據(jù)庫規(guī)范化理論。 4. 數(shù)據(jù)庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略。 Microsoft Office Access2003中文版是微軟公司的Office辦公套裝軟件的組件之一,是一種關系數(shù)據(jù)庫管理系統(tǒng),它提供了一套完整的工具和向導,即使是初學者,也可以通過可視化的操作來完成大部分的數(shù)據(jù)庫管理和開發(fā)工作。通過創(chuàng)

3、建或使用強大的數(shù)據(jù)庫解決方案,您能夠更為輕松地組織、訪問和共享信息資源。 9.1 數(shù)據(jù)庫基礎知識隨著計算機科學與技術的發(fā)展,計算機應用的深入與拓展,數(shù)據(jù)庫在計算機應用中的地位與作用日益重要,它在商業(yè)中、事務處理中占有主導地位。近年來在統(tǒng)計領域、多媒體領域、智能化應用領域以及網(wǎng)絡應用中的地位與作用也變得十分重要,數(shù)據(jù)庫系統(tǒng)已成為構成一個計算機應用系統(tǒng)的重要的支持性軟件。 9.1.1 數(shù)據(jù)管理技術的發(fā)展計算機對數(shù)據(jù)的管理是指對數(shù)據(jù)的組織、分類、編碼、存儲、檢索和維護提供操作手段。數(shù)據(jù)庫技術所研究的問題就是如何科學地組織和存儲數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。數(shù)據(jù)庫技術作為數(shù)據(jù)管理的主要技術目前已廣泛

4、應用于各個領域,數(shù)據(jù)庫系統(tǒng)已成為計算機系統(tǒng)的重要組成部分。1. 人工管理階段20世紀50年代中期以前,計算機主要用于科學計算。當時硬件的狀況是外存只有紙帶、卡片、磁帶等順序存取設備,沒有磁盤等直接存儲設備。軟件狀況是沒有操作系統(tǒng),沒有管理數(shù)據(jù)庫的軟件,數(shù)據(jù)處理是批處理。在這個階段,程序員只能使用最原始的手工方式來操縱計算機。程序員將程序和數(shù)據(jù)編寫在一起,每個程序都有自己的一組數(shù)據(jù),數(shù)據(jù)間不能共享,即使幾個程序使用同一組數(shù)據(jù),也必須重復輸入,數(shù)據(jù)冗余大。 應用程序1數(shù)據(jù)文件1應用程序2數(shù)據(jù)文件21應用程序n數(shù)據(jù)文件n圖 9-1 人工管理階段應用程序與數(shù)據(jù)間的關系人工管理階段具有如下特點:(1)

5、數(shù)據(jù)不能保存,用完就撤走;(2) 由應用程序管理數(shù)據(jù),數(shù)據(jù)不獨立。數(shù)據(jù)結構變化后,必須對應用程序進行修改;(3) 一組數(shù)據(jù)只能對應一個應用程序,無法相互共享,程序間數(shù)據(jù)存在大量冗余。2.文件系統(tǒng)階段20世紀50年代后期至60年代中期計算機不僅用于科學計算,還利用在信息管理方面。隨著數(shù)據(jù)量的增加,數(shù)據(jù)的存儲、檢索和維護問題成為緊迫的需要,數(shù)據(jù)結構和數(shù)據(jù)管理技術迅速發(fā)展起來。此時,外部存儲器已有磁盤、磁鼓等直接存取的存儲設備。軟件領域出現(xiàn)了操作系統(tǒng)和高級軟件。操作系統(tǒng)中的文件系統(tǒng)是專門管理外存的數(shù)據(jù)管理軟件,文件是操作系統(tǒng)管理的重要資源之一。數(shù)據(jù)處理方式有批處理,也有聯(lián)機實時處理。 這個階段有如下

6、幾個特點:(1) 數(shù)據(jù)以文件形式長期保留在外存上反復使用,操作系統(tǒng)按名存取文件;(2) 由文件系統(tǒng)管理數(shù)據(jù),記錄內有結構,整體無結構。實現(xiàn)了簡單的數(shù)據(jù)共享,但無法提供完整、統(tǒng)一的共享和管理;(3) 數(shù)據(jù)文件之間缺乏聯(lián)系,數(shù)據(jù)共享性差,冗余度大;(4) 文件為某個應用程序服務優(yōu)化,數(shù)據(jù)獨立性差,一旦數(shù)據(jù)結構改變,必須相應修改應用程序。文件系統(tǒng)是數(shù)據(jù)庫系統(tǒng)發(fā)展的初級階段,它提供了簡單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是它無法提供完整的、統(tǒng)一的管理和數(shù)據(jù)共享的能力。由于它的功能簡單,因此它附屬于操作系統(tǒng)而不能成為獨立的軟件,目前一般將其看成僅是數(shù)據(jù)庫系統(tǒng)的雛形,而不是真正的數(shù)據(jù)庫系統(tǒng) 1應用程序1數(shù)據(jù)文件

7、2應用程序2數(shù)據(jù)文件1應用程序n數(shù)據(jù)文件n圖 9-2 文件管理階段應用程序與數(shù)據(jù)間的關系文件系統(tǒng)3.數(shù)據(jù)庫系統(tǒng)階段隨著數(shù)據(jù)管理規(guī)模的日益增大,數(shù)據(jù)量急劇增加,同時,出現(xiàn)了大容量的廉價磁盤,到了20世紀60年代后期,出現(xiàn)了真正的數(shù)據(jù)庫系統(tǒng)層次數(shù)據(jù)庫與網(wǎng)狀數(shù)據(jù)庫。20世紀70年代出現(xiàn)了關系數(shù)據(jù)庫系統(tǒng),在80年代得到蓬勃發(fā)展,并逐漸取代前兩種系統(tǒng),占據(jù)數(shù)據(jù)庫領域的主導地位。 應用程序1應用程序2應用程序n圖 9-3 數(shù)據(jù)庫管理階段應用程序與數(shù)據(jù)間的關系數(shù)據(jù)庫管理系統(tǒng)XIXITONG 數(shù)據(jù)庫以數(shù)據(jù)庫為中心的數(shù)據(jù)庫系統(tǒng)是當代數(shù)據(jù)管理的主要方式,它具有如下特點:(1) 數(shù)據(jù)和程序之間彼此獨立,提供了更廣泛

8、的數(shù)據(jù)共享和更高的數(shù)據(jù)獨立性;(2) 數(shù)據(jù)以數(shù)據(jù)庫形式保存,最大限度地減少冗余;(3) 數(shù)據(jù)庫中有專門的數(shù)據(jù)庫管理軟件(DBMS)進行統(tǒng)一管理。9.1.2 數(shù)據(jù)庫相關概念1.數(shù)據(jù)(Data) 所謂數(shù)據(jù)就是描述事物的符號.在我們的日常生活中,數(shù)據(jù)無所不,在數(shù)字、文字、圖表、圖象、聲音等都是數(shù)據(jù)。 2.數(shù)據(jù)庫(DB 即Database) 數(shù)據(jù)庫,顧名思義,就是數(shù)據(jù)存放的地方。數(shù)據(jù)庫是存放數(shù)據(jù)的倉庫,是長期存放在計算機存儲介質內統(tǒng)一、有組織并可共享的數(shù)據(jù)集合。3數(shù)據(jù)庫管理系統(tǒng)(DBMS) 數(shù)據(jù)庫管理系統(tǒng)是用于管理數(shù)據(jù)的計算機軟件,是數(shù)據(jù)庫系統(tǒng)的核心。數(shù)據(jù)庫管理系統(tǒng)使用戶能方便地定義和操縱數(shù)據(jù),維護數(shù)

9、據(jù)的安全性和完整性,以及進行多用戶下的并發(fā)控制和恢復數(shù)據(jù)庫。 DBMS一般具有如下功能:(1)定義功能。定義數(shù)據(jù)庫的結構、完整性和其他約束條件。(2)操縱功能。實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)查詢、插入、修改以及刪除數(shù)據(jù)的功能。(3)控制功能。實現(xiàn)數(shù)據(jù)的安全控制、完整性控制和多用戶下并發(fā)控制。(4)維護功能。提供對數(shù)據(jù)庫中數(shù)據(jù)的拷貝、轉存、重組、性能監(jiān)測、分析等。(5)數(shù)據(jù)字典。用來存放數(shù)據(jù)庫各級模式結構的描述。 4數(shù)據(jù)庫系統(tǒng)(DBS 即Database System) 數(shù)據(jù)庫系統(tǒng)狹義地講是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和用戶構成,廣義地講是由計算機硬件、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)以及在它支持下建立起來的數(shù)據(jù)庫、應

10、用程序、用戶和維護人員組成的以數(shù)據(jù)庫為核心的完整的運行實體。5.數(shù)據(jù)庫管理員(DatabaseAdministrator簡稱DBA) 由于數(shù)據(jù)庫的共享性,因此對數(shù)據(jù)庫的規(guī)劃、設計、維護、監(jiān)視等需要專人管理,稱他們?yōu)閿?shù)據(jù)庫管理員。 9.1.3數(shù)據(jù)庫系統(tǒng)的體系結構數(shù)據(jù)庫系統(tǒng)的體系結構是數(shù)據(jù)庫系統(tǒng)的總框架。目前世界上有大量的數(shù)據(jù)庫系統(tǒng)在運行,其類型和規(guī)模可能差距很大,但是,其體系結構基本上都具有相同的特征,采用“三級模式及二級映射” 外模式1(用戶數(shù)據(jù)庫1)應用A外模式3(用戶數(shù)據(jù)庫3)應用D外模式2(用戶數(shù)據(jù)庫2)應用B應用C概念模式(模式)(概念數(shù)據(jù)庫)內模式(物理數(shù)據(jù)庫)數(shù)據(jù)庫外模式到概念模式

11、映射概念模式到內模式映射圖9-4數(shù)據(jù)庫系統(tǒng)的結構體系1.數(shù)據(jù)庫系統(tǒng)的三級模式 數(shù)據(jù)庫系統(tǒng)在其內部分成三級模式,即概念模式、外模式和內模式。(1)概念模式 簡稱為模式或邏輯。概念模式是數(shù)據(jù)庫系統(tǒng)中全局數(shù)據(jù)邏輯結構的描述,僅涉及數(shù)據(jù)型的描述,不涉及具體的值,是全體用戶(應用)公共數(shù)據(jù)視圖。此種描述是一種抽象的描述,它不涉及具體的硬件環(huán)境與平臺,也與具體的軟件環(huán)境無關。 概念模式主要描述數(shù)據(jù)的邏輯結構以及它們間的關系,它還包括一些數(shù)據(jù)間的聯(lián)系及完整性等。(2) 外模式 外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式,它由概念模式推導而出。概念模式給出了系統(tǒng)全局的數(shù)據(jù)描述而

12、外模式則給出每個用戶的局部數(shù)據(jù)描述。個概念模式可以有若干個外模式,每個用戶只關心與它有關的模式,這樣不僅可以屏蔽大量無關信息而且有利于數(shù)據(jù)保護。 (3)內模式 內模式又稱物理模式或存儲模式,它給出了數(shù)據(jù)庫物理存儲結構與物理存取方法,是數(shù)據(jù)在數(shù)據(jù)庫內的表示方式。2.兩級映射 數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個級別抽象,它把數(shù)據(jù)的具體物理實現(xiàn)留給物理模式,使用戶與全局設計者不必關心數(shù)據(jù)庫的具體實現(xiàn)與物理背景;同時,它通過兩級映射建立了模式間的聯(lián)系與轉換,使得概念模式與外模式雖然并不具備物理存在,但是也能通過映射而獲得其實體。兩級映射如圖9-4所示。此外,兩級映射也保證了數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的獨立性,亦

13、即數(shù)據(jù)的物理組織改變與邏輯概念改變相互獨立,使得只要調整映射方式而不必改變用戶模式。(1) 外模式到概念模式的映射 概念模式是一個全局模式而外模式是用戶的局部模式。一個概念模式中可以定義多個外模式,而每個外模式是概念模式的一個基本視圖。外模式到概念模式的映射給出了外模式與概念模式的對應關系,這種映射一般也是由DBMS來實現(xiàn)的。(2) 概念模式到內模式的映射 該映射給出了概念模式中數(shù)據(jù)的全局邏輯結構到數(shù)據(jù)的物理存儲結構間的對應關系,此種映射一般由DBMS實現(xiàn)。9.1.4 數(shù)據(jù)模型模型是現(xiàn)實世界特征的模擬抽象。數(shù)據(jù)模型是現(xiàn)實世界數(shù)據(jù)特征的抽象,這個抽象過程分為兩個階段:首先將現(xiàn)實世界通過人腦的思維

14、抽象形成概念模型;然后將概念模型轉化為計算機內部的機器世界。 現(xiàn)實世界(需求分析報告)信息世界(概念模型)機器世界(數(shù)據(jù)模型)分析抽象轉換圖 9-5 數(shù)據(jù)抽象的基本過程數(shù)據(jù)模型從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表示與操作提供一個抽象的框架。數(shù)據(jù)模型包括了數(shù)據(jù)結構、數(shù)據(jù)操作與數(shù)據(jù)約束三部分內容。數(shù)據(jù)模型按不同的應用層次分成三種類型,它們是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。概念數(shù)據(jù)模型簡稱概念模型,是一種面向客觀世界、面向用戶的模型,與具體的數(shù)據(jù)庫管理系統(tǒng)、具體的計算機平臺無關。它側重于對客觀世界復雜事物的結構描述及它們之間的內在聯(lián)系的刻畫。如E-R模

15、型、面向對象模型等。邏輯數(shù)據(jù)模型又稱數(shù)據(jù)模型,它側重于在數(shù)據(jù)庫系統(tǒng)一級的實現(xiàn),是一種面向數(shù)據(jù)系統(tǒng)的模型。概念模型只有在轉換成邏輯模型后才能在數(shù)據(jù)庫中得以表示。較為成熟并被人們大量使用過的邏輯模型有:層次模型、網(wǎng)狀模型、關系模型、面向對象模型等。物理數(shù)據(jù)模型又稱物理模型,它給出了數(shù)據(jù)模型在計算機上物理結構的表示,是一種面向計算機物理表示的模型。1概念模型概念模型是面向現(xiàn)實世界的,用來有效自然地模擬現(xiàn)實世界,給出數(shù)據(jù)的概念化結構。最廣泛使用的概念模式是E-R模型(entity relationship model),又稱實體聯(lián)系模型,于1976年由Peter Chen首先提出。該模型將現(xiàn)實世界的要

16、求轉化成實體、聯(lián)系、屬性等幾個基本概念以及它們間的兩種基本聯(lián)接關系,并用一種E-R圖的形式非常直觀地表示出來。 (1)E-R模型的基本概念及相應的E-R圖 實體現(xiàn)實世界中的事物可以抽象成為實體,實體是概念世界中的基本單位,它們是客觀存在的且又能相互區(qū)別的事物。凡是有共性的實體可組成個集合稱為實體集。如張荔、李帥是兩個實體,他們又均是學生而組成一個實體集。實體也可以是一個抽象的動作,如一次考試、一場比賽等。在E-R圖中用矩形表示實體集,在矩形內寫上該實體集的名字。如學生實體集(Student)、課程實體集(Course)。 屬性屬性刻畫了實體的特征。一個實體往往可以有若干個屬性。如學生實體可用姓

17、名、年齡、性別、等屬性來描述。在E-R圖中用橢圓形表示屬性,在橢圓形內寫上該屬性的名稱。如學生實體有學號、姓名、年齡、系別等屬性。聯(lián)系 兩個實體集之間對應的關系稱為聯(lián)系,反映了客觀事物之間的相互關系。如師生關系、學生與所選課程關系等。在ER圖中用菱形(內寫上聯(lián)系名)表示聯(lián)系。 兩個實體集間的聯(lián)系可以有下面幾種:一對一聯(lián)系 一對一聯(lián)系,簡記為1:1。如果實體集A中的每個實體最多和實體集B中的一個實體有聯(lián)系。反之亦然,則稱A和B 是一對一的聯(lián)系,如學校與校長間的聯(lián)系,一個學校與一個校長間一一對應。一對多或多對一聯(lián)系 一對多或多對一聯(lián)系簡記為l:M(1:m) 或M:1(m:1)。如果實體集A中的每個

18、實體可以和實體集B中的幾個實體有聯(lián)系;實體集B中每個實體在實體集A中有一個實體與之對應,則稱A和B 是一對多的聯(lián)系。如學生與其宿舍房間的聯(lián)系是多對一的聯(lián)系,即多個學生對應一個房間。多對多聯(lián)系 多對多聯(lián)系,簡記為M:N或m:n。如果實體集A中的每個實體可以和實體集B中的幾個實體有聯(lián)系;反之亦然,則稱A和B 是多對多的聯(lián)系。如教師與學生這兩個實體集間的教與學的聯(lián)系是多對多的,因為一個教師可以教授多個學生,而一個學生又可以受教于多個教師。【例9-1】 假設學生實體有學號、姓名、性別和院系屬性,學生實體的E-R圖如圖 學生學號姓名性別院系課程有課程號、課程名、學分和學時屬性,課程實體的E-R圖如圖 課

19、程課程號課程名學分學時圖 9-7 課程實體圖學生選課系統(tǒng)的E-R圖如圖 圖 9-8 學生選課E-R圖學生學號姓名性別院系課程課程號課程名學分學時選課mn2數(shù)據(jù)模型 常用的有三種數(shù)據(jù)模型:層次模型、網(wǎng)狀模型、關系模型。(1) 層次模型 層次模型是最早發(fā)展起來的數(shù)據(jù)庫模型,它采用樹形結構表示各類實體間的聯(lián)系,如家族結構、行政組織結構,圖9-9給出了某大學組織結構的簡化E-R圖,略去了其中的屬性。大學理學院圖9-9層次模型實例E-R圖電信學院機電學院管理學院電子工程系計算機系電氣自動化系信管專業(yè)計算機專業(yè)(2)網(wǎng)狀模型的出現(xiàn)略晚于層次模型,是一個不加任何條件限制的無向圖,在結構上不像層次模型那樣要滿

20、足嚴格的條件,允許結點有多個雙親,兩個結點可以有多種聯(lián)系。是層次模型的擴展,表示多個從屬關系的層次結構,呈現(xiàn)一種交叉關系。 學校領導管理教師班級教學管理學校圖9-10網(wǎng)狀模型實例E-R圖(3) 關系模型 關系模型采用由行和列組成的二維表來表示,簡稱表,用表來表示實體及實體之間的聯(lián)系,每個二維表代表一個關系。圖9-8所示的學生與課程實體以及它們之間的聯(lián)系可用表9-2所示的3個表來表示。關系模型中經常使用如下術語:元組:表中的每一行數(shù)據(jù)稱為一個元組。元組個數(shù)稱為表的基數(shù); 屬性:表的每一列稱為一個屬性,也稱為字段。每個元組分量是元組數(shù)據(jù)在每個屬性的投影值。 構成關系的二維表一般滿足下面性質:元組個

21、數(shù)有限性;元組屬性唯一,屬性的次序無關,同一屬性的值域相同;元組的次序無關性;屬性的不可分割性;屬性名的唯一性;屬性的次序無關性;屬性值域的同一性。域:表示各個屬性的取值范圍。鍵:在二維表中凡能唯一標識元組的最小屬性集稱為該表的鍵或碼。候選鍵:二維表中可能有若干個鍵,它們稱為該表的候選碼或候選鍵。例如表9-2所示關系S中屬性”學號”可以作為候選鍵,當”姓名”沒有重名時,也可以作為候選鍵。主鍵:從二維表的所有候選鍵中選取一個作為用戶使用的鍵稱為主鍵,簡稱為鍵或碼。外鍵:表A中的某屬性集(非表A的主鍵)是某表B的鍵,則稱該屬性集為表A的外鍵(ForeignKey)或外碼。例如表9-2所示關系SC中

22、”學號”字段不是該表的主鍵,但它是另一個學生表的主鍵,因此,學號為外鍵。表間關系:當一個系統(tǒng)中有多張表時,它們并不是孤立的,可以通過外鍵進行關聯(lián)。如圖9-11所示。關系模型的數(shù)據(jù)操縱一般有查詢、插入、刪除及修改四種操作。 數(shù)據(jù)查詢 用戶可以查詢關系數(shù)據(jù)庫中的數(shù)據(jù),它包括在一個關系內的查詢以及多個關系間的查詢。 數(shù)據(jù)刪除 數(shù)據(jù)刪除的基本單位是一個關系內的元組,它的功能是將指定關系內的指定元組刪除。它分為橫向定位與操作兩部分,而無需縱向定位(因刪除是元組的全部屬性),定位后即執(zhí)行刪除操作。因此數(shù)據(jù)刪除可以分解為一個關系內的元組選擇與關系中元組刪除兩個基本操作。 數(shù)據(jù)插入 數(shù)據(jù)插入僅對一個關系而言,

23、在指定關系中插入一個或多個元組。在數(shù)據(jù)插入中不需要定位,僅需做關系中元組插入操作,因此數(shù)據(jù)插入只有一個基本操作。 數(shù)據(jù)修改數(shù)據(jù)修改是在一個關系中修改指定的元組與屬性。它分解為刪除需修改的元組與插入修改后的元組兩個基本操作。總結以上四種基本關系操縱可進一步分解成以下六種基本操作:關系的屬性指定;關系的元組選擇;兩個關系合并;一個關系的查詢;關系中元組的插入;關系中元組的刪除。關系模型允許定義三類數(shù)據(jù)約束: 實體完整性約束(EntityIntegrityConstraint) 該約束要求關系的主鍵中屬性值不能為空值,這是數(shù)據(jù)庫完整性的最基本要求,因為主鍵是唯一決定元組的,如為空值則其唯一性就成為不

24、可能的了。 參照完整性約束(ReferenceIntegrityConstraint)該約束是關系之間相關聯(lián)的基本約束,它不允許關系引用不存在的元組:即在關系中的外鍵要么是所關聯(lián)關系中實際存在的元組,要么就為空值。實體完整性約束和參照完整性約束是關系數(shù)據(jù)庫所必需遵守的規(guī)則,在任何一個關系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)中均由系統(tǒng)自動支持。 用戶定義的完整性約束(UserDefinedIntegrityConstraint) 這是針對具體數(shù)據(jù)環(huán)境與應用環(huán)境由用戶具體設置的約束,它反映了具體應用中數(shù)據(jù)的語義要求。對于用戶定義的完整性約束,是由關系數(shù)據(jù)庫系統(tǒng)提供完整性約束語言,用戶利用該語言寫出約束條件

25、,運行時由系統(tǒng)自動檢查的。9.1.5關系代數(shù)關系數(shù)據(jù)庫是建立在數(shù)學理論基礎之上的,關系代數(shù)與關系演算正是是關系模型數(shù)據(jù)操作的數(shù)學理論,已經證明兩者在功能上是等價的。關系代數(shù)是一種抽象的查詢語言,用對關系的運算來表達查詢,作為研究關系數(shù)據(jù)語言的數(shù)學工具。關系代數(shù)的運算對象是關系,運算結果亦為關系。1. 關系模型的基本運算 由于關系代數(shù)中的操作是對關系的運算,而關系是有序組的集合,因此,可以將操作看成是集合的運算。對關系模型有插入、刪除、修改和查詢四種操作,對應四種運算:(1)插入 在關系R插入若干元組,要插入的元組組成關系R,則插入可用集合并運算表示為: R U R(2)刪除 在關系R需刪除一些

26、元組,要刪除的元組組成關系R,則刪除可用集合差運算表示: R - R(3)修改 修改關系R內的元組內容可用下面的方法實現(xiàn):設需修改的元組構成關系R,則先做刪除得:R - R設修改后的元組構成關系R,此時將其插入即得到結果:(R - R) U R(4)查詢 由于用于查詢的三個操作無法用傳統(tǒng)的集合運算表示,需要引入些新的運算:選擇(Selection)運算 是指從指定關系R中選擇符合邏輯條件的元組組成一個新關系R的運算,是從行的角度進行的運算。投影(Projection)運算 投影運算是從R中選擇若干屬性列組成新的關系R的運算,是從列的角度進行的運算。一個關系通過投影運算(并由該運算給出所指定的屬

27、性)后仍為一個關系,它是R中投影運算所指出的那些域的列所組成的關系。 連接運算 連接是將兩個對于兩個關系中的元組按照指定條件進行組合,生成一個新關系。它是將兩個關系在給定屬性上滿足條件的記錄連接起來而得到一個新的關系。9.1.6數(shù)據(jù)庫設計數(shù)據(jù)庫設計是數(shù)據(jù)庫應用系統(tǒng)的核心。數(shù)據(jù)庫設計是指根據(jù)用戶的需求,在某一具體的數(shù)據(jù)庫管理系統(tǒng)上,設計數(shù)據(jù)庫的結構和建立數(shù)據(jù)庫的過程。一般,數(shù)據(jù)庫的設計過程大致可分為六個步驟:1.需求分析階段 準確了解與分析用戶需求(包括數(shù)據(jù)與處理),是整個設計過程的基礎,是最困難、最耗費時間的一步,調查和分析用戶的業(yè)務活動和數(shù)據(jù)的使用情況,弄清所用數(shù)據(jù)的種類、范圍、數(shù)量以及它們

28、在業(yè)務活動中交流的情況,確定用戶對數(shù)據(jù)庫系統(tǒng)的使用要求和各種約束條件等,形成用戶需求規(guī)約。2.概念結構設計階段 是整個數(shù)據(jù)庫設計的關鍵。通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。這個概念模型應反映現(xiàn)實世界各部門的信息結構、信息流動情況、信息間的互相制約關系以及各部門對信息儲存、查詢和加工的要求等。所建立的模型應避開數(shù)據(jù)庫在計算機上的具體實現(xiàn)細節(jié),用一種抽象的形式表示出來。 3.邏輯結構設計階段 將概念結構轉換為某個DBMS所支持的數(shù)據(jù)模型,對其進行優(yōu)化。主要工作是將現(xiàn)實世界的概念數(shù)據(jù)模型設計成數(shù)據(jù)庫的一種邏輯模式,即適應于某種特定數(shù)據(jù)庫管理系統(tǒng)所支持的邏輯數(shù)據(jù)模

29、式。4.數(shù)據(jù)庫物理設計階段 為邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結構(包括存儲結構和存取方法)。根據(jù)特定數(shù)據(jù)庫管理系統(tǒng)所提供的多種存儲結構和存取方法等依賴于具體計算機結構的各項物理設計措施,對具體的應用任務選定最合適的物理存儲結構(包括文件類型、索引結構和數(shù)據(jù)的存放次序與位邏輯等)、存取方法和存取路徑等。這一步設計的結果就是所謂“物理數(shù)據(jù)庫”。5.數(shù)據(jù)庫實施階段 運用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設計和物理設計的結果,建立數(shù)據(jù)庫,編制與調試應用程序,組織數(shù)據(jù)入庫,并進行試運行。6.數(shù)據(jù)庫運行和維護階段 數(shù)據(jù)庫應用系統(tǒng)經過試運行后即可投入正式運行。在數(shù)據(jù)庫系統(tǒng)運行過程中必

30、須不斷地對其進行評價、調整與修改。9.2 案例1創(chuàng)建學生管理數(shù)據(jù)庫案例說明:創(chuàng)建數(shù)據(jù)庫后,使用設計器創(chuàng)建一個學生信息表,包括學生學號、姓名、年齡、住址信息。添加、修改和刪除學生基本信息。使用向導創(chuàng)建”學生和課程”表,并建立與”學生信息表”的關系。操作步驟:1創(chuàng)建數(shù)據(jù)庫2建立數(shù)據(jù)表(數(shù)據(jù)類型、表結構、輸入數(shù)據(jù))(1)選擇【文件】【新建】【空數(shù)據(jù)庫】,設定數(shù)據(jù)庫的名字為“db1”,然后彈出如圖9-12所示的對話框,選擇數(shù)據(jù)庫窗口對象中的【表】對象; (2)選擇【使用設計器創(chuàng)建表】, 添加圖9-13所示字段信息和數(shù)據(jù)類型,選擇學號字段單擊右鍵,在打開的快捷菜單中選擇【主鍵】,完成表結構設計。(3)單

31、擊保存命令按鈕,保存表名為【學生信息表】,【確定】完成表的創(chuàng)建;如圖9-14所示:(4)雙擊打開學生信息表,添加如圖9-15所示學生信息;(5)修改或刪除學生信息,可在圖9-16中,修改信息,或者選擇要刪除的記錄單擊右鍵,在打開的快捷菜單中選【刪除記錄】。3對數(shù)據(jù)表進行維護 修改表結構包括更改字段的名稱、類型、屬性、增加字段、刪除字段等。右鍵單擊學生信息表,打開快捷菜單如下圖9-17所示,選擇【設計視圖】; 在隨后打開的圖9-18中可以添加新的字段,也可以插入或刪除某個字段,修改表結構。4操作表 數(shù)據(jù)表的操作包括對數(shù)據(jù)的排序、記錄的篩選和數(shù)據(jù)的查找等,所有這些操作都在數(shù)據(jù)表視圖下進行。排序是指

32、按某個字段值的升序或降序重新排列記錄的順序。篩選記錄是指僅顯示滿足條件的記錄,而暫時不顯示不滿足條件的記錄。(1)記錄的排序打開”學生信息表”,切換到數(shù)據(jù)表視圖;選擇年齡字段;單擊工具欄上的【升序】按鈕或【降序】按鈕;或者單擊【記錄-排序-升序排序】或【記錄-排序-降序排序】菜單命令。觀察窗口中記錄會按指定順序排列。如圖9-19所示:選擇【記錄】菜單中的【取消篩選/排序】命令,可以恢復排序前的記錄順序。(2)記錄的篩選打開”學生信息表”,切換到數(shù)據(jù)表視圖;將第三條記錄的姓名字段值”趙大江”的”趙”選中,在工具欄上單擊【按內容篩選】按鈕,窗體中僅顯示姓”趙”的記錄;如圖9-20所示:選擇【記錄】

33、菜單中的【取消篩選/排序】命令,或單擊工具欄上的【取消篩選】按鈕,將取消篩選,顯示全部記錄。5建立表之間的關系(1)選擇圖9-12所示的【使用向導創(chuàng)建表】,打開圖9-21所示表向導,選擇【示例表】中【學生和課程】,將示例字段全部選作新表中的字段,也可以選擇某個字段后選擇【重命名字段】,修改字段名,然后選擇【下一步】;(2)確定表名如圖9-22所示,選擇自己設置主鍵,單擊【下一步】;(3)確定【學生課程ID】為主鍵字段,并選擇添加新記錄時我自己輸入數(shù)字和/或字母,如圖9-23所示:(4)確定新建立的表是否與其他表相關。如圖9-24所示,點擊【關系】;(5)選擇”學生信息表”表中的一個記錄將與”學

34、生和課程”表中的多個記錄匹配,點擊【確定】按鈕,圖9-25所示:(6)完成相關性設定,點擊【下一步】按鈕,如圖9-26所示;(7)選擇向導創(chuàng)建完表之后的動作【直接向表中輸入數(shù)據(jù)】,如圖9-27所示,單擊【完成】。(8)隨后打開的如圖9-28所示新建立的表中可以輸入新的數(shù)據(jù):(9)選擇【工具】下拉菜單中的【關系】,打開圖9-29,可查看表間的關系,”學生信息表”中的主建”學號”是”學生和課程”表中的外鍵 。9.3案例2進行學生信息的查詢案例說明 使用設計視圖和查詢向導查看學生信息表中姓”趙”的同學的基本信息。知識點分析 查詢是對數(shù)據(jù)庫進行的主要操作之一,查詢操作主要涉及到對數(shù)據(jù)庫中數(shù)據(jù)信息的排序

35、、篩選和匯集等操作。操作步驟 查詢的實現(xiàn)可以有兩種方法,一是可以使用設計視圖創(chuàng)建查詢,二是利用向導創(chuàng)建查詢。1使用設計視圖創(chuàng)建查詢(1)點擊【對象】中【查詢】,如圖9-30所示,可選擇【在設計視圖中創(chuàng)建查詢】,也可以選擇【使用向導創(chuàng)建查詢】,雙擊【在設計視圖中創(chuàng)建查詢】。 (2)隨后打開的【顯示表】中,如圖9-31中,選擇要查詢的數(shù)據(jù)表,點擊【添加】按鈕,添加選擇查詢的表,然后點擊【關閉】按鈕,關閉【顯示表】窗口。呈現(xiàn)如圖9-32的窗體。(3)圖9-32中,在【字段】下拉列表中選擇要查詢信息項【姓名】,【排序】選擇【升序】,【條件】添加: like “趙”&”*”,選擇保存命令。(4)依次添加

36、需要查看信息的選項。結果如圖9-33所示。(5)添加完所有需要查看的信息項,選擇保存命令,如圖9-34所示,在【另存為】窗口定義此查詢的名字,默認為:查詢1,點擊【確定】。(6)查詢對象窗口中新增名稱為”查詢1”的查詢,如圖9-35所示;(7)雙擊【查詢1】,打開查詢結果,查看姓”趙”的學生的基本信息,如圖9-36所示:2使用向導創(chuàng)建查詢(1)在圖9-30中,選擇【使用向導創(chuàng)建查詢】,則打開如圖9-37所示向導:(2)選擇【學生信息表】,選擇全部可用字段,如圖9-38所示,單擊【下一步】按鈕;(3)選擇【明細】查詢方式后,如圖9-39所示,點擊【下一步】;(4)指定查詢標題,默認為選擇的數(shù)據(jù)表

37、名,修改選項為【修改查詢設計】,如圖9-40,點擊【完成】。(5)在打開的查詢窗口中添加查詢條件信息如下圖9-41所示,然后保存此查詢。(6)查詢結果如圖9-42所示:9.4 案例3建立學生信息管理窗體案例說明 使用縱欄式自動創(chuàng)建窗體和使用向導創(chuàng)建窗體方式分別創(chuàng)建學生信息窗體,顯示學生信息表中全部字段信息。 知識點分析 利用進行數(shù)據(jù)管理是數(shù)據(jù)庫的主要操作,建立數(shù)據(jù)管理窗體需要涉及窗體、操作步驟 創(chuàng)建窗體有兩種方式,一是自動創(chuàng)建窗體:二是利用向導創(chuàng)建窗體。1自動創(chuàng)建窗體縱欄式窗體(1)打開數(shù)據(jù)庫db1,在【對象】 欄中選擇【窗體】對象,打開如圖9-43所示窗口。(2)選擇工具欄中【新建】命令,打開如圖9-44所示新建窗體窗口,選擇【自動創(chuàng)建窗

溫馨提示

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

評論

0/150

提交評論