數(shù)據(jù)庫技術(shù)與應(yīng)用簡明教程課件(完整版)_第1頁
數(shù)據(jù)庫技術(shù)與應(yīng)用簡明教程課件(完整版)_第2頁
數(shù)據(jù)庫技術(shù)與應(yīng)用簡明教程課件(完整版)_第3頁
數(shù)據(jù)庫技術(shù)與應(yīng)用簡明教程課件(完整版)_第4頁
數(shù)據(jù)庫技術(shù)與應(yīng)用簡明教程課件(完整版)_第5頁
已閱讀5頁,還剩374頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1數(shù)據(jù)庫技術(shù)與應(yīng)用為什么學(xué)習(xí)數(shù)據(jù)庫圖書館系統(tǒng)教務(wù)管理系統(tǒng)一卡通火車票(飛機)訂票系統(tǒng)超市管理系統(tǒng)各種搜索引擎23數(shù)據(jù)庫技術(shù)基礎(chǔ)第1章第1章 數(shù)據(jù)庫技術(shù)基礎(chǔ)1.1 信息與數(shù)據(jù)1.信息(Information)信息是現(xiàn)實世界中各種事物的存在方式、運動形態(tài)以及它們之間的相互聯(lián)系等諸要素在人腦中的反映。4具體的或抽象的2.數(shù)據(jù)(Data) 數(shù)據(jù)是反映客觀事物存在方式和運動狀態(tài)的記錄,是信息的載體。 數(shù)據(jù)表現(xiàn)信息的形式是多種多樣的,不僅有數(shù)字、文字符號,還可以有圖形、圖像和聲音等。 數(shù)據(jù)和信息是不可分離的,數(shù)據(jù)是信息的表現(xiàn)形式,數(shù)據(jù)只有經(jīng)過處理具有一定意義后才成為信息。 數(shù)據(jù)是信息的載體,信息是數(shù)據(jù)的內(nèi)

2、涵 51.2 數(shù)據(jù)管理技術(shù)的發(fā)展 數(shù)據(jù)管理是指利用計算機對各種類型的數(shù)據(jù)進行加工處理。它包括對數(shù)據(jù)的采集、整理、存儲、分類、排序、檢索、維護、加工、統(tǒng)計和傳輸?shù)纫幌盗胁僮鬟^程。數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)歷了:人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段61.人工管理階段(20世紀50年代中期)特點:這一時期的數(shù)據(jù)由于是面向應(yīng)用程序的,應(yīng)用程序與其處理的數(shù)據(jù)結(jié)合成一個整體。(1)數(shù)據(jù)不保存(2)應(yīng)用程序管理數(shù)據(jù)(3)數(shù)據(jù)不能共享(4)數(shù)據(jù)不具有獨立性7人工管理階段的程序與數(shù)據(jù)的關(guān)系應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)1數(shù)據(jù)2應(yīng)用程序n數(shù)據(jù)n2.文件系統(tǒng)階段20世紀50年代后期至60年代中期文件系統(tǒng)階段的特點(1)數(shù)據(jù)可

3、以長期保存(2)文件系統(tǒng)管理數(shù)據(jù)(3)數(shù)據(jù)的共享性差,冗余度大(4)數(shù)據(jù)獨立性差 8文件系統(tǒng)階段程序與數(shù)據(jù)的關(guān)系應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)文件1數(shù)據(jù)文件2數(shù)據(jù)文件n文件系統(tǒng)統(tǒng)3.數(shù)據(jù)庫系統(tǒng)(技術(shù))階段(20世紀60年代后期)數(shù)據(jù)處理的特點是:(1)數(shù)據(jù)整體結(jié)構(gòu)化(2)數(shù)據(jù)共享性高、冗余少(3)數(shù)據(jù)獨立性高(4)提供完備的數(shù)據(jù)控制功能在數(shù)據(jù)庫系統(tǒng)階段應(yīng)用系統(tǒng)與數(shù)據(jù)之間的關(guān)系9應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)庫管理系統(tǒng)統(tǒng)數(shù)據(jù)庫1.3 數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫系統(tǒng)(Database System,簡稱DBS)是應(yīng)數(shù)據(jù)處理的需要而發(fā)展起來的一種數(shù)據(jù)處理系統(tǒng),其架構(gòu)于計算機系統(tǒng)之上,所以數(shù)據(jù)庫系統(tǒng)的

4、組成需要計算機軟、硬件的支撐和協(xié)作,需要存儲數(shù)據(jù)的數(shù)據(jù)庫,管理數(shù)據(jù)的數(shù)據(jù)庫管理系統(tǒng),以及相關(guān)人員。101.3.1 數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)一般由4個部分組成:1.計算機硬件構(gòu)成計算機系統(tǒng)的各種物理設(shè)備,包括存儲所需的外部設(shè)備。硬件的配置應(yīng)滿足整個數(shù)據(jù)庫系統(tǒng)的需求。2.計算機軟件軟件包括操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、實用程序以及應(yīng)用開發(fā)工具等。其中,數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心軟件。11DBMS (Database Management System)的主要功能包括:數(shù)據(jù)定義數(shù)據(jù)操縱數(shù)據(jù)庫的運行管理數(shù)據(jù)庫的建立與維護123.數(shù)據(jù)庫數(shù)據(jù)庫(Database,簡稱DB)是以一定的組織方式將相關(guān)的數(shù)

5、據(jù)組織在一起,長期存放在計算機內(nèi),可為多個用戶共享,與應(yīng)用程序彼此獨立,統(tǒng)一管理的數(shù)據(jù)集合。數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)組成的核心要素。4.人員人員主要有4類:系統(tǒng)分析員和數(shù)據(jù)庫設(shè)計人員應(yīng)用開發(fā)人員最終用戶數(shù)據(jù)庫管理員(Database Administrator,簡稱DBA)13數(shù)據(jù)庫系統(tǒng)組成示意圖人員(分析/設(shè)計/開發(fā)/管理/用戶)應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具數(shù)據(jù)庫管理系統(tǒng)操作系統(tǒng)數(shù)據(jù)庫計算機硬件1.3.2 數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)從數(shù)據(jù)庫管理系統(tǒng)角度分,通常采用三級模式結(jié)構(gòu):外模式、模式和內(nèi)模式。15應(yīng)用程序1應(yīng)用程序2應(yīng)用程序3應(yīng)用程序4外模式A外模式B外模式C模式內(nèi)模式數(shù)據(jù)庫外模式/模式映

6、射A外模式/模式映射B外模式/模式映射C模式/內(nèi)模式映射1內(nèi)模式 內(nèi)模式也稱為存儲模式或物理模式,它是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。一個數(shù)據(jù)庫只有一個內(nèi)模式。2模式 模式也稱為邏輯模式或概念模式,是對數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有數(shù)據(jù)在邏輯層面上的視圖。一個數(shù)據(jù)庫只有一個模式。3外模式 外模式也稱為子模式或用戶模式,它是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。 外模式一般是模式的子集。一個數(shù)據(jù)庫可以有多個外模式。一個應(yīng)用程序只能使用一個外模式。164.“外模式/模式”之間的

7、映射這種映射定義了該外模式與模式之間的對應(yīng)關(guān)系,實現(xiàn)了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。 5.“模式/內(nèi)模式”之間的映射這種映射定義了模式與內(nèi)模式之間的對應(yīng)關(guān)系,即定義了數(shù)據(jù)的全體邏輯結(jié)構(gòu)和數(shù)據(jù)的物理結(jié)構(gòu)之間的對應(yīng)關(guān)系。模式/內(nèi)模式的映射使全局邏輯數(shù)據(jù)獨立于物理數(shù)據(jù),保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。171.4 數(shù)據(jù)庫設(shè)計的基本步驟數(shù)據(jù)庫設(shè)計是綜合運用計算機軟、硬件技術(shù),結(jié)合應(yīng)用系統(tǒng)領(lǐng)域的知識和管理技術(shù)的系統(tǒng)工程。數(shù)據(jù)庫設(shè)計歸納為如下幾個階段:1.需求分析階段2.概念結(jié)構(gòu)設(shè)計階段3.邏輯結(jié)構(gòu)設(shè)計階段4.物理結(jié)構(gòu)設(shè)計階段5.實施階段6.運行與維護階段181.需求分析

