




已閱讀5頁,還剩426頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第1章 數(shù)據(jù)庫基本原理 1.1 數(shù)據(jù)庫概述 1.2 數(shù)據(jù)模型 1.3關系的完整性 1.4關系模型的規(guī)范化,1.1 數(shù)據(jù)庫概述,數(shù)據(jù)庫技術產(chǎn)生于20世紀60年代中期,幾十年來得到了迅速發(fā)展。 人們對信息和數(shù)據(jù)的利用和處理已進入自動化、網(wǎng)絡化和社會化階段,如銀行儲蓄、股票交易、資料查詢、氣象預報、機票預定等。這些任務既需要大量數(shù)據(jù),又要求快速處理并及時得到結果,是傳統(tǒng)的人工方法不可能完成的。 飛速發(fā)展的計算機技術使上述大規(guī)模的數(shù)據(jù)處理得以實現(xiàn)。,1.1.1 數(shù)據(jù)庫的產(chǎn)生和發(fā)展,1.1.1 (續(xù)一),數(shù)據(jù)庫 (Database) 這個名詞起源于20世紀50年代。 從目前情況看,關系數(shù)據(jù)庫仍然占絕對的主導地位,并將影響著數(shù)據(jù)庫技術的發(fā)展。 數(shù)據(jù)庫技術的發(fā)展已經(jīng)歷了4個發(fā)展階段:,1.1.1 (續(xù)二),1. 人工管理數(shù)據(jù)的特點 (1)數(shù)據(jù)不保存; (2)沒有專用軟件對數(shù)據(jù)進行管理; (3)數(shù)據(jù)不共享; (4)數(shù)據(jù)不具有獨立性。 2. 文件系統(tǒng)管理的特點 (1)數(shù)據(jù)可以長期保存; (2)有專用軟件對數(shù)據(jù)進行管理 ; (3)數(shù)據(jù)共享性差、冗余度大; (4)數(shù)據(jù)獨立性差。,1.1.1 (續(xù)三),3. 數(shù)據(jù)庫系統(tǒng)的特點 (1)數(shù)據(jù)結構化; (2)數(shù)據(jù)冗余度小; (3)數(shù)據(jù)共享性好; (4)數(shù)據(jù)獨立性高; (5)數(shù)據(jù)有統(tǒng)一管理和控制。,1.1.1 (續(xù)四),4. 高級數(shù)據(jù)庫階段 計算機輔助設計/制造(CAD/CAM)、計算機集成制造(CIM)、地理信息系統(tǒng)(GIS)、辦公信息系統(tǒng)(OIS)、計算機輔助超大規(guī)模集成電路設計(VLSI CAD)等都需要數(shù)據(jù)庫的支持。 這些系統(tǒng)在數(shù)據(jù)類型或數(shù)據(jù)結構或數(shù)據(jù)存儲方面有特殊要求,傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)并不能支持。,1.1.2 現(xiàn)實世界、信息世界、數(shù)據(jù)世界,1. 現(xiàn)實世界 現(xiàn)實世界存在著大量的事物。這些事物可以是具體的,也可以是抽象的。 各個事物都有表征自己的各種特征。 由于考慮問題的不同,同一個事物可能有不同的特征來描述它。 每一個事物的全部特征就反映了該事物本身。每一個事物至少有一個特征。,1.1.2 (續(xù)一),2. 信息世界 人們觀察各種事物,在大腦中形成抽象概念,這就是信息(Information) 。 信息世界就是現(xiàn)實世界的事物在人腦中的抽象。,1.1.2 (續(xù)二),3. 數(shù)據(jù)世界 數(shù)據(jù)世界就是信息世界中信息的數(shù)據(jù)化。 信息和數(shù)據(jù)是緊密相關的,許多場合將它們看作同義詞。 在數(shù)據(jù)世界里,將現(xiàn)實世界中諸事物凡有規(guī)律的特征都用恰當?shù)木幋a表示是非常必要的。 編碼的質量是影響數(shù)據(jù)庫系統(tǒng)的決定性因素。,1.1.3 數(shù)據(jù)庫基本概念,(1) 數(shù)據(jù) 數(shù)據(jù)(Data)就是描述信息的符號,是數(shù)據(jù)庫中存儲的基本對象。 數(shù)據(jù)處理(Data Processing)是將原始數(shù)據(jù)轉換成信息的過程。 (2) 數(shù)據(jù)庫 數(shù)據(jù)庫(Database,簡稱DB)是在計算機系統(tǒng)中按照一定數(shù)據(jù)模型組織、存儲和應用的相互聯(lián)系的數(shù)據(jù)集合。,1.1.3 (續(xù)一),數(shù)據(jù)庫技術(Database Technique)就是一種對數(shù)據(jù)進行加工以得到有用信息的計算機軟件技術。 (3) 數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng)(Database Management System,簡稱DBMS)是一種計算機軟件系統(tǒng) 。 以數(shù)據(jù)庫管理系統(tǒng)為核心的應用系統(tǒng)稱為管理信息系統(tǒng)(Management Information System,簡稱MIS)。,1.1.3 (續(xù)二),(4) 數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫系統(tǒng)(Database System,簡稱DBS)就是以數(shù)據(jù)庫應用為基礎的計算機系統(tǒng)。 數(shù)據(jù)庫系統(tǒng)不僅包括必須存儲的數(shù)據(jù),還包括相應的硬件、軟件和各類工作人員。,1.2 數(shù)據(jù)模型,數(shù)據(jù)庫中的大量數(shù)據(jù)必須按嚴格的數(shù)據(jù)模型來組織。 數(shù)據(jù)庫中的數(shù)據(jù)是高度結構化的,它不僅反映數(shù)據(jù)本身,而且反映數(shù)據(jù)之間的關系。 數(shù)據(jù)模型就是描述這種關系的數(shù)據(jù)結構形式。 理想的數(shù)據(jù)模型應能滿足三方面的要求:一是能比較真實地描述現(xiàn)實世界;二是容易被人所理解;三是便于在計算機上實現(xiàn)。 根據(jù)模型應用的不同目的??梢詫⒛P蛣澐譃閮深?,它們分屬于兩個不同的層次。,1.2 數(shù)據(jù)模型(續(xù)),概念模型(Idea Model)是現(xiàn)實世界到信息世界的抽象,又稱為信息模型。 數(shù)據(jù)模型(Data Model)是信息世界到數(shù)據(jù)世界的抽象。 數(shù)據(jù)庫領域最常見的數(shù)據(jù)模型有4種:層次模型、網(wǎng)狀模型、關系模型和面向對象模型。其中層次模型和網(wǎng)狀模型統(tǒng)稱為非關系模型。 目前,關系模型是最常用的數(shù)據(jù)模型。以關系模型為基礎建立的數(shù)據(jù)庫管理系統(tǒng)稱為關系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。,1.2.1 數(shù)據(jù)模型的組成要素,數(shù)據(jù)模型通常都是由數(shù)據(jù)結構、數(shù)據(jù)操作和完整性約束3個要素組成。 1. 數(shù)據(jù)結構 數(shù)據(jù)結構是所研究的對象類型(object type)的集合,用于描述系統(tǒng)的靜態(tài)特征。 2. 數(shù)據(jù)操作 數(shù)據(jù)操作是指數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作的集合,包括操作及有關的操作規(guī)則,用于描述系統(tǒng)的動態(tài)特征。,1.2.1 數(shù)據(jù)模型的組成要素(續(xù)),3. 數(shù)據(jù)約束條件 數(shù)據(jù)約束條件是一組完整性規(guī)則的集合。 完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和存儲規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。 數(shù)據(jù)模型還應該提供定義完整性約束條件的機制,以反映具體應用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。,1.2.2 信息世界的主要概念,1. 實體 實體(Entity)就是現(xiàn)實世界中客觀存在并可相互區(qū)分的事物。 實體既可以是看得見摸得著的具體的事物,也可以是抽象的概念或聯(lián)系。例如,某一本書、某一架飛機、某個學生等都是實體。,1.2.2 (續(xù)一),2. 屬性 實體所具有的某一特征稱為屬性(Attribute)。 一個實體由若干個(至少一個)屬性來描述。 一個實體的所有屬性組成實體本身。 例如,學生實體可以由學號、姓名、性別、出生年月日、班級等屬性組成。而(0100001、馮東梅、女、1980/12/26、01電子商務1)就是一個學生(實體)的屬性值。,1.2.2 (續(xù)二),3. 碼 唯一標識實體的屬性組稱為碼(Key),通常又稱為關鍵字。 如果實體有多個碼,則可以選定其中一個碼為主碼(Primary Key),通常又稱為主關鍵字。 如果實體只有一個碼,它也是主碼(主關鍵字)。,1.2.2 (續(xù)三),例如,一個學校里,學生實體的學號是肯定不重復的。所以學號可以作為學生實體的碼。如果學生實體中含有身份證號屬性,則身份證號也是碼,可以在學號和身份證號中選定一個作為主碼(主關鍵字)。 通常情況下只關注實體的主碼,所以,在不會引起混淆時,通常說碼、主碼、關鍵字或主關鍵字,含義都相同。 4. 域 屬性的允許取值的集合稱為該屬性的域(Domain)。,1.2.2 (續(xù)四),例如,學號的域是7位數(shù)字(某校規(guī)定),性別的域是男、女,班級的域是該校所有班級的集合。 5. 實體型 用實體名及其所有屬性名集合來抽象和描述同類實體稱為實體型(Entity type)。 例如,學生(學號、姓名、性別、出生年月日、班級)就是一個實體型。,1.2.2 (續(xù)五),6. 實體集 同型實體的集合稱為實體集(Entity set)。 例如,某個學校(或某個班級)的全體學生就是一個實體集。 7. 聯(lián)系 信息世界的不同實體集之間和同一實體集內(nèi)部都可能存在一定的聯(lián)系(Relationship)。,1.2.2 (續(xù)六),數(shù)據(jù)世界的概念是和信息世界的概念相對應的: 數(shù)據(jù)表(Data table)是實體集的數(shù)據(jù)表示; 記錄(Record)是實體的數(shù)據(jù)表示; 數(shù)據(jù)項(Item)是屬性的數(shù)據(jù)表示。 記錄由若干數(shù)據(jù)項組成。,1.2.3 實體的聯(lián)系,信息世界存在的聯(lián)系有兩種:其一是一個實體集內(nèi)部的聯(lián)系;其二是不同實體集之間的聯(lián)系。 1. 實體集內(nèi)部的聯(lián)系 實體集內(nèi)部的聯(lián)系通常指組成該實體的各屬性之間的聯(lián)系。,1.2.3 實體的聯(lián)系(續(xù)一),在表1-1中,不同實體的學號都不重復,即學號與實體間有一一對應關系。 學號就是學生情況這個實體集的關鍵字。,1.2.3 實體的聯(lián)系(續(xù)二),在表1-2中,不同實體的學號(或課程號、或成績)都有可能重復。但是,不同實體的學號加課程號則不可能重復。所以,學號和課程號這兩個屬性組成的屬性組是選課及成績這個關系的關鍵字。,1.2.3 實體的聯(lián)系(續(xù)三),2. 實體集之間的聯(lián)系 對于兩個不同的實體集A和B,它們之間的聯(lián)系通常有以下三種方式:,一對一聯(lián)系(1:1) 一對多聯(lián)系(1:n) 多對多聯(lián)系(m:n),1.2.3 實體的聯(lián)系(續(xù)四),一對一聯(lián)系是一對多聯(lián)系的特例,一對多聯(lián)系又是多對多聯(lián)系的特例。 多對多聯(lián)系直接處理起來很困難,通常是將多對多聯(lián)系轉化為兩個一對多聯(lián)系來處理。 概念模型和各種數(shù)據(jù)模型均不支持多對多聯(lián)系,只支持一對一聯(lián)系和一對多聯(lián)系。,1.2.3 實體的聯(lián)系(續(xù)五),同一實體集內(nèi)的各實體之間也可以存在一對一、一對多或多對多聯(lián)系。例如,學生實體集內(nèi)部存在“領導與被領導”的聯(lián)系,即某一學生(班長)“領導”多名(全班)學生,而一個學生僅被一個學生(班長)“領導”,這就是一對多聯(lián)系 。 在復雜問題中,兩個以上的實體集之間也往往存在一對一、一對多或多對多聯(lián)系。,1.2.4 概念模型,對于具體的實際問題,建立正確合理的概念模型是建立數(shù)據(jù)模型的前提。 一個好的概念模型應該考慮和解決的問題是: (1) 實際問題需要哪些實體集以及各個實體需要哪些屬性; (2) 這些實體集內(nèi)部和實體集之間有怎樣的聯(lián)系; (3) 如果存在多對多聯(lián)系,如何轉化為一對多聯(lián)系。,1.2.4 概念模型(續(xù)一),表示概念模型最常用的是實體聯(lián)系方法(entity-relationship approach)。該方法用ER圖來描述。 在ER圖中,實體型、屬性和聯(lián)系的表示方法如下: (1) 實體型:用矩形表示,矩形框內(nèi)寫實體名;,1.2.4 概念模型(續(xù)二),(2) 屬性:用橢圓表示,并用無向線段與相應的實體連接; (3) 聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向線段與有關的實體連接。同時在無向線段旁標上聯(lián)系的類型(1:1,1:n或m:n)。 聯(lián)系本身也是一種實體型,也可以有屬性。如果一個聯(lián)系有屬性,也用無向線段將屬性與該聯(lián)系連接。,1.2.4 概念模型(續(xù)三),(a)1:1聯(lián)系 (b)1:n聯(lián)系 (c)m:n聯(lián)系 兩個實體之間的三類聯(lián)系,1.2.4 概念模型(續(xù)四),學生實體、課程實體及其屬性 將多對多聯(lián)系轉化為一對多聯(lián)系的一般方法是:增加一個新的實體集,并且這個新的實體集和原來的兩個實體集之間都是一對多聯(lián)系。,1.2.4 概念模型(續(xù)五),學生學習成績管理概念模型,1.2.4 概念模型(續(xù)六),這個例子也給出了將多對多聯(lián)系轉化為一對多聯(lián)系的一般方法,這就是:增加一個新的實體集,并且這個新的實體集和原來的兩個實體集之間都是一對多聯(lián)系。,1.2.5 層次模型,層次模型(Hierarchical Model)用樹形結構表示各類實體以及實體間的聯(lián)系。 從樹的觀點看,層次模型滿足以下兩個條件: (1) 有且僅有一個結點無雙親結點,稱之為根結點(簡稱根); (2) 根以外的其他結點有且僅有一個雙親結點。 層次模型只能反映實體之間一對多的關系。,1.2.5 層次模型(續(xù)),層次模型示意圖,下圖所示是一個層次模型的典型。,1.2.6 網(wǎng)狀模型,網(wǎng)狀模型(Network Model)是比層次模型更具普遍性的一種結構。它去掉了層次模型的兩個限制條件,允許有一個以上的結點無雙親結點,允許結點可以有多個雙親結點,此外它還允許兩個結點之間有多種聯(lián)系(稱之為復合聯(lián)系)。,1.2.6 網(wǎng)狀模型(續(xù)一),網(wǎng)狀模型有如下優(yōu)點: (1)可以直接描述包括多對多在內(nèi)的更復雜的關系。 (2)具有良好的性能,存取效率較高。 網(wǎng)狀模型也有缺點: (1)對計算機的硬件和軟件環(huán)境要求較高。 (2)數(shù)據(jù)庫的獨立性較差。 (3)操作比較復雜。,1.2.6 網(wǎng)狀模型(續(xù)二),下圖表示零部件的采購使用關系,這是一個典型的網(wǎng)狀模型。,1.2.6 網(wǎng)狀模型(續(xù)三),下圖表示1.2.4介紹的學生選修關系這個網(wǎng)狀模型。,1.2.7 關系模型,關系模型(Relational Model)中數(shù)據(jù)的邏輯結構是一張二維表,它由行和列組成。 表1-1所示的學生情況就是一個關系模型。 關系模型的主要概念: 關系(relation):關系模型中表示數(shù)據(jù)的整個一張二維表就是關系。 元組(Tuple):二維表中的每一行即為一個元組,對應概念模型的一個實體。 屬性(Attribute):二維表中的每一列即為一個屬性,對應概念模型的一個屬性。,1.2.7 關系模型(續(xù)一),主碼(Key):二維表中唯一標識元組的某個屬性組稱為該關系的主碼,對應概念模型的碼。 域(Domain):二維表中任一屬性的取值范圍稱為該屬性的域,對應概念模型的域。 分量:元組中的每一個屬性值稱為元組的分量。 關系模式(Relation schema):對關系的描述稱為關系模式,通常用關系名及其所有屬性名集合來表示,類似概念模型中實體型的表示方法。,1.2.7 關系模型(續(xù)二),整個表1-1就是一個關系。 表中的每一行都是一個元組。 學號、姓名、性別等每一列都是屬性。 學號是這個關系的碼。 男、女、正確的日期集合分別是性別和出生年月日的域。 0100001、馮東梅、女、1980-12-26、北京和1100等都是分量。 而學生(學號,姓名,性別,出生年月日,家庭所在地,家庭人均月收入)是這個關系的關系模式。,1.2.7 關系模型(續(xù)三),關系模型既可以反映屬性之間一對多的關系,也可以反映屬性之間多對多的關系。 關系模型具有以下特點: (1) 數(shù)據(jù)結構簡單,概念清楚; (2) 能夠直接反映實體之間一對一、一對多和多對多關系; (3) 通過公共屬性就可以建立表與表之間的聯(lián)系,從而就建立了實體之間的聯(lián)系; (4) 具有嚴格的理論基礎。,1.2.8 面向對象模型,面向對象模型(Object Oriented Model)是數(shù)據(jù)庫系統(tǒng)中最近出現(xiàn)的一種模型。面向對象模型中最基本的概念是對象(object)和類(class)。 面向對象模型是正在發(fā)展中的模型,具有廣闊的前途和生命力。,1.3 關系的完整性,關系模型允許定義三類完整性:實體完整性、參照完整性和用戶定義的完整性。 實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,被稱為關系的兩個不變性,由關系系統(tǒng)自動支持。 這里先列出3個例題,以便后面引用。 例1-1 學生實體和專業(yè)實體可以用下面的關系表示(其中主碼用紅色體字標識): 學生(學號,姓名,性別,專業(yè)號,年齡) 專業(yè)(專業(yè)號,專業(yè)名),1.3 關系的完整性(續(xù)一),例1-2 學生實體、課程實體、學生與課程之間的選課及成績實體可以用如下3個關系來表示: 學生(學號,姓名,性別,專業(yè)號,年齡) 課程(課程號,課程名,學分) 選課及成績(學號,課程號,成績) 例1-3 另一個學生實體的關系是: 學生2(學號,姓名,性別,專業(yè)號,年齡,班長學號),1.3.1 實體完整性,一個基本關系通常對應現(xiàn)實世界的一個實體集。例如,學生關系對應學生的集合。 現(xiàn)實世界的實體是可區(qū)分的,即它們具有某種唯一性標識。相應地,關系模型中以主碼作為唯一性標識。 主碼中的屬性即主屬性不能取空值。所謂空值就是“不知道”或“無意義”的值。如果主屬性取空值,就說明存在某個不可標識的實體,即存在不可區(qū)分的實體,這與現(xiàn)實世界的應用環(huán)境相矛盾,因此這個實體一定不是一個完整的實體。,1.3.1 實體完整性(續(xù)一),實體完整性(Entity Integrity)規(guī)則: 若屬性A是基本關系R的主屬性,則屬性A不能取空值。 在例1-1的學生關系中,學號為主碼,則學號不能取空值。 實體完整性規(guī)則規(guī)定基本關系的所有主屬性都不能取空值,而不僅是主碼整體不能取空值。在 例1-2的選課及成績關系中,學號+課程號為主碼,則學號和課程號兩個屬性都不能取空值。,1.3.2 參照完整性,現(xiàn)實世界中的實體之間往往存在某種聯(lián)系,在關系模型中實體及實體間的聯(lián)系都是用關系來描述的。這樣就自然存在著關系與關系間的引用。 例1-1的兩個關系之間存在著屬性的引用,即學生關系引用了專業(yè)關系的主碼“專業(yè)號”。顯然,學生關系中的專業(yè)號值,必須是確實存在的專業(yè)的“專業(yè)號”,即專業(yè)關系中有該專業(yè)的記錄。這就是說,學生關系中的某個屬性的取值需要參照專業(yè)關系對應屬性的取值。,1.3.2 參照完整性(續(xù)一),例1-2的3個關系之間也存在著屬性的引用,即選課及成績關系引用了學生關系的主碼“學號”和課程關系的主碼“課程號”。 選課及成績關系中的學號值必須是確實存在的學生的“學號”,即學生關系中有該學生的記錄;選課及成績關系中的課程號值,也必須是確實存在的課程的“課程號”,即課程關系中有該課程的記錄。 選課及成績關系中某些屬性的取值需要參照其他關系對應屬性的取值。,1.3.2 參照完整性(續(xù)二),不僅兩個或兩個以上的關系間可以存在引用關系,同一關系內(nèi)部屬性間也可能存在引用關系。 在例1-3的關系中,“學號”屬性是主碼,“班長學號”屬性表示該學生所在班級的班長的學號,班長必須是這個班的學生,即“班長學號”必須是確實存在的學生的“學號”。,1.3.2 參照完整性(續(xù)三),設F是基本關系R的一個或一組屬性,但不是關系R的碼,如果F與基本關系S的主碼K相對應,則稱F是基本關系R的外碼(Foreign key),并稱基本關系R為參照關系(Referencing relation),基本關系S為被參照關系(Referenced relation)或目標關系(Target relation)。關系R和S不一定是不同的關系。 目標關系S的主碼Ks和參照關系R的外碼F必須定義在同一個(或一組)域上。,1.3.2 參照完整性(續(xù)四),下圖清楚地表達了例1-1、例1-2和例1-3的參照關系 。,1.3.2 參照完整性(續(xù)五),參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。 參照完整性(Referential Integrity)規(guī)則: 若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為: 或者取空值(F的每個屬性值均為空值); 或者等于S中某個元組的主碼值。,1.3.2 參照完整性(續(xù)六),對于例1-1,學生關系中每個元組的專業(yè)號屬性只能取下面兩類值: 空值,表示尚未給該學生確定所學專業(yè); 非空值,這時該值必須是專業(yè)關系中某個元組的專業(yè)號值,表示該學生不可能分配到一個不存在的專業(yè)中學習。即被參照關系“專業(yè)”中一定存在一個元組,它的主碼值等于該參照關系“學生”中的外碼值。,1.3.2 參照完整性(續(xù)七),對于例1-2中的選課及成績關系,按參照完整性規(guī)則,學號和課程號屬性也可以取兩類值:空值或目標關系中已經(jīng)存在的值。但由于學號和課程號是選課及成績關系中的主屬性,按照實體完整性規(guī)則,它們均不能取空值。所以選課及成績關系中的學號和課程號屬性實際上只能取相應被參照關系中已經(jīng)存在的主碼值。,1.3.2 參照完整性(續(xù)八),參照完整性規(guī)則中,R與S可以是同一個關系。 例如,對于例1-3,按照參照完整性規(guī)則,班長屬性值可以取兩類值: 空值,表示該學生所在班級尚未選出班長 ; 非空值,這時該值必須是本關系中某個元組的學號值 。,1.3.3 用戶定義的完整性,實體完整性和參照性適用于任何關系數(shù)據(jù)庫系統(tǒng)。除此之外,不同的關系數(shù)據(jù)庫系統(tǒng)根據(jù)其應用環(huán)境的不同,往往還需要一些特殊的約束條件。 用戶定義的完整性就是針對某一具體關系數(shù)據(jù)庫的約束條件,它反映某一具體應用所涉及的數(shù)據(jù)必須滿足的實際要求,即取值的限制范圍。,1.3.3 (續(xù)),例如,某個非主屬性不能取空值(如:姓名)、某個屬性的取值范圍限定在0100之間(如:成績)、某個屬性只能取幾個特定的值(如:性別)等。關系模型應提供定義和檢驗這類完整性機制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應用程序承擔這一功能。,1.4 關系模型的規(guī)范化,用關系模型描述現(xiàn)實世界直觀、明了。但是,要做到用關系模型很好地描述現(xiàn)實世界卻不是一件容易的事情。 設計一個好的數(shù)據(jù)庫是一項極其復雜的工作,規(guī)范化理論就是設計過程中的一個非常有用的輔助工具。 一般地說,關系模型的范式級別越高,設計的數(shù)據(jù)結構質量越高。第一范式是關系模型規(guī)范化最基本的要求,第二范式的級別比第一范式高,第三范式的級別又比第二范式高。,1.4.1 第一范式,如果關系模式R的每一個關系的屬性值都是不可分的原子值,則稱R屬于第一范式(1NF)。 屬于1NF的關系稱為規(guī)范化關系,不屬于1NF的關系稱為非規(guī)范化關系。 不難驗證,表1-1和表1-2所示的實體集都是屬于1NF的規(guī)范化關系。 但是實際問題中的報表結構有許多是非規(guī)范化的。例如,下頁表1-3是不規(guī)范的。 從規(guī)范化的關系模型的數(shù)據(jù)庫是完全能夠生成象表1-3這樣結構的報表的。,1.4.1 第一范式(續(xù)一),實際問題中的報表結構有許多是非規(guī)范化的。例如,表1-3是不規(guī)范的。 不能依這樣的結構設計關系模型,必須將這樣的表需要的數(shù)據(jù)(以及其它數(shù)據(jù))進行處理,使之規(guī)范化。,從規(guī)范化的關系模型的數(shù)據(jù)庫是完全能夠生成象表1-3這樣結構的報表的。,1.4.1 第一范式(續(xù)二),一個關系應滿足1NF是最起碼的條件。然而,僅滿足1NF的關系還可能存在一些問題。,表1-4是滿足1NF的一個具體實例,但在操作中可能出現(xiàn)如下的一些問題。 () 插入異常 () 刪除異常 () 數(shù)據(jù)冗余,1.4.2 第二范式,如果關系模式R屬于1NF,并且每個非碼屬性都完全依賴于各個碼,則稱R屬于第二范式(2NF)。如果某個數(shù)據(jù)庫模式中的每個關系模式都是2NF,則這個數(shù)據(jù)庫模式稱為2NF的數(shù)據(jù)庫模式。 下頁表1-5所示的關系模式R(學號,系名,系辦地址,課程號,成績),主碼為學號課程號。 某個學生某門課程的成績(一個非碼屬性)是完全依賴于他的學號和該課程的代號(主碼)的。也就是說,知道了一個學生的學號和他參加考試的課程號(兩者缺一不可),就知道了他這一門課的成績。,1.4.2 第二范式(續(xù)一),1.4.2 第二范式(續(xù)二),他所在的系名(另一非碼屬性)實際上僅完全依賴于他的學號(主碼中的一個屬性),與課程代號(主碼中的另一個屬性)無關。也就是說,只要知道了一個學生的學號(并不需要知道課程號),就知道了他所在的系名和系辦地址。 這個關系模式不屬于2NF(僅屬于1NF)。 如果將R分解為兩個關系模式R1(學號,系名,系辦地址)和R2(學號,課程號,成績),下頁表1-7和表1-6,則R1和R2都屬于2NF了。,1.4.2 第二范式(續(xù)三),這樣分解之后,減少了冗余,節(jié)省了存儲空間,降低了數(shù)據(jù)維護的代價。但是,另一方面是增加了查詢難度。 這說明,在確定數(shù)據(jù)模型時,不能簡單地說采用第二范式一定比第一范式好,采用第三范式也一定比第二范式好。到底采用哪個范式,要根據(jù)具體問題的要求確定。,1.4.3 第三范式,如果關系模式R是2NF,且每個非主屬性都完全直接依賴于各個碼(即既不部分依賴于碼也不傳遞依賴于碼),則稱R屬于第三范式(3NF)。如果某個數(shù)據(jù)庫模式中的每個關系模式都是3NF,則這個數(shù)據(jù)庫模式稱為3NF的數(shù)據(jù)庫模式。 如果一個關系不屬于第三范式,那么也可能存在一些問題。 在關系R2中,主碼為(學號、課程號),成績是完全直接依賴于他的學號和該課程的代號(主碼)的,故R2屬于3NF。,1.4.3 第三范式(續(xù)一),在關系R1中,主碼為(學號) ,知道了一個學生的學號(主碼),就知道了他所在的系名,知道了他所在的系名(非碼屬性),也就知道了該系辦公室的地址。系名是完全直接依賴于他的學號的。但系辦公室的地址是通過系名間接(不是直接)依賴與他的學號的,故R1不屬于3NF。 正因為關系R1不屬于3NF,也存在數(shù)據(jù)冗余和操作異?,F(xiàn)象。例如,有多個學生同屬于一個系,這個系的地址就多次重復。 如果將關系R1分解為R11和R12(下頁表1-8和表1-9),則R11和R12就都是屬于3NF了。,1.4.3 第三范式(續(xù)二),一個數(shù)據(jù)庫滿足的范式越多,數(shù)據(jù)的冗余度越小,共享性越高,所占的存儲空間越少,并將數(shù)據(jù)的不一致性減少到最低程度。 但是,高范式的數(shù)據(jù)庫查詢起來比較復雜。所以,不應一味追求高范式,對于包含頻度很高的查詢的數(shù)據(jù)庫,不妨降低些范式。,第2章 Access 數(shù)據(jù)庫基礎知識,2.1 Access 數(shù)據(jù)庫概述 2.2 Access 的特點 2.3 Access 2002 的新增功能 2.4 Access 的基本操作 2.5 Access 數(shù)據(jù)庫設計 2.6 Access 數(shù)據(jù)庫的對象 2.7 數(shù)據(jù)類型與表達式,2.1 Access 數(shù)據(jù)庫概述,Microsoft Access是第一個在Windows環(huán)境下開發(fā)的一種全新的關系數(shù)據(jù)庫管理系統(tǒng),是中小型數(shù)據(jù)庫管理的最佳選擇。Access 2002和Access 2000不僅是數(shù)據(jù)庫管理系統(tǒng),而且還是一個功能強大的開發(fā)工具。 Access使用標準SQL(Structured Query Language,結構化查詢語言)作為它的數(shù)據(jù)庫語言。,2.1 Access 數(shù)據(jù)庫概述 (續(xù)),每一個Access數(shù)據(jù)庫,包括它所有的對象都存儲在以.mdb為擴展名的數(shù)據(jù)庫文件中。 打開一個數(shù)據(jù)庫就是打開一個數(shù)據(jù)庫文件。就Access而言,可以認為數(shù)據(jù)庫和數(shù)據(jù)庫文件含義相同。 Access數(shù)據(jù)庫不但包括各種對象,還包括對各種對象的操作。,2.2 Access 的特點,1. 一個文件管理整個系 統(tǒng) 2. 真正的關系數(shù)據(jù)庫管 理 3. 典型的開放式數(shù)據(jù)庫管理 4. 完善的幫助功能 5. 利用Excel整理數(shù)據(jù) 6. 擁有大量的內(nèi)置函數(shù) 7. 提供了許多宏 8. 方便的網(wǎng)絡功能,2.3 Access 2002 的新增功能,1. 更友好的系統(tǒng)界面 2. 任務窗格 3. 數(shù)據(jù)庫轉換工具 4. 數(shù)據(jù)透視表視圖和數(shù)據(jù)透視圖視圖 5. 數(shù)據(jù)庫自動壓縮功能 6. 改進了訪問功能,2.4 Access 的基本操作,2.4.1 Access 的啟動和退出,啟動Access和啟動Word的方法一樣,有3種:(1)雙擊桌面上的Access圖標。 (2)單擊任務欄上的“開始”按鈕,在彈出的菜單中選“程序”項,在彈出的級聯(lián)菜單中單擊“Microsoft Access”。 (3)雙擊Access數(shù)據(jù)庫文件(建議盡量不用此法)。 用前兩種方法啟動Access 2002就打開了 Access主窗口(下頁)。該窗口的右側是任務窗格的“新建文件”模式。,2.4.1 Access 的啟動和退出(續(xù)一),2.4.1 Access 的啟動和退出(續(xù)二),用第3種方法啟動Access后就立即打開了該數(shù)據(jù)庫文件,并打開該數(shù)據(jù)庫的“數(shù)據(jù)庫”窗口(下圖中的內(nèi)窗口)。,2.4.1 Access 的啟動和退出(續(xù)三),Access主窗口和“Word”窗口很相似,有標題欄、菜單欄、工具欄、工作區(qū)和狀態(tài)欄。 Access工作界面的工作區(qū)內(nèi)可以顯示包括“數(shù)據(jù)庫”窗口在內(nèi)的各種子窗口。 菜單欄下面是“數(shù)據(jù)庫”工具欄。 “數(shù)據(jù)庫”窗口中工具欄的按鈕自左至右分別是:打開、設計、新建、刪除、大圖標、小圖標、列表、詳細信息。前4個按鈕用來打開、設計、新建或刪除數(shù)據(jù)庫的對象,后4個按鈕用來選擇對象的顯示方式。 退出Access和退出Word的方法完全相同。,2.4.2 使用聯(lián)機幫助,Access2002有四種獲取幫助的方法。 一、使用Office助手 打開Office助手氣球和助手圖標有兩種方法: (1)單擊工具欄上的“Microsoft Access幫助”按鈕; (2)選“幫助”菜單項,在其下拉式菜單中單擊“Microsoft Access幫助(H) F1”項。,右圖的助手氣球中間的對話框讓用戶輸入問題,下部有“選項”和“搜索”兩個按鈕。,2.4.2 使用聯(lián)機幫助(續(xù)一),在助手氣球中輸入想問的問題后單擊“搜索”按鈕(或按Enter鍵),則助手氣球中就出現(xiàn)關于該問題的幾個搜索主題和“請看下一頁”按鈕(下圖)。,2.4.2 使用聯(lián)機幫助(續(xù)二),助手圖標和助手氣球可分別隱藏(關閉)。 單擊上頁圖中的某搜索主題(或前面的指示燈),就打開了顯示該主題的“Microsoft Access幫助”窗口,見2.4.2(續(xù)五)中圖。 單擊“選項”按鈕就進入了下頁圖所示的“Office助手”對話框。若選中“選項”選項卡就可以進行有關功能的設置。若選中“助手之家”選項卡則可以選擇Office助手形象。,2.4.2 使用聯(lián)機幫助(續(xù)三),2.4.2 使用聯(lián)機幫助(續(xù)四),二、使用Microsoft Access幫助 上頁圖中的“響應F1鍵”選項的含義是:若選中該項,按F1就打開2.4.2圖所示的助手氣球;若取消該選項,按F1就打開下頁圖所示的“Microsoft Access幫助”窗口;該窗口有“目錄”、“應答向導”和“索引”3個選項卡。 如果在窗體或報表的“設計”視圖選中具體控件后按F1,則顯示這類控件的說明,如2.4.2(續(xù)七)圖所示。,2.4.2 使用聯(lián)機幫助(續(xù)五),“Microsoft Access幫助”窗口的左窗格顯示目錄、提問框或關鍵字(分別對應三個選項卡),右窗格顯示與左窗格選中項相應的說明內(nèi)容。,本頁圖中左窗格選中的是“關于設計數(shù)據(jù)庫”,右側就是其說明內(nèi)容。,2.4.2 使用聯(lián)機幫助(續(xù)六),三、使用“鍵入需要幫助的問題” 這是Access 2002的新增功能。在Access主窗口的菜單欄右邊有“鍵入需要幫助的問題”框。在這個框中輸入主題詞就可以得到幫助。如果輸入:數(shù)據(jù)庫,然后按Enter鍵就出現(xiàn)關于數(shù)據(jù)庫的主題列表(右下圖)。,這個主題列表中列出了和數(shù)據(jù)庫有關的問題,單擊其中的“關于設計數(shù)據(jù)庫”,就打開了上頁圖所示的“Microsoft Access幫助”窗口。,2.4.2 使用聯(lián)機幫助(續(xù)七),四、使用“這是什么?” 在“幫助”中單擊“這是什么?”,鼠標變成箭頭和問號組合的形狀,然后將鼠標移到需要解釋的主題處單擊,就會顯示關于該主題的說明。下圖就是在“數(shù)據(jù)庫”窗口使用“這是什么?”后單擊“窗體”顯示的該主題的說明。,2.5 Access 數(shù)據(jù)庫設計,表的設計是數(shù)據(jù)庫管理系統(tǒng)最基礎、最重要的工作。 表設計的好壞對數(shù)據(jù)庫管理系統(tǒng)的功能有決定性的影響。 數(shù)據(jù)庫中表的設計主要考慮這兩個方面:一是整個管理系統(tǒng)的所有表中的數(shù)據(jù)要共享性高、冗余度小、占用盡可能小的存儲空間;二是能方便維護表中的數(shù)據(jù)和快速地從表中獲取數(shù)據(jù)。,2.5.1 數(shù)據(jù)庫中表的設計方法,2.5 (續(xù)一),描述被參照關系和參照關系的表分別稱為主表和子表。 主碼和外碼在Access數(shù)據(jù)庫中稱為主鍵和外鍵。 本書將僅含主鍵、不含外鍵的表稱為基礎表(包括主要用于編碼的代碼表),將含外鍵的表稱為基本表,將由基礎表和基本表生成的表稱為生成表。 基礎表和基本表是數(shù)據(jù)庫設計的重要內(nèi)容,它們的數(shù)據(jù)可以直接維護。生成表不是數(shù)據(jù)庫直接設計的表,它的數(shù)據(jù)由查詢生成,不應直接維護。,2.5 (續(xù)二),Access數(shù)據(jù)庫表的設計方法如下: 1進行系統(tǒng)分析。 2提煉出將要作為數(shù)據(jù)庫中表的字段。確定字段的原則是:表中的字段(即屬性,將在2.6.1節(jié)介紹)應該是該管理事務所必須的、獨立的字段。所謂獨立包括兩方面含義:(1)該字段是不能再分割的;(2)該字段不依賴于其它的字段。 3根據(jù)數(shù)據(jù)庫管理的要求增加必要的字段。尤其是對有限數(shù)據(jù)集合的字段應該增加編碼字段。,2.5 (續(xù)三),4設計數(shù)據(jù)庫所必須的表。設計表的基本原則是:(1)凡是有限數(shù)據(jù)集合應單獨設計一個表(基礎表);(2)除作為表間聯(lián)系的主鍵和外鍵,不同的表中不能包含重復的字段;(3)表中的字段必須是直接取決于該表描述的實體;(4)定義表的主鍵;原則上每一個表都應定義主鍵。 5確定表間關系。只有確定了表間關系才算是完成了表的設計。通常都是在系統(tǒng)分析的基礎上對表進行初步設計,以后還需要經(jīng)過幾次循環(huán),反復修改才能得到理想的設計。還要考慮的一個問題是系統(tǒng)的可擴充性。,2.5.2 學生管理數(shù)據(jù)庫表的設計,本書所用的“學生管理”數(shù)據(jù)庫的功能應包括以下幾個方面(學期成績=平時成績0.3考試成績0.7 ): ()學生選修課程和考試成績維護(包括輸入、修改和刪除)。 ()按學號查詢學生選修的課程和考試成績 ()按課程查詢選修的人數(shù)。 ()按班級或個人或課程對成績進行排序、篩選、統(tǒng)計和查詢。 ()按班級打印學生考試成績表。 ()按個人打印成績通知單。,2.5.2 (續(xù)一),其它需求有: ()對學生的基本情況進行查詢,包括學生的學號、姓名、性別、出生年月日、身高、所在班級、家庭所在地、家庭人均月收入等。 ()對班級人數(shù)進行統(tǒng)計、查詢。 ()打印班級學生名單。 根據(jù)管理的實際需要還應該補充以下功能:學生、課程和學生選課及成績等基本信息的輸入、修改、刪除和查詢。,2.5.2 (續(xù)二),根據(jù)問題的需求,如下字段是必需的:學號、姓名、性別、出生年月日、所在班級、家庭所在地、家庭人均月收入、課程名稱、平時成績和考試成績等字段。但班級人數(shù)、課程選修人數(shù)、學期成績等統(tǒng)計數(shù)據(jù)不能作為字段。 如果只用一個表把上述所有字段都包括進去在理論上是可以的,但是這樣處理會引起許多問題。因為每個學生都可以選修多門課程、每門課程也都可以有多人選修。僅用一個表勢必要將每個學生的學號、姓名、性別、出生年月日、所在班級、課程名稱等內(nèi)容多次重復輸入,既費時費力、占據(jù)大量的存儲空間,又可能引起輸入數(shù)據(jù)的不一致。,2.5.2 (續(xù)三),根據(jù)以上分析,可考慮用兩個表:將不涉及選課的個人信息和僅與選課有關的信息分別設計成“學生情況”和“選課及成績”兩個表: 學生情況,含學號、所在班級、姓名、性別、出生年月日、身高、家庭所在地、家庭人均月收入、是否團員等9個字段; 選課及成績,含學號、姓名、課程名稱、平時成績和考試成績等5個字段。 這兩個表通過學號建立聯(lián)系。 這個方案存在的問題。,2.5.2 (續(xù)四),設計成個表(花括號中是各字段的數(shù)據(jù)類型和長度(將在2.7.1節(jié)介紹),下同)的方案: 班級簡況,含班級代號文本,5、班級名稱文本,8兩個字段。 學生情況,含學號文本,7、班級代號文本,5、姓名文本,6、性別文本,1、出生年月日日期/時間、身高(cm)數(shù)字,字節(jié)、是否住宿文本,1、家庭所在地文本,4、家庭人均月收入貨幣、是否團員是/否等9個字段。 課程檔案,含課程號文本,4、課程名稱文本,16、總學時數(shù)字,字節(jié)3個字段。,2.5.2 (續(xù)五),選課及成績,含學號文本,7、課程號文本,4、平時成績數(shù)字,字節(jié)、考試成績數(shù)字,字節(jié)、考試日期日期4個字段。 下圖是在Access數(shù)據(jù)庫中對這個表間關系的表達。其中兩個表間關系連線兩端的“1”和“”表示實施了參照完整性。,2.5.3 教工管理數(shù)據(jù)庫表的設計,本書所用的“教工管理”數(shù)據(jù)庫的功能應包括這幾個方面: (1)教師任課情況和教學效果維護(包括輸入、修改和刪除)。 (2)按教工編號查詢教師所任的課程和教學效果。 (3)按課程查詢?nèi)握n教師。 (4)按技術職稱或文化程度對教工進行排序、篩選、統(tǒng)計和查詢。 (5)按姓名打印教師任課情況表。 (6)按部門打印教工個人情況表。,2.5.3 (續(xù)一),其它需求有: ()對教工的基本情況進行查詢,包括教工的教工編號、姓名、性別、出生年月日、技術職稱、文化程度、月工資、家庭電話等。 (2)對部門人數(shù)進行統(tǒng)計、查詢。 (3)打印部門教工名單。 根據(jù)管理的實際需要還應該補充以下功能:教工、課程和任課情況等基本信息的輸入、修改、查詢和刪除。,2.5.3 (續(xù)二),經(jīng)過和學生管理數(shù)據(jù)庫表的設計類似的分析、設計過程,可以得到包括以下7個表的一種設計方案。 部門簡況,含部門代號文本,3、部門名稱文本,6、辦公地點文本,63個字段。 文化程度編碼,含文化程度編碼文本,2、文化程度文本,6兩個字段。 技術職稱編碼,含技術職稱編碼文本,2、技術職稱文本,6兩個字段。 教學效果編碼,含教學效果編碼文本,1、教學效果文本,2兩個字段。,2.5.3 (續(xù)三),教工情況,含教工編號文本,5、部門代號文本,3、姓名文本,6、性別文本,1、出生年月日日期/時間、技術職稱編碼文本,2、文化程度編碼文本,2、婚姻狀況文本,2、基本工資貨幣、獎金貨幣、家庭電話文本,12等10個字段。 課程檔案,含課程號文本,4、課程名稱文本,10、總學時數(shù)字,字節(jié)3個字段。 任課情況,含職工編號文本,7、課程號文本,4、教學效果編碼文本,13個字段。,2.5.3 (續(xù)四),下圖是Access數(shù)據(jù)庫對這些表間關系的表達。,2.5.3 (續(xù)五),【說明】 (1)對于同一個實際問題可以有不同的設計方案。但是,必須依據(jù)第1章介紹的數(shù)據(jù)庫的基本原理進行分析,按規(guī)范化的要求設計表。 (2)對班級名稱、部門名稱、課程名稱,以至于技術職稱、文化程度、教學效果等有限數(shù)據(jù)集合字段進行編碼是提高數(shù)據(jù)的共享性、減小它的冗余度的有效措施。,2. 數(shù)據(jù)庫對象,Access 數(shù)據(jù)庫是數(shù)據(jù)和對象組成的集合。 Access數(shù)據(jù)庫對象包括表、查詢、窗體、報表、頁、宏和模塊等。 用Access新建或打開一個數(shù)據(jù)庫會同時打開一個數(shù)據(jù)庫窗口(下頁圖)。 “數(shù)據(jù)庫”窗口顯示已打開的數(shù)據(jù)庫包含的所有對象,并提供對這些數(shù)據(jù)庫對象進行操作的方法。 Access“數(shù)據(jù)庫”窗口左側是“對象”框,右側是一個列表框。當在對象框選定某對象類型時,右側列表框顯示和左側選定對象類別相應的創(chuàng)建該類對象的快捷方式和已建好的具體對象。,2. 數(shù)據(jù)庫對象(續(xù)),2.6.1 表,表即數(shù)據(jù)表,是Access數(shù)據(jù)庫中唯一存儲數(shù)據(jù)的對象,當然就是數(shù)據(jù)庫最基本、最重要的對象。 表的每一列表示同種類型的數(shù)據(jù),稱為一個屬性或字段,字段名顯示在表的頂端(第一行)。 表的每一行(第一行除外)稱為該表的一個記錄。,表由多個記錄組成。也存在沒有記錄的空表。,2.6.2 查詢,任何一個數(shù)據(jù)庫僅有表是遠遠不夠的。人們往往需要或是在一個表中查找部分字段的內(nèi)容,或是從多個表中查找某些字段的內(nèi)容,而且可能帶有各種特定的要求。 檢索數(shù)據(jù)就是在適當?shù)姆秶鷥?nèi)、按某些條件、以某種方式在一個或多個表中查找有關記錄的指定字段(或字段的函數(shù))。 查詢是檢索數(shù)據(jù)(即實現(xiàn)上述查找)的工具,是Access數(shù)據(jù)庫很重要的對象。查詢還可以在表中插入、刪除和修改數(shù)據(jù),也可以生成新表。,2.6.2 查詢(續(xù)一),在“數(shù)據(jù)庫”窗口打開“學生管理”數(shù)據(jù)庫,單擊“對象”框中的“查詢”,再雙擊列表框中的“江蘇的學生”(一個查詢),系統(tǒng)會彈出如右圖所示的結果。,該查詢的結果相當于一張表,它包括學號、姓名、家庭所在地3個字段,含有9個記錄。但這些內(nèi)容實際上是存在“學生情況”表中的,執(zhí)行查詢僅是“看到”而已。,2.6.2 查詢(續(xù)二),因為一般的查詢和表一樣有字段、記錄等概念,更重要的是查詢和表有著幾乎同樣的功能,因而在許多場合把查詢和表同等看待。在同一個數(shù)據(jù)庫中查詢和表不能同名。本書用數(shù)據(jù)源(或記錄源)泛指表或查詢。 查詢既可以建立在表上,也可以建立在其它查詢上。 查詢的功能很強大,也非常靈活,其在數(shù)據(jù)庫中的地位甚至超過表。一個數(shù)據(jù)庫管理系統(tǒng)中查詢的功能強弱直接影響該系統(tǒng)的性能。,2.6.3 窗體,窗體是用戶與數(shù)據(jù)庫之間進行交互的對象。在一個完善的數(shù)據(jù)庫管理系統(tǒng)中,用戶都是通過窗體對數(shù)據(jù)進行各種操作,而不是直接對表、查詢進行操作的。通過窗體還可以控制應用程序的運行過程,因而窗體是Access最靈活的對象。 窗體中的各種按鈕、列表框、菜單等稱為控件。在窗體中適當安排一些控件可以增強和完善窗體的功能。 大多數(shù)窗體都與數(shù)據(jù)源綁定,這些窗體中的大部分內(nèi)容來自它的基表。,2.6.3 窗體(續(xù)一),在“數(shù)據(jù)庫”窗口打開“學生管理”數(shù)據(jù)庫,單擊“對象”框中的“窗體”,再雙擊列表框中的“向導創(chuàng)建學生情況縱欄式”(一個窗體),系統(tǒng)會出現(xiàn)如下圖所示的結果。,2.6.3 窗體(續(xù)二),下圖是“羅斯文”數(shù)據(jù)庫中的“雇員”窗體。,2.6.4 報表,一個好的數(shù)據(jù)庫系統(tǒng)往往需要以一定的格式將數(shù)據(jù)打印輸出,報表正是實現(xiàn)這種功能的有力工具。 打印輸出的報表易于閱讀和保存,同時也具有分析、匯總的功能。 報表還可以在包括Internet在內(nèi)的互連網(wǎng)上發(fā)布。 報表只用于輸出數(shù)據(jù),不能對數(shù)據(jù)做任何修改,這是和窗體的本質區(qū)別。,2.6.4 報表(續(xù)一),下圖是“學生管理”數(shù)據(jù)庫中的一個報表。,2.6.5 宏,Access對各種數(shù)據(jù)庫對象的操作方法有多種,這些方法在多數(shù)情況下是方便有效的。但是,很多時候操縱的對象較多,操作比較復雜。完全靠人工操作效率很低,又容易出錯。宏可以將數(shù)據(jù)庫中各種對象連接起來,從而大大提高效率。 宏是指一個或多個操作的集合,其中每個操作實現(xiàn)特定的功能。 宏是組織整個數(shù)據(jù)庫的重要工具之一。,2.6.6 頁和模塊,頁的全稱是數(shù)據(jù)訪問頁,是鏈接到某個數(shù)據(jù)庫的Web頁。在數(shù)據(jù)訪問頁中可以瀏覽、添加、編輯和操縱存儲在數(shù)據(jù)庫中的數(shù)據(jù)。 有些數(shù)據(jù)庫管理系統(tǒng)的功能需求很多,對數(shù)據(jù)庫的各種操作更加復雜,有些功能用宏無法實現(xiàn)。為此,Access嵌入了功能強大的數(shù)據(jù)庫編程語言Visual Basic for Applications,簡稱VBA。 模塊就是Access利用VBA開發(fā)出來的程序段。,2.6.7 各種數(shù)據(jù)庫對象間的關系,概括地說,各種數(shù)據(jù)庫對象的作用是:表用來存儲數(shù)據(jù),查詢用來檢索數(shù)據(jù),窗體用來查看和維護數(shù)據(jù),報表用來打印數(shù)據(jù),宏用來提高工作效率。 所有數(shù)據(jù)庫對象通過關系、宏及模塊聯(lián)系起來。表間關系主要應用在查詢中。窗體和報表往往以表和查詢?yōu)榛A。宏和模塊是Access的強化工具,能進一步擴展數(shù)據(jù)庫的功能,提高數(shù)據(jù)庫管理的自動化程度和效率。,2.6.7 (續(xù)一),選擇一個具體的數(shù)據(jù)庫對象后單擊工具欄上的“屬性”按鈕,系統(tǒng)就彈出該對象的屬性對話框,在該對話框內(nèi)可以設置該對象的各種屬性。 利用“數(shù)據(jù)庫”窗口工具欄靠右邊的大圖標、小圖標等4個按鈕可以切換不同的查看方式。 在“數(shù)據(jù)庫”窗口中可以對數(shù)據(jù)庫對象進行刪除、復制、重命名等操作。其方法和Word中對文件的刪除、復制、重命名等操作基本相同。,2.7 數(shù)據(jù)類型與表達式,數(shù)據(jù)類型和表達式都是數(shù)據(jù)庫非常重要的內(nèi)容。正確使用數(shù)據(jù)類型是設計好表的前提。 靈活運用表達式可以設計高質量的表和豐富多彩的查詢,因而也就能夠設計出功能強大的數(shù)據(jù)庫管理系統(tǒng)。,2.7.1 數(shù)據(jù)類型,Access數(shù)據(jù)庫為字段提供了10種數(shù)據(jù)類型,它們的用法和所占存儲空間大小如下。 1文本型(Text):用于文本或文本與數(shù)字的結合,最長為255個字符(字節(jié)),默認值是50。在Access中,每一個漢字和所有特殊字符(包括中文標點符號)都算作一個字符。 貨幣型(Currency):用來存儲貨幣值,占8個字節(jié),在計算中禁止四舍五入。,2.7.1 數(shù)據(jù)類型(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 尋常痤瘡的臨床護理
- 生涯發(fā)展指導課:《規(guī)劃的人生更精彩》學習心得體會模版
- 買賣房過渡合同范例
- 人防工程租賃合同范例
- 2025年餐飲服務員年度工作總結模版
- 個人月度工作總結模版
- 2024年太陽能組件生產(chǎn)裝備項目資金需求報告代可行性研究報告
- 2025年小學數(shù)學組教研活動總結模版
- 保險推廣合同范例
- 個人桑蠶養(yǎng)殖合同范例
- 新能源汽車維護與故障診斷課件 項目一 安全防護知識與應用
- 2024ESC心房顫動管理指南解讀
- 2024年計算機軟件水平考試-高級系統(tǒng)架構師考試近5年真題附答案
- 浙江省2024年全國中學生奧林匹克數(shù)學競賽初賽試題 含解析
- 2024-2025學年小學信息技術(信息科技)六年級全一冊義務教育版(2024)教學設計合集
- 九型人格之職場心理學習通超星期末考試答案章節(jié)答案2024年
- 基于機器學習的緩存優(yōu)化
- 肝損傷患者的護理
- 學術論文文獻閱讀與機助漢英翻譯智慧樹知到答案2024年重慶大學
- 老年心房顫動診治中國專家共識(2024)解讀
- 新高考背景下2025屆高三歷史一輪復習策略講座
評論
0/150
提交評論