第1章 數據庫基礎及Access 2010_第1頁
第1章 數據庫基礎及Access 2010_第2頁
第1章 數據庫基礎及Access 2010_第3頁
第1章 數據庫基礎及Access 2010_第4頁
第1章 數據庫基礎及Access 2010_第5頁
已閱讀5頁,還剩133頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章數據庫基礎與Access2010通過本章的學習,讀者應該掌握以下內容:(1)數據庫的基礎知識。(2)Access2010的啟動和退出。(3)Access2010的工作界面。(4)Access2010的6大對象以及對象間的關系。(5)Access2010的數據類型、表達式和函數。(6)Access2010幫助系統(tǒng)的使用。1.1數據庫系統(tǒng)的基本概念

數據庫技術是數據管理技術,是計算機科學的一個重要分支。在計算機應用的三大領域(科學計算、數據處理和過程控制)中,數據處理約占其中的70%,而數據庫技術就是作為一門數據處理技術發(fā)展起來的,是目前應用最廣的技術之一,它已成為計算機信息系統(tǒng)的核心技術和重要基礎。1.1.1數據、數據庫、數據庫管理系統(tǒng)

1.數據

數據(Data)是描述事物的符號記錄,是數據庫中存儲的基本對象。1.1.1數據、數據庫、數據庫管理系統(tǒng)2.數據庫數據庫(DataBase,DB),顧名思義,就是存放數據的倉庫。只不過這個倉庫是在計算機存儲設備上,而且數據是按一定的格式存放的。也就是說,數據庫是具有統(tǒng)一的結構形式并存放于統(tǒng)一的存儲介質內的多種應用數據的集成,并可被各個應用程序所共享。1.1.1數據、數據庫、數據庫管理系統(tǒng)

3.數據庫管理系統(tǒng)數據庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)是位于用戶與操作系統(tǒng)之間的一層數據管理軟件。數據庫在建立、運行和維護時由數據庫管理系統(tǒng)統(tǒng)一管理、統(tǒng)一控制。數據庫管理系統(tǒng)使用戶能方便地定義數據和操縱數據,并能夠保證數據的安全性、完整性,多用戶對數據的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復。1.1.1數據、數據庫、數據庫管理系統(tǒng)

4.數據庫管理員

由于數據庫的共享性,因此對數據庫的規(guī)劃、設計、維護、監(jiān)視等需要有專人管理,稱他們?yōu)閿祿旃芾韱T(DataBaseAdministrator,DBA)。1.1.1數據、數據庫、數據庫管理系統(tǒng)