8、階段需求分析階段是整個數(shù)據(jù)庫設(shè)計的基礎(chǔ),在這個階段必須準確地理解、分析用戶的各種需求。信息要求:用戶需要從數(shù)據(jù)庫中獲取信息的內(nèi)容與性質(zhì),確定在數(shù)據(jù)庫中需要存儲的數(shù)據(jù)。處理要求:確定用戶對處理功能、響應(yīng)時間、處理方式的要求(批處理/聯(lián)機處理)。安全性和完整性要求:確定用戶對數(shù)據(jù)庫中存放的信息的安全保密要求,確定數(shù)據(jù)的約束條件。192.概念結(jié)構(gòu)設(shè)計階段在需求分析的基礎(chǔ)上,將用戶需求進行抽象和模擬,構(gòu)造信息世界的概念模型。概念結(jié)構(gòu)設(shè)計是數(shù)據(jù)庫設(shè)計的關(guān)鍵。設(shè)計概念模型的常用方法是實體-聯(lián)系模型(簡稱E-R模型)。203.邏輯結(jié)構(gòu)設(shè)計階段將概念結(jié)構(gòu)設(shè)計階段構(gòu)造的概念模型設(shè)計成數(shù)據(jù)庫的一種邏輯模式,即適應(yīng)

9、于某種特定數(shù)據(jù)庫管理系統(tǒng)所支持的邏輯數(shù)據(jù)模式。21概念模型(E-R模型)數(shù)據(jù)模型具體的DBMS支持的數(shù)據(jù)模型優(yōu)化的數(shù)據(jù)模型轉(zhuǎn)換規(guī)則DBMS的特點及限制優(yōu)化方法4.物理結(jié)構(gòu)設(shè)計階段數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)和存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于具體的計算機系統(tǒng)。數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計就是為設(shè)計好的邏輯數(shù)據(jù)模型選擇最適合的應(yīng)用環(huán)境。物理結(jié)構(gòu)設(shè)計主要完成兩方面的工作:確定數(shù)據(jù)庫的物理結(jié)構(gòu)。在關(guān)系數(shù)據(jù)庫中主要是確定存取方法和存儲結(jié)構(gòu)。對物理結(jié)構(gòu)進行評價。主要評價時間和空間效率225.實施階段設(shè)計人員使用DBMS提供的數(shù)據(jù)定義語言及其他實用程序?qū)⑸鲜鲭A段設(shè)計的結(jié)果描述出來,組織數(shù)據(jù)入庫,編寫并調(diào)試應(yīng)用程

10、序,試運行。6.使用與維護階段當(dāng)數(shù)據(jù)庫試運行成功后,即可投入正常使用,在使用過程中,由數(shù)據(jù)庫管理員負責(zé)整個數(shù)據(jù)庫應(yīng)用系統(tǒng)的日常維護工作,主要包括:數(shù)據(jù)庫轉(zhuǎn)儲和恢復(fù);數(shù)據(jù)庫安全性和完整性控制;數(shù)據(jù)庫性能的監(jiān)督、分析和改進;數(shù)據(jù)庫的重新組織和重新建構(gòu)。231.5 數(shù)據(jù)模型1.5.1 數(shù)據(jù)描述現(xiàn)實世界中的數(shù)據(jù)能夠被計算機所接受,需要經(jīng)過一系列的認識、理解、整理、規(guī)范和加工的過程,然后才能存放到數(shù)據(jù)庫中。24轉(zhuǎn)換抽象現(xiàn)實世界信息世界(概念模型)計算機世界(數(shù)據(jù)模型)數(shù)據(jù)描述的三個范疇各種事物根據(jù)其特征和運動形態(tài)加以區(qū)分信息世界是人們把現(xiàn)實世界的信息和聯(lián)系,通過“符號”記錄下來,是對現(xiàn)實世界的一種抽象描

11、述。信息世界中的數(shù)據(jù)在計算機世界中的存儲,即成為計算機的數(shù)據(jù)。數(shù)據(jù)模型是用于表達數(shù)據(jù)的工具。數(shù)據(jù)模型的組成要素是:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作數(shù)據(jù)的完整性約束條件。251.5.2 概念模型一、基本概念1.實體(Entity):客觀存在并相互區(qū)別的“事物”。例:某一本書、某一架飛機、某個學(xué)生等都是實體。 2.屬性(Attribute):實體有若干個特性,每一個特性稱為實體一個屬性。例:學(xué)生實體可以由學(xué)號、姓名、性別、出生日期等屬性組成。而(2016030205、張三、男、1998/06/26)就是一個學(xué)生實體。其中,“張三”是“姓名”屬性的屬性值。3.域:屬性的取值范圍。 4.實體型(Entity Type

12、):用實體名及描述它的各屬性名來描述同類實體,稱為實體型。例:學(xué)生(學(xué)號、姓名、性別、出生日期)就是一個實體型。 265.實體集(Entity Set):是具有相同類型及相同屬性的實體的集合。例:某個學(xué)校(或某個班級)的全體學(xué)生就是一個實體集。6. 關(guān)鍵字(Key):如果某個屬性或某個屬性集的值能夠唯一地標(biāo)識出實體集中的每一個實體,那么該屬性或?qū)傩约头Q為關(guān)鍵字(或碼)。作為關(guān)鍵字的屬性或?qū)傩约址Q為主屬性,反之稱為非主屬性。例:一個學(xué)校里,學(xué)生實體的學(xué)號是肯定不重復(fù)的。所以學(xué)號可以作為學(xué)生實體的關(guān)鍵字。7.聯(lián)系(Relationship):聯(lián)系是對實體集間的關(guān)聯(lián)關(guān)系的描述。27實體集的聯(lián)系類

13、型有如下3種類型:1)一對一聯(lián)系 設(shè)有實體集A與實體集B,如果A中的一個實體,至多與B中的一個實體關(guān)聯(lián),反過來,B中的一個實體,至多與A中的一個實體關(guān)聯(lián),則稱A與B是“一對一”聯(lián)系類型,記作(1:1)。28任職班長班級 1 1 11班級管理班主任2)一對多聯(lián)系 設(shè)有實體集A與實體集B,如果A中的一個實體,與B中可以有多個實體關(guān)聯(lián),反過來,B中的一個實體,至多與A中的一個實體關(guān)聯(lián),稱A與B是“一對多”聯(lián)系類型,記作(1n)。 29所屬 班級 學(xué)生 1 n 3.多對多聯(lián)系 設(shè)有實體集A與實體集B,如果A中的一個實體,與B中可以有多個實體關(guān)聯(lián),反過來,B中的一個實體,與A中可以有多個實體關(guān)聯(lián),稱A與

