數(shù)據(jù)庫(kù)原理與應(yīng)用(Access)_第1頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用(Access)_第2頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用(Access)_第3頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用(Access)_第4頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用(Access)_第5頁(yè)
已閱讀5頁(yè),還剩697頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

21世紀(jì)高職高專創(chuàng)新精品規(guī)劃教材數(shù)據(jù)庫(kù)原理與應(yīng)用(Access)朱定善熊麗華主編第一章數(shù)據(jù)庫(kù)知識(shí)本章學(xué)習(xí)目標(biāo)隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)應(yīng)用已從早期的科學(xué)計(jì)算、過(guò)程控制進(jìn)入到目前的數(shù)據(jù)信息處理,并已成為計(jì)算機(jī)應(yīng)用的主要領(lǐng)域之一。而在數(shù)據(jù)信息處理過(guò)程中,并不需要進(jìn)行復(fù)雜的計(jì)算,如一間學(xué)校的學(xué)生信息管理,一個(gè)單位的人事檔案管理,一個(gè)大型百貨商店的商品管理(進(jìn)、銷(xiāo)、存管理)等,它們主要是從事大量數(shù)據(jù)的存儲(chǔ)、查找、統(tǒng)計(jì)等工作。若要有效地使用保存在計(jì)算機(jī)系統(tǒng)中的大量數(shù)據(jù),必須嚴(yán)格合理的對(duì)這些數(shù)據(jù)進(jìn)行組織、存儲(chǔ)、維護(hù)等,這一切都離不開(kāi)數(shù)據(jù)庫(kù)技術(shù)。數(shù)據(jù)庫(kù)技術(shù)是研究數(shù)據(jù)庫(kù)結(jié)構(gòu)、存儲(chǔ)、設(shè)計(jì)和使用的一門(mén)軟件科學(xué),是進(jìn)行數(shù)據(jù)管理和處理的技術(shù)。在信息社會(huì)里,信息已成為各行各業(yè)的重要財(cái)富資源,以數(shù)據(jù)庫(kù)為核心的信息系統(tǒng)已成為企業(yè)或組織生存和發(fā)展的重要條件。數(shù)據(jù)庫(kù)技術(shù)已成為計(jì)算機(jī)科學(xué)與工程技術(shù)領(lǐng)域的重要研究方向之一,也日益成為計(jì)算機(jī)與工程技術(shù)人員應(yīng)掌握的必不可少的知識(shí)與技能。通過(guò)本章的學(xué)習(xí),應(yīng)掌握數(shù)據(jù)庫(kù)的基本理論、數(shù)據(jù)模型、關(guān)系數(shù)據(jù)庫(kù)的特點(diǎn)、關(guān)系的規(guī)范化概念、關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)等內(nèi)容。1.1數(shù)據(jù)庫(kù)基本概念

數(shù)據(jù)庫(kù)技術(shù)所涉及到許多概念,主要包括信息、數(shù)據(jù)與數(shù)據(jù)處理,數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理管理系統(tǒng)及數(shù)據(jù)庫(kù)系統(tǒng)。1.1.1信息、數(shù)據(jù)與數(shù)據(jù)處理1.信息

信息是現(xiàn)實(shí)世界事物的存在方式或運(yùn)動(dòng)狀態(tài)的反映。泛指通過(guò)各種方式傳播、可被感受的聲音、文字、圖像、符號(hào)等表示的某一特定事物的消息、情報(bào)或知識(shí)。它具有可感知、可存儲(chǔ)、可加工、可傳遞和可再生等特點(diǎn)。2.?dāng)?shù)據(jù)數(shù)據(jù)是指存儲(chǔ)在某一媒體上能識(shí)別的物理符號(hào),是反映客觀事物特性的記錄。數(shù)據(jù)的概念包括兩個(gè)方面:一是所反映的事物特性的數(shù)據(jù)內(nèi)容;二是存儲(chǔ)在某一種媒體上的數(shù)據(jù)形式。數(shù)據(jù)形式可以是多種多樣的,如某人的出生日期是“1984年10月28日”,也可表示為“84/10/28”,其含義沒(méi)有改變。從信息處理的角度來(lái)看,任何事物的特性都是通過(guò)數(shù)據(jù)來(lái)表示的,數(shù)據(jù)經(jīng)過(guò)加工處理后,使其具有知識(shí)性,并對(duì)人類(lèi)活動(dòng)產(chǎn)生決策作用,從而形成信息。用數(shù)據(jù)符號(hào)表示信息通常有三種形式:數(shù)值型數(shù)據(jù),即客觀事物的定量符號(hào),如金額、數(shù)量、單價(jià)的多少等;字符型數(shù)據(jù)即對(duì)客觀事物進(jìn)行定性記錄的符號(hào),如學(xué)號(hào)、姓名、電話等;特殊型數(shù)據(jù),如圖形、圖像、動(dòng)畫(huà)、影像、聲音等多媒體數(shù)據(jù)。從計(jì)算機(jī)的角度看,數(shù)據(jù)泛指那些可以被計(jì)算機(jī)接受并能被計(jì)算機(jī)處理的符號(hào)。3.?dāng)?shù)據(jù)處理數(shù)據(jù)處理又稱為信息處理。實(shí)際上就是利用計(jì)算機(jī)對(duì)各種類(lèi)型的數(shù)據(jù)進(jìn)行處理,并將其轉(zhuǎn)換成信息的過(guò)程。它包括對(duì)數(shù)據(jù)的采集、整理、存儲(chǔ)、分類(lèi)、排序、檢索、維護(hù)、加工、統(tǒng)計(jì)和傳輸?shù)纫幌盗械牟僮鬟^(guò)程。數(shù)據(jù)處理的目的是從大量的、原始的數(shù)據(jù)中獲得所需的資料并提取有用的數(shù)據(jù)成份,作為行為和決策的依據(jù)。⑴人工管理方式人工管理方式出現(xiàn)在計(jì)算機(jī)應(yīng)用于數(shù)據(jù)管理的初期(20世紀(jì)40年代末期到50年代中期以前)。由于沒(méi)有必要硬件環(huán)境的支持,外存儲(chǔ)器只有卡片、紙帶、磁帶,沒(méi)有像磁盤(pán)這樣的可以隨機(jī)訪問(wèn)、直接存儲(chǔ)的外存儲(chǔ)器設(shè)備。軟件方面也沒(méi)有專門(mén)管理數(shù)據(jù)的軟件,數(shù)據(jù)由計(jì)算機(jī)或處理它的程序進(jìn)行攜帶。數(shù)據(jù)管理任務(wù),包括存儲(chǔ)結(jié)構(gòu)、存取方法、輸入輸出方式等完全由程序設(shè)計(jì)人員負(fù)責(zé)完成。這種管理方式下,用戶的應(yīng)用程序與數(shù)據(jù)之間相互結(jié)合不可分割,當(dāng)數(shù)據(jù)有所改變時(shí),程序也隨之改變,獨(dú)立性差;各程序間的數(shù)據(jù)不能傳遞,共享性差,既不方便,也不安全,編程效率極低。⑵文件管理方式文件管理方式即把有關(guān)的數(shù)據(jù)組織成一個(gè)文件(20世紀(jì)50年代后期至60年代后期),這種數(shù)據(jù)文件可以脫離程序而獨(dú)立存在,由一個(gè)專門(mén)的文件管理系統(tǒng)對(duì)其實(shí)施統(tǒng)一管理。文件管理系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng)軟件,它是應(yīng)用程序與數(shù)據(jù)文件間的一個(gè)接口。在這種管理方式下,應(yīng)用程序通過(guò)文件管理系統(tǒng)對(duì)數(shù)據(jù)文件中的數(shù)據(jù)進(jìn)行加工處理。應(yīng)用程序的數(shù)據(jù)具有一定的獨(dú)立性,解決了人工管理方式下的數(shù)據(jù)獨(dú)立性差的缺點(diǎn)。但數(shù)據(jù)文件仍高度依賴于其對(duì)應(yīng)的應(yīng)用程序,不能被多個(gè)應(yīng)用程序通用,同一個(gè)數(shù)據(jù)可能出現(xiàn)在多個(gè)文件中,這樣不僅浪費(fèi)存儲(chǔ)空間,更嚴(yán)重的是由于不能對(duì)數(shù)據(jù)文件作統(tǒng)一修改,容易造成數(shù)據(jù)的不一致性。⑶數(shù)據(jù)庫(kù)管理方式數(shù)據(jù)庫(kù)系統(tǒng)管理方式(20世紀(jì)60年代后期開(kāi)始)即對(duì)所有的數(shù)據(jù)實(shí)行統(tǒng)一規(guī)劃管理,形成一個(gè)數(shù)據(jù)中心,構(gòu)成一個(gè)數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)庫(kù)中的數(shù)據(jù)能夠滿足所有用戶的需要,供不同用戶共享。在這一管理方式下,應(yīng)用程序不再只與一個(gè)孤立的數(shù)據(jù)文件相對(duì)應(yīng),可以取整體數(shù)據(jù)集中的某個(gè)子集作為邏輯文件與其對(duì)應(yīng),通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)邏輯文件與物理文件之間的映射。在數(shù)據(jù)庫(kù)管理系統(tǒng)環(huán)境下,應(yīng)用程序?qū)?shù)據(jù)的管理和訪問(wèn)靈活方便,而且數(shù)據(jù)與應(yīng)用程序之間完全獨(dú)立,使程序的編制質(zhì)量和效率都有所提高;由于數(shù)據(jù)文件間可以建立關(guān)聯(lián)關(guān)系,數(shù)據(jù)的冗余大大減少,數(shù)據(jù)共享性顯著增強(qiáng)。⑷分布式數(shù)據(jù)庫(kù)系統(tǒng)方式分布式數(shù)據(jù)庫(kù)系統(tǒng)是數(shù)據(jù)庫(kù)技術(shù)與和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)結(jié)合的產(chǎn)物。網(wǎng)絡(luò)技術(shù)的發(fā)展為數(shù)據(jù)庫(kù)提供了分布運(yùn)行環(huán)境,從主機(jī)終端體系結(jié)構(gòu)發(fā)展到客戶/服務(wù)器系統(tǒng)結(jié)構(gòu)。分布式數(shù)據(jù)庫(kù)系統(tǒng)既可以把全局?jǐn)?shù)據(jù)模式按數(shù)據(jù)來(lái)源和用途,合理分布在系統(tǒng)的多個(gè)節(jié)點(diǎn)上,使大部分?jǐn)?shù)據(jù)可以就地存取,而用戶不感到的分布,即物理上分布、邏輯上集中的分布式數(shù)據(jù)庫(kù)結(jié)構(gòu)(緊密型);又可把多個(gè)集中式數(shù)據(jù)庫(kù)系統(tǒng)通過(guò)網(wǎng)絡(luò)連接起來(lái),各節(jié)點(diǎn)上的計(jì)算機(jī)可以利用網(wǎng)絡(luò)通信功能訪問(wèn)其他節(jié)點(diǎn)上的數(shù)據(jù)資源,即物理上、邏輯上分布的分布式數(shù)據(jù)庫(kù)結(jié)構(gòu)(松散型)。⑸面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)方式面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)是數(shù)據(jù)庫(kù)技術(shù)與面向?qū)ο蟪绦蛟O(shè)計(jì)相結(jié)合的產(chǎn)物。面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)是面向?qū)ο蠓椒ㄔ跀?shù)據(jù)庫(kù)系統(tǒng)中的實(shí)現(xiàn)和應(yīng)用,它既是一個(gè)面向?qū)ο蟮南到y(tǒng),又是一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)。1.1.2數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)是指引進(jìn)數(shù)據(jù)庫(kù)技術(shù)后的計(jì)算機(jī)系統(tǒng)。實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量相關(guān)數(shù)據(jù),提供數(shù)據(jù)處理和信息資源共享的便利手段。數(shù)據(jù)庫(kù)系統(tǒng)由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員用戶和計(jì)算機(jī)系統(tǒng)的軟、硬件平臺(tái)組成。其組成結(jié)構(gòu)如圖1-1所示。圖1-1數(shù)據(jù)庫(kù)系統(tǒng)層次結(jié)構(gòu)示意圖1.?dāng)?shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)是以一定的組織方式將相關(guān)的數(shù)據(jù)組織在一起存放在計(jì)算機(jī)存儲(chǔ)器上的一組組相關(guān)數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)往往不像文件系統(tǒng)那樣,只面向某一項(xiàng)特定應(yīng)用,而是面向多種應(yīng)用,可以被多個(gè)用戶、多個(gè)應(yīng)用程序共享。例如人才交流中心的人才檔案數(shù)據(jù)庫(kù),他可以在國(guó)際互連網(wǎng)(Internet)上供用戶瀏覽。2.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)為了讓多種應(yīng)用程序并發(fā)地使用數(shù)據(jù)庫(kù)中具有最小冗余度的共享數(shù)據(jù),必須使數(shù)據(jù)與程序具有較高的獨(dú)立性。這就需要一個(gè)軟件系統(tǒng)對(duì)數(shù)據(jù)實(shí)行專門(mén)管理,提供安全性和完整性等統(tǒng)一控制機(jī)制,方便用戶以交互命令或程序方式對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。我們稱這個(gè)軟件系統(tǒng)為數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心。一般來(lái)說(shuō),數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)具備如下功能:⑴數(shù)據(jù)庫(kù)定義功能數(shù)據(jù)庫(kù)管理系統(tǒng)提供了建立數(shù)據(jù)庫(kù)框架,定義數(shù)據(jù)庫(kù)中的對(duì)象功能。根據(jù)此功能,用戶可以根據(jù)需要在計(jì)算機(jī)系統(tǒng)中建立自己的數(shù)據(jù)庫(kù),并在數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)。