5.數據庫系統(tǒng)數據庫系統(tǒng)(DataBaseSystem,DBS)由如下幾部分組成:數據庫(數據)、數據庫管理系統(tǒng)(軟件)、數據庫管理員(人員)、系統(tǒng)平臺之一——硬件平臺(硬件)、系統(tǒng)平臺之二——軟件平臺(軟件)。這五個部分構成了一個完整的運行實體,稱為數據庫系統(tǒng)。1.1.1數據、數據庫、數據庫管理系統(tǒng)6.數據庫應用系統(tǒng)數據庫應用系統(tǒng)(DataBaseApplicationSystem,DBAS)是由數據庫系統(tǒng)加上應用軟件及應用界面這三者所組成。其中應用軟件是由數據庫系統(tǒng)所提供的數據庫管理系統(tǒng)(軟件)及數據庫系統(tǒng)開發(fā)工具書寫而成,而應用界面大多由相關的可視化工具開發(fā)而成。1.1.2數據庫系統(tǒng)的發(fā)展數據管理發(fā)展至今經歷了三個階段:人工管理階段、文件系統(tǒng)階段和數據庫系統(tǒng)階段。1.人工管理階段20世紀50年代中期之前,計算機的軟硬件均不完善。硬件存儲設備只有磁帶、卡片和紙帶,軟件方面還沒有操作系統(tǒng),當時的計算機主要用于科學計算。這個階段由于還沒有軟件系統(tǒng)對數據進行管理,程序員在程序中不僅要規(guī)定數據的邏輯結構,還要設計其物理結構,包括存儲結構、存取方法、輸入輸出方式等。當數據的物理組織或存儲設備改變時,用戶程序就必須重新編制。由于數據的組織面向應用,不同的計算程序之間不能共享數據,使得不同的應用之間存在大量的重復數據,很難維護應用程序之間數據的一致性。人工管理階段2.文件系統(tǒng)階段這一階段的主要標志是計算機中有了專門管理數據的軟件——操作系統(tǒng)(文件管理)。20世紀50年代中期到60年代中期,由于計算機大容量存儲設備(如硬盤)的出現(xiàn),推動了軟件技術的發(fā)展,而操作系統(tǒng)的出現(xiàn)標志著數據管理步入一個新的階段。在文件系統(tǒng)階段,數據以文件為單位存儲在外存,并且由操作系統(tǒng)統(tǒng)一管理。操作系統(tǒng)為用戶使用文件提供了友好界面。文件的邏輯結構與物理結構脫鉤,程序和數據分離,使數據與程序有了一定的獨立性。用戶的程序與數據可分別存放在外存儲器上,各個應用程序可以共享一組數據,實現(xiàn)了以文件為單位的數據共享。但由于數據的組織仍然是面向程序,所以存在大量的數據冗余。而且數據的邏輯結構不能方便地修改和擴充,數據邏輯結構的每一點微小改變都會影響到應用程序。由于文件之間互相獨立,因而它們不能反映現(xiàn)實世界中事物之間的聯(lián)系,操作系統(tǒng)不負責維護文件之間的聯(lián)系信息。如果文件之間有內容上的聯(lián)系,那也只能由應用程序去處理。2.文件系統(tǒng)階段3.數據庫系統(tǒng)階段20世紀60年代后,隨著計算機在數據管理領域的普遍應用,人們對數據管理技術提出了更高的要求:希望面向企業(yè)或部門,以數據為中心組織數據,減少數據的冗余,提供更高的數據共享能力,同時要求程序和數據具有較高的獨立性,當數據的邏輯結構改變時,不涉及數據的物理結構,也不影響應用程序,以降低應用程序研制與維護的費用。數據庫技術正是在這樣一個應用需求的基礎上發(fā)展起來的。數據庫系統(tǒng)階段的應用程序與數據的關系通過數據庫管理系統(tǒng)(DBMS)來實現(xiàn)。3.數據庫系統(tǒng)階段1.1.3數據庫系統(tǒng)的基本特點數據庫技術是在文件系統(tǒng)基礎上發(fā)展產生的,兩者都以數據文件的形式組織數據,但由于數據庫系統(tǒng)在文件系統(tǒng)之上加入了DBMS對數據進行管理,從而使得數據庫系統(tǒng)具有以下特點。1.數據的集成性數據庫系統(tǒng)的數據集成主要表現(xiàn)在以下幾個方面。(1)在數據庫系統(tǒng)中采用統(tǒng)一的數據結構方式,如在關系數據庫中采用二維表作為統(tǒng)一結構方式。(2)在數據庫系統(tǒng)中按照多個應用的需要組織全局的統(tǒng)一的數據結構(即數據模式),數據模式不僅可以建立全局的數據結構,還可以建立數據間的語義聯(lián)系從而構成一個內在緊密聯(lián)系的數據整體。(3)數據庫系統(tǒng)中的數據模式是多個應用共同的、全局的數據結構,而每個應用的數據則是全局結構中的一部分,稱為局部結構(即視圖),這種全局與局部的結構模式構成了數據庫系統(tǒng)數據集成性的主要特征。1.1.3數據庫系統(tǒng)的基本特點數據庫技術是在文件系統(tǒng)基礎上發(fā)展產生的,兩者都以數據文件的形式組織數據,但由于數據庫系統(tǒng)在文件系統(tǒng)之上加入了DBMS對數據進行管理,從而使得數據庫系統(tǒng)具有以下特點。1.數據的集成性數據庫系統(tǒng)的數據集成主要表現(xiàn)在以下幾個方面。(1)在數據庫系統(tǒng)中采用統(tǒng)一的數據結構方式,如在關系數據庫中采用二維表作為統(tǒng)一結構方式。(2)在數據庫系統(tǒng)中按照多個應用的需要組織全局的統(tǒng)一的數據結構(即數據模式),數據模式不僅可以建立全局的數據結構,還可以建立數據間的語義聯(lián)系從而構成一個內在緊密聯(lián)系的數據整體。(3)數據庫系統(tǒng)中的數據模式是多個應用共同的、全局的數據結構,而每個應用的數據則是全局結構中的一部分,稱為局部結構(即視圖),這種全局與局部的結構模式構成了數據庫系統(tǒng)數據集成性的主要特征。1.1.3數據庫系統(tǒng)的基本特點2.數據的高共享性與低冗余性由于數據的集成性使得數據可為多個應用所共享,特別是在網絡發(fā)達的今天,數據庫與網絡的結合擴大了數據關系的應用范圍。數據的共享自身又可極大地減少數據冗余性,不僅減少了不必要的存儲空間,更為重要的是可以避免數據的不一致性。1.1.3數據庫系統(tǒng)的基本特點3.數據獨立性數據的獨立性是數據與程序間的互不依賴性,即數據庫中數據獨立于應用程序而不依賴于應用程序。也就是說,數據的邏輯結構、存儲結構與存取方式的改變不會影響應用程序。數據獨立性包括物理獨立性和邏輯獨立性兩級。(1)物理獨立性:是指數據的存儲結構或存取方法的修改不會引起應用程序的修改。(2)邏輯獨立性:數據庫總體邏輯結構的改變,如修改數據模式、增加新的數據類型、改變數據間聯(lián)系等,不需要修改應用程序,這就是數據的邏輯獨立性。1.1.3數據庫系統(tǒng)的基本特點4.數據統(tǒng)一管理與控制數據庫系統(tǒng)不僅為數據提供高度集成環(huán)境,同時它還為數據提供統(tǒng)一管理的手段,這主要包含以下三個方面。(1)數據的完整性檢查:檢查數據庫中數據的正確性以保證數據的正確。(2)數據的安全性保護:檢查數據庫訪問者以防止非法訪問。(3)并發(fā)控制:控制多個應用的并發(fā)訪問所產生的相互干擾以保證其正確性。1.1.4數據庫系統(tǒng)的內部體系結構數據庫系統(tǒng)在其內部具有三級模式及二級映射,三級模式分別是概念級模式、內部級模式與外部級模式,二級映射則分別是概念級到內部級的映射以及外部級到概念級的映射。這種三級模式與二級映射構成了數據庫系統(tǒng)內部的抽象結構體系。1.1.4數據庫系統(tǒng)的內部體系結構1.數據庫系統(tǒng)的三級模式結構數據模式是數據庫系統(tǒng)中數據結構的一種表示形式,它具有不同的層次與結構方式。(1)概念模式。概念模式(ConceptualSchema)是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。它是數據庫系統(tǒng)模式結構的中間層,不涉及數據的物理存儲細節(jié)和硬件環(huán)境,與具體的應用程序、所使用的應用開發(fā)工具及高級程序設計語言無關。實際上模式是數據庫數據在邏輯級上的視圖。一個數據庫只有一個模式。數據庫模式以某一種數據模型為基礎,統(tǒng)一綜合地考慮了所有用戶的需求,并將這些需求有機地結合成一個邏輯整體。1.1.4數據庫系統(tǒng)的內部體系結構1.數據庫系統(tǒng)的三級模式結構(2)外模式。外模式(ExternalSchema)也稱子模式或用戶模式,它是數據庫用戶(包括應用程序員和最終用戶)看見和使用的局部數據的邏輯結構和特征的描述,是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。外模式通常是模式的子集。一個數據庫可以有多個外模式。由于它是各個用戶的數據視圖,如果不同的用戶在應用需求、看待數據的方式、對數據保密的要求等方面存在差異,則他們的外模式描述就是不同的。即使是對模式中同一數據,在外模式中的結構、類型、長度、保密級別等都可以不同。另外,同一外模式也可以為某一用戶的多個應用系統(tǒng)所使用,但一個應用程序只能使用一個外模式。外模式是保證數據庫安全性的一個有力措施。每個用戶只能看見和訪問所對應的外模式中的數據,數據庫中的其余數據對他們來說是不可見的。1.1.4數據庫系統(tǒng)的內部體系結構1.數據庫系統(tǒng)的三級模式結構(3)內模式。內模式(InternalSchema)又稱物理模式,它是數據物理結構和存儲結構的描述,是數據在數據庫內部的表示方式。一個數據庫只有一個內模式。數據模式給出了數據庫的數據框架結構,數據是數據庫中的真正的實體,但這些數據必須按框架所描述的結構組織。以概念模式為框架所組成的數據庫叫概念數據庫(ConceptualDataBase),以外模式為框架所組成的數據庫叫用戶數據庫(User’sDatabase),以內模式為框架所組成的數據庫叫物理數據庫(PhysicalDatabase)。這三種數據庫中只有物理數據庫是真實存在于計算機外存中,其他兩種數據庫并不真正存在于計算機中,而是通過兩種映射由物理數據庫映射而成。1.1.4數據庫系統(tǒng)的內部體系結構2.數據庫系統(tǒng)的兩級映射數據庫系統(tǒng)的三級模式是對數據的三個抽象級別。它把數據的具體組織留給數據庫管理系統(tǒng)(DBMS)管理,使用戶能邏輯地、抽象地處理數據,而不必關心數據在計算機中的具體表示方式與存儲方式。而為了能夠在內部實現(xiàn)這三個抽象層次的聯(lián)系和轉換,數據庫系統(tǒng)在這三級模式之間提供了兩層映射:外模式/概念模式映射和概念模式/內模式映射。正是這兩級映射保證了數據庫系統(tǒng)中的數據能夠具有較高的邏輯獨立性和物理獨立性。1.1.4數據庫系統(tǒng)的內部體系結構2.數據庫系統(tǒng)的兩級映射(1)外模式/概念模式映射。對于每一個外模式,數據庫系統(tǒng)都有一個外模式/概念模式映射,它定義了該外模式與概念模式之間的對應關系。當概念模式改變時,由數據庫管理員對各個外模式/模式映像作相應改變,也可以使外模式保持不變,因為應用程序是依據數據的外模式編寫的,從而應用程序也不必修改,保證了數據與程序的邏輯獨立性。1.1.4數據庫系統(tǒng)的內部體系結構2.數據庫系統(tǒng)的兩級映射(2)概念模式/內模式映射。概念模式/內模式映射定義了數據全局邏輯結構與物理存儲結構之間的對應關系。當數據庫的存儲結構改變時,由數據庫管理員對概念模式/內模式映射作相應改變,可以使概念模式保持不變,從而保證了數據的物理獨立性。1.2數據模型數據庫需要根據應用系統(tǒng)中數據的性質、內在聯(lián)系,按照管理的要求來設計和組織。數據模型就是從現(xiàn)實世界到機器世界的一個中間層?,F(xiàn)實世界的事物反映到人的大腦,人們把這些事物抽象為一種既不依賴于具體的計算機系統(tǒng)又不為某一數據庫管理系統(tǒng)支持的概念模型,然后再把概念模型轉換為計算機上某一數據庫管理系統(tǒng)支持的數據模型。1.2.1組成要素數據模型通常由數據結構、數據操作和數據的完整性約束三部分組成。(1)數據結構數據結構是研究存儲在數據庫中的對象類型的集合,這些對象類型是數據庫的組成部分。數據模型中的數據結構主要描述數據的類型、內容、性質以及數據間的聯(lián)系等。數據結構是數據模型的基礎,數據操作與約束均建立在數據結構上。不同數據結構有不同的操作與約束,因此,一般數據模型均以數據結構的不同而分類。數據庫系統(tǒng)是按數據結構的類型來組織數據的,因此數據庫系統(tǒng)通常按照數據結構的類型來命名數據模型,如層次結構、網狀結構和關系結構的模型分別命名為層次模型、網狀模型和關系模型。1.2.1組成要素(2)數據操作數據操作是指對數據庫中各種對象的實例允許執(zhí)行的操作的集合,包括操作和有關的操作的規(guī)則。例如插入、刪除、修改、檢索、更新等操作,數據模型要定義這些操作的確切含義、操作符號、操作規(guī)則以及實現(xiàn)操作的語言等。1.2.1組成要素(3)數據的完整性約束數據的約束條件是完整性規(guī)則的集合,用以限定符合數據模型的數據庫狀態(tài)以及狀態(tài)的變化,以保證數據的正確、有效和相容。數據模型中的數據及其聯(lián)系都要遵循完整性規(guī)則的制約。另外,數據模型應該提供定義完整性約束條件的機制以反映某一應用所涉及的數據必須遵守的特定的語義約束條件。1.2.2概念模型1.基本概念數據的描述既要符合客觀現(xiàn)實,又要適應數據庫原理與結構,同時也適應計算機原理與結構。進一步說,由于計算機不能夠直接處理現(xiàn)實世界中的具體事物,所以人們必須將客觀存在的具體事物進行有效的描述與刻畫,轉換成計算機能夠處理的數據,這一轉換過程可分為三個數據范疇:現(xiàn)實世界、信息世界和計算機世界。1.2.2概念模型從客觀現(xiàn)實到計算機的描述,數據的轉換過程如圖1-6所示。