14、B是多對多聯(lián)系類型,記作(mn)。30授課教師 課程 m n 工程項目供應(yīng)材料mn供應(yīng)商p二、實體-聯(lián)系模型E-R模型是用E-R圖來描述的,即通過圖形描述實體集、實體屬性和實體集之間聯(lián)系的圖形。 在E-R模型中,數(shù)據(jù)的結(jié)構(gòu)被表示為“實體-聯(lián)系”圖(E-R圖),圖中有3個主要的元素,即實體集、屬性和聯(lián)系。其中:(1)“矩形”框用于表示實體集;(2)“橢圓形”框用于表示實體集中實體的公共屬性;(3)“菱形”框用于表示實體集之間的聯(lián)系。31【例1-2】某學(xué)校要開發(fā)一個數(shù)據(jù)庫應(yīng)用系統(tǒng),通過需求分析階段獲取其中的學(xué)生管理子系統(tǒng)的信息如下:學(xué)院:學(xué)院編號、學(xué)院名稱、負責(zé)人、電話、地址系:系編號、系名稱、系

15、主任、班級個數(shù)班級:班級編號、班級名稱、班級人數(shù)、專業(yè)學(xué)生:學(xué)號、姓名、性別、出生日期、是否黨員、入學(xué)成績社團:社團編號、社團名稱、創(chuàng)建日期每個學(xué)院會設(shè)置若干個系,每個系只屬于一個學(xué)院;每個系擁有若干個班級,每個班級只屬于一個系;每個班級有若干名學(xué)生,每位學(xué)生只屬于一個班級;每個學(xué)生可以參加若干個社團,每個社團可以有若干名學(xué)生參加,參加社團記錄其入團時間。設(shè)計E-R圖。3233E-R模型的設(shè)計通常采用的設(shè)計思想是:“化全局”為“局部”,再做“局部集成”1.5.3 常用的數(shù)據(jù)模型1. 層次模型層次模型(Hierarchical Model)是數(shù)據(jù)庫系統(tǒng)最早使用的一種數(shù)據(jù)模型,它的數(shù)據(jù)結(jié)構(gòu)是一種倒

16、掛的有向的“樹結(jié)構(gòu)”。其主要特征如下:有且僅有一個無父結(jié)點的根結(jié)點。其他結(jié)點有且僅有一個父結(jié)點。3435ABCDEC1C2C3E1E11E12學(xué)院 系 辦公室 教研室 班級 2. 網(wǎng)狀模型網(wǎng)狀模型(Network Model)以“圖結(jié)構(gòu)”表示數(shù)據(jù)之間的聯(lián)系。網(wǎng)狀模型可以表示多個從屬關(guān)系的聯(lián)系,也可以表示數(shù)據(jù)間的交叉關(guān)系,即數(shù)據(jù)間的橫向關(guān)系與縱向關(guān)系,它是層次模型的擴展。其主要特征如下:允許結(jié)點有多于一個的父結(jié)點??梢杂幸粋€以上的結(jié)點沒有父結(jié)點。36ABCDEF 學(xué)生 班級 社團 3.關(guān)系模型關(guān)系模型(Relational Model)以“二維表”結(jié)構(gòu)來表示數(shù)據(jù)之間的聯(lián)系。每個二維表又可稱為關(guān)系

17、。關(guān)系模型是目前最流行的一種數(shù)據(jù)模型之一。37學(xué)號姓名性別出生日期籍貫班級編號2015050101鞏炎彬男1998-1-9內(nèi)蒙古H05012015050102駱?biāo){軒男1998-2-10北京H05012015050103翟佳林男1998-5-11北京H05012015060201解襲茗女1998-10-12上海N06022015060201龐亦澎女1998-6-13海南N06022015070101晏睿強男1998-3-14上海S07012015070102狄墨涵女1998-4-15北京S07014.面向?qū)ο竽P兔嫦驅(qū)ο竽P褪且环N新興的數(shù)據(jù)模型,它采用面向?qū)ο蟮姆椒▉碓O(shè)計數(shù)據(jù)庫。面向?qū)ο蟮臄?shù)據(jù)庫

18、是以對象為單位,每個對象包含對象的屬性和方法,具有類和繼承等特點。面向?qū)ο竽P涂梢越o類或?qū)ο箢愋投x任何有用的數(shù)據(jù)結(jié)構(gòu)。3839第2章 關(guān)系模型和關(guān)系數(shù)據(jù)庫2.1 關(guān)系模型關(guān)系模型是由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作和關(guān)系完整性約束3部分組成。2.1.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)二維表(關(guān)系)。通過關(guān)系名來標(biāo)識。1.屬性在一個關(guān)系中,每一豎列稱為一個屬性(Attribute),通過屬性名來標(biāo)識。2.分量在一個關(guān)系中,每一個數(shù)據(jù)都可看成獨立的分量(Component)。3.元組在一個關(guān)系中,每一橫行稱為一個元組(Tuple)。4.域在一個關(guān)系中,每一個屬性的取值范圍稱為該屬性的域(Domain)。域

19、是相同數(shù)據(jù)類型的值的集合。405.關(guān)系模式在一個關(guān)系中,通常將用于描述關(guān)系結(jié)構(gòu)的關(guān)系名和屬性名的集合稱為關(guān)系模式(Schema)。其一般格式為:關(guān)系名(屬性名1,屬性名2,.,屬性名n)例如,關(guān)系模式:學(xué)生(學(xué)號,姓名,性別,出生日期,聯(lián)系方式,身份證號)416.關(guān)鍵字候選關(guān)鍵字:在一個關(guān)系中,如果某個屬性或某個屬性集能唯一標(biāo)識元組,且又不含有多余的屬性或?qū)傩约敲催@個屬性或?qū)傩约Q為該關(guān)系的候選關(guān)鍵字(Candidate Key)。簡稱候選鍵。例:學(xué)生關(guān)系,以關(guān)系模式表示:學(xué)生(學(xué)號,姓名,性別,出生日期,聯(lián)系方式,身份證號)其中,學(xué)號、身份證號分別是候選鍵。例:學(xué)生選修課程的選修關(guān)系,以

20、關(guān)系模式表示:選修(學(xué)號,課程編號,成績)其中,(學(xué)號,課程編號)兩個屬性構(gòu)成屬性集共同做候選鍵。42主關(guān)鍵字:在一個關(guān)系中,正在使用的候選鍵或由用戶特別指定的某一候選鍵,稱為該關(guān)系的主關(guān)鍵字(Primary Key),也稱為主鍵、主碼。例:學(xué)生(學(xué)號,姓名,性別,出生日期,聯(lián)系方式,身份證號)可以指定“學(xué)號”候選鍵是主鍵。例:選修(學(xué)號,課程編號,成績)只有一個候選鍵(學(xué)號,課程編號),所以這個唯一的候選鍵就是主鍵。43外部關(guān)鍵字:如果關(guān)系R中某個屬性或?qū)傩约瞧渌P(guān)系的主鍵,那么該屬性或?qū)傩约顷P(guān)系R的外部關(guān)鍵字(Foreign Key),或稱為外鍵、外碼。例:選修(學(xué)號,課程編號,成績)

21、“學(xué)號”屬性在學(xué)生關(guān)系中做主鍵,所以“學(xué)號”屬性在選修關(guān)系中是外部關(guān)鍵字。如果課程關(guān)系:課程(課程編號,課程名,學(xué)時,課程類別,開課學(xué)期)課程編號是唯一候選鍵,所以指定為主鍵。那么選修關(guān)系中,“課程編號”屬性在選修關(guān)系中是外部關(guān)鍵字。44關(guān)系模型的主要特點1)關(guān)系中的每一個分量都是不可再分的,最基本的數(shù)據(jù)單位。2)關(guān)系中每一列的分量都是同一類型的數(shù)據(jù),且都取值于同一個域。關(guān)系中列的順序是任意的。3)關(guān)系中各行的順序可以是任意的。4)一個關(guān)系是一張二維表,不允許有相同的屬性名,也不允許有相同的元組。457.關(guān)系數(shù)據(jù)庫 關(guān)系數(shù)據(jù)庫是創(chuàng)建在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫。 在關(guān)系數(shù)據(jù)庫中,將一個關(guān)系視為一張