⑵數(shù)據(jù)操作功能對(duì)數(shù)據(jù)進(jìn)行檢索和查詢是數(shù)據(jù)庫(kù)的主要應(yīng)用,數(shù)據(jù)庫(kù)管理系統(tǒng)向用戶提供“數(shù)據(jù)操作語(yǔ)言”,支持用戶對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢、更新等操作。⑶數(shù)據(jù)庫(kù)控制功能數(shù)據(jù)庫(kù)管理系統(tǒng)可以完成對(duì)數(shù)據(jù)庫(kù)的安全性控制、完整性控制、多用戶環(huán)境下的并發(fā)控制等各方面的控制。⑷數(shù)據(jù)庫(kù)的管理功能數(shù)據(jù)庫(kù)管理功能可以完成數(shù)據(jù)庫(kù)的數(shù)據(jù)備份、恢復(fù)和轉(zhuǎn)儲(chǔ)功能。⑸數(shù)據(jù)庫(kù)通信功能在分布式數(shù)據(jù)庫(kù)或提供網(wǎng)絡(luò)操作功能的數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)管理系統(tǒng)還必須提供數(shù)據(jù)庫(kù)的通信功能。隨著計(jì)算機(jī)技術(shù)的發(fā)展及計(jì)算機(jī)應(yīng)用領(lǐng)域的拓寬,數(shù)據(jù)庫(kù)技術(shù)得到了很大的發(fā)展。數(shù)據(jù)庫(kù)管理系統(tǒng)也層出不窮。目前有如下幾種常用的典型的數(shù)據(jù)庫(kù)管理系統(tǒng)。①Oracle:Oracle是Oracle公司的數(shù)據(jù)庫(kù)產(chǎn)品。它是世界著名的商品化關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。②Sybase:Sybase公司是較早采用客戶/服務(wù)器技術(shù)的數(shù)據(jù)庫(kù)廠商。Sybase數(shù)據(jù)庫(kù)可以運(yùn)行在Unix、WindowsNT、Novell等操作系統(tǒng)平臺(tái)上,支持標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言SQL,使用客戶/服務(wù)器模式,采用了開(kāi)放的體系結(jié)構(gòu),能夠?qū)崿F(xiàn)網(wǎng)絡(luò)環(huán)境下各節(jié)點(diǎn)上的數(shù)據(jù)庫(kù)的互訪操作。Sybase還擁有十分著名的數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具PowerBuilder,能夠快速開(kāi)發(fā)基于客戶/服務(wù)器的圖形化數(shù)據(jù)庫(kù)應(yīng)用。③Informix:Informix是美國(guó)Informix軟件公司的產(chǎn)品,是一個(gè)應(yīng)用廣泛的著名的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它具有獨(dú)立性強(qiáng)、查詢功能齊全、使用方便和易于擴(kuò)充等優(yōu)點(diǎn)??梢栽赨nix、Windows、WindowsNT、Netware、Macintosh等多種操作系統(tǒng)環(huán)境下運(yùn)行。④SQLServer:SQLServe是Microsoft公司推出的適用于大型網(wǎng)絡(luò)環(huán)境的數(shù)據(jù)庫(kù)管理系統(tǒng),它一經(jīng)推出后,很快得到廣大用戶的積極響應(yīng),并迅速占領(lǐng)了NT環(huán)境下的數(shù)據(jù)庫(kù)領(lǐng)域,成為數(shù)據(jù)庫(kù)市場(chǎng)上的一個(gè)重要產(chǎn)品。它采用客戶機(jī)/服務(wù)器或?yàn)g覽器/服務(wù)器設(shè)計(jì)結(jié)構(gòu)模式,支持分布式數(shù)據(jù)庫(kù)結(jié)構(gòu),具有動(dòng)態(tài)數(shù)據(jù)存儲(chǔ)機(jī)制和數(shù)據(jù)轉(zhuǎn)換服務(wù),并支持Internet的工作環(huán)境,包括數(shù)據(jù)發(fā)布、支持XML、電子郵件等。⑤Access:Access數(shù)據(jù)庫(kù)管理系統(tǒng)是Microsoft開(kāi)發(fā)的另一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)。是一個(gè)功能強(qiáng)大、方便靈活、適用于個(gè)人單機(jī)環(huán)境下使用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),同時(shí)還提供了一個(gè)完整的數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具,可用于開(kāi)發(fā)適合于特定的數(shù)據(jù)庫(kù)管理的Windows應(yīng)用程序。它不僅可用于小型數(shù)據(jù)庫(kù)管理,供單機(jī)使用,也能與工作站、數(shù)據(jù)庫(kù)服務(wù)器或主機(jī)上的各種數(shù)據(jù)庫(kù)互相連接,并可用于建立客戶/服務(wù)器應(yīng)用程序中的工作站部分。3.數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)(DBAS--DataBaseApplicationSystem)是指系統(tǒng)開(kāi)發(fā)人員利用數(shù)據(jù)庫(kù)管理系統(tǒng)資源開(kāi)發(fā)出來(lái)的面向某一類(lèi)實(shí)際應(yīng)用的應(yīng)用軟件系統(tǒng),通常由數(shù)據(jù)庫(kù)和應(yīng)用程序兩部分組成。如以數(shù)據(jù)庫(kù)為基礎(chǔ)的應(yīng)用于財(cái)務(wù)核算的財(cái)務(wù)管理系統(tǒng)、學(xué)生成績(jī)管理系統(tǒng)、教學(xué)管理系統(tǒng)、人事檔案管理系統(tǒng)、商品信息管理系統(tǒng)等等。無(wú)論是面向內(nèi)部業(yè)務(wù)和管理的管理信息系統(tǒng),還是面向外部,提供信息服務(wù)的開(kāi)放式信息系統(tǒng),從實(shí)現(xiàn)技術(shù)角度而言,都是以數(shù)據(jù)庫(kù)為基礎(chǔ)和核心的計(jì)算機(jī)應(yīng)用系統(tǒng)。4.?dāng)?shù)據(jù)庫(kù)管理員與數(shù)據(jù)庫(kù)用戶數(shù)據(jù)庫(kù)管理員專門(mén)從事數(shù)據(jù)庫(kù)的規(guī)劃、設(shè)計(jì)、使用與維護(hù)等工作。數(shù)據(jù)庫(kù)用戶是指數(shù)據(jù)庫(kù)的最終用戶,他們可以使用自己開(kāi)發(fā)的應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù),也可以使用數(shù)據(jù)庫(kù)系統(tǒng)提供的接口訪問(wèn)數(shù)據(jù)庫(kù)。5.計(jì)算機(jī)系統(tǒng)軟件、硬件平臺(tái)在數(shù)據(jù)庫(kù)系統(tǒng)中,軟件包括操作系統(tǒng)(如Windows)、開(kāi)發(fā)工具(如VB)和接口軟件(如ODBC);硬件平臺(tái)包括計(jì)算機(jī)和計(jì)算機(jī)網(wǎng)絡(luò),他是數(shù)據(jù)庫(kù)系統(tǒng)賴以存在的基礎(chǔ)。1.1.3數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)主要有如下特點(diǎn):⑴數(shù)據(jù)共享這是數(shù)據(jù)庫(kù)系統(tǒng)區(qū)別于傳統(tǒng)數(shù)據(jù)管理系統(tǒng)的最大特點(diǎn)之一,也是數(shù)據(jù)庫(kù)系統(tǒng)先進(jìn)性的很重要表現(xiàn)。共享是指多用戶、多種應(yīng)用互相覆蓋地共享數(shù)據(jù)集合。當(dāng)前所有用戶可同時(shí)存取數(shù)據(jù)庫(kù)中的數(shù)據(jù)。這些數(shù)據(jù)可以是數(shù)據(jù)庫(kù)中的部分?jǐn)?shù)據(jù)或相互交叉重疊的數(shù)據(jù),也可以是文件級(jí)、記錄級(jí)、數(shù)據(jù)項(xiàng)級(jí)的數(shù)據(jù)。⑵面向全組織的數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)庫(kù)系統(tǒng)不再像文件系統(tǒng)那樣從屬于特定的應(yīng)用,而是面向整個(gè)組織來(lái)組織數(shù)據(jù),常常是按某種數(shù)據(jù)模型(有關(guān)數(shù)據(jù)模型在后面章節(jié)有詳細(xì)介紹),將整個(gè)組織的全部數(shù)據(jù)組織成為一個(gè)結(jié)構(gòu)化的數(shù)據(jù)整體。它不僅描述了數(shù)據(jù)本身的特性,也描述了數(shù)據(jù)與數(shù)據(jù)之間的種種關(guān)系,這使數(shù)據(jù)庫(kù)能描述復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。全組織的數(shù)據(jù)結(jié)構(gòu)化,有利用于實(shí)現(xiàn)數(shù)據(jù)共享,它使數(shù)據(jù)不是面向應(yīng)用(程序),而是面向系統(tǒng)。這樣,系統(tǒng)的彈性大、可擴(kuò)充,在系統(tǒng)中加入部分?jǐn)?shù)據(jù),就可以適應(yīng)新的應(yīng)用需要。⑶具有較高的數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫(kù)的重要牲特征就是數(shù)據(jù)獨(dú)立于應(yīng)用程序而存在。數(shù)據(jù)與程序相互獨(dú)立、互不依賴,這大大簡(jiǎn)化了應(yīng)用程序的設(shè)計(jì)與維護(hù)的工作量。⑷減少冗余度數(shù)據(jù)共享、結(jié)構(gòu)化和數(shù)據(jù)獨(dú)立性的優(yōu)點(diǎn)使數(shù)據(jù)存儲(chǔ)不必重復(fù),不僅可以節(jié)省存儲(chǔ)空間,而且從根本上保證了數(shù)據(jù)的一致性。從理論上講,數(shù)據(jù)存儲(chǔ)完全不重復(fù),即冗余為零。⑸統(tǒng)一的數(shù)據(jù)控制功能數(shù)據(jù)庫(kù)可以被多個(gè)用戶或應(yīng)用程序共享,即對(duì)數(shù)據(jù)的存取往往是并發(fā)的(多個(gè)用戶或應(yīng)用程序在某時(shí)刻同時(shí)存取某個(gè)數(shù)據(jù))。為保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)安全和完整,數(shù)據(jù)庫(kù)管理系統(tǒng)必須提供以下四個(gè)數(shù)據(jù)控制功能①數(shù)據(jù)并發(fā)訪問(wèn)控制功能:當(dāng)多個(gè)用戶或應(yīng)用程序同時(shí)存取或修改數(shù)據(jù)庫(kù)中的某個(gè)數(shù)據(jù)時(shí),可能會(huì)發(fā)生互相干擾而得到錯(cuò)誤結(jié)果,并使數(shù)據(jù)庫(kù)的完整性遭到破壞,因此必須對(duì)多用戶的并發(fā)操作加以控制和協(xié)調(diào)。②數(shù)據(jù)安全控制功能:數(shù)據(jù)安全控制功能是指采取一定安全保密措施,確保數(shù)據(jù)庫(kù)中的數(shù)據(jù)不被非法用戶存取,防止造成數(shù)據(jù)丟失、破壞或被盜。③數(shù)據(jù)完整性控制功能:數(shù)據(jù)完整性控制功能是指數(shù)據(jù)正確性、有效性和相容性。正確性是指數(shù)據(jù)的合法性;有效性是指數(shù)據(jù)是否在定義的有效范圍內(nèi);相容性是指表示同一個(gè)事實(shí)的兩個(gè)數(shù)據(jù)應(yīng)相同。系統(tǒng)提供必要的功能,保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)在輸入、修改過(guò)程中始終符合原來(lái)的定義和規(guī)定。④數(shù)據(jù)恢復(fù):當(dāng)系統(tǒng)發(fā)生故障造成數(shù)據(jù)丟失或?qū)?shù)據(jù)庫(kù)操作發(fā)生錯(cuò)誤時(shí),系統(tǒng)能進(jìn)行應(yīng)急處理,并把數(shù)據(jù)恢復(fù)到正確的狀態(tài)。1.2數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)的核心,它規(guī)范了數(shù)據(jù)庫(kù)中數(shù)據(jù)的組織形式,表示了數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)系,具有聯(lián)系性的相關(guān)數(shù)據(jù)總是按照一定的組織關(guān)系排列,從而構(gòu)成一定的結(jié)構(gòu),對(duì)這種結(jié)構(gòu)的描述就是數(shù)據(jù)模型。數(shù)據(jù)模型是數(shù)據(jù)庫(kù)管理系統(tǒng)用來(lái)表示實(shí)體與實(shí)體間聯(lián)系的方法。一個(gè)數(shù)據(jù)模型應(yīng)正確反映出數(shù)據(jù)之間存在的整體邏輯關(guān)系。1.2.1實(shí)體的描述1.實(shí)體客觀存在并且可以相互區(qū)別的事物稱為實(shí)體。實(shí)體可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系。如職工、學(xué)生、教師、課程就是具體的實(shí)體,而學(xué)生的選課、教師的授課、產(chǎn)品的訂貨、一次的比賽等也是實(shí)體,它們是抽象實(shí)體。2.實(shí)體的屬性每個(gè)實(shí)體都具有一定的特征或性質(zhì),這樣我們才能根據(jù)實(shí)體的特征來(lái)區(qū)分一個(gè)個(gè)實(shí)體。比如圖書(shū)館圖書(shū)的總編號(hào)、分類(lèi)號(hào)、書(shū)名、作者、單價(jià)、出版社等都是圖書(shū)實(shí)體具有的特征。我們把實(shí)體所具有的特征稱為屬性。一個(gè)實(shí)體可以用若干個(gè)屬性來(lái)描述,如學(xué)生的學(xué)號(hào)、姓名、性別、出生日期、所在系、專業(yè)、愛(ài)好、家庭住址等,把這些屬性組合起來(lái)就描述了某學(xué)生的全部特征。3.實(shí)體型與實(shí)體集屬性值的集合表示一個(gè)實(shí)體,而屬性的集合表示一個(gè)實(shí)體的類(lèi)型稱為實(shí)體型。同類(lèi)型的實(shí)體型的集合稱為實(shí)體集。如學(xué)生實(shí)體集中,(2003010301、吳明、男、0/12/28、計(jì)算機(jī))表示學(xué)生檔案實(shí)體集中的一個(gè)具體學(xué)生。在關(guān)系數(shù)據(jù)庫(kù)中用二維表用來(lái)存放同一類(lèi)實(shí)體,如學(xué)生檔案表,商品信息表等。1.2.2實(shí)體間的聯(lián)系實(shí)體間的對(duì)應(yīng)關(guān)系稱為聯(lián)系。它反映現(xiàn)實(shí)世界事物之間的相互聯(lián)系。如學(xué)生選課實(shí)體中的學(xué)號(hào)必須是學(xué)生檔案實(shí)體中存在的學(xué)號(hào),這種聯(lián)系就是實(shí)體間的聯(lián)系。它們間的聯(lián)系通常分為三種類(lèi)型:1.一對(duì)一聯(lián)系若一個(gè)實(shí)體集中的一個(gè)實(shí)體與另一個(gè)實(shí)體集中的一個(gè)實(shí)體發(fā)生關(guān)系,同樣另一個(gè)實(shí)體集中的一個(gè)實(shí)體也與該實(shí)體集中的一個(gè)實(shí)體發(fā)生關(guān)系,則這兩個(gè)實(shí)體集間的聯(lián)系被定義為一對(duì)一聯(lián)系。如一個(gè)班級(jí)和正班長(zhǎng)兩個(gè)實(shí)體間的聯(lián)系就是一對(duì)一有聯(lián)系。一個(gè)班只有一個(gè)正班長(zhǎng),一個(gè)正班長(zhǎng)不能在其它班同時(shí)當(dāng)正班長(zhǎng)。在Access中,一對(duì)一關(guān)系表現(xiàn)為A表中的每條記錄只與B表中的一條記錄相關(guān)聯(lián);同樣,B表中的每條記錄也只與A表中的一條記錄相關(guān)聯(lián)。2.一對(duì)多聯(lián)系班級(jí)實(shí)體與學(xué)生實(shí)體間的關(guān)系就是一對(duì)多聯(lián)系。一個(gè)班可以有多個(gè)學(xué)生,而一個(gè)學(xué)生只能屬于一個(gè)班。學(xué)生與圖書(shū)的聯(lián)系也是一對(duì)多關(guān)系,一個(gè)同學(xué)可以借多本圖書(shū),而一本圖書(shū)只能給一個(gè)學(xué)生借閱。在Access中,一對(duì)多聯(lián)系表現(xiàn)為A表中的每一條記錄與B表中的多條記錄相聯(lián)系。3.多對(duì)多聯(lián)系學(xué)生實(shí)體與課程實(shí)體的關(guān)系為多對(duì)多聯(lián)系。一個(gè)學(xué)生可能學(xué)多門(mén)課程,同時(shí)一門(mén)課程可以有多個(gè)學(xué)生選。在Access中,多對(duì)多聯(lián)系表現(xiàn)為一個(gè)表中的多個(gè)記錄在相關(guān)的表中同樣有多個(gè)記錄與其相匹配。即A表中的一個(gè)記錄可與B表中的多個(gè)記錄對(duì)應(yīng),同樣B表中的一個(gè)記錄也可以與A表中的多個(gè)記錄對(duì)應(yīng)。1.2.3E-R模型的表示方法