圖1-6數據的轉換過程1.2.2概念模型(1)現(xiàn)實世界用戶為了某種需要,需將現(xiàn)實世界中的部分需求用數據庫實現(xiàn),這樣,我們所見到的是客觀世界中的劃定邊界的一部分環(huán)境,它稱為現(xiàn)實世界。1.2.2概念模型(2)信息世界又稱概念世界,通過抽象對現(xiàn)實世界進行數據庫級上的刻畫所構成的邏輯模型叫信息世界。信息世界與數據庫的具體模型有關,如層次、網狀、關系模型等。人們從現(xiàn)實世界抽象各種事物到信息世界時,通常采用實體來描述現(xiàn)實世界中具體的事物或事物之間的聯(lián)系。1.2.2概念模型(2)信息世界①實體客觀存在并可相互區(qū)別的事物稱為實體。實體可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系。例如學生、課程、教師都是屬于實際存在的事物,而學生選課就是比較抽象的事物,是由學生和課程之間的聯(lián)系而產生的等。②實體的屬性描述實體的特性稱為屬性。一個實體可以由若干個屬性來刻劃,如一個學生實體有學號、姓名、性別、出生日期等方面的屬性。屬性有屬性名和屬性值,屬性的具體取值稱為屬性值。例如,對某一學生的“性別”屬性取值“女”,其中“性別”為屬性名,“女”為屬性值。③實體集和實體型同類型的實體的集合稱為實體集。例如,對于“學生”實體來說,全體學生就是一個實體集。屬性的集合表示一個實體的類型,稱為實體型。例如,學生(學號,姓名,性別,出生日期)就是一個實體型。屬性值的集合表示一個實體。例如,屬性值的集合(201301001,李文建,男,1996-11-23,計算機科學與技術學院)就是代表一個具體的學生。1.2.2概念模型(3)計算機世界在信息世界基礎上致力于其在計算機物理機構上的描述,從而形成的物理模型叫計算機世界?,F(xiàn)實世界的要求只有在計算機世界中才能得到真正的物理實現(xiàn),而這種實現(xiàn)是通過信息世界逐步轉化得到的。2.實體聯(lián)系模型(E-R模型)實體聯(lián)系模型又稱E-R模型或E-R圖,它是描述概念世界、建立概念模型的工具。E-R圖包括三個要素:(1)實體。用矩形框表示,框內標注實體名稱。(2)屬性。用橢圓形表示,框內標注屬性名。E-R圖中用連線將橢圓形與矩形框(實體)連接起來。(3)實體之間的聯(lián)系。用菱形框表示,框內標注聯(lián)系名稱。E-R圖中用連線將菱形框與有關矩形框(實體)相連,并在連線上注明實體間的聯(lián)系類型。2.實體聯(lián)系模型(E-R模型)