22、二維表,又稱其為數(shù)據(jù)表(簡稱表),關(guān)系與表的對應(yīng)關(guān)系如下表所示:46在關(guān)系模型理論中在關(guān)系數(shù)據(jù)庫中關(guān)系表元組記錄屬性字段分量數(shù)據(jù)項2.1.2 關(guān)系操作關(guān)系模型常用的關(guān)系操作是查詢、插入、刪除和修改。關(guān)系模型的關(guān)系操作是集合操作性質(zhì)的,即數(shù)據(jù)操作的對象和操作結(jié)果均為集合。472.1.3 關(guān)系的完整性約束1)實體完整性:規(guī)定關(guān)系的主關(guān)鍵字不能取空值(NULL)。2)參照完整性:規(guī)定關(guān)系的外部關(guān)鍵字要么引用其對應(yīng)的主關(guān)鍵字的有效值,要么取空值(NULL)。3)用戶自定義完整性:是根據(jù)應(yīng)用環(huán)境的要求和實際的需要,對某一具體應(yīng)用所涉及的數(shù)據(jù)提出約束性條件。4849廠號廠名狀態(tài)廠址S1YL20咸陽S2XQ

23、10西安S3XT30西安零件號零件名顏色重量存放點P1螺帽紅12咸陽P2螺栓綠17西安P3螺釘黑10寶雞P4螺釘藍14咸陽廠號零件號存量S1P1300S1P2200S1P3400S2P1300S2P2400S3P2200關(guān)系F關(guān)系C關(guān)系FC 車間 (車間編號,車間名)職工(工號,姓名,工資,所在車間編號)外鍵,允許空值外鍵,不允許空值且應(yīng)是有效值2.2 關(guān)系的規(guī)范化2.2.1 引例【例2-1】設(shè)有一個關(guān)于學(xué)生信息和所學(xué)課程成績的關(guān)系模式:學(xué)生-選修信息(學(xué)號,姓名,專業(yè),課程編號,成績)50候選鍵?學(xué)號+課程編號數(shù)據(jù)冗余52更新異常將“計算機”專業(yè)需要更改為“計算機科學(xué)與技術(shù)”專業(yè)更新異常:數(shù)

24、據(jù)不一致53插入異常假如有一位學(xué)生報到后,就申請了休學(xué)一年,沒有學(xué)習(xí)任何課程插入異常:該插入的數(shù)據(jù)無法插入54刪除異常假如有一位學(xué)生在學(xué)習(xí)中途,放棄所學(xué)的課程,要求保留學(xué)籍出國刪除異常:不該刪除的數(shù)據(jù)被刪除了2.2.2 函數(shù)依賴函數(shù)依賴(Function Dependency)是關(guān)系規(guī)范化的主要概念,用于描述屬性之間的一種聯(lián)系。1.函數(shù)依賴定義設(shè)R(U)是一個屬性集U上的關(guān)系模式,X和Y是U的子集。對于R(U)的任意一個可能的關(guān)系r,r中不可能存在兩個元組,在X上的屬性值相同,而在Y上的屬性值不等,則稱“X函數(shù)確定Y”或“Y函數(shù)依賴于X”,記作XY。55【例2-2】關(guān)系模式:學(xué)生-選修(學(xué)號,

25、姓名,專業(yè),課程編號,成績),語義規(guī)定:每個學(xué)生的學(xué)號是唯一的;姓名可以重名;每個學(xué)生只能就讀一個專業(yè);每個學(xué)生每學(xué)習(xí)一門課程,就有一個成績。那么就可以寫出如下的函數(shù)依賴形式:學(xué)號姓名學(xué)號專業(yè)學(xué)號,課程編號成績56姓名專業(yè)成立?No5718:44:142.完全函數(shù)依賴的定義 在關(guān)系模式R(U)中,如果XY,并且對于X的任何一個真子集X,都有X Y ,則稱Y完全函數(shù)依賴于X,記作 。 在關(guān)系模式R(U)中,如果XY,并且對于X的任何一個真子集X,存在XY,則稱Y部分函數(shù)依賴于X,記作X Y。(學(xué)號,課程號) 成績P(學(xué)號,課程號) 姓名583.傳遞函數(shù)依賴定義 在關(guān)系模式R(U)中,如果XY,Y

26、 X,且Y X,YZ,則稱Z傳遞函數(shù)依賴于X?!纠?-3】設(shè)有關(guān)系模式:學(xué)生-系(學(xué)號,姓名,性別,系編號,系名稱)。語義規(guī)定:每個學(xué)生只屬于一個系,每個系有許多學(xué)生;每個系有唯一的系編號。則該關(guān)系模式存在如下函數(shù)依賴:學(xué)號系編號系編號系名稱則可以推出學(xué)號系名稱,所以該關(guān)系模式存在傳遞函數(shù)依賴。2.2.3.關(guān)系規(guī)范化關(guān)系規(guī)范化理論認為,關(guān)系數(shù)據(jù)庫中的每一個關(guān)系都要滿足一定的規(guī)范。根據(jù)滿足規(guī)范的條件不同,可以化分為6個等級5個范式,分別稱為 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) 修正的第三范式(BCNF) 第四范式(4NF) 第五范式(5NF)NF是(Normal Form

27、)的縮寫。59非規(guī)范化關(guān)系1NF2NF3NF BCNF 4NF5NF60關(guān)系規(guī)范化的前三個范式原則如下:1.第一范式:若一個關(guān)系模式的所有分量都是不可再分的基本數(shù)據(jù)項,則該關(guān)系模式屬于第一范式(1NF)。【例2-5】職工號姓名工資扣除實發(fā)基本工齡職務(wù)房租水電0345林子強3453004008055910 “工資”可再分為“基本”、“工齡”、“職務(wù)”,不是1NF “扣款”可再分為“房租”、“水電”,不是1NF上述關(guān)系不屬于1NF【例2-4】學(xué)生選課表61分量可再分,不符合1NF,將分量進行分解622.第二范式:若一個關(guān)系模式滿足1NF,且每個非主屬性都完全函數(shù)依賴于主鍵,則該關(guān)系模式屬于2NF。

28、2NF不允許關(guān)系中的非主屬性部分函數(shù)依賴于主鍵。例:關(guān)系模式:R(學(xué)號,姓名,年齡,課程號,成績)候選鍵:(學(xué)號,課程號)函數(shù)依賴:(學(xué)號,課程號)成績(學(xué)號,課程號)姓名(學(xué)號,課程號)年齡學(xué)號姓名 學(xué)號年齡R不屬于2NF63(學(xué)號,課程號)姓名,年齡 學(xué)號姓名,年齡分解學(xué)生(學(xué)號,姓名,年齡)成績(學(xué)號,課程號,成績)由于存在部分函數(shù)依賴,不是2NF分解成2NF模式集的算法:(1)設(shè)關(guān)系模式R(U),U是屬性集,主鍵是X,R上還存在函數(shù)依賴:XY,并且Y是非主屬性,存在X X,那么XY就是一個部分函數(shù)依賴。此時應(yīng)把R分解成兩個模式: R1(X,Y),主鍵是X; R2(U-Y),主鍵仍是X,

29、外部關(guān)鍵字是X(參照R1)。(2)如果R1和R2還不是2NF,則重復(fù)上述過程,直到每一個關(guān)系模式都是2NF為止。R(學(xué)號,姓名,年齡,課程號,成績)6418:44:143.第三范式:若一個關(guān)系模式滿足2NF,且每個非主屬性都不傳遞函數(shù)依賴于主鍵,則該關(guān)系模式屬于3NF。【例】設(shè)有關(guān)系模式:學(xué)生-系(學(xué)號,姓名,性別,系編號,系名稱)學(xué)號系編號系編號系名稱則可以推出學(xué)號系名稱,所以該關(guān)系模式存在傳遞函數(shù)依賴,不是3NF學(xué)號系編號系編號系名稱則可以推出學(xué)號系名稱,所以該關(guān)系模式存在傳遞函數(shù)依賴,不是3NF分解系(系編號,系名稱)學(xué)生(學(xué)號,姓名,性別,系編號)分解成3NF模式集的算法:(1)設(shè)關(guān)系