E-R模型又稱為實(shí)體關(guān)系模型,它由實(shí)體、屬性和關(guān)系組成,三者結(jié)合表示現(xiàn)實(shí)世界,形成概念模型。實(shí)體型:用矩形表示,矩形內(nèi)標(biāo)明實(shí)體名稱。屬性:用橢圓表示,橢圓內(nèi)標(biāo)明屬性名稱,用無(wú)向線將屬性與實(shí)體連起來(lái)。關(guān)系:用菱形表示,菱形內(nèi)標(biāo)明屬性聯(lián)系名稱,用無(wú)向線與有關(guān)實(shí)體連接起來(lái),并在無(wú)向線上標(biāo)明關(guān)系類(lèi)型。例如,教學(xué)管理中的學(xué)生選課概念模型的E-R圖可用圖1-2表示。圖1-2學(xué)生選課管理E-R圖學(xué)生選課管理設(shè)計(jì)的實(shí)體如下:

學(xué)生屬性有學(xué)號(hào)、姓名、性別、出生日期、班級(jí)名稱。

課程屬性有課程號(hào)、課程名稱、課程性質(zhì)、學(xué)時(shí)數(shù)、學(xué)分。

教師屬性有教師編號(hào)、姓名、性別、出生日期、學(xué)歷、職稱。這些實(shí)體之間的聯(lián)系如下:一個(gè)教師可以講授多門(mén)課程,一門(mén)課程也可以由多個(gè)教師來(lái)講授。一個(gè)學(xué)生可以選修多門(mén)課程,一門(mén)課程也可以被多個(gè)學(xué)生選修。1.2.4數(shù)據(jù)模型數(shù)據(jù)模型是反映客觀事物及客觀事物間聯(lián)系的數(shù)據(jù)組織的結(jié)構(gòu)和形式。任何一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)都是基于某種數(shù)據(jù)模型的。數(shù)據(jù)庫(kù)管理系統(tǒng)所支持的數(shù)據(jù)模型分為三種:層次模型、網(wǎng)狀模型、關(guān)系模型。因此,使用支持某種特定數(shù)據(jù)模型的數(shù)據(jù)庫(kù)管理系統(tǒng)開(kāi)發(fā)出來(lái)的應(yīng)用系統(tǒng)也相應(yīng)稱為層次型數(shù)據(jù)庫(kù)系統(tǒng)、網(wǎng)狀型數(shù)據(jù)庫(kù)系統(tǒng)、關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。1.層次模型層次模型表示數(shù)據(jù)間的從屬關(guān)系結(jié)構(gòu),層次模型實(shí)際上是由若干個(gè)代表實(shí)體之間一對(duì)多聯(lián)系的基本層次聯(lián)系組成的有向樹(shù)結(jié)構(gòu)。層次像一棵倒置的樹(shù)一樣,根結(jié)點(diǎn)在上,層次最高;子結(jié)點(diǎn)在下,逐層排列,如圖1-3所示。主要有如下特征:圖1-3層次模型示例①僅有一個(gè)無(wú)雙親的根結(jié)點(diǎn)(圖1-3中的電子信息系就是根結(jié)點(diǎn))。②根結(jié)點(diǎn)以外的子結(jié)點(diǎn),向上僅有一個(gè)父結(jié)點(diǎn),向下有多個(gè)子結(jié)點(diǎn),即一對(duì)多聯(lián)系。支持層次數(shù)據(jù)模型的數(shù)據(jù)庫(kù)管理系統(tǒng)稱為層次型數(shù)據(jù)庫(kù)管理系統(tǒng),在這種系統(tǒng)中建立的數(shù)據(jù)庫(kù)是層次型數(shù)據(jù)庫(kù)。層次模型不能直接表示出多對(duì)多的聯(lián)系。2.網(wǎng)狀模型用網(wǎng)狀模型表示實(shí)體及其之間聯(lián)系的模型稱為網(wǎng)狀模型。網(wǎng)中的每一結(jié)點(diǎn)代表一個(gè)實(shí)體類(lèi)型。網(wǎng)狀模型突破了層次模型的兩點(diǎn)限制,其主要特征如下:①允許結(jié)點(diǎn)有多于一個(gè)的父結(jié)點(diǎn)。②可以有一個(gè)以上的結(jié)點(diǎn)沒(méi)有父結(jié)點(diǎn)。網(wǎng)狀模型可以表示較復(fù)雜的數(shù)據(jù)結(jié)構(gòu),即可以表示數(shù)據(jù)間的縱向關(guān)系與橫向關(guān)系。這種數(shù)據(jù)模型在概念上、結(jié)構(gòu)上都比較復(fù)雜,操作上也很多不便。圖1-4是網(wǎng)狀模型示例圖。每一個(gè)聯(lián)系都代表實(shí)體之間一對(duì)多的聯(lián)系,用單向或雙向環(huán)形鏈接指針來(lái)具體實(shí)現(xiàn)這種聯(lián)系。如果選課的人數(shù)很多,鏈接將變得相當(dāng)復(fù)雜。網(wǎng)狀模型的主要優(yōu)點(diǎn)是表示多對(duì)多的聯(lián)系,具有較大的靈活性,但這種靈活性是以數(shù)據(jù)結(jié)構(gòu)復(fù)雜化為代價(jià)的。支持網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)庫(kù)管理系統(tǒng)稱為網(wǎng)狀型數(shù)據(jù)庫(kù)管理系統(tǒng),在這種系統(tǒng)中建立的數(shù)據(jù)庫(kù)是網(wǎng)狀型數(shù)據(jù)庫(kù)。圖1-4網(wǎng)狀模型示例⑶關(guān)系模型關(guān)系模型是以關(guān)系數(shù)學(xué)理論為基礎(chǔ)的。廣義地說(shuō),任何數(shù)據(jù)模型都描述一定事物數(shù)據(jù)之間的關(guān)系。層次模型描述數(shù)據(jù)之間的從屬關(guān)系;網(wǎng)狀模型描述數(shù)據(jù)之間的多種從屬關(guān)系。關(guān)系模型的“關(guān)系”雖然也適用于這種廣義的理解,但同時(shí)又特指那種雖具有相關(guān)性而非從屬性的平行的數(shù)據(jù)之間按照某種排列的集合關(guān)系。例如,假設(shè)如下數(shù)據(jù)記錄:20070101,趙文,男,計(jì)算機(jī)應(yīng)用,1988-2-28,是,500,廣東;20070102,徐逸華,男,計(jì)算機(jī)應(yīng)用,1987-6-7,是,630,河南等。這兩組數(shù)據(jù)之間是平行的,從層次從屬角度看也是無(wú)關(guān)系的,但如果我們知道他們是表示的是學(xué)生基本信息的話,就可把它們以建立成一個(gè)關(guān)系(一張二維表),如表1-1所示。表1-1學(xué)生基本信息表學(xué)號(hào)姓名性別專業(yè)出生日期是否黨員入學(xué)成績(jī)籍貫相片簡(jiǎn)歷20070101趙文男計(jì)算機(jī)應(yīng)用1988-2-28是500廣東20070102徐逸華男計(jì)算機(jī)應(yīng)用1987-6-7否630河南20070103郭娟女計(jì)算機(jī)應(yīng)用1987-11-17是650湖北20070201錢(qián)途男國(guó)際金融1988-5-1否380廣東20070202高涵男國(guó)際金融1987-11-6否630江蘇20070203李曉嗚女國(guó)際金融1987-11-17是400江蘇20070301胡天放男工商管理1988-2-8是550山東20070302徐華女工商管理1986-5-7否620浙江20070303姜小軍男工商管理1987-4-18否580廣東20070401李敏女計(jì)算機(jī)網(wǎng)絡(luò)1988-9-25否490上海表中的這些數(shù)據(jù)雖然是平行的,不代表從屬關(guān)系,但它們構(gòu)成了某學(xué)校學(xué)生基本信息的屬性關(guān)系結(jié)構(gòu)。表1-1其實(shí)就是關(guān)系模型。表格中的每一項(xiàng)都可以看成獨(dú)立的數(shù)據(jù)項(xiàng),它們共同構(gòu)成了關(guān)系的全部?jī)?nèi)容。關(guān)系數(shù)據(jù)庫(kù)以其完備的理論基礎(chǔ)、簡(jiǎn)單的模型、說(shuō)明性的查詢語(yǔ)言和使用方便等優(yōu)點(diǎn)得到廣泛的應(yīng)用。1.3關(guān)系數(shù)據(jù)庫(kù)關(guān)系模型對(duì)數(shù)據(jù)庫(kù)的理論和實(shí)踐產(chǎn)生了很大的影響。成為當(dāng)今最主要的數(shù)據(jù)庫(kù)模型。關(guān)系數(shù)據(jù)庫(kù)是若干個(gè)依照關(guān)系模型設(shè)計(jì)的數(shù)據(jù)表的集合。也就是說(shuō),關(guān)系數(shù)據(jù)庫(kù)是由若干張完成關(guān)系模型設(shè)計(jì)的二維表組成,所有關(guān)系數(shù)據(jù)庫(kù)實(shí)際上就是二維表。在關(guān)系數(shù)據(jù)庫(kù)中,每一個(gè)表都具有相對(duì)的獨(dú)立性,這一獨(dú)立性的唯一標(biāo)志是數(shù)據(jù)表名字,稱為表名。也就是說(shuō),每一個(gè)數(shù)據(jù)表是靠自已的表名與其他表保持獨(dú)立,他們同屬一個(gè)數(shù)據(jù)庫(kù)文件中。數(shù)據(jù)庫(kù)中不允許有重名的數(shù)據(jù)表,因?yàn)閷?duì)數(shù)據(jù)表中數(shù)據(jù)的訪問(wèn)是通過(guò)表名來(lái)實(shí)現(xiàn)的。關(guān)系數(shù)據(jù)庫(kù)中各個(gè)數(shù)據(jù)表的獨(dú)立,使用戶在使用數(shù)據(jù)表的數(shù)據(jù)時(shí),可以簡(jiǎn)捷、方便地存取傳輸。下面介紹關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的基本概念。1.3.1關(guān)系模型1.關(guān)系術(shù)語(yǔ)⑴關(guān)系(表)一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系都有一個(gè)關(guān)系名(表名)。其格式為:表名(字段名1,字段名2,……字段名n)。表1-1所示的“學(xué)生”關(guān)系的關(guān)系模式可表示為“學(xué)生(學(xué)號(hào)、姓名、性別、專業(yè)、出生日期……)”。⑵元組(記錄)二維表中每一行稱為一個(gè)元組(除第一行外),也稱為一個(gè)記錄。如表1-1包含多個(gè)元組(多個(gè)記錄)。⑶屬性(字段)二維表每一列稱為屬性,每一列有一個(gè)屬性名(字段名),是數(shù)據(jù)庫(kù)中可以命名的最小邏輯數(shù)據(jù)單位。如“學(xué)生”表有學(xué)號(hào)、姓名、性別、專業(yè)、出生日期等字段名。在建立表結(jié)構(gòu)時(shí)都要確定每個(gè)字段的字段、數(shù)據(jù)類(lèi)型和寬度。⑷域域?qū)傩哉f(shuō)明字段的取值范圍。如表1-1中的“入學(xué)成績(jī)”字段的取值范圍可能是0~900間。而“姓名”字段的值可以取任意字符。⑸關(guān)鍵字其值能惟一標(biāo)識(shí)關(guān)系中每一個(gè)元組的字段或字段集。如表1-1中的“學(xué)號(hào)”可作為標(biāo)識(shí)一條記錄的關(guān)鍵字,而“姓名”字段則不能作為起唯一標(biāo)識(shí)作用的關(guān)鍵字,因?yàn)樗赡苡型"释獠筷P(guān)鍵字如果表中的一個(gè)字段不是本表的主關(guān)鍵字或侯選關(guān)鍵字,而是另一個(gè)表的主關(guān)鍵字或侯選關(guān)鍵字,該字段稱為外部關(guān)鍵字。2.關(guān)系的特點(diǎn)雖然說(shuō)關(guān)系模型是一張二維表,但并不是日常工作中所有的表都滿足關(guān)系模型,在關(guān)系模型中對(duì)關(guān)系有一定的要求,必須具有如下特點(diǎn):⑴數(shù)據(jù)表中不能有相同的字段,而且每個(gè)字段必須是不能再分割的數(shù)據(jù)單元,即表中不能再包含表。表1-2不是二維表,不能直接作為關(guān)系存放。因?yàn)榛A(chǔ)課、專業(yè)課還可再分為高等數(shù)學(xué)、工程數(shù)學(xué)、英語(yǔ);計(jì)算機(jī)應(yīng)用、C語(yǔ)言、網(wǎng)絡(luò)基礎(chǔ),而去掉基礎(chǔ)課、專業(yè)課項(xiàng)就可以了,如表1-3所示。表1-2學(xué)生成績(jī)表姓名基礎(chǔ)課專業(yè)課高等數(shù)學(xué)工程數(shù)學(xué)英語(yǔ)計(jì)算機(jī)應(yīng)用C語(yǔ)言網(wǎng)絡(luò)基礎(chǔ)張三867885886779⑵數(shù)據(jù)表中不允許有完全相同的記錄,即冗余。⑶數(shù)據(jù)表中記錄的次序無(wú)關(guān)緊要。即任意交換兩行的位置并不影響數(shù)據(jù)的實(shí)際含義。正如我們所說(shuō)的“排名不分先后“。⑷數(shù)據(jù)表中列的次序無(wú)關(guān)緊要。任意交換兩列的位置也不影響數(shù)據(jù)的實(shí)際含義。如表1-1中的出生日期和專業(yè),那一項(xiàng)在前都沒(méi)有關(guān)系。3.關(guān)系規(guī)范化關(guān)系規(guī)范化的基本思想是逐步消除數(shù)據(jù)依賴關(guān)系中不合適的部分,并使依賴于同一個(gè)數(shù)學(xué)模型的數(shù)據(jù)達(dá)到有效地分離。關(guān)系規(guī)范化理論認(rèn)為,關(guān)系數(shù)據(jù)庫(kù)中的每一個(gè)關(guān)系都需要進(jìn)行規(guī)范化,使其達(dá)到一定的規(guī)范化程度,從而提高數(shù)據(jù)的結(jié)構(gòu)化、一致性和可操作性。關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系必須滿足一定要求,按滿足不同程度要求的關(guān)系稱為不同范式。滿足最低要求的稱為第一范式,簡(jiǎn)稱1NF,在第一范式中進(jìn)一步滿足一些要求的稱為第二范式,其余范式依此類(lèi)推。第一范式是關(guān)系數(shù)據(jù)庫(kù)的關(guān)系模式應(yīng)滿足的最起碼的條件。(1)第一范式(1NF)第一范式的關(guān)系應(yīng)滿足的基本條件是每個(gè)元組中的每一個(gè)分量是不可再分割的數(shù)據(jù)。例如,表1-2所示的關(guān)系不符合第一范式(因?yàn)榛A(chǔ)課和專業(yè)課還可以分成高等數(shù)學(xué)、工程數(shù)學(xué)等),表1-3是在表1-2的基礎(chǔ)上經(jīng)過(guò)規(guī)范化處理后,滿足第一范式。表1-3學(xué)生成績(jī)表學(xué)號(hào)姓名高等數(shù)學(xué)工程數(shù)學(xué)英語(yǔ)計(jì)算機(jī)應(yīng)用C語(yǔ)言網(wǎng)絡(luò)基礎(chǔ)0001張三867885886779(2)第二范式(2NF)第二范式是指這種關(guān)系不僅滿足第一范式,而且所有非主屬性完全依賴于其主關(guān)鍵字。例如表1-4表示的關(guān)系雖然滿足第一范式,但不滿足第二范式,因?yàn)樗姆侵鲗傩圆煌耆蕾囉谟蓪W(xué)號(hào)和課程號(hào)組成的主關(guān)鍵字,即姓名和性別只依賴于學(xué)號(hào),課程名也只依賴于課程號(hào)。這種關(guān)系會(huì)引起數(shù)據(jù)冗余和更新異常,當(dāng)添加新的課程時(shí),可能缺少相應(yīng)的學(xué)號(hào),導(dǎo)致無(wú)法添加;當(dāng)刪除某學(xué)生信息時(shí),可能會(huì)引起課程數(shù)據(jù)的丟失。只能將其分解為多個(gè)2NF關(guān)系模式。表1-4學(xué)生與課程表學(xué)號(hào)姓名性別課程號(hào)課程名0001張三男101高等數(shù)學(xué)可將表1-4分解為如下3個(gè)2NF關(guān)系。學(xué)生關(guān)系:學(xué)號(hào)、姓名、性別。課程關(guān)系:課程號(hào)、課程名。學(xué)生選課關(guān)系:學(xué)號(hào)、課程號(hào)。(3)第三范式(3NF)第三范式是指任何一種關(guān)系不僅滿足第二范式,而且它的任何一個(gè)非主屬性都不依賴于任何主關(guān)鍵字。如表1-5所示的關(guān)系滿足第二范式,但不滿足第三范式。因?yàn)榘嘀魅涡彰蕾囉诎嗉?jí)號(hào)(班級(jí)號(hào)唯一確定該班的班主任姓名),班主任電話又依賴于班主任姓名,即班主任電話傳遞依賴于班級(jí)號(hào)。這種關(guān)系也存在數(shù)據(jù)冗余和更新異常問(wèn)題。表1-5班級(jí)與班主任表班級(jí)號(hào)系部名人數(shù)班主任姓名班主任電話0001計(jì)算機(jī)系45李四88886666必須將其分解為下列兩關(guān)系,才能消除傳遞依賴關(guān)系,滿足第三范式。班級(jí)關(guān)系:班級(jí)號(hào)、系部名、人數(shù)、班主任姓名。班主任關(guān)系:班主任姓名、班主任電話。第三范式消除了插入、刪除異常和數(shù)據(jù)冗余、修改復(fù)雜等問(wèn)題,已經(jīng)是比較規(guī)范的關(guān)系。關(guān)系的規(guī)范可劃分為6個(gè)等級(jí),除上述的三種范式外,還有BC范式、第四范式、第五范式。通常情況下,只要把關(guān)系規(guī)范到第三范式標(biāo)準(zhǔn)就可以滿足要求,并非是關(guān)系規(guī)范的等級(jí)越高就越好。1.3.2關(guān)系運(yùn)算對(duì)關(guān)系數(shù)據(jù)庫(kù)進(jìn)行查詢時(shí),要找到需要的數(shù)據(jù),就要對(duì)關(guān)系進(jìn)行一定的關(guān)系運(yùn)算。關(guān)系的基本運(yùn)算分為兩類(lèi):一類(lèi)是傳統(tǒng)的集合運(yùn)算(并、交、差等運(yùn)算),另一類(lèi)是專門(mén)的關(guān)系運(yùn)算(選取、投影和連接等關(guān)系運(yùn)算)。1.傳統(tǒng)的集合運(yùn)算⑴并(R∪S)兩個(gè)相同結(jié)構(gòu)關(guān)系的并是由屬于兩個(gè)關(guān)系的元組組成的集合。如,有兩個(gè)“學(xué)生”關(guān)系R、S,分另存放兩個(gè)班的學(xué)生基本信息,把第二個(gè)班的學(xué)生記錄追加到第一個(gè)班的學(xué)生記錄后面就是這兩個(gè)關(guān)系的并集。⑵差(R-S)設(shè)有兩個(gè)相同結(jié)構(gòu)的關(guān)系R和S,R差S的結(jié)果是由屬于R但不屬于S的元組組成的集合,即差運(yùn)算的結(jié)果是從R中去掉S中也有的元組。例如,在選修課程時(shí),每個(gè)學(xué)生都可以選修多門(mén)課程,形成一張選修ACCESS課程的表和一張選修VB課程的表,如果要查找選修了ACCESS課程而沒(méi)有選修VB課程的同學(xué),其操作就是關(guān)系的差。⑶交(R∩S)課程兩個(gè)相同結(jié)構(gòu)的關(guān)系R和S,它們的交的結(jié)果是既屬于R又屬于S的元組的集合,交運(yùn)算的結(jié)果是R和S的共同元組。例,在選修ACCESS和VB課程的表中找出既選修了ACCESS又選修了VB的同學(xué),就得采用關(guān)系交。2.專門(mén)的關(guān)系運(yùn)算⑴選?。ㄟx擇)在指定的關(guān)系(表)中,按給定的條件選取其中的若干個(gè)元組(記錄)組成一個(gè)新的關(guān)系(二維表),稱為選取運(yùn)算(即選出滿足條件的若干行)。選取是從行的角度進(jìn)行的運(yùn)算,即從水平方向抽取記錄。經(jīng)過(guò)選擇運(yùn)算得到的結(jié)果可以形成新的關(guān)系,其關(guān)系模式不變,但其中的元組是原關(guān)系的一個(gè)子集。例如,在表中1-1找出“計(jì)算機(jī)應(yīng)用”專業(yè)的“男”同學(xué)的記錄,所進(jìn)行的查詢操作就是選取運(yùn)算。其運(yùn)算結(jié)果如表1-6所示.。表1-6選取運(yùn)算結(jié)果學(xué)號(hào)姓名性別專業(yè)出生日期是否黨員入學(xué)成績(jī)籍貫相片簡(jiǎn)歷20070101趙文男計(jì)算機(jī)應(yīng)用1988-2-28是500廣東20070102徐逸華男計(jì)算機(jī)應(yīng)用1987-6-7否630河南⑵投影在指定的關(guān)系中,選取部分字段(列或?qū)傩裕┖蠼M成一個(gè)新關(guān)系,稱為投影運(yùn)算(即選擇若干列,除去其他列)。投影是從列的角度進(jìn)行的運(yùn)算,相當(dāng)于對(duì)關(guān)系進(jìn)行垂直分解。例如,在表1-1關(guān)系中對(duì)學(xué)號(hào)、姓名和性別進(jìn)行投影,得到的新關(guān)系中只包括三個(gè)字段,如表1-7所示。表1-7投影運(yùn)算結(jié)果學(xué)號(hào)姓名性別20070101趙文男20070102徐逸華男20070103郭娟女20070201錢(qián)途男20070202高涵男20070203李曉嗚女20070301胡天放男20070302徐華女20070303姜小軍男20070401李敏女⑶連接(聯(lián)接)連接運(yùn)算是在兩個(gè)關(guān)系中取滿足指定字段間一定條件的那些元組,組成一個(gè)新關(guān)系(即兩張表按一定條件合成一張新表)。選取和投影運(yùn)算的操作對(duì)象是一張表,相當(dāng)于對(duì)二維表進(jìn)行切割。連接運(yùn)算的操作對(duì)象是兩張二維表。如果對(duì)多張二維表連接,則先進(jìn)行兩兩連接。1.4數(shù)據(jù)庫(kù)設(shè)計(jì)基礎(chǔ)數(shù)據(jù)庫(kù)設(shè)計(jì)是指針對(duì)一個(gè)數(shù)據(jù)庫(kù)應(yīng)用問(wèn)題,應(yīng)構(gòu)造幾個(gè)關(guān)系模式,每個(gè)關(guān)系由哪些屬性組成,即如何構(gòu)造適合于它的數(shù)據(jù)模式,這是關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的問(wèn)題。而要為了高效迅速地創(chuàng)建一個(gè)結(jié)構(gòu)合理、功能完善的數(shù)據(jù)庫(kù),就必須掌握數(shù)據(jù)庫(kù)設(shè)計(jì)的一些基本步驟和設(shè)計(jì)方法。1.4.1數(shù)據(jù)庫(kù)設(shè)計(jì)的基本原則1.關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)應(yīng)遵循多表少字段的原則一個(gè)表描述一個(gè)實(shí)體或?qū)嶓w間的一種聯(lián)系??梢詫⒁粋€(gè)復(fù)雜的表根據(jù)需要分成若干個(gè)相對(duì)獨(dú)立的小表,這樣可使數(shù)據(jù)的組織工作和維護(hù)工作簡(jiǎn)單。例如,在學(xué)生信息數(shù)據(jù)庫(kù)中,我們把它分成三個(gè)獨(dú)立的表,分別是“學(xué)生信息”表、“成績(jī)”表和“課程”表。2.盡量避免在表間出現(xiàn)重復(fù)字段除保證表中有反映與其他表之間存在聯(lián)系的外部關(guān)鍵字外,應(yīng)盡量避免在表之間出現(xiàn)重復(fù)字段。目的是使數(shù)據(jù)的冗余盡可能地減少。例如,在課程表中有課程號(hào)和課程名稱字段,在成績(jī)表中只要有課程號(hào)字段即可,而沒(méi)必要再設(shè)課程名稱字段。3.表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素表中的數(shù)據(jù)不應(yīng)包括可通過(guò)計(jì)算得到的“二次數(shù)據(jù)”或多項(xiàng)數(shù)據(jù)的給合。例如,在學(xué)生基本信息表中已有出生日期字段,就不應(yīng)再設(shè)年齡字段,因?yàn)槟挲g可通過(guò)簡(jiǎn)單的日期運(yùn)算函數(shù)得到。4.表與表之間的聯(lián)系應(yīng)通過(guò)相同的主關(guān)鍵字建立。例如,學(xué)生信息表與學(xué)生成績(jī)表間可通過(guò)學(xué)號(hào)字段建立聯(lián)系。1.4.2數(shù)據(jù)庫(kù)設(shè)計(jì)的基本過(guò)程數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞,將直接影響到日后對(duì)數(shù)據(jù)庫(kù)的操作。如能設(shè)計(jì)出一個(gè)結(jié)構(gòu)合理的數(shù)據(jù)庫(kù),會(huì)給后面的數(shù)據(jù)庫(kù)管理打下良好的基礎(chǔ)。下面是數(shù)據(jù)庫(kù)設(shè)計(jì)的基本過(guò)程。1.需求分析需求分析是指分析用戶的需求,包括信息需求和處理要求。信息需求指用戶要從應(yīng)用系統(tǒng)中得到信息的內(nèi)容與性質(zhì),即在數(shù)據(jù)庫(kù)中應(yīng)存儲(chǔ)什么數(shù)據(jù)。處理需求則是用戶要完成什么樣的處理,對(duì)處理的響應(yīng)時(shí)間有什么要求,采用什么樣的處理方式。2.確定需要的表和各表的字段根據(jù)需求分析,確定數(shù)據(jù)庫(kù)中所包含的表及相應(yīng)的結(jié)構(gòu),這是數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中技巧性最強(qiáng)的一步。表和字段的設(shè)計(jì)都應(yīng)遵循數(shù)據(jù)庫(kù)設(shè)計(jì)的原則。3.確定關(guān)系設(shè)計(jì)數(shù)據(jù)庫(kù)的目的實(shí)質(zhì)上是設(shè)計(jì)出滿足實(shí)際應(yīng)用需求的實(shí)際關(guān)系模型。確定關(guān)系模型的目的是使表結(jié)構(gòu)合理,不僅能存儲(chǔ)所需要的實(shí)體信息,而且還能反映出實(shí)體間客觀存在的關(guān)系。即確定一個(gè)表中的數(shù)據(jù)和其他表中的數(shù)據(jù)有何真正意義上的關(guān)聯(lián)。如學(xué)生基本信息表與學(xué)生成績(jī)表的聯(lián)系、課程表與學(xué)生成績(jī)表的聯(lián)系是一對(duì)多聯(lián)系。4.設(shè)計(jì)求精設(shè)計(jì)求精是設(shè)計(jì)一個(gè)好數(shù)據(jù)庫(kù)的關(guān)鍵和保障。在數(shù)據(jù)庫(kù)設(shè)計(jì)的每一階段的后期都要經(jīng)過(guò)用戶的確認(rèn),如不能滿足要求,則要返回前面的一個(gè)階段或幾個(gè)階段進(jìn)行調(diào)整和修改,整個(gè)過(guò)程實(shí)際上是一個(gè)不斷返回修改、調(diào)整的迭代過(guò)程。第二章Access2003應(yīng)用基礎(chǔ)本章學(xué)習(xí)目標(biāo)