(b)實體與實體之間的聯(lián)系

(a)實體與屬性2.實體聯(lián)系模型(E-R模型)實體之間的對應關系稱為聯(lián)系,它反映現(xiàn)實世界之間的相互聯(lián)系。兩個實體(通常是指兩個實體集)間的聯(lián)系有以下三種類型。(1)一對一聯(lián)系實體集A中的一個實體至多與實體集B中的一個實體相對應,反之亦然,則稱實體集A與實體集B之間為一對一的聯(lián)系,記作1:1。例如,一個學校只有一個校長,一個校長只能管理一個學校。(2)一對多聯(lián)系如果對于實體集A中的每一個實體,實體集B中有多個實體與之對應;反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之對應,則稱實體集A與實體集B之間為一對多聯(lián)系,記為1:n。例如,學校的一個系有多個專業(yè),而一個專業(yè)只屬于一個系。(3)多對多聯(lián)系如果對于實體集A中的每一個實體,實體集B中有多個實體與之對應;反之,對于實體集B中的每一個實體,實體集A中也有多個實體與之對應,則稱實體集A與實體集B之間為多對多聯(lián)系,記為m:n。例如,一個學生可以選修多門課程,一門課程可以被多名學生選修。1.2.3三種數據模型數據模型是從現(xiàn)實世界到機器世界的一個中間層次?,F(xiàn)實世界的事物反映到人的大腦中,人們把這些事物抽象為一種既不依賴于具體的計算機系統(tǒng)又不依賴于具體的DBMS的概念模型,然后,再把該概念模型轉換為計算機中某個DBMS所支持的數據模型。數據模型是實現(xiàn)數據抽象的主要工具。它決定了數據庫系統(tǒng)的結構、數據定義語言和數據操縱語言、數據庫設計方法、數據庫管理系統(tǒng)軟件的設計與實現(xiàn)。常見的數據模型有三種:層次模型、網狀模型和關系模型。根據這三種數據模型建立的數據庫分別為:層次型數據庫、網狀型數據庫和關系型數據庫。1.2.3三種數據模型1.層次模型層次模型是數據庫系統(tǒng)中最早采用的數據模型,它是通過從屬關系結構表示數據間的聯(lián)系,層次模型是有向“樹”結構。1.2.3三種數據模型2.網狀模型網狀模型是層次模型的擴展,它表示多個從屬關系的層次結構,呈現(xiàn)一種交叉關系的網絡結構,網狀模型是有向“圖”結構。1.2.3三種數據模型3.關系模型關系數據模型(簡稱關系模型)以二維表的方式組織數據。關系模型建立在嚴格的數學概念基礎之上,發(fā)展迅速。20世紀80年代以來,幾乎所有的數據庫系統(tǒng)都是建立在關系模型之上。1.3關系數據庫關系是數學集合論中的一個重要概念。1970年,E.F.Codd發(fā)表了題為“大型共享數據庫數據的關系模型”的論文,把關系的概念引入了數據庫,自此人們開始了數據庫關系方法和關系數據理論的研究,在層次和網狀數據庫系統(tǒng)之后,形成了以關系數據模型為基礎的關系數據庫系統(tǒng)。1.3.1關系模型1.關系中常用的術語關系模型是用二維表格的形式描述相關數據,也就是把復雜的數據結構歸納為簡單的二維表格。表格中的每一個數據都可以看成是獨立的數據項,它們共同構成了該關系的全部內容。在關系模型中,有以下常用的術語。1.3.1關系模型1.關系中常用的術語(1)關系:一個關系就是一張二維表格,每個關系有一個關系名,在Access2010中,一個關系就是一個表對象。(2)元組:表格中的每一行稱為一個元組。在Access2010中,稱為記錄。(3)屬性:表格中的每一列稱為一個屬性,給每列起一個名稱,該名稱就是屬性名,如“學生”表中的學號、姓名、性別、出生日期等。在Access2010中,稱為字段。(4)分量:元組中的一個屬性值稱為分量。關系模型要求關系的每一個分量必須是一個不可分的數據項,即不允許表中還有表。1.3.1關系模型1.關系中常用的術語(5)域:屬性的取值范圍。從總體上說,以屬性分類的若干個元組的集合,構成關系模式中的一個關系,在某種意義上也可以說,關系模式就是一張二維表格,用來描述客觀事物以及不同事物間的聯(lián)系。(6)候選關鍵字:關系中的某個屬性組(一個屬性或幾個屬性的組合)可以唯一標識一個元組,這個屬性組稱為候選關鍵字。(7)關鍵字:關鍵字是指在一個數據表中,若某一字段或幾個字段的組合值能夠唯一標識一個記錄,則稱其為關鍵字(或鍵),當一個數據表有多個關鍵字時,可從中選出一個作為主關鍵字。(8)外部關鍵字:如果關系中的一個屬性不是本關系的關鍵字,而是另外一個關系的關鍵字或候選關鍵字,這個屬性就稱為外部關鍵字。(9)主屬性:包含在任一候選關鍵字中的屬性稱為主屬性。1.3.1關系模型2.關系的性質關系是一個二維表,但并不是所有的二維表都是關系。關系應具有以下性質。(1)每一列中的分量是同一類型的數據,來自同一個域。(2)不同的列要給予不同的屬性名。(3)列的順序無所謂,即列的次序可以任意交換。(4)任意兩個元組不能完全相同。(5)行的順序無所謂,即行的次序可以任意交換。(6)每一個分量都必須是不可再分的數據項。由上述可知,二維表中的每一行都是唯一的,而且所有行都具有相同類型的字段。關系模型的最大優(yōu)點是一個關系就是一個二維表格,因此易于對數據進行查詢等操作。1.3.1關系模型3.關系之間的聯(lián)系在關系數據庫中,表之間具有相關性。表之間的這種相關性是依靠每一個獨立的數據表內部具有相同屬性的字段建立的。在兩個相關表中,起著定義字段取值范圍作用的表稱為父表,而另一個引用父表中相關字段的表稱為子表。根據父表和子表中相關字段的對應關系,表和表之間的關聯(lián)存在以下4種類型。(1)一對一聯(lián)系:父表中每一個記錄最多與子表中的一個記錄相關聯(lián),反之也一樣。具有一對一關聯(lián)的兩張表通常在創(chuàng)建表時可以將其合并成為一張表。(2)一對多聯(lián)系:父表中每一個記錄可以與子表中的多個記錄相關聯(lián),而子表中的每一條記錄都只能與父表中的一條記錄相關聯(lián)。一對多關聯(lián)是數據庫中最為普遍的關聯(lián)。(3)多對一聯(lián)系:父表中多個記錄可以與子表中的一條記錄相關聯(lián)。(4)多對多聯(lián)系:父表中的每一條記錄都與子表中的多條記錄相關聯(lián),而子表中的每一條記錄又都與父表中的多條記錄相關聯(lián)。多對多關聯(lián)在數據庫中比較難實現(xiàn),通常將多對多關聯(lián)分解為多個一對多關聯(lián)。1.3.1關系模型4.關系數據庫在關系模型中,實體以及實體之間的聯(lián)系都是用關系來表示的。例如教師實體、學生實體、課程實體等。在一個給定的應用領域中,所有實體以及實體間聯(lián)系的關系的集合就構成一個關系數據庫。關系數據庫系統(tǒng)是支持關系模型的數據庫系統(tǒng)。它是由若干張二維表組成的,包括二維表的結構以及二維表中的數據兩部分。Access就是一個關系型的數據庫管理系統(tǒng),由Access所創(chuàng)建的二維表稱為數據表。1.3.2關系代數運算關系代數是一種抽象的查詢語言,是關系數據操縱語言的一種傳統(tǒng)表達方式,它是用對關系的運算來表達查詢要求的。關系代數的運算對象是關系,運算結果也是關系。關系代數的運算可以分為兩大類:傳統(tǒng)的集合運算和專門的關系運算。1.3.2關系代數運算1.傳統(tǒng)的集合運算設R和S均為n元關系(元數相同即屬性個數相同),且兩個關系屬性的性質相同。下面以學生A(表1-2)和學生B(表1-3)兩個關系為例,用以說明傳統(tǒng)的集合運算:并運算、交運算和差運算。1.3.2關系代數運算(1)并運算兩個關系的并運算可以記作R∪S,運算結果是將兩個關系的所有元組組成一個新的關系,若有相同的元組,只留下一個。學生A∪學生B的結果如表1-4所示。1.3.2關系代數運算(2)交運算兩個關系的交運算可以記作R∩S,運算結果是將兩個關系中公共元組組成一個新的關系。學生A∩學生B的結果如表1-5所示。1.3.2關系代數運算(3)差運算兩個關系的差運算可以記作R-S,運算結果是由屬于R但不屬于S的元組組成一個新的關系。學生A-學生B的結果如表1-6所示。1.3.2關系代數運算(4)廣義笛卡爾積運算設R和S是兩個關系,如果R是m元關系,有i個元組,S是n元關系,有j個元組,則笛卡爾積R×S是一個m+n元關系,有i×j個元組。記作:R×S。例如,教師和教師授課表兩個關系,如表1-7和表1-8所示。1.3.2關系代數運算(4)廣義笛卡爾積運算教師和教師授課表兩個關系的笛卡爾積的結果如表1-9所示。2.專門的關系運算專門的關系運算包含選擇、投影、連接和除運算。這類運算將“關系”看作是元組的集合,其運算不僅涉及關系的水平方向(表中的行),而且也涉及關系的垂直方向(表中的列)。2.專門的關系運算(1)選擇運算選擇(Selection)是根據給定的條件選擇關系R中的若干元組組成新的關系,是對關系的元組進行篩選。記作:F(R)。其中F是選擇條件,是一個邏輯表達式,它由邏輯運算符和比較運算符組成。選擇運算也是一元關系運算,選擇運算結果往往比原有關系元組個數少,它是原關系的一個子集,但關系模式不變。例如:從表1-2中,選擇性別為“女”的學生名單,可以記成:性別="女"(學生A)2.專門的關系運算(2)投影運算從指定的關系中選擇某些屬性的所有值組成一個新的關系,記作:ΠA(R),A是R中的屬性列。它是從列的角度進行操作的。例如:從表1-3中列出所有學生的姓名,性別,可以記成:П姓名,性別(學生A)2.專門的關系運算(3)連接運算用來連接相互之間有聯(lián)系的兩個或多個關系,從而組成一個新的關系。連接運算是一個復合型的運算,包含了笛卡爾積、選擇和投影三種運算。通常記作:R?S。每一個連接操作都包括一個連接類型和一個連接條件。連接條件決定運算結果中元組的匹配和屬性的去留;連接類型決定如何處理不符合條件的元組,有內連接、自然連接、左外連接、右外連接和全外連接等。2.專門的關系運算(3)連接運算①內連接。也叫等值連接,是按照公共屬性值相等的條件連接,并且不消除重復屬性。表1-7和表1-8的內連接,操作過程是:首先,形成教師×教師授課表的乘積,共有9個元組,如表1-9所示。然后根據連接條件“教師.教師編號=教師授課表.教師編號”,從乘積中選擇出相互匹配的元組。結果如表1-12所示。2.專門的關系運算(3)連接運算②自然連接。是在內連接的基礎上,再消除重復的屬性,這是最常用的一種連接,自然連接的運算用?表示。表1-7和表1-8的自然連接的結果如表1-13所示。2.專門的關系運算(5)除運算關系R與關系S的除法運算應滿足的條件是:關系S的屬性全部包含在關系R中,關系R的一些屬性不包含在關系S中。關系R與關系S的除法運算表示為R÷S。除法運算的結果也是關系,而且該關系中的屬性由R中除去S中的屬性之外的全部屬性組成,元組由R與S中在所有相同屬性上有相等值的那些元組組成。如表1-14所示。1.3.3關系的完整性關系模型允許定義3種完整性約束,即實體完整性、參照完整性和用戶定義完整性約束。其中實體完整性約束和參照完整性約束統(tǒng)稱為關系完整性約束,是關系模型必須滿足的完整性的約束條件,它由關系數據庫系統(tǒng)自動支持。用戶定義完整性約束是應用領域需要遵循的約束條件。1.實體完整性約束由于每個關系的主鍵是唯一決定元組的,所以實體完整性約束要求關系的主鍵不能為空值,組成主鍵的所有屬性都不能取空值。例如,在“學生”關系:學生(學號、姓名、性別、出生日期),其中學號是主鍵,因此,學號不能為空值。例如,在“成績”關系:成績(學號、課程編號、分數),其中學號和課程編號共同構成主鍵,因此,學號和課程編號都不能為空值。1.3.3關系的完整性2.參照完整性約束參照完整性約束是關系之間相關聯(lián)的基本約束,它不允許關系引用不存在的元組,即在關系中的外鍵取值只能是關聯(lián)關系中的某個主鍵值或者為空值。例如,院系編號是“院系(院系編號、名稱、簡介)”關系的主鍵,是“學生(學號、姓名、院系編號)”關系的外鍵?!皩W生”關系中的“院系編號”必須是“院系”關系中一個存在的“院系編號”的值,或者是空值。1.3.3關系的完整性3.用戶定義的完整性約束實體完整性約束和參照完整性約束是關系數據模型必須要滿足的,而用戶定義的完整性約束是與應用密切相關的數據完整性的約束,不是關系數據模型本身所要求的。用戶定義的完整性約束是針對具體數據環(huán)境與應用環(huán)境由用戶具體設置的約束,它反映了具體應用中數據的語義要求,它的作用就是要保證數據庫中數據的正確性。例如,限定某屬性的取值范圍,學生成績的取值必須是0~100的數值。1.3.4關系規(guī)范化關系模型是建立在嚴格的數學關系理論基礎之上的,通過確立關系中的規(guī)范化準則,既可以方便數據庫中數據的處理,又可以給程序設計帶來方便。在關系數據庫設計過程中,使關系滿足規(guī)范化準則的過程稱為關系規(guī)范化(RelationNormalization)。關系規(guī)范化就是將數據庫中不太合理的關系模型轉化為一個最佳的數據模型,因此它要求對于關系數據庫中的每一個關系都要滿足一定的規(guī)范,根據滿足規(guī)范的條件不同,可以劃分為6個范式(NormalForm,NF),分別為:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCNF、第四范式(4NF)和第五范式(5NF)。1.3.4關系規(guī)范化(1)第一范式:若一個關系模式R的所有屬性都是不可再分的基本數據項,則該關系模式屬于第一范式(1NF)。第一范式是指數據庫表的每一列都是不可再分割的基本數據項,同一列不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復的屬性。如果出現(xiàn)重復的屬性,就可能需要定義一個新的實體,新的實體由重復的屬性構成,新實體與原實體之間為一對多關系。在第一范式中表的每一行只包含一個實例的信息。簡而言之,第一范式就是無重復的列。在任何一個關系數據庫中,第一范式是對關系模型的基本要求,不滿足第一范式的數據庫就不是關系數據庫。1.3.4關系規(guī)范化(2)第二范式(2NF):若關系模式R屬于1NF,且每個非主屬性都完全函數依賴于主鍵,則該關系模式屬于2NF,2NF不允許關系模式中的非主屬性部分函數依賴于碼。第二范式是在第一范式的基礎上建立起來的,即滿足第二范式必須先滿足第一范式。第二范式要求數據庫表中的每個實例或行必須可以被唯一地區(qū)分。這個唯一屬性列被稱為主關鍵字或主鍵。第二范式要求實體的屬性完全依賴于主關鍵字。所謂“完全依賴”是指不能存在僅依賴主關鍵字一部分的屬性,如果存在,那么這個屬性和主關鍵字的這一部分應該分離出來形成一個新的實體,新實體與原實體之間是一對多的關系。1.3.4關系規(guī)范化(3)第三范式(3NF):若關系模式R屬于1NF,且每個非主屬性都不傳遞依賴于主鍵,則該關系模式屬于3NF。滿足第三范式必須先滿足第二范式。也就是說,第三范式要求一個數據庫表中不包含已在其他表中包含的非主關鍵字信息。簡而言之,第三范式就是屬性不依賴于其他非主屬性。1.3.5數據庫的設計方法在數據庫設計中有兩種方法,一種是以信息需求為主,兼顧處理需求,稱為面向數據的方法(Data-OrientedApproach);另一種是以處理需求為主,兼顧信息需求,稱為面向過程的方法(Process-OrientedApproach)。這兩種方法目前都有使用,在早期由于應用系統(tǒng)中處理多于數據,因此以面向過程的方法使用較多,而近期由于大型系統(tǒng)中數據結構復雜、數據量龐大,而相應處理流程趨于簡單,因此用面向數據的方法較多。由于數據在系統(tǒng)中穩(wěn)定性高,數據已成為系統(tǒng)的核心,因此面向數據的設計方法已成為主流方法。1.3.5數據庫的設計方法根據規(guī)范化理論,數據庫設計的步驟可以分為以下階段。(1)需求分析階段需求分析是數據庫設計的第一階段,也是數據庫應用系統(tǒng)設計的起點。準確了解與分析用戶需求(包括數據與處理),是整個設計過程的基礎。這里所說的需求分析只針對數據庫應用系統(tǒng)開發(fā)過程中數據庫設計的需求分析。(2)概念設計階段概念結構設計是數據庫設計的關鍵,是對現(xiàn)實世界的第一層面的抽象與模擬,最終設計出描述現(xiàn)實世界的概念模型。概念模型是面向現(xiàn)實世界的,它的出發(fā)點是有效和自然地模擬現(xiàn)實世界,給出數據的概念化結構。長期以來被廣泛使用的概念模型是實體-聯(lián)系模型(Entity-RelationshipModel,即E-R模型)。該模型將現(xiàn)實世界的要求轉化成實體、屬性、聯(lián)系等幾個基本概念,以及它們之間的基本連接關系,并且用E-R圖非常直觀地表示出來。(3)邏輯設計階段邏輯結構設計是將上一步所得到的概念模型轉換為某個數據庫管理系統(tǒng)所支持的數據模型,并對其進行優(yōu)化。(4)物理設計階段為邏輯數據模型選取一個最適合應用環(huán)境的物理結構(包括存儲結構和存取方法)。(5)數據庫實施階段運用數據庫管理系統(tǒng)提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果建立數據庫,編制與調試應用程序,組織數據入庫,并進行試運行。(6)數據庫運行與維護階段數據庫應用系統(tǒng)經過試運行后即可投入正式運行。在數據庫系統(tǒng)運行過程中必須不斷地對其進行評價、調整與修改。1.4初識Access2010Access2010是Microsoft公司最新推出的Access版本,是微軟辦公軟件包Office2010的一部分。1.4.1Access2010的啟動和退出1.Access2010應用程序的啟動單擊“開始”菜單“所有程序”“MicrosoftOffice”“MicrosoftOfficeAccess2010”,即可啟動Access2010應用程序。如果在桌面上或任務欄中建立了Access2010的快捷方式,可直接雙擊桌面上的快捷方式圖標,或單擊任務欄中的快捷方式圖標,即可啟動Access2010應用程序。1.4.1Access2010的啟動和退出2.Access2010應用程序的退出單擊打開的應用程序窗口右上角的“關閉”按鈕。選擇“文件”選項卡“退出”命令。直接按Alt+F4組合鍵。雙擊打開的應用程序左上角的控制菜單圖標。1.4.2Access2010的工作界面1.4.3Access2010的命令選項卡Access2010的功能區(qū)包括“文件”、“開始”、“創(chuàng)建”、“外部數據”和“數據庫工具”等選項卡,此外,在對數據庫對象進行操作時,還將打開上下文命令選項卡。1.4.3Access2010的命令選項卡1.“文件”選項卡1.4.3Access2010的命令選項卡1.“文件”選項卡1.4.3Access2010的命令選項卡2.“開始”選項卡1.4.3Access2010的命令選項卡3.“創(chuàng)建”選項卡1.4.3Access2010的命令選項卡4.“外部數據”選項卡1.4.3Access2010的命令選項卡5.“數據庫工具”選項卡1.4.3Access2010的命令選項卡6.“上下文”選項卡“表格”上下文選項卡1.4.4Access2010的選項卡式文檔啟動