30、模式R(U) ,U是屬性集,主鍵是X,R上還存在函數(shù)依賴:YZ。并且Z是非主屬性,Y不是候選鍵,這樣XZ就是一個傳遞依賴。此時應(yīng)把R分解成兩個模式: R1(Y,Z),主鍵是Y; R2(U-Z),主鍵仍是X,外部關(guān)鍵字是Y(參照R1)。(2)如果R1和R2還不是3NF,則重復(fù)上述過程,直到每一個關(guān)系模式都是3NF為止。學(xué)生-系(學(xué)號,姓名,性別,系編號,系名稱)66總結(jié):消除非主屬性對鍵的部分函數(shù)依賴分離關(guān)系模式,逐步消除不合適的函數(shù)依賴1NF2NF 3NF 消除非主屬性對鍵的傳遞函數(shù)依賴2.3 E-R模型向關(guān)系模型的轉(zhuǎn)換由于聯(lián)系的類型有3種,所以在實體集之間的聯(lián)系上轉(zhuǎn)換的規(guī)則是不同的。6768

31、Aa1a2a3Bb1b2b3a4ABab11第1步:將每個實體集轉(zhuǎn)換成一個關(guān)系模式A( )B( )第2步:實體集的屬性即為關(guān)系模式的屬性,實體集的主鍵即為關(guān)系模式的主鍵A(a1,a2,a3,a4 )B(b1,b2,b3 )第3步:在兩個實體集轉(zhuǎn)換成的兩個關(guān)系模式中任意一個關(guān)系模式的屬性中加入另一個關(guān)系模式的主鍵和聯(lián)系類型的屬性A(a1,a2,a3,a4 )B(b1,b2,b3,a1,ab )外鍵,下劃波浪線標(biāo)注A(a1,a2,a3,a4,b1,ab )B(b1,b2,b3 )或外鍵,下劃波浪線標(biāo)注69Aa1a2a3Bb1b2b3a4ABab1n第1步:將每個實體集轉(zhuǎn)換成一個關(guān)系模式A( )B(

32、 )第2步:實體集的屬性即為關(guān)系模式的屬性,實體集的主鍵即為關(guān)系模式的主鍵A(a1,a2,a3,a4 )B(b1,b2,b3 )第3步:在n端實體集轉(zhuǎn)換成的關(guān)系模式中加入1端實體集的主鍵和聯(lián)系類型的屬性A(a1,a2,a3,a4 )B(b1,b2,b3,a1,ab )外鍵,下劃波浪線標(biāo)注70Aa1a2a3Bb1b2b3a4ABabmn第1步:將每個實體集轉(zhuǎn)換成一個關(guān)系模式A( )B( )第2步:實體集的屬性即為關(guān)系模式的屬性,實體集的主鍵即為關(guān)系模式的主鍵A(a1,a2,a3,a4 )B(b1,b2,b3 )第3步:將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為兩端實體集的主鍵加上聯(lián)系類型的屬性,而主鍵

33、為兩端實體集主鍵的組合A(a1,a2,a3,a4 )B(b1,b2,b3, )AB(a1,b1,ab )a1,b1分別為外鍵,下劃波浪線標(biāo)注【例2-8】將第1章【例1-2】中的E-R圖(圖2-6)轉(zhuǎn)換為關(guān)系模式。此E-R圖可以轉(zhuǎn)換為6個關(guān)系模式:學(xué)院(學(xué)院編號,學(xué)院名稱,負責(zé)人,電話,地址)系(系編號,系名稱,系主任,班級個數(shù),學(xué)院編號)班級(班級編號,班級名稱,專業(yè),班級人數(shù),系編號)學(xué)生(學(xué)號,姓名,性別,出生日期,是否黨員、入學(xué)成績,班級編號)社團(社團編號,社團名稱,創(chuàng)建日期)參加(學(xué)號,社團編號,入團時間)717218:44:14一個實體集間的聯(lián)系類型的轉(zhuǎn)換同上述介紹;三個及三個以上

34、實體集間的聯(lián)系類型的轉(zhuǎn)換,總是將聯(lián)系類型轉(zhuǎn)換成關(guān)系模式,其屬性為三端實體集的主鍵加上聯(lián)系類型的屬性,而主鍵為三端實體集的主鍵的組合。2.4 關(guān)系代數(shù)2.4.1 傳統(tǒng)的集合運算1.并運算 設(shè)關(guān)系R和關(guān)系S具有相同的屬性個數(shù),且對應(yīng)的屬性取自同一個域,則關(guān)系R與關(guān)系S的并將產(chǎn)生一個包含R、S中所有不同元組的新關(guān)系。記作:RS。 操作的示意圖如下:73RSRS重復(fù)的只保留1組【例2-9】已知喜歡唱歌的學(xué)生關(guān)系R和喜歡跳舞的學(xué)生關(guān)系S,求喜歡唱歌或跳舞的學(xué)生,即求RS。74RS2.差運算 設(shè)關(guān)系R和關(guān)系S具有相同的屬性個數(shù),且對應(yīng)的屬性取自同一個域,則兩個已知關(guān)系R和S的差,是所有屬于R但不屬于S的元

35、組組成的新關(guān)系。記作:R-S。 操作的示意圖如下:75RS-RS【例2-10】已知喜歡唱歌的學(xué)生關(guān)系R和喜歡跳舞的學(xué)生關(guān)系S,求喜歡唱歌但不喜歡跳舞的學(xué)生,即求R-S。求喜歡跳舞但不喜歡唱歌的學(xué)生,即求S-R。76R-SS-R3.交運算 設(shè)關(guān)系R和關(guān)系S具有相同的屬性個數(shù),且對應(yīng)的屬性取自同一個域,則兩個已知關(guān)系R和S的交,是屬于R而且也屬于S的元組組成的新關(guān)系。記作:RS。 操作的示意圖如下:77RSR S【例2-11】已知喜歡唱歌的學(xué)生關(guān)系R和喜歡跳舞的學(xué)生關(guān)系S,求既喜歡唱歌又喜歡跳舞的學(xué)生,即求RS。78RS4.廣義笛卡爾積運算兩個已知關(guān)系R和S的廣義笛卡爾積,是R中每個元組與S中每個

36、元組連接組成的新關(guān)系。記作:RS。【例2-12】已知學(xué)生關(guān)系,課程關(guān)系,求學(xué)生選課關(guān)系,即學(xué)生課程。792.4.2 專門的關(guān)系運算1.投影運算 投影是選擇關(guān)系R中的若干屬性組成新的關(guān)系,并去掉了重復(fù)元組,是對關(guān)系的屬性進行篩選。記作 A(R),其中,A為關(guān)系R的屬性列表,各屬性間用逗號分隔,既可以是屬性名也可以是屬性序號。 操作的示意圖如下:80【例2-13】有學(xué)生關(guān)系如下表所示。寫出下列各題的關(guān)系代數(shù)表達式。811)查詢學(xué)生的學(xué)號、姓名、出生日期。關(guān)系代數(shù)表達式為: 學(xué)號,姓名,出生日期(學(xué)生) 或者 1,2,4(學(xué)生)822)查詢學(xué)生的籍貫。關(guān)系代數(shù)表達式為:籍貫(學(xué)生) 或者 5(學(xué)生)