MicrosoftAccess是MicrosoftOffice套裝軟件之一。是基于WINDOWS平臺(tái)上的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它界面友好、操作簡(jiǎn)便、功能全面。通過(guò)本章的學(xué)習(xí),應(yīng)該了解Access2003數(shù)據(jù)庫(kù)開(kāi)發(fā)環(huán)境,掌握Access2003開(kāi)發(fā)環(huán)境的基本操作,為后續(xù)各章的學(xué)習(xí)打下基礎(chǔ)。2.1Access2003簡(jiǎn)介

MicrosoftAccess是Microsoft公司推出的面向辦公自動(dòng)化、功能強(qiáng)大的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。自從20世紀(jì)90年代初推出Access1.0以來(lái),先后推出了Access1.1、Access2.0、Access7.0、Access97、Access2000、Access2002、Access2003、Access2005等版本,其功能也越來(lái)越強(qiáng)大,但操作反而更加簡(jiǎn)單方便。MicrosoftAccess是目前市場(chǎng)上一種優(yōu)秀的關(guān)系數(shù)據(jù)庫(kù)管理軟件,其主要有如下特點(diǎn)。

Access2003簡(jiǎn)單易學(xué),提供了許多可視化開(kāi)發(fā)工具,如向?qū)А⑸善?、設(shè)計(jì)器等,使用戶可以不編寫(xiě)任何代碼,也可以在短時(shí)間里開(kāi)發(fā)出一個(gè)功能強(qiáng)大的專業(yè)數(shù)據(jù)庫(kù)應(yīng)用程序。同時(shí)也為數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供了VBA程序設(shè)計(jì)語(yǔ)言,便于高級(jí)用戶開(kāi)發(fā)功能更完善的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。