OfficeAccess2010后,可以用選項卡式文檔代替重疊窗口來顯示數據庫對象。為便于日常的交互使用,可以采用選項卡式文檔界面,如圖1-10所示。1.5Access數據庫中的對象1.5.1表表是數據庫中用來存儲數據的對象,它是整個數據庫系統(tǒng)的數據源,也是數據庫其他對象的基礎。1.5Access數據庫中的對象1.5.2查詢查詢是數據庫設計目的的體現(xiàn),數據庫建立完成以后,數據只有被使用者查詢才能真正現(xiàn)它的價值。查詢也是一個“表”,它是以“表”或“查詢”為基礎數據源的“虛表”,查詢本身存放的只是設計的查詢結構。

1.5Access數據庫中的對象1.5.3窗體窗體是用戶與數據庫進行交互的圖形界面,它提供一種方便用戶瀏覽、輸入和更改數據的窗口以及應用程序的執(zhí)行控制界面,在窗體中可以運行宏和模塊,以實現(xiàn)更加復雜的功能,它是Access數據庫對象中最靈活的一個對象。1.5Access數據庫中的對象1.5.4報表報表是數據庫中數據輸出的另一種形式,利用報表可以將數據庫中需要的數據提取出來進行分析、整理和計算,然后打印出來,是一種很有效的方法。1.5Access數據庫中的對象1.5.5宏宏對象是Access數據庫對象中的一個基本對象。宏是指一個或多個操作的集合,其中每一個操作實現(xiàn)特定的功能,例如打開某個窗體或打印某個報表。1.5Access數據庫中的對象1.5.6模塊模塊用來實現(xiàn)數據的自動操作,是應用程序開發(fā)人員的工作環(huán)境,創(chuàng)建完整的數據庫應用程序。模塊是用Access所提供的VBA(VisualBasicforApplication)語言所編寫的程序。1.5Access數據庫中的對象1.5.7對象間的關系1.6Access中的數據