37、取消重復(fù)元組2.選擇運算選擇運算是根據(jù)給定的條件選取關(guān)系R中的若干元組組成新的關(guān)系,是對關(guān)系的元組進行篩選。記作條件(R),其中,“條件”是一個邏輯表達式,表示選取的條件,用到比較運算符(,或)、邏輯運算符(非、與、或)。 操作的示意圖如下:83【例2-14】有學(xué)生關(guān)系如下表所示。寫出下列各題的關(guān)系代數(shù)表達式。841)查詢所有女生的信息。關(guān)系代數(shù)表達式為: 性別=女(學(xué)生) 或者3=女(學(xué)生)852)查詢1998年下半年以后出生的學(xué)生的學(xué)號、姓名。關(guān)系代數(shù)表達式為: 學(xué)號,姓名(出生日期#1998-6-30#(學(xué)生)863)查詢籍貫是“北京”的女生姓名。關(guān)系代數(shù)表達式為: 姓名(性別=女籍貫=

38、北京(學(xué)生) 或者2(3=女5=北京 (學(xué)生)874)查詢籍貫是“北京”或“上?!钡膶W(xué)生姓名。關(guān)系代數(shù)表達式為: 姓名(籍貫=北京籍貫=上海(學(xué)生)或者姓名(籍貫=北京(學(xué)生)姓名(籍貫=上海(學(xué)生)3.連接運算 連接也叫連接,是根據(jù)給定的條件,從兩個已知關(guān)系R和S的廣義笛卡爾積中,選取屬性之間滿足連接條件的若干元組組成新的關(guān)系。記作: ,其中,是比較運算符。88RSijRSBCRSR.BS.C自然連接:是一種特殊的連接,它是從兩個關(guān)系的廣義笛卡爾積中,選取公共屬性滿足等值條件的元組,但新關(guān)系不包含重復(fù)的屬性。記作:RS89RSRSR.B=S.B刪重復(fù)列90【例2-18】查詢沒有學(xué)“21010

39、2”號課程的學(xué)生姓名。寫出關(guān)系代數(shù)表達式。分析:先求出全體學(xué)生的姓名;再求出學(xué)了“210102”號課程的學(xué)生的姓名;最后執(zhí)行兩個集合的差操作。姓名(學(xué)生)-姓名(課程編號=210102(學(xué)生選修)第3章 數(shù)據(jù)庫與表3.1 初識Access 20103.1.1 啟動與退出1.啟動2.退出選擇“文件”選項卡,單擊“退出”命令。單擊標(biāo)題欄右側(cè)的“關(guān)閉”按鈕。 雙擊“控制”按鈕或單擊“控制”按鈕,在彈出的“控制菜單”中執(zhí)行“關(guān)閉”命令或Alt+F43.1.2 Access的數(shù)據(jù)庫對象 Access 2010數(shù)據(jù)庫是由表、查詢、窗體、報表、宏和模塊6大對象組成。 Access 2010的主要功能就是通過

40、這6大數(shù)據(jù)庫對象來完成的。不同的對象在數(shù)據(jù)庫中起著不同的作用。1.表 表是數(shù)據(jù)庫中存儲數(shù)據(jù)的對象,是數(shù)據(jù)庫中最基本的組成單位。2.查詢 查詢是數(shù)據(jù)庫中應(yīng)用最多的對象之一,可以數(shù)據(jù)表中的數(shù)據(jù),并可以使用查詢篩選數(shù)據(jù)、執(zhí)行數(shù)據(jù)計算和匯總數(shù)據(jù)。動態(tài)數(shù)據(jù)集虛擬表查詢以表對象或已創(chuàng)建查詢?yōu)榛A(chǔ)數(shù)據(jù)源,查詢也是窗體、報表等對象的數(shù)據(jù)源。3.窗體 窗體是用戶與數(shù)據(jù)庫應(yīng)用系統(tǒng)進行人機交互的界面,主要用于用來控制數(shù)據(jù)庫應(yīng)用系統(tǒng)流程;瀏覽用戶信息;完成對表或查詢中的數(shù)據(jù)的輸入、編輯、刪除等操作。窗體對象的數(shù)據(jù)源是表或查詢。4.報表 報表是用打印格式展示數(shù)據(jù)的一種有效方式。在Access中,使用報表對象將需要的數(shù)據(jù)

41、從數(shù)據(jù)表中提取出來,并在進行分析和計算的基礎(chǔ)上,將數(shù)據(jù)以格式化的方式發(fā)送到屏幕或打印機上輸出。報表對象的數(shù)據(jù)來源是表或查詢5.宏 宏是一系列操作的集合,每個操作都對應(yīng)于Access的某項特定功能,如打開窗體、打印報表。 通過宏可以完成大多數(shù)的數(shù)據(jù)處理任務(wù),甚至可以開發(fā)具有特定功能的數(shù)據(jù)庫應(yīng)用程序。管理和維護Access數(shù)據(jù)庫6.模塊 模塊是Access數(shù)據(jù)庫中存放VBA(Visual Basic for Applications)代碼的對象,創(chuàng)建模塊對象的過程也就是使用VBA編寫程序的過程。模塊用于實現(xiàn)數(shù)據(jù)庫較為復(fù)雜的操作。強化Access數(shù)據(jù)庫功能宏模塊窗體報表查詢表來源來源來源來源來源加強

42、處理加強處理加強處理來源3.1.3 Access的用戶界面 Backstage視圖功能區(qū)導(dǎo)航窗格工作區(qū)3.2 創(chuàng)建數(shù)據(jù)庫3.2.1 創(chuàng)建數(shù)據(jù)庫擴展名為.accdb1.創(chuàng)建空數(shù)據(jù)庫2.使用模板創(chuàng)建數(shù)據(jù)庫3.2.2 數(shù)據(jù)庫的打開與關(guān)閉1.數(shù)據(jù)庫的打開2.數(shù)據(jù)庫的關(guān)閉單擊Access窗口的“關(guān)閉”按鈕。單擊“文件”選項卡的“關(guān)閉數(shù)據(jù)庫”命令;雙擊數(shù)據(jù)庫窗口的“控制”按鈕。 按Alt+F4組合鍵。3.3 表操作在Access數(shù)據(jù)庫中,表包含兩部分:表結(jié)構(gòu)和表數(shù)據(jù)。3.3.1 表結(jié)構(gòu)表結(jié)構(gòu)包括字段名稱、字段的數(shù)據(jù)類型以及字段屬性3部分內(nèi)容組成。1.字段名稱字段名稱可以使用字母、漢字、數(shù)字、空格和其他字符

43、,長度最多64個字符,但不能使用小數(shù)點(.)、驚嘆號(!)、方括號()、單引號()等。2.數(shù)據(jù)類型數(shù)據(jù)類型說明文本用來存放字符串?dāng)?shù)據(jù)(漢字、字母、數(shù)字或可顯示字符組成),如地址。不需要計算的數(shù)字,都定義為文本型,如:學(xué)號、電話號碼等。文本型數(shù)據(jù)最大長度為255個字符。備注(備忘錄)用來存放較長的文本型數(shù)據(jù)。如:備注、簡歷等字段。數(shù)據(jù)類型說明數(shù)字用來存儲需要進行計算的數(shù)據(jù)類型。數(shù)字型可以分為整型、長整型、單精度型、雙精度型等,可以通過“字段大小”屬性設(shè)置具體類型,默認數(shù)據(jù)類型為長整型。日期/時間用于存儲日期、時間或日期時間組合的數(shù)據(jù)??梢栽凇案袷健睂傩灾性O(shè)置顯示格式為常規(guī)日期、長日期、中日期、短

44、日期、長時間、中時間和短時間等。貨幣用于存儲貨幣值。數(shù)據(jù)類型說明自動編號一種特殊的數(shù)據(jù)類型,用于在添加記錄時自動插入唯一值(每次遞增 1)或隨機編號。每個表中只能有一個自動編號型字段,不能人工指定或更改自動編號型字段中的數(shù)值。是/否針對只包含兩種不同取值的字段而設(shè)置。OLE對象允許鏈接或嵌入其他應(yīng)用程序所創(chuàng)建的文檔、聲音、圖片文件等。超鏈接用于存儲超鏈接以提供通過單擊URL(統(tǒng)一資源定位器)對網(wǎng)頁進行訪問數(shù)據(jù)類型說明附件用于存放圖片、圖像、二進制文件、Office文件等。計算引用同一表中的其他字段及所需運算獲取計算結(jié)果。查詢向?qū)嶋H上不是一個數(shù)據(jù)類型,而是用于啟動查閱向?qū)?,以便可以?chuàng)建一個使用