Access2003具有與其他數(shù)據(jù)庫(kù)的良好接口,更可以支持多種數(shù)據(jù)類(lèi)型,在不同系統(tǒng)程序間的數(shù)據(jù)實(shí)現(xiàn)了相互傳遞,從而達(dá)到數(shù)據(jù)共享的目的。如與Word、Excel間的數(shù)據(jù)傳遞、導(dǎo)入、導(dǎo)出等。支持ODBC(開(kāi)放式數(shù)據(jù)庫(kù)連接)標(biāo)準(zhǔn)的SQL數(shù)據(jù)庫(kù)的數(shù)據(jù)。使用戶更方便地創(chuàng)建客戶/服務(wù)器數(shù)據(jù)庫(kù)。

Access2003允許創(chuàng)建能與Web數(shù)據(jù)進(jìn)行交互的數(shù)據(jù)訪問(wèn)頁(yè)。它提供了創(chuàng)建綁定數(shù)據(jù)HTML格式的Web頁(yè)的環(huán)境,可以將數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息直接快速地傳遞到Internet上,以實(shí)現(xiàn)與網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的數(shù)據(jù)資源共享。

Access2003可采用OLE技術(shù)方便地創(chuàng)建和編輯多媒體數(shù)據(jù)庫(kù),包括文本、聲音、圖像和視頻等對(duì)象。

Access2003引入了在關(guān)閉數(shù)據(jù)庫(kù)文件時(shí)“關(guān)閉壓縮數(shù)據(jù)庫(kù)”功能。用戶可以在關(guān)閉數(shù)據(jù)庫(kù)時(shí)選擇“關(guān)閉時(shí)壓縮”操作,讓系統(tǒng)自動(dòng)壓縮數(shù)據(jù)庫(kù)文件,從而實(shí)現(xiàn)節(jié)省存儲(chǔ)空間的目的。2.2Access2003的啟動(dòng)與退出

Access2003是Microsoftoffice2003套裝軟件之一。在安裝Microsoftoffice2003時(shí),只要選擇典型安裝,Access2003就會(huì)與Microsoftoffice2003的其他程序一起安裝到Windows系統(tǒng)中。其啟動(dòng)方法也與其他office軟件相同。

2.3Access2003的系統(tǒng)界面2.3.1Access2003系統(tǒng)用戶介面啟動(dòng)Access2003之后,進(jìn)入Access2003系統(tǒng)介面,如圖2-2所示。窗口分成兩個(gè)部分,分別是左邊的應(yīng)用程序窗格和右邊的任務(wù)窗格。

圖2-2Access2003系統(tǒng)介面1.標(biāo)題欄標(biāo)題欄位于屏幕介面的最上方,包含系統(tǒng)程序圖標(biāo)(控制菜單按鈕)、主程序的標(biāo)題、最小化按鈕、最大化按鈕和關(guān)閉按鈕5個(gè)對(duì)象。2.菜單欄菜單欄位于屏幕的第二行,它提供了Access2003的各種功能菜單。有文件、編輯、視圖、插入、工具、窗口和幫助7個(gè)菜單選項(xiàng)。當(dāng)單擊其中某一菜單項(xiàng)時(shí),可打開(kāi)該項(xiàng)的下拉菜單,在該下拉菜單下,首先顯示出常用的菜單選項(xiàng),過(guò)后將顯示與對(duì)應(yīng)操作相關(guān)的若干個(gè)菜單選項(xiàng),單擊某一子菜單項(xiàng)就可執(zhí)行一個(gè)操作。3.工具欄工具欄位于菜單欄的下方,以命令按鈕的形式為用戶提供了數(shù)據(jù)庫(kù)的常用命令,以方便操作。Access2003系統(tǒng)在不同的情況下,會(huì)自動(dòng)出現(xiàn)不同的工具欄。如當(dāng)前打開(kāi)的是數(shù)據(jù)庫(kù),會(huì)出現(xiàn)“數(shù)據(jù)庫(kù)”工具欄;打開(kāi)的是窗體時(shí),則出現(xiàn)“窗體視圖”或“窗體設(shè)計(jì)”工具欄及“格式”工具欄。4.狀態(tài)欄狀態(tài)欄位于Access2003系統(tǒng)介面的最下方,顯示當(dāng)前操作的相關(guān)信息,幫助用戶了解當(dāng)前操作狀態(tài)。2.3.2數(shù)據(jù)庫(kù)窗口“數(shù)據(jù)庫(kù)”窗口是Access2003文件的命令中心。在這窗口中可使用Access2003數(shù)據(jù)庫(kù)中的任何對(duì)象。當(dāng)打開(kāi)或創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)時(shí),都會(huì)打開(kāi)“數(shù)據(jù)庫(kù)”窗口。如圖2-3所示。

1.?dāng)?shù)據(jù)庫(kù)窗口的組成(1)標(biāo)題欄:用于顯示當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)名和文件格式。圖2-3數(shù)據(jù)庫(kù)窗口(2)工具欄:有“打開(kāi)“、“設(shè)計(jì)”、“新建”按鈕,以方便用戶對(duì)數(shù)據(jù)庫(kù)對(duì)象的操作。其中:“打開(kāi)”是打開(kāi)一個(gè)數(shù)據(jù)庫(kù)對(duì)象;“設(shè)計(jì)”是對(duì)數(shù)據(jù)庫(kù)對(duì)象的的修改;“新建”是新建一個(gè)數(shù)據(jù)庫(kù)對(duì)象。工具欄還包含“大圖標(biāo)”、“小圖標(biāo)”、“列表”和“詳細(xì)信息”按鈕,用于改變數(shù)據(jù)庫(kù)對(duì)象的顯示方式。(3)對(duì)象:Access2003的對(duì)象包括表、查詢、窗體、報(bào)表、頁(yè)、宏、模塊七個(gè)對(duì)象,每一對(duì)象完成不同的數(shù)據(jù)庫(kù)功能。(4)組:在組欄中可包含一個(gè)或多個(gè)組。組用于存放數(shù)據(jù)庫(kù)對(duì)象的快捷方式,以便在一個(gè)組窗口中顯示不同類(lèi)型的對(duì)象。組中有一個(gè)默認(rèn)的收藏夾組。也可以隨時(shí)添加新的組。(5)對(duì)象列表框:對(duì)象列表框框位于數(shù)據(jù)庫(kù)窗口的右邊,用于顯示當(dāng)前數(shù)據(jù)庫(kù)中所選對(duì)象類(lèi)型中的所有以及該對(duì)象的創(chuàng)建方法。如圖2-3中所示的“學(xué)生信息”數(shù)據(jù)庫(kù)中,列出了所選表對(duì)象的所有表及表的創(chuàng)建方法。2.?dāng)?shù)據(jù)庫(kù)對(duì)象