作為數據庫管理系統(tǒng),Access中的數據也是有類型之分的。在設計表的過程中,相應的字段必須使用明確的數據類型,同時操作數據庫的過程中會隨時使用表達式和函數,因此有必要對這些內容做一個預覽。1.6Access中的數據1.6.1字段的數據類型

Access2010中定義了12種數據類型:文本、備注、數字、日期/時間、貨幣、自動編號、是/否、超鏈接、OLE對象、附件、計算以及查閱向導。1.6Access中的數據1.6.1字段的數據類型1.6Access中的數據1.6.1字段的數據類型1.6Access中的數據1.6.1字段的數據類型1.6Access中的數據1.6.2表達式表達式是各種數據、運算符、函數、控件和屬性的組合,其運算結果是某個確定數據類型的值。表達式能實現(xiàn)數據計算、條件判斷、數據類型轉換等許多作用。在后續(xù)的內容中,許多操作如篩選條件、有效性規(guī)則、查詢條件、計算控件等都要用到表達式。1.6Access中的數據1.運算符運算符和操作數構成了表達式,運算符是用來表明運算性質的符號,它指明了多操作數進行運算的方法和規(guī)則。根據運算不同,Access中常用4種類型的運算符:算術運算符、關系運算符、邏輯運算符、連接運算符。1.6Access中的數據(1)算術運算符:用于實現(xiàn)常見的算術運算。運算符含義示例表達式結果+加法1+12-減法3-21*乘法2*36/浮點除法6/23^指數2^24\整數除法10\42Mod取余12mod521.6Access中的數據(2)關系運算:比較兩個運算量之間的關系,關系表達式的運算結果為邏輯量。若關系成立,結果為True,若關系不成立,結果為False。關系運算的規(guī)則如下:數值型數據按數值大小比較。日期型數據按照日期的先后順序比較,日期大則大,日期小則小。字符型數據按照字符的ASCII碼值的大小從左到右一一比較,直到出現(xiàn)不同的字符為止。1.6Access中的數據關系運算示例運算符含義示例表達式結果>大于"abc">"ABC"TRUE>=大于等于"a">="ab"FALSE<小于2<3TRUE<=小于等于"12"<="3"TRUE<>不等于"abc"<>"ABC"TRUE=等于"abc"="ABC"FALSE1.6Access中的數據(3)邏輯運算符:用于邏輯運算,主要有與(And)、或(Or)和非(Not)。運算結果為邏輯值True或False。優(yōu)先級不相同:Not>And>Or可用來描述復雜的關系表達式1.6Access中的數據

運算符含義示例表達式結果Not非(求反)Not(10<4)TrueAnd與(同時成立)10>4And5>3TrueOr或(或者成立)10>4Or3>5True邏輯運算符示例1.6Access中的數據(4)連接運算符:用于字符串連接。當連接符兩旁的操作量都為字符串時,上述兩個連接符等價。它們區(qū)別是:+(連接運算):兩個操作數均應為字符串類型;當兩旁的操作量都為數字時,它就變成了加法符號,執(zhí)行加法運算。當兩旁的操作量有一個是數字,另外一個是字符時,則會出現(xiàn)出錯信息。&(連接運算):兩個操作數既可為字符型也可為數值型,當是數值型時,系統(tǒng)自動先將其轉換為數字符,然后進行連接操作。1.6Access中的數據連接運算符示例運算符含義示例表達式結果&字符串連接"VB"&"程序設計教程""VB程序設計教程"+字符串連接"ABCD"+"EFGHI""ABCDEFGHI"1.6Access中的數據(5)特殊運算符運算符含義示例Like像…一樣Like"張*"In

溫馨提示

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

評論

0/150

提交評論