45、組合框查閱一個表或查詢中的值的字段。3.字段屬性屬性功能字段大小文本型字段輸入介于 1 到 255 的值。數(shù)字型字段可從列表中選擇字節(jié)、整型、長整型、單精度型、雙精度型小數(shù)位數(shù)指定數(shù)字型數(shù)據(jù)小數(shù)點右邊顯示的位數(shù)格式設(shè)置字段的顯示布局,格式設(shè)置僅影響顯示和打印格式,不影響表中實際存儲的數(shù)據(jù)。輸入掩碼設(shè)置字段中所有輸入數(shù)據(jù)的模式,確保輸入數(shù)據(jù)的正確性。適用于文本型、日期/時間型、數(shù)字型、貨幣型數(shù)據(jù)。單擊“ ”按鈕,通過“輸入掩碼向?qū)А边M行設(shè)置,或者由用戶自定義屬性功能標(biāo)題字段的顯示名稱,在數(shù)據(jù)表視圖中,是字段列標(biāo)題顯示的內(nèi)容;在窗體、報表中,是字段標(biāo)簽顯示的內(nèi)容。如果此屬性為空,則使用字段的名稱默

46、認值自動輸入到該字段中、作為新記錄的值有效性規(guī)則設(shè)置限制該字段輸入值的表達式有效性文本設(shè)置輸入數(shù)據(jù)時違反有效性規(guī)則時顯示的消息必需指定是否需要在字段中輸入數(shù)據(jù)。如果是“否”,則可不輸入數(shù)據(jù),否則必須輸入數(shù)據(jù)。默認值為“否”索引創(chuàng)建索引,加速查找和排序的速度。字段的索引屬性有三類:無、有(有重復(fù))和有(無重復(fù))文本對齊指定控件內(nèi)文本的默認對齊方式:常規(guī)、左、居中、右、分散輸入掩碼掩碼字符功能0必須輸入一個數(shù)字(09)9可以輸入一個數(shù)字(09)或空格#可以輸入數(shù)字、空格、+、-例:郵政編碼由6位數(shù)字組成輸入掩碼為:000000例:電話要求前5位為“0377-”,后面為7位或8位電話號碼輸入掩碼為:

47:記錄收支情況,整數(shù)最多3位,保留2位小數(shù),+代表收入,-代表支出輸入掩碼為:#999.00輸入掩碼掩碼字符功能L必須輸入一個字母?可以輸入一個字母或空格將右側(cè)所有字母轉(zhuǎn)換為大寫字母例:學(xué)院編號由2位符號組成,第1位字母,第2位數(shù)字輸入掩碼為:L0例:度量單位最多4位字母輸入掩碼為:?例:英文街道名,第1個字母大寫輸入掩碼為:L? Road輸入掩碼掩碼字符功能A必須輸入一個字母或數(shù)字a可以輸入一個字母或數(shù)字例:18位身份證號17位數(shù)字,最后1位校驗位是數(shù)字或字母輸入掩碼為:00000000000000000A例:車牌號碼京后1位字母,5位字母或數(shù)字輸入掩碼為:京L

48、AAAAA掩碼字符功能&必須輸入一個字符或空格C可以輸入一個字符或空格輸入掩碼例:書號ISBN為13位輸入掩碼為:ISBN 978-0-&-A例:序列號輸入掩碼為:CCCCC-CCCCC-CCCCC掩碼字符功能密碼不顯示輸入字符,只顯示*使其后的字符顯示為原義字符原樣顯示雙引號內(nèi)字符. ,:/小數(shù)分隔符、千位分隔符、日期分隔符、時間分隔符輸入掩碼例:工資輸入掩碼為:9,999.99例:出生日期輸入掩碼為:9999/99/993.3.2 創(chuàng)建表Access數(shù)據(jù)庫的表有兩種視圖:數(shù)據(jù)表視圖 【例3-1】設(shè)計視圖 【例3-2】3.3.3 表的基本操作當(dāng)前視圖當(dāng)前視圖數(shù)據(jù)表視圖與設(shè)計視圖的切換1.修改

49、表結(jié)構(gòu)1)插入字段2)刪除字段2.輸入數(shù)據(jù)文本型、數(shù)字型、備注型等皆可直接輸入日期/時間型數(shù)據(jù)可借助日期控件是/否型數(shù)據(jù)默認為復(fù)選框控件形式附件型數(shù)據(jù)需雙擊單元格,打開“附件”對話框3.3.4 創(chuàng)建表間關(guān)系在全部創(chuàng)建完表對象之后,就需要創(chuàng)建這些表之間的關(guān)聯(lián)關(guān)系。創(chuàng)建表間關(guān)系的步驟如下:1)關(guān)閉所有的表,執(zhí)行“數(shù)據(jù)庫工具”選項卡中的“關(guān)系”命令,進入“關(guān)系”窗口,同時彈出“顯示表”窗口。2)在“顯示表”窗口,將要建立關(guān)聯(lián)關(guān)系的表添加到“關(guān)系”窗口中。3)在“關(guān)系”窗口,通過鼠標(biāo)拖動,將一個表中的相關(guān)字段拖到另一個表中的相關(guān)字段的位置,彈出“編輯關(guān)系”窗口。4)在“編輯關(guān)系”窗口,選中“實施參照完

50、整性”、“級聯(lián)更新相關(guān)字段”、“級聯(lián)刪除相關(guān)記錄”,單擊“創(chuàng)建”按鈕,兩表中的關(guān)聯(lián)字段間就有了一個連線(連線上標(biāo)注著“1”和“”,表示一對多),由此兩表間就有了一個關(guān)系。右擊關(guān)系連線彈出快捷菜單可以編輯關(guān)系或刪除關(guān)系。第4章 查詢1224.1 結(jié)構(gòu)化查詢語言SQL SQL語言是結(jié)構(gòu)化查詢語言(Structured Query Language)的簡稱。SQL語言是一種操作關(guān)系數(shù)據(jù)庫的語言,具有如下特點:使用方式靈活非過程化的語言語言簡潔,語法簡單,功能強大SQL語言是1974年由Boyce和Chamberlin提出,1986年被美國國家標(biāo)準局批準成為關(guān)系型數(shù)據(jù)庫語言的標(biāo)準。1234.1.1 數(shù)

51、據(jù)定義語言1.創(chuàng)建表格式:CREATE TABLE 表名( 字段1 數(shù)據(jù)類型 列級完整性約束, 字段2 數(shù)據(jù)類型 列級完整性約束, , 字段n 數(shù)據(jù)類型 列級完整性約束 ,表級完整性約束);功能:創(chuàng)建指定表的表結(jié)構(gòu)。124說明:1)語句關(guān)鍵字CREATE TABLE不區(qū)分大小寫。2)方括號表示可選項,視具體情況而定,若選擇,則取消方括號。3)適用于Access的基本數(shù)據(jù)類型:數(shù)據(jù)類型關(guān)鍵字數(shù)據(jù)類型關(guān)鍵字文本CHAR(n)日期DATE數(shù)字整型 INTEGER是/否LOGICAL長整型 LONGOLE對象IMAGE單精度型 SINGLE備注MEMO雙精度型 DOUBLE貨幣MONEY1254)完整