Access2003中所有的對(duì)象都存放在同一個(gè)數(shù)據(jù)庫(kù)中,他們隨數(shù)據(jù)庫(kù)的打開(kāi)而打開(kāi)。不同的對(duì)象在數(shù)據(jù)庫(kù)中起著不同的作用。下面對(duì)他們作簡(jiǎn)單的介紹。

(1)表:表是數(shù)據(jù)庫(kù)中存儲(chǔ)數(shù)據(jù)的對(duì)象,是整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ),也是數(shù)據(jù)庫(kù)中其他對(duì)象的數(shù)據(jù)源。在開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)之前,開(kāi)發(fā)者首要工作是根據(jù)分析應(yīng)用系統(tǒng)數(shù)據(jù)的需求,并根據(jù)分析的結(jié)果建立適應(yīng)于系統(tǒng)要求的表結(jié)構(gòu)。表對(duì)象中可以包含多個(gè)表,用戶可在把一個(gè)復(fù)雜的表分成若干個(gè)相對(duì)獨(dú)立的表,通過(guò)表建立表間聯(lián)系,將不同表中的數(shù)據(jù)聯(lián)系起來(lái),以實(shí)現(xiàn)多表操作。在數(shù)據(jù)庫(kù)窗口中,單擊“表”對(duì)象,數(shù)據(jù)庫(kù)中所包含的表將全部顯示在數(shù)據(jù)庫(kù)窗口中,選定某個(gè)表后,單擊“打開(kāi)”按鈕,整個(gè)表的內(nèi)容被顯示出來(lái)。如圖2-4所示。圖2-4表對(duì)象窗口(2)查詢:查詢是數(shù)據(jù)庫(kù)的主要功能之一。一個(gè)性能優(yōu)良的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)應(yīng)該能根據(jù)用戶提出的各種數(shù)據(jù)查詢要求進(jìn)行快速有效的查詢,并輸出所有查詢的結(jié)果。查詢是以表為數(shù)據(jù)源的一個(gè)虛表,它依賴于表而存在。在Access2003中,查詢是專門(mén)用于檢索和查看數(shù)據(jù)庫(kù)的記錄對(duì)象。利用查詢可以從一個(gè)表或多個(gè)表中檢索符合條件的記錄,并把查詢結(jié)果集中起來(lái),形成一個(gè)動(dòng)態(tài)的數(shù)據(jù)源,供用戶使用。同時(shí)還可以利用查詢實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)計(jì)分析與計(jì)算等。在數(shù)據(jù)庫(kù)窗口中,選擇“查詢”對(duì)象,將顯示出根據(jù)不同需要所有建立的查詢文件,如圖2-5所示。圖2-5查詢對(duì)象窗口(3)窗體:窗體類(lèi)似于在Windows環(huán)境下的應(yīng)用程序窗口,是一種用于輸入和顯示數(shù)據(jù)庫(kù)中表的數(shù)據(jù)對(duì)象,是應(yīng)用程序與用戶在屏幕上進(jìn)行交流的特定的窗口。利用窗體,可以設(shè)計(jì)各種應(yīng)用程序。在數(shù)據(jù)庫(kù)窗口中選擇“窗體”對(duì)象,將顯示根據(jù)不同需要建立的窗體,如圖2-6所示。雙擊的某個(gè)窗體,便執(zhí)行該窗體,如圖2-7所示。圖2-6窗體對(duì)象窗口圖2-7正在執(zhí)行的窗體

(4)報(bào)表:報(bào)表是對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)實(shí)現(xiàn)輸出的一種形式。用戶可以在一個(gè)表和查詢或多個(gè)表和多個(gè)查詢的基礎(chǔ)上創(chuàng)建一個(gè)報(bào)表。報(bào)表功能不僅可以將對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)分析、處理結(jié)果打印輸出,還可以對(duì)要輸出的數(shù)據(jù)完成分類(lèi)、分組匯總等。Access2003中,報(bào)表對(duì)象允許用戶不用編程,僅通過(guò)可視化的直觀操作就可以輕松地設(shè)計(jì)報(bào)表。在數(shù)據(jù)庫(kù)窗口中選擇“報(bào)表”對(duì)象,將顯示報(bào)表對(duì)象窗口。如圖2-8所示。圖2-8報(bào)表對(duì)象窗口

(5)頁(yè):頁(yè)又稱為數(shù)據(jù)訪問(wèn)頁(yè)(Web),是數(shù)據(jù)庫(kù)中的一種特定的數(shù)據(jù)庫(kù)對(duì)象,它可以實(shí)現(xiàn)因特網(wǎng)與用戶數(shù)據(jù)庫(kù)中的數(shù)據(jù)相互訪問(wèn)。在Access2003中,用戶可以利用數(shù)據(jù)訪問(wèn)頁(yè)將數(shù)據(jù)信息編輯成網(wǎng)頁(yè)形式,然后將其發(fā)送到因特網(wǎng)上,以實(shí)現(xiàn)快速的數(shù)據(jù)共享,通過(guò)瀏覽器可以輸入、編輯、瀏覽數(shù)據(jù)庫(kù)中的記錄。在數(shù)據(jù)庫(kù)窗口中選擇“頁(yè)”對(duì)象,可進(jìn)入頁(yè)窗口,如圖2-9所示。圖2-9頁(yè)對(duì)象窗口(6)宏:宏是指能自動(dòng)執(zhí)行某種操作的命令,是一個(gè)或多個(gè)操作的集合。一個(gè)宏包含一個(gè)或多個(gè)操作命令,其中每個(gè)操作都能實(shí)現(xiàn)某個(gè)特定的功能。例如,打開(kāi)某個(gè)窗體、生成報(bào)表等。利用宏,可以不編寫(xiě)任何代碼,就能完成對(duì)數(shù)據(jù)庫(kù)的一系列操作,甚至設(shè)計(jì)應(yīng)用程序。宏對(duì)象窗口如圖2-10所示。圖2-10宏對(duì)象窗口(7)模塊:模塊對(duì)象是用VisualBasicforApplication(簡(jiǎn)稱為宏語(yǔ)言VBA)程序語(yǔ)言編寫(xiě)的程序的集合。是應(yīng)用程序開(kāi)發(fā)人員的工作環(huán)境,用戶可以利用宏語(yǔ)言編寫(xiě)程序的方式完成對(duì)數(shù)據(jù)庫(kù)的所有管理任務(wù)。利用模塊可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)更復(fù)雜的操作。

Access2003提供的上述七種對(duì)象分工極為明確,從功能和彼此間的關(guān)系角度考慮,這七個(gè)對(duì)象可分為三個(gè)層次:第一層次是表對(duì)象和查詢對(duì)象,用于在數(shù)據(jù)庫(kù)中存儲(chǔ)和查詢數(shù)據(jù)。第二層次是窗體對(duì)象、報(bào)表對(duì)象和數(shù)據(jù)訪問(wèn)頁(yè)對(duì)象,它們是直接面向用戶的對(duì)象,用于數(shù)據(jù)的輸入輸出和應(yīng)用系統(tǒng)的驅(qū)動(dòng)控制。第三個(gè)層次是宏對(duì)象和模塊對(duì)象,它們是代碼類(lèi)對(duì)象,用于通過(guò)組織宏操作或編寫(xiě)程序來(lái)完成復(fù)雜的數(shù)據(jù)庫(kù)管理工作并使得數(shù)據(jù)庫(kù)管理工作自動(dòng)化。第三章創(chuàng)建數(shù)據(jù)庫(kù)

本章學(xué)習(xí)目標(biāo)數(shù)據(jù)庫(kù)是與特定主題或目的相關(guān)的數(shù)據(jù)的集合,是Access2003的基礎(chǔ)數(shù)據(jù)源。在Access2003中,數(shù)據(jù)庫(kù)是包含多個(gè)數(shù)據(jù)庫(kù)對(duì)象的容器。如前所述的表、查詢、窗體、報(bào)表、頁(yè)、宏和模塊等對(duì)象,都集中存儲(chǔ)在一個(gè)擴(kuò)展名為.MDB的數(shù)據(jù)庫(kù)文件,即數(shù)據(jù)庫(kù)的對(duì)象不是獨(dú)立存在的。Access2003中,把一個(gè)應(yīng)用系統(tǒng)的所有對(duì)象存放于一個(gè)數(shù)據(jù)庫(kù)中。所以,在設(shè)計(jì)Access2003數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)前,必須先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),然后再根據(jù)設(shè)計(jì)要求添加對(duì)象。通過(guò)本章的學(xué)習(xí),應(yīng)掌握數(shù)據(jù)庫(kù)的創(chuàng)建、打開(kāi)、維護(hù)和管理方法。3.1創(chuàng)建數(shù)據(jù)庫(kù)啟動(dòng)Access2003后,用戶所要做的第一件事是對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。如果需要使用的數(shù)據(jù)庫(kù)已建立好,則可將其打開(kāi),否則,就要建立。Access2003提供了三種建立數(shù)據(jù)庫(kù)的方法:一是首先建立一個(gè)空白數(shù)據(jù)庫(kù),然后再根據(jù)實(shí)際需要添加所需的表、查詢、窗體等對(duì)象。利用這種方法,可以創(chuàng)建出用戶需要的各種數(shù)據(jù)庫(kù),但需要分別定義各數(shù)據(jù)庫(kù)對(duì)象。二是根據(jù)現(xiàn)有數(shù)據(jù)庫(kù)文件新建數(shù)據(jù)庫(kù)。即在已有的數(shù)據(jù)庫(kù)文件基礎(chǔ)上建立新的數(shù)據(jù)庫(kù)。這種方法可以得到一個(gè)數(shù)據(jù)庫(kù)備份,適合于建立的新數(shù)據(jù)庫(kù)與原數(shù)據(jù)庫(kù)相似時(shí)使用。三是利用模板建立數(shù)據(jù)庫(kù)。該方法是根據(jù)系統(tǒng)提供的數(shù)據(jù)模板,在數(shù)據(jù)庫(kù)向?qū)У闹甘鞠?,進(jìn)行一些簡(jiǎn)單的操作,就能快速地建立一個(gè)數(shù)據(jù)庫(kù)。3.1.1建立空數(shù)據(jù)庫(kù)實(shí)例3-1:創(chuàng)建一個(gè)名為“學(xué)生信息”的空數(shù)據(jù)庫(kù)。操作過(guò)程如下:

(1)單擊“文件”→“新建”命令,或單擊工具欄的“新建”按鈕,打開(kāi)“新建文件”任務(wù)對(duì)話框,如圖3-1所示。

(2)選擇對(duì)話框右邊“新建文件”欄下的“空數(shù)據(jù)庫(kù)”選項(xiàng),打開(kāi)“文件新建數(shù)據(jù)庫(kù)”對(duì)話框。如圖3-2所示。

(3)在“文件新建數(shù)據(jù)庫(kù)”對(duì)話框中的“文件名”輸入框輸入“學(xué)生信息”,并指定保存數(shù)據(jù)庫(kù)文件的位置,再單擊“創(chuàng)建”按鈕,將創(chuàng)建并打開(kāi)名為“學(xué)生信息”的數(shù)據(jù)庫(kù),如圖3-3所示。從窗口可見(jiàn),數(shù)據(jù)庫(kù)中沒(méi)有任何對(duì)象,因?yàn)閯?chuàng)建的是一個(gè)空數(shù)據(jù)庫(kù)。3.1.2利用現(xiàn)有文件創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例3-2:利用“學(xué)生信息”數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)名為“學(xué)生信息1”的數(shù)據(jù)庫(kù)。操作過(guò)程如下:

(1)單擊“文件”→“新建”命令,或單擊工具欄的“新建”按鈕,打開(kāi)“新建文件”任務(wù)對(duì)話框,如圖3-1所示。

(2)選擇對(duì)話框右邊“新建文件”欄下的“根據(jù)現(xiàn)有文件…”選項(xiàng),打開(kāi)“根據(jù)現(xiàn)有文件新建”對(duì)話框。

(3)選擇已有的數(shù)據(jù)庫(kù)文件,如“學(xué)生信息”,單擊“創(chuàng)建”按鈕,顯示“安全警告”對(duì)話框,如圖3-4所示,單擊“打開(kāi)”按鈕,則創(chuàng)建并打開(kāi)名為“學(xué)生信息1”的數(shù)據(jù)庫(kù)窗口。3.1.3利用向?qū)?chuàng)建數(shù)據(jù)庫(kù)為了方便用戶操作,Access2003提供了十個(gè)行業(yè)的通用數(shù)據(jù)庫(kù)模板,用戶可根據(jù)需要,以這些數(shù)據(jù)庫(kù)模板為基礎(chǔ),利用向?qū)?,快速地?chuàng)建符合要求的數(shù)據(jù)庫(kù)。實(shí)例3-3:利用系統(tǒng)提供的“聯(lián)系人管理”模板創(chuàng)建一個(gè)“通信錄”數(shù)據(jù)庫(kù)。操作過(guò)程如下:

(1)單擊“文件”→“新建”命令,或單擊工具欄的“新建”按鈕,打開(kāi)“新建文件”任務(wù)對(duì)話框,如圖3-1所示

(2)選擇對(duì)話框右邊“新建文件”欄下的“本機(jī)上的模板…”選項(xiàng),然后在模板窗口中選擇“數(shù)據(jù)庫(kù)”標(biāo)簽,打開(kāi)模板對(duì)話框,如圖3-5所示。圖3-5模板數(shù)據(jù)庫(kù)選項(xiàng)窗口(3)從“數(shù)據(jù)庫(kù)”選項(xiàng)卡中選擇“聯(lián)系人管理”模板,單擊“確定”按鈕,打開(kāi)“文件新建數(shù)據(jù)庫(kù)”對(duì)話框,如圖3-2所示。

(4)在“文件名”輸入框輸入數(shù)據(jù)庫(kù)名稱“通信錄”,單擊“創(chuàng)建”按鈕,打開(kāi)數(shù)據(jù)庫(kù)向?qū)?duì)話框,對(duì)話框中顯示了新數(shù)據(jù)庫(kù)將存儲(chǔ)的信息(聯(lián)系信息、通話信息),如圖3-6所示。圖3-6聯(lián)系人數(shù)據(jù)庫(kù)存儲(chǔ)信息窗口

(5)單擊“下一步”按鈕,數(shù)據(jù)庫(kù)向?qū)э@示出新建數(shù)據(jù)庫(kù)中將包含的表和表中所包含的字段,如圖3-7所示。

(6)在數(shù)據(jù)庫(kù)向?qū)Т翱谥械摹皵?shù)據(jù)庫(kù)中的表”列表框中選擇所需的表,如“聯(lián)系信息”,再在“表中的字段”列表框中選擇所需字段,其中,用斜體顯示的字段是可選字段,其余是必選字段(表中所選字段不一定完全與用戶要求相符,可在數(shù)據(jù)庫(kù)建立完成后,將其打開(kāi),并對(duì)其進(jìn)行修改)。選取好字段后,再單擊“下一步”按鈕,打開(kāi)“屏幕顯示模式”對(duì)話框,如圖3-8所示。

(7)在圖3-9中選擇報(bào)表格式后,單擊“下一步”,打開(kāi)確定數(shù)據(jù)庫(kù)標(biāo)題窗口,如圖3-10所示。

圖3-7新建數(shù)據(jù)庫(kù)包含表和字段窗口圖3-8屏幕顯示樣式選擇窗口圖3-9確定打印報(bào)表格式窗口

(8)在圖3-9中選擇報(bào)表格式后,單擊“下一步”,打開(kāi)確定數(shù)據(jù)庫(kù)標(biāo)題窗口,如圖3-10所示。圖3-10確定數(shù)據(jù)庫(kù)標(biāo)題窗口

(9)在確定數(shù)據(jù)庫(kù)標(biāo)題窗口中,首先確定數(shù)據(jù)庫(kù)標(biāo)題,例如“通信錄”,然后確定打印報(bào)表是否加上圖片,若需要加上圖片,則選中“是的,我要包含一幅圖片”復(fù)選框,再單“圖片”按鈕,插入圖片,被插入的圖片將出現(xiàn)在報(bào)表左上角位置,最后單擊“下一步”,打開(kāi)啟動(dòng)數(shù)據(jù)庫(kù)窗口,如圖3-11所示。

(10)選擇“是的,啟動(dòng)該數(shù)據(jù)庫(kù)”復(fù)選框,單擊“完成”按鈕,進(jìn)入數(shù)據(jù)庫(kù)操作窗口,如圖3-12所示。窗口中提供了數(shù)據(jù)庫(kù)的多項(xiàng)操作,單擊其中的某一按鈕,便可進(jìn)行相應(yīng)的操作。到目前為止,一個(gè)包含表、窗體、報(bào)表等數(shù)據(jù)庫(kù)對(duì)象的數(shù)據(jù)庫(kù)創(chuàng)建結(jié)束。圖3-11啟動(dòng)數(shù)據(jù)庫(kù)窗口圖3-12啟動(dòng)后的數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)窗口3.2數(shù)據(jù)庫(kù)的打開(kāi)與關(guān)閉

所謂打開(kāi)數(shù)據(jù)庫(kù)是指將存儲(chǔ)在外存儲(chǔ)器中的數(shù)據(jù)庫(kù)文件裝入計(jì)算機(jī)系統(tǒng)的內(nèi)存中,以便對(duì)數(shù)據(jù)庫(kù)進(jìn)行各種操作。而關(guān)閉數(shù)據(jù)庫(kù)正與打開(kāi)數(shù)據(jù)庫(kù)相反,是將存儲(chǔ)在計(jì)算機(jī)系統(tǒng)內(nèi)存中的數(shù)據(jù)庫(kù)數(shù)據(jù)存入計(jì)算機(jī)系統(tǒng)的外存儲(chǔ)器中。

Access2003數(shù)據(jù)庫(kù)是一個(gè)獨(dú)立的文件,任何時(shí)刻只能打開(kāi)一個(gè)數(shù)據(jù)庫(kù)文件。但在每個(gè)數(shù)據(jù)庫(kù)中可以擁有眾多的表、查詢、窗體、報(bào)表、頁(yè)、宏和模塊等對(duì)象。也可以在一個(gè)數(shù)據(jù)庫(kù)中同時(shí)運(yùn)行多個(gè)數(shù)據(jù)庫(kù)對(duì)象(如打開(kāi)多個(gè)表或查詢)。3.2.1打開(kāi)數(shù)據(jù)庫(kù)實(shí)例3-4:打開(kāi)“學(xué)生信息”數(shù)據(jù)庫(kù)打開(kāi)數(shù)據(jù)庫(kù)通常有以下幾種方法。

1.啟動(dòng)Access2003后,單擊“文件”菜單下的“打開(kāi)”命令或工具欄的“打開(kāi)”按鈕,打開(kāi)“打開(kāi)”對(duì)話框,如圖3-13所示。在對(duì)話框中的“查找范圍”輸入框中指定“學(xué)生信息”數(shù)據(jù)庫(kù)的存放位置(文件夾),并在文件列表框中選定“學(xué)生信息”數(shù)據(jù)庫(kù),單擊“打開(kāi)”按鈕,即可打開(kāi)數(shù)據(jù)庫(kù)。圖3-13打開(kāi)數(shù)據(jù)庫(kù)對(duì)話框

2.通過(guò)“我的電腦”在磁盤(pán)上找到“學(xué)生信息”數(shù)據(jù)庫(kù),雙擊該數(shù)據(jù)庫(kù)文件圖標(biāo),打開(kāi)“安全警告”對(duì)話框,單擊“打開(kāi)”按鈕,將首先啟動(dòng)Access2003,再打開(kāi)數(shù)據(jù)庫(kù)。

3.啟動(dòng)Access2003后,在窗口右邊的“開(kāi)始工作”任務(wù)窗格下的“打開(kāi)”欄下顯示出最近打開(kāi)過(guò)的數(shù)據(jù)庫(kù)名稱,單擊要打開(kāi)的數(shù)據(jù)庫(kù)名稱,即可打開(kāi)數(shù)據(jù)庫(kù)。如果要打開(kāi)的數(shù)據(jù)庫(kù)不在列表中,可單擊“其他…”選項(xiàng),然后在“打開(kāi)”對(duì)話框中選擇需要打開(kāi)的數(shù)據(jù)庫(kù)文件。3.2.2關(guān)閉數(shù)據(jù)庫(kù)如果要關(guān)閉正在使用的數(shù)據(jù)庫(kù),可用以下幾種方法。1.單擊“文件”菜單下的“關(guān)閉”命令。2.單擊數(shù)據(jù)庫(kù)右上角的“關(guān)閉”按鈕。3.單擊數(shù)據(jù)庫(kù)窗口左上角的“控制菜單”,在顯示的下拉菜單中選擇“關(guān)閉”命令。3.3數(shù)據(jù)庫(kù)的其他操作3.3.1數(shù)據(jù)庫(kù)實(shí)用工具1.?dāng)?shù)據(jù)庫(kù)版本的轉(zhuǎn)換在Access2003中,高版本環(huán)境下建立的數(shù)據(jù)庫(kù)不能直接在低版本的Access系統(tǒng)中使用,只有將其轉(zhuǎn)換到低版本才能使用。同樣,在低版本下建立的數(shù)據(jù)庫(kù)也應(yīng)轉(zhuǎn)換到高版本。高版本數(shù)據(jù)庫(kù)轉(zhuǎn)換到低版本數(shù)據(jù)庫(kù),是完成高版本數(shù)據(jù)庫(kù)向下兼容操作。而將低版本數(shù)據(jù)庫(kù)轉(zhuǎn)高版本數(shù)據(jù)庫(kù),是完成低版本數(shù)據(jù)庫(kù)的升級(jí)。操作過(guò)程如下:

(1)打開(kāi)需轉(zhuǎn)換的數(shù)據(jù)庫(kù),依次選擇“工具”菜單下的“數(shù)據(jù)庫(kù)實(shí)用工具”→“轉(zhuǎn)換數(shù)據(jù)庫(kù)”,選擇要轉(zhuǎn)換的數(shù)據(jù)庫(kù)版本,如圖3-14所示。

(2)選擇轉(zhuǎn)換數(shù)據(jù)庫(kù)格式后,打開(kāi)數(shù)據(jù)庫(kù)轉(zhuǎn)換對(duì)話框,在對(duì)話框中輸入要轉(zhuǎn)換的目標(biāo)數(shù)據(jù)庫(kù)名稱,單擊“保存”按鈕,結(jié)束高版本轉(zhuǎn)低版本數(shù)據(jù)庫(kù)或低版本數(shù)據(jù)庫(kù)向高版本數(shù)據(jù)庫(kù)的轉(zhuǎn)換。圖3-14選擇轉(zhuǎn)換格式菜單2.壓縮與修復(fù)數(shù)據(jù)庫(kù)壓縮數(shù)據(jù)庫(kù)可以重新整理磁盤(pán),清除“碎片”,有效地使用磁盤(pán)空間,提高數(shù)據(jù)庫(kù)的使用效率。而在對(duì)數(shù)據(jù)庫(kù)操作時(shí),若發(fā)生意外事故,導(dǎo)致數(shù)據(jù)庫(kù)中的數(shù)據(jù)遭到破壞,則可通過(guò)修復(fù)功能將其進(jìn)行修復(fù)。數(shù)據(jù)庫(kù)壓縮操作過(guò)程如下:

(1)在Access2003主菜單下,單擊“工具”→“數(shù)據(jù)庫(kù)實(shí)用工具”→“壓縮和修復(fù)數(shù)據(jù)庫(kù)”選項(xiàng),打開(kāi)“壓縮數(shù)據(jù)來(lái)源”窗口。

(2)在“壓縮數(shù)據(jù)來(lái)源”窗口選擇要壓縮的數(shù)據(jù)庫(kù)文件,再單擊“壓縮”按鈕,打開(kāi)“將數(shù)據(jù)庫(kù)壓縮為”窗口

(3)在“將數(shù)據(jù)庫(kù)壓縮為”窗口輸入壓縮后的數(shù)據(jù)庫(kù)文件名,單擊“保存”按鈕,開(kāi)始對(duì)數(shù)據(jù)庫(kù)進(jìn)行壓縮。3.3.2設(shè)置數(shù)據(jù)庫(kù)參數(shù)

Access2003中,數(shù)據(jù)庫(kù)文件被打開(kāi)后,數(shù)據(jù)庫(kù)中的各種參數(shù)都可通過(guò)“工具”菜單一的“選項(xiàng)”命令進(jìn)行設(shè)置。操作方法如下:

(1)打開(kāi)數(shù)據(jù)庫(kù)

(2)單擊菜單欄的“工具”下的“選項(xiàng)”,打開(kāi)“選項(xiàng)”窗口,如圖3-15所示。

(3)在窗口中選擇不同的標(biāo)簽選項(xiàng),可對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)置,如設(shè)置默認(rèn)文件夾等。圖3-15選項(xiàng)窗口第四章表的創(chuàng)建與表的基本操作本章學(xué)習(xí)目標(biāo)在Access2003中,表是有結(jié)構(gòu)的數(shù)據(jù)的集合,是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的數(shù)據(jù)“倉(cāng)庫(kù)”。開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)時(shí),開(kāi)發(fā)者首要的工作是分析應(yīng)用系統(tǒng)的數(shù)據(jù)要求,然后根據(jù)分析的結(jié)果建立適合于系統(tǒng)要求的表結(jié)構(gòu)和表間關(guān)系。例如,我們要設(shè)計(jì)一個(gè)“學(xué)生信息管理系統(tǒng)”就必須先設(shè)計(jì)表結(jié)構(gòu)、建立表和對(duì)表進(jìn)行必要的操作與維護(hù)。表是Access2003關(guān)系數(shù)據(jù)庫(kù)的一個(gè)數(shù)據(jù)庫(kù)對(duì)象,它不是一個(gè)獨(dú)立的文件,用戶可以根據(jù)需要在數(shù)據(jù)庫(kù)中創(chuàng)建多個(gè)表。而且每個(gè)表?yè)碛凶约旱谋砻徒Y(jié)構(gòu)。用戶也可以隨時(shí)使用表設(shè)計(jì)視圖對(duì)表結(jié)構(gòu)進(jìn)行編輯修改。通過(guò)本章的學(xué)習(xí),要求掌握表結(jié)構(gòu)設(shè)計(jì)、創(chuàng)建表的四種方法、表數(shù)據(jù)的輸入與編輯、表結(jié)構(gòu)的修改、字段屬性的設(shè)置、設(shè)置主鍵與創(chuàng)建索引、創(chuàng)建表間關(guān)系、表內(nèi)容的查找與篩選和數(shù)據(jù)格式的設(shè)置等知識(shí)。4.1表的預(yù)備知識(shí)及表結(jié)構(gòu)設(shè)計(jì)