52、性約束指:PRIMARY KEY(主鍵)FOREIGN KEY(外鍵)FOREIGN KEY (外鍵名) REFERENCES 外表名(外表字段名)UNIQUE(唯一)NOT NULL(必填)NOT NULL只能是列級完整性約束其他約束均可在列級、表級完整性約束處定義126【例4-1】使用SQL語句創(chuàng)建“學(xué)生”表。字段名稱數(shù)據(jù)類型字段大小完整性學(xué)號文本10主鍵姓名文本8必填性別文本1出生日期日期/時間是否黨員是/否入學(xué)成績數(shù)字整型班級編號文本5127CREATE TABLE 學(xué)生(學(xué)號 CHAR(10) PRIMARY KEY,姓名 CHAR(8) NOT NULL,性別 CHAR(1),出生

53、日期 DATE,是否黨員 LOGICAL,入學(xué)成績 INTEGER,班級編號 CHAR(5)CREATE TABLE 學(xué)生(學(xué)號 CHAR(10) ,姓名 CHAR(8) NOT NULL,性別 CHAR(1),出生日期 DATE,是否黨員 LOGICAL,入學(xué)成績 INTEGER,班級編號 CHAR(5),PRIMARY KEY (學(xué)號)128表級約束列級約束【例4-2】使用SQL語句創(chuàng)建“課程”表。字段名稱數(shù)據(jù)類型字段大小完整性課程編號文本6主鍵課程名稱文本12學(xué)時數(shù)字整型學(xué)分數(shù)字單精度型學(xué)期文本10CREATE TABLE 課程(課程編號 CHAR(6) PRIMARY KEY,課程名稱

54、 CHAR(12),學(xué)時 INTEGER,學(xué)分 SINGLE,學(xué)期 CHAR(10)129【例4-3】使用SQL語句創(chuàng)建“選修”表字段名稱數(shù)據(jù)類型字段大小完整性學(xué)號文本10共同做主鍵外鍵課程編號文本6外鍵成績數(shù)字單精度CREATE TABLE 選修(學(xué)號 CHAR(10),課程編號 CHAR(6),成績 SINGLE,PRIMARY KEY (學(xué)號, 課程編號),FOREIGN KEY (學(xué)號) REFERENCES 學(xué)生 ( 學(xué)號 ),FOREIGN KEY (課程編號) REFERENCES 課程 ( 課程編號) )130CREATE TABLE 選修(學(xué)號 CHAR(10) REFERE

55、NCES 學(xué)生 ( 學(xué)號 ),課程編號 CHAR(6) REFERENCES 課程 ( 課程編號) ,成績 SINGLE,PRIMARY KEY (學(xué)號, 課程編號)CREATE TABLE 成績 ( 學(xué)號 char(7) PRIMARY KEY, 課程編號 char(10) PRIMARY KEY, 成績 SINGLE, FOREIGN KEY ( 學(xué)號 ) REFERENCES 學(xué)生 ( 學(xué)號 ), FOREIGN KEY ( 課程編號 ) REFERENCES 課程 ( 課程編號 ) )錯誤:主控鍵已存在當(dāng)多個字段共同做主鍵時,只能在表級約束上定義1312.更新表結(jié)構(gòu)當(dāng)表結(jié)構(gòu)需要修改時,

56、使用ALTER TABLE語句實現(xiàn)添加字段、修改字段、刪除字段。添加字段格式:ALTER TABLE 表名 ADD 字段名 數(shù)據(jù)類型 列級完整性約束修改字段格式:ALTER TABLE 表名 ALTER 字段名 數(shù)據(jù)類型刪除字段格式:ALTER TABLE 表名 DROP 字段名132【例4-4】在“學(xué)生”表中添加“簡歷”字段,數(shù)據(jù)類型為備注型。ALTER TABLE 學(xué)生 ADD 簡歷 MEMO【例4-5】將“選修”表中的“成績”字段的數(shù)據(jù)類型修改為整型。ALTER TABLE 選修 ALTER 成績 INTEGER【例4-6】刪除“學(xué)生”表中的“簡歷”字段。ALTER TABLE 學(xué)生 D

57、ROP 簡歷1333.刪除表格式:DROP TABLE 表名【例4-7】刪除“選修”表。DROP TABLE 選修1344.1.2 數(shù)據(jù)操作語言1.插入數(shù)據(jù)格式:INSERT INTO 表名(字段名1,字段名2,)VALUES (常量1,常量2,)功能:向指定表中添加一條記錄。說明:1)(字段名1,字段名2,)稱為列名表。列名表可以省略。2)(常量1,常量2,)稱為值列表。文本型常量:用英文單引號或雙引號括起來。日期型常量用#括起來。是/否常量用True(yes)表示真,F(xiàn)alse(no)表示假.1353)值列表中的值與列名表中的字段按位置、順序、類型一一對應(yīng)。4)如果省略列名表,則新插入記錄

58、的值的順序必須與表中字段的定義順序一致,且每一個字段均有值(可以為NULL)。【例4-8】向“學(xué)生”表中追加一條記錄:2015010101,張三,男,1998年10月1日,否,630,H0101。學(xué)生(學(xué)號,姓名,性別,出生日期,是否黨員,入學(xué)成績,班級編號)INSERT INTO 學(xué)生 VALUES(2015010101,張三,男,#1998-10-1#,no,630,H0101)省掉列名表136【例4-9】向“學(xué)生”表中追加一條記錄:2015010102,李四,男,H0101。學(xué)生(學(xué)號,姓名,性別,出生日期,是否黨員,入學(xué)成績,班級編號)INSERT INTO 學(xué)生 (學(xué)號,姓名,性別,

59、班級編號) VALUES(2015010102,李四,男,H0101)或INSERT INTO 學(xué)生 VALUES(2015010102,李四,男,NULL,NULL,NULL,H0101)1372.更新數(shù)據(jù)格式:UPDATE 表名 SET 字段名=表達式,字段名=表達式, Where 條件功能:更新指定表中滿足條件的指定字段的數(shù)據(jù)?!纠?-10】更新課程表中數(shù)據(jù),將“學(xué)分”字段加1。UPDATE 課程 SET 學(xué)分=學(xué)分+1138【例4-11】更新課程表中數(shù)據(jù),將“學(xué)分”字段加1,學(xué)時增加10%。UPDATE 課程 SET 學(xué)分=學(xué)分+1,學(xué)時=學(xué)時*1.1【例4-12】更新學(xué)生表中數(shù)據(jù),將

60、學(xué)生“李四”的班級編號更改為“H0102”。UPDATE 學(xué)生 SET 班級編號=H0102WHERE 姓名=李四1393.刪除數(shù)據(jù)格式:DELETE FROM 表名 WHERE 條件功能:刪除指定表中滿足條件的記錄?!纠?-13】刪除選修表中的全部記錄。DELETE FROM 選修【例4-14】刪除選修表中不及格的記錄。DELETE FROM 選修WHERE 成績 = = = (不等于)確定范圍:查詢字段或表達式的值在或不在下限值,上限值區(qū)間范圍內(nèi)的記錄。格式:字段名|表達式 NOT BETWEEN 下限值 AND 上限值確定集合:查詢字段值屬于或不屬于指定集合的記錄。格式:字段名NOT I

溫馨提示

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

評論

0/150

提交評論