表由表名、若干不同屬性的欄目及表的具體內(nèi)容組成。在創(chuàng)建表之前,必須對(duì)表中的各項(xiàng)數(shù)據(jù)的屬性有所了解,才能設(shè)計(jì)一個(gè)結(jié)構(gòu)合理、適用的表。4.1.1表的預(yù)備知識(shí)

在關(guān)系數(shù)據(jù)庫(kù)中,表是一個(gè)滿足關(guān)系模型性質(zhì)的二維表。如表4-1所示。在表4-1中,主要由表名、表結(jié)構(gòu)和表內(nèi)容組成。要建立一個(gè)表首先要確定表名(學(xué)生表),其次是表結(jié)構(gòu),即確定表由哪些數(shù)據(jù)項(xiàng)(字段)組成,如表4-1中的學(xué)號(hào)、姓名、性別、專業(yè)等字段,還要確定每個(gè)字段存放數(shù)據(jù)的內(nèi)容和屬性(數(shù)據(jù)類(lèi)型),字段及字段屬性被確定后,表的總體框架也就設(shè)計(jì)完成,就可以將數(shù)據(jù)輸入表中。1.字段名字段是表的基本存放單元,在表中,為了區(qū)分各數(shù)據(jù)項(xiàng)(字段),必須對(duì)其進(jìn)行命名,就是我們常說(shuō)的字段名。字段名在表中必須是唯一的,最好使用便于理解的字段名稱。2.?dāng)?shù)據(jù)類(lèi)型命名了字段名稱后,還必須賦予各字的數(shù)據(jù)類(lèi)型。數(shù)據(jù)類(lèi)型決定了該字段能存放什么樣的數(shù)據(jù)。Access2003有以下十種數(shù)據(jù)類(lèi)型。(1)文本文本類(lèi)型(Text)字段是存放由漢字、英文字母、數(shù)字型字符組成的數(shù)據(jù)。文本類(lèi)型是Access2003默認(rèn)的字段類(lèi)型,最大長(zhǎng)度為255個(gè)字符,系統(tǒng)默認(rèn)長(zhǎng)度為50個(gè)字符。如表4-1中的學(xué)號(hào)、姓名、性別、專業(yè)等字段均為文本類(lèi)型。(2)備注備注型(Memo)字段是特殊的或長(zhǎng)度較長(zhǎng)的文本數(shù)據(jù)的字段類(lèi)型。適合于對(duì)存放內(nèi)容進(jìn)行詳細(xì)記錄的信息,如表4-1中的簡(jiǎn)歷字段。備注型字段可存放65536個(gè)字符。(3)數(shù)值數(shù)值型(Number)字段是存放由數(shù)字0~9、小數(shù)點(diǎn)和正負(fù)號(hào)組成的數(shù)據(jù),這些數(shù)據(jù)可以直接進(jìn)行算術(shù)運(yùn)算。如表4-1中的入學(xué)成績(jī)字段就是數(shù)值型字段。在Access2003中,數(shù)值型字段又分為整型、長(zhǎng)整型、單精度、雙精度等類(lèi)型,它們之間的區(qū)別在于所表示的數(shù)值的取值范圍不同。如表4-2所示。(4)日期/時(shí)間日期/時(shí)間型(Date/Time)字段存放表示日期、時(shí)間或日期和時(shí)間的組合數(shù)據(jù)。如表4-1中的出生日期字段。日期/時(shí)間類(lèi)型字段根據(jù)存放和顯示的格式不同,又分為常規(guī)日期、長(zhǎng)日期、中日期、短日期、長(zhǎng)時(shí)間、中時(shí)間和短時(shí)間等類(lèi)型,其長(zhǎng)度默認(rèn)為8個(gè)字符。(5)貨幣貨幣型(Curency)字段是存放貨幣類(lèi)型的數(shù)據(jù)。貨幣類(lèi)型數(shù)據(jù)在輸入時(shí)可以自動(dòng)加入貨幣符號(hào)及千位分隔符。根據(jù)其存放和顯示格式不同,貨幣類(lèi)型又分為常規(guī)數(shù)據(jù)、貨幣、歐元、固定、標(biāo)準(zhǔn)等類(lèi)型。貨幣類(lèi)型字段整數(shù)部分的最大長(zhǎng)度為15位數(shù),小數(shù)部分長(zhǎng)度不能超過(guò)4位數(shù),默認(rèn)為兩位數(shù)。貨幣類(lèi)型長(zhǎng)度為8個(gè)字節(jié)。(6)自動(dòng)編號(hào)自動(dòng)編號(hào)類(lèi)型(AutoNumber)是存放遞增信息的數(shù)據(jù)。該類(lèi)型的數(shù)據(jù)無(wú)需輸入,也不能更新。在對(duì)表操作時(shí),每增加一條新記錄,Access2003將在原編號(hào)的基礎(chǔ)上自動(dòng)加1,自動(dòng)編號(hào)型字段的數(shù)據(jù)長(zhǎng)度由Access2003設(shè)置為4個(gè)字節(jié)。自動(dòng)編號(hào)類(lèi)型一旦被指定,就會(huì)永久地與記錄相連。如果刪除了表中含有自動(dòng)編號(hào)的記錄,Access2003并不會(huì)對(duì)表中自動(dòng)編號(hào)類(lèi)型字段重新編號(hào)。當(dāng)添加一個(gè)新記錄時(shí),Access2003也不再使用已被刪除的自動(dòng)編號(hào)類(lèi)型字段的值,而是按遞增的規(guī)律重新賦值。(7)是/否是/否類(lèi)型(Yes/No)字段存放描述只有兩種可能的簡(jiǎn)單現(xiàn)象的數(shù)據(jù)。即只有Yes/No,或True/False,或On/Off中的任意一組取值。常用來(lái)表示邏輯判斷結(jié)果。如表4-1中的是否黨員字段可定義為“是/否”類(lèi)型。是/否類(lèi)型字段的長(zhǎng)度由系統(tǒng)設(shè)置為1個(gè)字符。(8)OLE對(duì)象

OLE對(duì)象類(lèi)型(OLEObject)字段是鏈接或嵌入其他應(yīng)用程序所創(chuàng)建的對(duì)象的字段類(lèi)型。如電子表格、文檔、圖片及聲音等。其字段長(zhǎng)度可達(dá)1GB。如表4-1中的相片字段可定義為OLE類(lèi)型。

(9)超級(jí)鏈接超級(jí)鏈接類(lèi)型用于保存超鏈接的字段。超鏈接可以是某個(gè)UNC路徑(通往局域網(wǎng)中一個(gè)文件的地址)或是URL(通往Internet節(jié)點(diǎn))。當(dāng)單一個(gè)超鏈接時(shí),Web瀏覽器或Access2003將根據(jù)超鏈接地址到達(dá)指定的目標(biāo)。(10)查詢向?qū)Р樵兿驅(qū)ь?lèi)型(LoolupWizard)字段通過(guò)列表框或組合框提供了一個(gè)字段內(nèi)容的列表,用戶可以在列表框或組合框中選擇所列內(nèi)容作為輸入字段的內(nèi)容。其長(zhǎng)度由系統(tǒng)默認(rèn)設(shè)置。4.1.2設(shè)計(jì)表結(jié)構(gòu)

設(shè)計(jì)表結(jié)構(gòu)實(shí)際是確定表的組織形式,即定義表名,表中不同屬性的字段(每個(gè)字段的字段名、類(lèi)型、長(zhǎng)度及是否建立該字段的索引等)。根據(jù)上述數(shù)據(jù)類(lèi)型,可將表4-1的結(jié)構(gòu)定義為表4-3所示的結(jié)構(gòu)。4.2創(chuàng)建表設(shè)計(jì)好表結(jié)構(gòu)后,就可以在數(shù)據(jù)庫(kù)中創(chuàng)建表。創(chuàng)建表的方法有多種:一是利用表設(shè)計(jì)視圖創(chuàng)建表,這是最常用的方法;二是利用表向?qū)?chuàng)建表,其創(chuàng)建方法與利用數(shù)據(jù)庫(kù)向?qū)?chuàng)建數(shù)據(jù)庫(kù)類(lèi)似;三是通過(guò)輸入數(shù)據(jù)直接創(chuàng)建表,此方法較為簡(jiǎn)單,但不能對(duì)每一字段的類(lèi)型、屬性進(jìn)行設(shè)置,還要在設(shè)計(jì)視圖進(jìn)行修改;四是使用“導(dǎo)入表”創(chuàng)建表,該方法是使用“導(dǎo)入表”方式將其他數(shù)據(jù)庫(kù)中的表或其他應(yīng)用系統(tǒng)中的文件(如Excel表格)導(dǎo)入到當(dāng)前數(shù)據(jù)庫(kù)中,以生成新的表。4.2.1利用表設(shè)計(jì)視圖創(chuàng)建表

實(shí)例4-1

利用表設(shè)計(jì)視圖創(chuàng)建“學(xué)生”表。表結(jié)構(gòu)如表4-3所示。操作過(guò)程如下:

(1)打開(kāi)要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)(“學(xué)生信息”數(shù)據(jù)庫(kù)),單擊“數(shù)據(jù)庫(kù)”窗口的“表”對(duì)象按鈕,然后單擊“新建”按鈕,打開(kāi)新建表對(duì)話框,如圖4-1所示。

(2)選擇“設(shè)計(jì)視圖”,單擊“確定”按鈕,進(jìn)入表設(shè)計(jì)視圖窗口器,如圖4-2所示。圖4-1新建表對(duì)話框圖4-2表設(shè)計(jì)視圖窗口

(3)在表設(shè)計(jì)器窗口單擊第一行的“字段名稱”列,輸入“學(xué)生”表的“學(xué)號(hào)”字段,單擊“數(shù)據(jù)類(lèi)型”列右側(cè)的向下箭頭,從下拉列表中選擇所需要的數(shù)據(jù)類(lèi)型,如“文本”;在窗口下半部的字段屬性區(qū)域設(shè)置“字段大小”屬性,如8,并將必填字段設(shè)置為“是”。如圖4-3所示。

(4)按上述方法依次定義每個(gè)字段的名字、類(lèi)型、長(zhǎng)度及小數(shù)位數(shù)等參數(shù)。如圖4-4所示。

(5)定義好表的全部字段后,單擊“保存”按鈕,進(jìn)入“另存為”對(duì)話框,在文件名輸入框輸入表名稱(“學(xué)生”),單擊“確定”按鈕。進(jìn)入如圖4-5所示的對(duì)話框。圖4-3字段定義窗口圖4-4在設(shè)計(jì)視圖中創(chuàng)建的學(xué)生表結(jié)構(gòu)圖4-5確定主鍵對(duì)話框?qū)υ捒蛑杏腥齻€(gè)選擇,選擇“是”,將為新建的表創(chuàng)建一個(gè)“自動(dòng)編號(hào)”的字段作為主鍵;選擇“否”,不創(chuàng)建主鍵;選擇“取消”,則放棄表的保存。本例中,因?yàn)閷W(xué)號(hào)字段已經(jīng)能惟一標(biāo)識(shí)每一條記錄,該字段能作為主鍵,沒(méi)必要再建其他主鍵,所以應(yīng)選擇“否”。選擇“否”后,將完成表的建立。4.3表記錄的簡(jiǎn)單操作利用設(shè)計(jì)視圖或表向?qū)е荒軇?chuàng)建表結(jié)構(gòu),即創(chuàng)建的是個(gè)空表,還得將記錄內(nèi)容輸入到表中。如所定義的表結(jié)構(gòu)和輸入的記錄內(nèi)容有錯(cuò)誤,則要對(duì)其進(jìn)行必要的修改等。4.3.1給表添加新記錄操作過(guò)程如下:

(1)打開(kāi)“學(xué)生信息”數(shù)據(jù)庫(kù)

(2)在數(shù)據(jù)庫(kù)窗口中選擇“表”對(duì)象,單擊“學(xué)生”表,再單擊“打開(kāi)”按鈕,或雙擊“學(xué)生”表,進(jìn)入“表”瀏覽窗口(數(shù)據(jù)表窗口),在“表”瀏覽窗口輸入各記錄內(nèi)容。如圖4-20所示。

(3)表記錄內(nèi)容輸入完后,單擊右上角的“關(guān)閉”按鈕,出現(xiàn)提示:是否保存對(duì)“學(xué)生”表布局的修改。選擇“是

溫馨提示

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

評(píng)論

0/150

提交評(píng)論