大學(xué)計(jì)算機(jī)基礎(chǔ) 第八章_第1頁(yè)
大學(xué)計(jì)算機(jī)基礎(chǔ) 第八章_第2頁(yè)
大學(xué)計(jì)算機(jī)基礎(chǔ) 第八章_第3頁(yè)
大學(xué)計(jì)算機(jī)基礎(chǔ) 第八章_第4頁(yè)
大學(xué)計(jì)算機(jī)基礎(chǔ) 第八章_第5頁(yè)
已閱讀5頁(yè),還剩143頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Windows7OperatingSystem第八章數(shù)據(jù)庫(kù)基礎(chǔ)數(shù)據(jù)庫(kù)系統(tǒng)概述項(xiàng)目導(dǎo)航數(shù)據(jù)模型數(shù)據(jù)庫(kù)設(shè)計(jì)SQL語(yǔ)言01030402Access2010的應(yīng)用05要求內(nèi)容與數(shù)據(jù)庫(kù)管理技術(shù)的發(fā)展及基本概念、數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu),以及概念模型、邏輯模型和物理模型的相關(guān)概念和設(shè)計(jì)步驟。關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL和關(guān)系數(shù)據(jù)庫(kù)Access2010的基本操作等內(nèi)容。了解常見(jiàn)數(shù)據(jù)庫(kù)管理系統(tǒng)的功能和特點(diǎn);掌握概念模型及常見(jiàn)數(shù)據(jù)模型;了解建立關(guān)系數(shù)據(jù)庫(kù)的過(guò)程;了解數(shù)據(jù)庫(kù)技術(shù)在信息管理和處理中的應(yīng)用;掌握SQL的功能及主要語(yǔ)句;掌握Access2010的基本操作。數(shù)據(jù)庫(kù)系統(tǒng)概述8.1數(shù)據(jù)處理是計(jì)算機(jī)應(yīng)用中很重要的一個(gè)分支,在數(shù)據(jù)處理過(guò)程中,數(shù)據(jù)計(jì)算相對(duì)簡(jiǎn)單,但處理的數(shù)據(jù)量大,并且數(shù)據(jù)之間存在著復(fù)雜的聯(lián)系,因此數(shù)據(jù)處理的關(guān)鍵是數(shù)據(jù)管理。數(shù)據(jù)管理是指對(duì)數(shù)據(jù)收集、整理、組織、存儲(chǔ)和檢索等操作,有效的數(shù)據(jù)管理可以提高數(shù)據(jù)的使用率,減輕程序開(kāi)發(fā)人員的負(fù)擔(dān)。數(shù)據(jù)庫(kù)技術(shù)就是針對(duì)數(shù)據(jù)管理的計(jì)算機(jī)軟件技術(shù)。8.1.1數(shù)據(jù)管理技術(shù)的發(fā)展人工管理階段約在20世紀(jì)50年代中期以前,計(jì)算機(jī)技術(shù)相對(duì)落后,硬件主要是磁帶、紙帶、卡片,沒(méi)有磁盤(pán),也沒(méi)有操作系統(tǒng)及管理數(shù)據(jù)的軟件,數(shù)據(jù)由計(jì)算或處理它的程序自行攜帶,主要應(yīng)用于科學(xué)計(jì)算。數(shù)據(jù)管理的任務(wù)包括存儲(chǔ)結(jié)構(gòu)、存取方法、輸入/輸出方式等,完全由程序設(shè)計(jì)人員負(fù)責(zé)。1.人工管理階段8.1.1數(shù)據(jù)管理技術(shù)的發(fā)展①數(shù)據(jù)不保存;②沒(méi)有對(duì)數(shù)據(jù)進(jìn)行管理的軟件;③沒(méi)有文件的概念;④一組數(shù)據(jù)對(duì)應(yīng)于一個(gè)程序,數(shù)據(jù)依賴(lài)于特定的應(yīng)用程序,缺乏獨(dú)立性,程序之間存在著大量的重復(fù)數(shù)據(jù),造成了數(shù)據(jù)的冗余。人工管理的特點(diǎn):圖8-1人工管理階段的數(shù)據(jù)管理設(shè)置背8.1.1數(shù)據(jù)管理技術(shù)的發(fā)展文件管理階段約為20世紀(jì)50年代后期到60年代中期,此時(shí)的計(jì)算機(jī)出現(xiàn)了磁鼓、磁盤(pán)等數(shù)據(jù)存儲(chǔ)設(shè)備,新的數(shù)據(jù)處理系統(tǒng)也迅速發(fā)展起來(lái)。這種數(shù)據(jù)處理系統(tǒng)將計(jì)算機(jī)中的數(shù)據(jù)組織成相互獨(dú)立的數(shù)據(jù)文件,系統(tǒng)可以按照文件的名稱(chēng)對(duì)其進(jìn)行訪(fǎng)問(wèn),對(duì)文件中的記錄進(jìn)行存取,且可實(shí)現(xiàn)對(duì)文件的修改、插入和刪除,這就是文件系統(tǒng)。2.文件管理階段8.1.1數(shù)據(jù)管理技術(shù)的發(fā)展①數(shù)據(jù)可以長(zhǎng)期保存在外存儲(chǔ)器上供反復(fù)使用。②程序和數(shù)據(jù)之間有了一定的獨(dú)立性。③文件的存取基本上以記錄為單位。④文件從整體來(lái)看是無(wú)結(jié)構(gòu)的,其數(shù)據(jù)面向特定的應(yīng)用程序,因此數(shù)據(jù)共享性和獨(dú)立性差,且冗余度大,管理和維護(hù)的代價(jià)也很大。計(jì)算機(jī)數(shù)據(jù)管理的特點(diǎn):圖8-2文件管理階段的數(shù)據(jù)管理8.1.1數(shù)據(jù)管理技術(shù)的發(fā)展20世紀(jì)60年代后期,在硬件方面有了大容量的快速存取磁盤(pán),數(shù)據(jù)量劇增,共享要求更高,數(shù)據(jù)管理規(guī)模更為龐大,以文件系統(tǒng)作為數(shù)據(jù)管理手段已經(jīng)不能滿(mǎn)足應(yīng)用的需求,軟件方面出現(xiàn)了數(shù)據(jù)庫(kù)技術(shù)和統(tǒng)一管理數(shù)據(jù)的專(zhuān)門(mén)軟件系統(tǒng)——數(shù)據(jù)庫(kù)管理系統(tǒng)。3.?dāng)?shù)據(jù)庫(kù)系統(tǒng)階段8.1.1數(shù)據(jù)管理技術(shù)的發(fā)展①對(duì)所有的數(shù)據(jù)進(jìn)行統(tǒng)一、集中和獨(dú)立式管理。②數(shù)據(jù)存儲(chǔ)獨(dú)立于使用數(shù)據(jù)的程序,減少了數(shù)據(jù)的冗余,節(jié)約存儲(chǔ)空間,提高了數(shù)據(jù)的一致性和完整性,充分實(shí)現(xiàn)了數(shù)據(jù)的共享。③多個(gè)用戶(hù)能夠同時(shí)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù),減少了應(yīng)用程序的開(kāi)發(fā)和維護(hù)代價(jià)。④具有良好的用戶(hù)接口,用戶(hù)可方便地開(kāi)發(fā)和使用數(shù)據(jù)庫(kù)。數(shù)據(jù)管理的特點(diǎn):圖8-3數(shù)據(jù)庫(kù)管理階段的數(shù)據(jù)管理8.1.2

數(shù)據(jù)庫(kù)管理技術(shù)的基本概念1.?dāng)?shù)據(jù)庫(kù)存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織的、可共享的相關(guān)數(shù)據(jù)集合,它可以供各種用戶(hù)共享,具有最小冗余度和較高的獨(dú)立性。2.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的系統(tǒng)軟件,是位于用戶(hù)與操作系統(tǒng)之間的數(shù)據(jù)管理軟件。它的職能是有效地組織和存儲(chǔ)數(shù)據(jù)、獲取和管理數(shù)據(jù)、接受和完成用戶(hù)提出的各種數(shù)據(jù)訪(fǎng)問(wèn)請(qǐng)求。8.1.2數(shù)據(jù)庫(kù)管理技術(shù)的基本概念數(shù)據(jù)庫(kù)管理系統(tǒng)的主要功能包括:數(shù)據(jù)定義功能DBMS提供數(shù)據(jù)定義語(yǔ)言DDL(DataDefinitionLanguage),用戶(hù)可以方便地創(chuàng)建、修改、刪除數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)對(duì)象。數(shù)據(jù)操縱功能DBMS提供數(shù)據(jù)操作語(yǔ)言DML(DataManipulationLanguage),供用戶(hù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的追加、刪除、更新、查詢(xún)等操作。數(shù)據(jù)庫(kù)的運(yùn)行管理功能是DBMS的核心部分,包括并發(fā)控制、安全性檢查、故障恢復(fù)、完整性約束條件的檢查和執(zhí)行,以及數(shù)據(jù)庫(kù)的內(nèi)部維護(hù)等,這些功能保證了數(shù)據(jù)庫(kù)系統(tǒng)的正常運(yùn)行。數(shù)據(jù)庫(kù)的維護(hù)功能包括數(shù)據(jù)庫(kù)初始數(shù)據(jù)的輸入、功能轉(zhuǎn)換、數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)、恢復(fù)功能,以及數(shù)據(jù)庫(kù)的重組功能、性能監(jiān)控、分析功能等,這些功能通常由一些實(shí)用程序完成。8.1.2

數(shù)據(jù)庫(kù)管理技術(shù)的基本概念3.?dāng)?shù)據(jù)庫(kù)系統(tǒng)在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng),一般由數(shù)據(jù)庫(kù)、操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶(hù)構(gòu)成。8.1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)模式是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,它僅僅涉及型的描述,不涉及具體的值。模式的一個(gè)具體值稱(chēng)為模式的一個(gè)實(shí)例。同一個(gè)模式可以有很多實(shí)例。模式是相對(duì)穩(wěn)定的,而實(shí)例是相對(duì)變動(dòng)的。模式反映的是數(shù)據(jù)的結(jié)構(gòu)和關(guān)系,而數(shù)據(jù)庫(kù)反映的是數(shù)據(jù)庫(kù)某一時(shí)刻的狀態(tài)。8.1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)1.?dāng)?shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)是指數(shù)據(jù)庫(kù)系統(tǒng)由內(nèi)模式、邏輯模式和外模式三級(jí)構(gòu)成,通過(guò)二級(jí)映像功能將三個(gè)模式聯(lián)系起來(lái)構(gòu)成數(shù)據(jù)庫(kù)系統(tǒng),如圖8-4所示。圖8-4數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)8.1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)(1)內(nèi)模式內(nèi)模式又稱(chēng)存儲(chǔ)模式,是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式,包括內(nèi)部記錄的類(lèi)型、索引和文件的組織方式、數(shù)據(jù)控制方面的細(xì)節(jié)。一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式。(2)邏輯模式邏輯模式又稱(chēng)模式,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶(hù)的公共數(shù)據(jù)視圖。它是數(shù)據(jù)庫(kù)系統(tǒng)模式結(jié)構(gòu)的中間層,即不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序、所使用的開(kāi)發(fā)工具及高級(jí)程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)。一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)邏輯模式。8.1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)(3)外模式外模式又稱(chēng)子模式或用戶(hù)模式,是數(shù)據(jù)庫(kù)用戶(hù)(包括應(yīng)用程序員和最終用戶(hù))看見(jiàn)和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫(kù)用戶(hù)的視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式通常是模式的子集,一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式。由于它是各個(gè)用戶(hù)的數(shù)據(jù)視圖,如果不同的用戶(hù)在應(yīng)用需求和對(duì)數(shù)據(jù)保密的要求等方面存在差異,則它們的外模式描述也不同。另一方面,外模式也可以為某一用戶(hù)的多個(gè)應(yīng)用程序所應(yīng)用,但是一個(gè)應(yīng)用程序只能使用一個(gè)外模式。8.1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)2.?dāng)?shù)據(jù)庫(kù)系統(tǒng)的二級(jí)映像數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式的結(jié)構(gòu)差別很大,為了實(shí)現(xiàn)三個(gè)抽象級(jí)別的聯(lián)系與轉(zhuǎn)換,數(shù)據(jù)庫(kù)系統(tǒng)在這三級(jí)模式之間提供了兩個(gè)層次的映像功能,即外模式/邏輯模式映像和邏輯模式/內(nèi)模式映像,從而保證數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)具有較高的邏輯獨(dú)立性和物理獨(dú)立性。8.1.3數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)(1)外模式/邏輯模式映像外模式/邏輯模式映像定義了外模式與邏輯模式之間的對(duì)應(yīng)關(guān)系。當(dāng)邏輯模式發(fā)生變化時(shí),通過(guò)修改相應(yīng)的外模式/邏輯模式映像,使得用戶(hù)所使用的那部分外模式不變,從而應(yīng)用程序不必修改,保證數(shù)據(jù)具有較高的邏輯獨(dú)立性。同一個(gè)邏輯模式可以有任意一個(gè)外模式。對(duì)于每一個(gè)外模式,數(shù)據(jù)庫(kù)系統(tǒng)都有一個(gè)外模式/邏輯模式映像。(2)內(nèi)模式/邏輯模式映像內(nèi)模式/邏輯模式映像定義了數(shù)據(jù)庫(kù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)發(fā)生變化時(shí),通過(guò)修改相應(yīng)的內(nèi)模式/邏輯模式映像,使得數(shù)據(jù)庫(kù)的邏輯模式和外模式不變,應(yīng)用程序不用修改,從而保證數(shù)據(jù)具有很高的物理獨(dú)立性。一個(gè)數(shù)據(jù)庫(kù)的邏輯模式只有一個(gè),內(nèi)模式也只有一個(gè),因此,內(nèi)模式/邏輯模式映像是唯一的。課堂訓(xùn)練1.數(shù)據(jù)管理技術(shù)的發(fā)展大致經(jīng)過(guò)了哪三個(gè)階段?2.數(shù)據(jù)庫(kù)管理系統(tǒng)的主要功能包括?課堂小結(jié)數(shù)據(jù)庫(kù)管理技術(shù)的發(fā)展及基本概念數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)數(shù)據(jù)模型8.2

24

數(shù)據(jù)庫(kù)中的數(shù)據(jù)是有聯(lián)系的。由于計(jì)算機(jī)不可能直接處理現(xiàn)實(shí)世界中的具體事物,所以人們必須把具體事物轉(zhuǎn)換成計(jì)算機(jī)能處理的數(shù)據(jù),在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息?,F(xiàn)有的數(shù)據(jù)庫(kù)系統(tǒng)均是基于某種數(shù)據(jù)模型的。8.2.1數(shù)據(jù)模型概述1.?dāng)?shù)據(jù)模型的三要素?cái)?shù)據(jù)庫(kù)管理系統(tǒng)是按照一定數(shù)據(jù)模型組織數(shù)據(jù)的,數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束稱(chēng)為數(shù)據(jù)模型的三要素。8.2.1數(shù)據(jù)模型概述(1)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是所研究的對(duì)象類(lèi)型的集合,這些對(duì)象是數(shù)據(jù)庫(kù)的組成部分。數(shù)據(jù)結(jié)構(gòu)指對(duì)象和對(duì)象間聯(lián)系的表達(dá)和實(shí)現(xiàn),是系統(tǒng)靜態(tài)特征的描述。一數(shù)據(jù)的類(lèi)型、內(nèi)容和性質(zhì),如關(guān)系模型中的域、屬性和關(guān)系等;是數(shù)據(jù)之間是如何相互聯(lián)系的,如關(guān)系模型中的主碼、外碼等聯(lián)系。二8.2.1數(shù)據(jù)模型概述(2)數(shù)據(jù)操作數(shù)據(jù)操作是指對(duì)數(shù)據(jù)庫(kù)中對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作集合,主要指檢索和更新(插入、刪除、修改)兩類(lèi)操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號(hào)、操作規(guī)則(如優(yōu)先級(jí)),以及實(shí)現(xiàn)操作的語(yǔ)言。數(shù)據(jù)操作是對(duì)系統(tǒng)動(dòng)態(tài)特征的描述。(3)完整性約束數(shù)據(jù)完整性約束是一組完整性規(guī)則的集合,規(guī)定數(shù)據(jù)庫(kù)狀態(tài)及狀態(tài)變化所應(yīng)滿(mǎn)足的條件,以保證數(shù)據(jù)的正確性、有效性和相容性。8.2.1數(shù)據(jù)模型概述2.?dāng)?shù)據(jù)模型的分類(lèi)數(shù)據(jù)從現(xiàn)實(shí)世界到計(jì)算機(jī)中的具體表示一般要經(jīng)歷現(xiàn)實(shí)世界、信息世界和機(jī)器世界三個(gè)階段,這個(gè)三個(gè)階段的關(guān)系如圖8-5所示。圖8-5客觀(guān)描述的層次按照不同的應(yīng)用層次概念模型物理模型邏輯模型8.2.2概念模型現(xiàn)實(shí)世界在人腦中的反映,即通過(guò)人腦把現(xiàn)實(shí)世界抽象成為人易于理解的信息結(jié)構(gòu),這種信息結(jié)構(gòu)并不依賴(lài)于具體的計(jì)算機(jī)系統(tǒng)。概念模型用于信息世界的建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象,是用戶(hù)與數(shù)據(jù)庫(kù)設(shè)計(jì)人員之間進(jìn)行交流的語(yǔ)言,因此,概念模型一方面應(yīng)具有較強(qiáng)的語(yǔ)義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用中的各種語(yǔ)義知識(shí),另一方面還應(yīng)簡(jiǎn)單,清晰,易于用戶(hù)理解。8.2.2概念模型1.信息世界中的基本概念實(shí)體現(xiàn)實(shí)世界中具有相同性質(zhì)的同一類(lèi)事物稱(chēng)為實(shí)體。實(shí)體可以是具體的對(duì)象,如客戶(hù)、商品,也可以是抽象的概念和聯(lián)系,如客戶(hù)訂購(gòu)商品,商品出庫(kù)等。屬性實(shí)體所具有的某一特征稱(chēng)為屬性。一個(gè)實(shí)體由若干個(gè)屬性來(lái)刻畫(huà)。例如,商品實(shí)體由商品編號(hào)、商品名稱(chēng)、規(guī)格、生產(chǎn)廠(chǎng)商、性能等屬性組成。域某個(gè)或某些屬性的取值范圍稱(chēng)為該屬性的域。例如,員工性別的域?yàn)椋?,女),月份的域?yàn)?~12的整數(shù)。一個(gè)域可以被多個(gè)實(shí)體的屬性共享使用。實(shí)體型實(shí)體名與其屬性名集合共同構(gòu)成實(shí)體型。例如,員工(編號(hào),姓名,性別,工作部門(mén),職稱(chēng))。注意實(shí)體型和實(shí)體(值)之間的區(qū)別,后者是前者的一個(gè)特例。例如,實(shí)體(9809010,張麗,女,財(cái)務(wù)科,會(huì)計(jì)師)是實(shí)體型“員工”的一個(gè)特例。8.2.2概念模型實(shí)體集同型實(shí)體的集合成為實(shí)體集。例如全體員工、全體合同、全部商品等。碼能唯一標(biāo)識(shí)實(shí)體的屬性或?qū)傩越M稱(chēng)作超碼,其任意真子集都不能成為超碼的最小超碼稱(chēng)為候選碼。從所有候選碼中選定一個(gè)用來(lái)區(qū)別同一實(shí)體集中的不同實(shí)體,叫做主碼。例如,在學(xué)籍管理系統(tǒng)中可選擇學(xué)生的學(xué)號(hào)作為主碼。聯(lián)系實(shí)體內(nèi)部及實(shí)體之間的聯(lián)系,如客戶(hù)與產(chǎn)品之間的訂購(gòu)聯(lián)系,學(xué)生與老師之間的授課聯(lián)系。聯(lián)系也可以有屬性,如客戶(hù)與產(chǎn)品之間的訂購(gòu)聯(lián)系有訂購(gòu)數(shù)量、單價(jià)等作為其屬性。聯(lián)系集同類(lèi)聯(lián)系的集合稱(chēng)為聯(lián)系集,如學(xué)生與選課兩個(gè)實(shí)體集間的選課聯(lián)系。8.2.2概念模型2.實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系組成實(shí)體的各屬性之間的聯(lián)系。兩個(gè)實(shí)體之間的聯(lián)系一對(duì)一聯(lián)系(1:1)一對(duì)多聯(lián)系(1:n)多對(duì)多聯(lián)系(m:n)一對(duì)一聯(lián)系(1:1)實(shí)體集A中的每一個(gè)實(shí)體在實(shí)體集B中只能找到唯一的一個(gè)實(shí)體與之相對(duì)應(yīng),反之亦然,則稱(chēng)實(shí)體集A與實(shí)體集B之間為一對(duì)一的聯(lián)系,記作1:1。例如,一個(gè)學(xué)校只能有一位校長(zhǎng),一位校長(zhǎng)只能在一個(gè)學(xué)校任職,則學(xué)校和校長(zhǎng)之間具有一對(duì)一聯(lián)系。一對(duì)多聯(lián)系(1:n)如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有多個(gè)實(shí)體與之對(duì)應(yīng),反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中只能找到唯一的一個(gè)實(shí)體與之對(duì)應(yīng),則稱(chēng)實(shí)體集A與實(shí)體集B之間為一對(duì)多聯(lián)系,記作1:n。例如,一個(gè)部門(mén)有多個(gè)員工,而一個(gè)員工只能屬于一個(gè)部門(mén),則部門(mén)和員工之間具有一對(duì)多聯(lián)系。多對(duì)多聯(lián)系(m:n)如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有多個(gè)實(shí)體與之對(duì)應(yīng),反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有多個(gè)實(shí)體與之對(duì)應(yīng),則稱(chēng)實(shí)體集A與實(shí)體集B之間為多對(duì)多聯(lián)系,記作m:n。例如,一門(mén)課程同時(shí)有若干個(gè)學(xué)生選修,一個(gè)學(xué)生可以同時(shí)選修多門(mén)課程,則稱(chēng)課程和學(xué)生之間具有多對(duì)多聯(lián)系。8.2.2概念模型3.概念模型的表示方法實(shí)體-聯(lián)系模型(Entity-Relationship,E-R)圖中包括實(shí)體、屬性和聯(lián)系三種基本要素。約定用矩形表示實(shí)體,用橢圓形表示屬性,用菱形框表示實(shí)體間的聯(lián)系,如圖8-6所示。圖8-6E-R圖的基本符號(hào)8.2.2概念模型在菱形框內(nèi)寫(xiě)入聯(lián)系名,用無(wú)方向的連線(xiàn)將菱形框與其關(guān)聯(lián)的實(shí)體連接起來(lái),在連線(xiàn)的旁邊標(biāo)明實(shí)體間的聯(lián)系類(lèi)型,如圖8-7所示。圖8-7實(shí)體間的聯(lián)系8.2.2概念模型學(xué)生與課程的E-R圖如圖8-8所示。其中,學(xué)生和課程為實(shí)體,選修為兩個(gè)實(shí)體間的聯(lián)系,且課程與學(xué)生的聯(lián)系類(lèi)型為m:n。圖8-8學(xué)生與課程的E-R圖8.2.3邏輯模型按計(jì)算機(jī)系統(tǒng)的觀(guān)點(diǎn)對(duì)數(shù)據(jù)建模,即將概念模型轉(zhuǎn)換為計(jì)算機(jī)上某一DBMS所支持的數(shù)據(jù)模型。網(wǎng)狀模型關(guān)系模型層次模型邏輯模型8.2.3邏輯模型1.層次模型用樹(shù)型(層次)結(jié)構(gòu)表示實(shí)體類(lèi)型及實(shí)體間聯(lián)系的模型稱(chēng)為層次模型。在這種模型中,數(shù)據(jù)被組織成由根開(kāi)始的倒置的一棵樹(shù),每個(gè)實(shí)體由根開(kāi)始沿著不同的分支放在不同的層次上。優(yōu)點(diǎn)結(jié)構(gòu)簡(jiǎn)單,層次清晰,易于實(shí)現(xiàn),適合描述類(lèi)似家族關(guān)系、行政編制及目錄結(jié)構(gòu)等信息載體的數(shù)據(jù)結(jié)構(gòu)。8.2.3邏輯模型優(yōu)點(diǎn)結(jié)構(gòu)簡(jiǎn)單,層次清晰,易于實(shí)現(xiàn),適合描述類(lèi)似家族關(guān)系、行政編制及目錄結(jié)構(gòu)等信息載體的數(shù)據(jù)結(jié)構(gòu)。限制①有且僅有一個(gè)節(jié)點(diǎn),無(wú)父節(jié)點(diǎn),此節(jié)點(diǎn)為樹(shù)的根;②其他節(jié)點(diǎn)有且僅有一個(gè)父節(jié)點(diǎn)。缺點(diǎn)只能表示一對(duì)多或是一對(duì)一的聯(lián)系,不能直接表示多對(duì)多的聯(lián)系。盡管有許多輔助手段實(shí)現(xiàn)多對(duì)多的聯(lián)系,但是比較復(fù)雜。8.2.3邏輯模型2.網(wǎng)狀模型用網(wǎng)絡(luò)結(jié)構(gòu)表示實(shí)體類(lèi)型及實(shí)體之間聯(lián)系的模型。優(yōu)點(diǎn)在表示數(shù)據(jù)之間的多對(duì)多聯(lián)系時(shí)具有很大靈活性,但這種靈活性是以數(shù)據(jù)結(jié)構(gòu)的復(fù)雜化為代價(jià)的。①允許一個(gè)以上的節(jié)點(diǎn)無(wú)雙親節(jié)點(diǎn);②一個(gè)節(jié)點(diǎn)可以有多于一個(gè)的雙親節(jié)點(diǎn)。8.2.3邏輯模型3.關(guān)系模型在關(guān)系模型中,用一個(gè)二維表格來(lái)描述實(shí)體之間的聯(lián)系。關(guān)系模型如表8-1和表8-2所示。表8-1學(xué)生表學(xué)號(hào)姓名性別年齡所在系2013001李宇琳女18計(jì)算機(jī)2013002周文全男17工商管理2013003張文女18機(jī)械2013004林丹陽(yáng)女17計(jì)算機(jī)2013005吳夢(mèng)歐男19電子表8-2成績(jī)表學(xué)號(hào)課程號(hào)成績(jī)201300130028520130023003782013002400190201300330028020130045002558.2.3邏輯模型(1)關(guān)系術(shù)語(yǔ)關(guān)系關(guān)系對(duì)應(yīng)通常所說(shuō)的二維表,每一個(gè)關(guān)系都有一個(gè)關(guān)系名。對(duì)關(guān)系的描述稱(chēng)為關(guān)系模式,關(guān)系模式的一般格式為:關(guān)系名(屬性名1,屬性名2,……,屬性名n)屬性(字段)二維表中的一列稱(chēng)為一個(gè)屬性,每一列都有一個(gè)屬性名,每一列的值稱(chēng)為屬性值。元組(記錄)二維表中的一行稱(chēng)為一個(gè)元組。域?qū)傩缘娜≈捣秶Q(chēng)為域。8.2.3邏輯模型關(guān)鍵字(Key)能夠唯一確定一個(gè)元組的屬性集合稱(chēng)為關(guān)鍵字。例如,學(xué)生表中的屬性“學(xué)號(hào)”可以唯一確定一個(gè)學(xué)生,因此它可以作為學(xué)生表的關(guān)鍵字。主鍵(PrimaryKey)一個(gè)關(guān)系中可以有多個(gè)關(guān)鍵字,選擇其中一個(gè)作為主關(guān)鍵字,即稱(chēng)其為主鍵。外鍵(ForeignKey)如果一個(gè)屬性組S(一個(gè)屬性或幾個(gè)屬性的組合)不是所在關(guān)系S1的主鍵,而是所在的另一個(gè)關(guān)系S2的主鍵,則稱(chēng)該屬性組S為關(guān)系S1相對(duì)于關(guān)系S2的外鍵。8.2.3邏輯模型(2)關(guān)系的性質(zhì)關(guān)系是一個(gè)二維表,但并不是所有的二維表都是關(guān)系。①每一列不可再分,即不能表中有表;②關(guān)系的每一列上,屬性值應(yīng)取自同一值域;⑤在一個(gè)關(guān)系中,行、列的順序無(wú)關(guān)緊要。④在同一個(gè)關(guān)系中不能有完全相同的元組;③在同一個(gè)關(guān)系中不能有相同的屬性名;關(guān)系應(yīng)具備的性質(zhì)8.2.3邏輯模型(3)關(guān)系運(yùn)算在一個(gè)關(guān)系中訪(fǎng)問(wèn)數(shù)據(jù)時(shí),必須要進(jìn)行一定的關(guān)系運(yùn)算。關(guān)系模型主要支持的三種基本關(guān)系運(yùn)算為選擇、投影和連接,它們操作的對(duì)象和結(jié)果都是關(guān)系。①選擇②投影③連接①選擇。選擇運(yùn)算是指從指定的關(guān)系中選擇出滿(mǎn)足指定條件的元組(記錄)。選擇是從行的角度對(duì)二維表格的內(nèi)容進(jìn)行篩選,形成一個(gè)新的關(guān)系。8.2.3邏輯模型【例8-1】從表8-1所示的學(xué)生表中篩選出“女”同學(xué)的記錄,建立一個(gè)選擇運(yùn)算,執(zhí)行后所得結(jié)果如表8-3所示。表8-3選擇運(yùn)算結(jié)果學(xué)號(hào)姓名性別年齡所在系2013001李宇琳女18計(jì)算機(jī)2013003張文女18機(jī)械2013004林丹陽(yáng)女17計(jì)算機(jī)②投影。投影運(yùn)算是指從指定的關(guān)系中找出若干個(gè)屬性(字段)列組成新的關(guān)系的操作。投影是從列的角度對(duì)二維表格的內(nèi)容進(jìn)行篩選或重組,形成一個(gè)新的關(guān)系。8.2.3邏輯模型【例8-2】從表8-1所示的學(xué)生表中篩選出學(xué)生的學(xué)號(hào)、姓名和所在系,建立一個(gè)投影運(yùn)算,執(zhí)行后所得結(jié)果如表8-4所示。表8-4投影運(yùn)算結(jié)果學(xué)號(hào)姓名所在系2013001李宇琳計(jì)算機(jī)2013002周文全工商管理2013003張文機(jī)械2013004林丹陽(yáng)計(jì)算機(jī)2013005吳夢(mèng)歐電子③連接。連接是從兩個(gè)關(guān)系的笛卡爾積中選取屬性之間滿(mǎn)足一定條件的元組形成的新的關(guān)系。8.2.3邏輯模型設(shè)關(guān)系R和關(guān)系S分別如表8-5和表8-6所示。關(guān)系R中的屬性A和關(guān)系S中的屬性A取自相同的域。表8-5關(guān)系R

表8-6關(guān)系SA

B

C

A

Da1

b1

c1

a1

d1a2

b2

c2

a3 d2a3

b3

c38.2.3邏輯模型對(duì)關(guān)系R和關(guān)系S做笛卡爾積的結(jié)果如表8-7所示。表8-7R和S的笛卡爾積R.ABCS.ADa1b1c1a1d1a1b1c1a3d2a2b2c2a1d1a2b2c2a3d2a3b3c3a1d1a3b3c3a3d28.2.3邏輯模型連接運(yùn)算中有兩種常用的連接,即等值連接和自然連接。選取R和S的笛卡爾積的屬性值相等的元組;要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同屬性組,且要在結(jié)果中將重復(fù)的屬性去掉。8.2.3邏輯模型【例8-3】對(duì)表8-5和表8-6中的關(guān)系R和關(guān)系S按屬性A的值分別做等值連接和自然連接。等值連接結(jié)果如表8-8所示,自然連接結(jié)果如表8-9所示。表8-8等值連接后的結(jié)果表8-9自然連接后的結(jié)果R.ABCS.ADa1b1c1a1d1a3b3c3a3d2R.ABCDa1b1c1d1a3b3c3d28.2.3邏輯模型【例8-4】建立一個(gè)連接運(yùn)算,從表8-1所示的學(xué)生表和表8-2所示的成績(jī)表中篩選出“課程號(hào)”為3002的學(xué)生的學(xué)號(hào)、姓名、課程號(hào)和成績(jī)。執(zhí)行后所得結(jié)果如表8-10所示。表8-10連接運(yùn)算結(jié)果學(xué)號(hào)姓名課程號(hào)成績(jī)2013001李宇琳3002852013003張文300280關(guān)系模型具有特別強(qiáng)的數(shù)據(jù)表示能力,可表示一對(duì)一、一對(duì)多和多對(duì)多的聯(lián)系,且易學(xué)易用,因而關(guān)系模型是目前使用最廣的數(shù)據(jù)模型。8.2.4物理模型物理模型是對(duì)真實(shí)數(shù)據(jù)庫(kù)中表、字段、外鍵、索引、數(shù)據(jù)類(lèi)型、長(zhǎng)度等對(duì)象的描述。物理模型反映數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),它不但與DBMS有關(guān),還與操作系統(tǒng)和硬件有關(guān)。課堂訓(xùn)練1.數(shù)據(jù)模型的三要素是?2.常用的邏輯模型有?課堂小結(jié)本章學(xué)習(xí)了概念模型、邏輯模型和物理模型的相關(guān)概念數(shù)據(jù)庫(kù)設(shè)計(jì)8.3數(shù)據(jù)庫(kù)設(shè)計(jì)是在DBMS的支持下,按照應(yīng)用的要求,為某一部門(mén)或組織設(shè)計(jì)一個(gè)結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)。從數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)的全過(guò)程來(lái)考慮,可將數(shù)據(jù)庫(kù)的設(shè)計(jì)歸納為四個(gè)步驟,即需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫(kù)物理設(shè)計(jì)。8.3.1需求分析需求分析就是分析用戶(hù)的需求。需求分析是設(shè)計(jì)數(shù)據(jù)庫(kù)的起點(diǎn),分析結(jié)果是否準(zhǔn)確地反映了用戶(hù)的實(shí)際要求,將直接影響到后面各個(gè)階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)際。主要任務(wù)是從數(shù)據(jù)庫(kù)的所有用戶(hù)那里收集對(duì)數(shù)據(jù)的需求和對(duì)數(shù)據(jù)處理的要求,主要涉及應(yīng)用環(huán)境分析、數(shù)據(jù)流程分析、數(shù)據(jù)需求收集與分析等,并把這些需求寫(xiě)成用戶(hù)和設(shè)計(jì)人員都能接受的說(shuō)明書(shū)。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變,不能僅僅按當(dāng)前應(yīng)用需求來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù)。以“學(xué)生信息管理系統(tǒng)”的開(kāi)發(fā)為例,簡(jiǎn)單描述數(shù)據(jù)庫(kù)的開(kāi)發(fā)流程。通過(guò)以某校學(xué)生處及教務(wù)處的學(xué)生管理流程為基礎(chǔ),收集到其所需的基本要求有:下面以此需求為基礎(chǔ),設(shè)計(jì)數(shù)據(jù)庫(kù)。8.3.1需求分析學(xué)生檔案管理能夠查詢(xún)、修改、添加學(xué)生的基本檔案信息課程管理能夠修改所開(kāi)課程、添加新開(kāi)設(shè)課程、刪除淘汰的課程學(xué)生成績(jī)管理能夠記錄學(xué)生成績(jī)、查詢(xún)學(xué)生成績(jī)、修改學(xué)生成績(jī)系統(tǒng)管理提供用戶(hù)登錄驗(yàn)證、用戶(hù)修改密碼8.3.2概念結(jié)構(gòu)設(shè)計(jì)將需求分析得到的用戶(hù)需求抽象為信息結(jié)構(gòu),即概念結(jié)構(gòu)設(shè)計(jì)。通過(guò)對(duì)人、事、物和概念進(jìn)行人為處理,抽取人們關(guān)系的共同特征,忽略非本質(zhì)的細(xì)節(jié),并將這些特征用各種概念精確地加以描述,形成一個(gè)獨(dú)立于具體的DBMS的概念模型。描述概念結(jié)構(gòu)設(shè)計(jì)的主要工具是E-R圖。E-R方法的基本步驟如下:①根據(jù)需求分析的結(jié)果(如數(shù)據(jù)流圖、數(shù)據(jù)字典等)對(duì)現(xiàn)實(shí)世界的數(shù)據(jù)進(jìn)行抽象,設(shè)計(jì)各個(gè)局部E-R圖。②集成局部的E-R圖。具體操作分為:劃分和確定實(shí)體類(lèi)型和關(guān)系類(lèi)型;確定屬性,找出該實(shí)體所包含的實(shí)際屬性;畫(huà)出E-R圖。③通過(guò)消除沖突、修改與重構(gòu)優(yōu)化局部E-R圖,產(chǎn)生集成E-R圖。8.3.2概念結(jié)構(gòu)設(shè)計(jì)針對(duì)“學(xué)生信息管理系統(tǒng)”的需求,抽取出各實(shí)體及其所需屬性并形成局部E-R圖,學(xué)生實(shí)體E-R圖和課程實(shí)體E-R圖如圖8-9所示。圖8-9學(xué)生實(shí)體E-R圖和課程實(shí)體E-R圖8.3.2概念結(jié)構(gòu)設(shè)計(jì)學(xué)生實(shí)體與課程實(shí)體之間的聯(lián)系用選修E-R圖表示,如圖8-10所示。圖8-10選課E-R圖用戶(hù)實(shí)體E-R圖如圖8-11所示。圖8-11用戶(hù)實(shí)體E-R圖8.3.2概念結(jié)構(gòu)設(shè)計(jì)對(duì)局部E-R圖綜合整理后得到全局E-R圖,如圖8-12所示。圖8-12全局E-R圖8.3.3邏輯結(jié)構(gòu)設(shè)計(jì)目前最常用的邏輯數(shù)據(jù)模型是關(guān)系數(shù)據(jù)模型。邏輯結(jié)構(gòu)設(shè)計(jì)就是將在概念設(shè)計(jì)階段確定的E-R圖轉(zhuǎn)換為關(guān)系模型,這種轉(zhuǎn)換一般遵循如下原則:①一個(gè)實(shí)體轉(zhuǎn)化為一個(gè)關(guān)系模型,實(shí)體的屬性即為關(guān)系的屬性,實(shí)體的關(guān)鍵字就是關(guān)系的關(guān)鍵字。②若聯(lián)系類(lèi)型為1:1,則可在聯(lián)系兩端的實(shí)體關(guān)系中的任意一個(gè)關(guān)系的屬性中加入另一個(gè)關(guān)系的關(guān)鍵字。③若聯(lián)系類(lèi)型為1:n,可在n端實(shí)體轉(zhuǎn)換成的關(guān)系中加入一端實(shí)體關(guān)系中的關(guān)鍵字。轉(zhuǎn)換遵循的原則:8.3.3邏輯結(jié)構(gòu)設(shè)計(jì)④若聯(lián)系類(lèi)型為m:n,可轉(zhuǎn)化為一個(gè)關(guān)系。聯(lián)系兩端各實(shí)體關(guān)系的關(guān)鍵字組合構(gòu)成該關(guān)系的關(guān)鍵字,組成關(guān)系的屬性中除關(guān)鍵字外,還有聯(lián)系本身的屬性。⑤三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。⑥實(shí)體集的實(shí)體間的聯(lián)系(即自聯(lián)系)也可按上述1:1,1:n,m:n三種情況分別處理。⑦具有相同關(guān)鍵字的關(guān)系可以合并。轉(zhuǎn)換遵循的原則:8.3.3邏輯結(jié)構(gòu)設(shè)計(jì)按照上述轉(zhuǎn)換原則,將圖8-12所示的學(xué)生信息管理系統(tǒng)的全局E-R圖轉(zhuǎn)換為如下關(guān)系模型:學(xué)生檔案(學(xué)號(hào),姓名,性別,系名,出生日期,民族,總學(xué)分,備注)課程信息(課程編號(hào),課程名稱(chēng),開(kāi)課學(xué)期,學(xué)時(shí),學(xué)分)學(xué)生成績(jī)(學(xué)號(hào),課程編號(hào),成績(jī))用戶(hù)信息(用戶(hù)名,密碼)8.3.4物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱(chēng)為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),它依賴(lài)于給定的數(shù)據(jù)庫(kù)管理系統(tǒng)和計(jì)算機(jī)系統(tǒng)。為給定的邏輯數(shù)據(jù)模型選取最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過(guò)程,就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)主要包括五方面的內(nèi)容:確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)的存儲(chǔ)路徑確定數(shù)據(jù)的存放位置確定系統(tǒng)配置評(píng)價(jià)物理結(jié)構(gòu)課堂訓(xùn)練1.數(shù)據(jù)庫(kù)的設(shè)計(jì)的四個(gè)步驟是?2.需求分析的主要任務(wù)是?課堂小結(jié)數(shù)據(jù)庫(kù)的設(shè)計(jì)歸納為四個(gè)步驟,即需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫(kù)物理設(shè)計(jì)。SQL語(yǔ)言8.4

70

IBM的圣約瑟研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)SYSTEMR開(kāi)發(fā)的一種查詢(xún)語(yǔ)言,它的前身是SQUARE語(yǔ)言。高級(jí)的非過(guò)程化編程語(yǔ)言。允許用戶(hù)在高層數(shù)據(jù)結(jié)構(gòu)上工作,不要求用戶(hù)指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶(hù)了解具體的數(shù)據(jù)存放方式。Oracle,Sybase,Informix,SQLServer等大型數(shù)據(jù)庫(kù)管理系統(tǒng),VisualFoxPro,PowerBuilder等在PC上常用的數(shù)據(jù)庫(kù)開(kāi)發(fā)系統(tǒng),都支持SQL作為查詢(xún)語(yǔ)言。8.4.1SQL語(yǔ)言的特點(diǎn)美國(guó)國(guó)家標(biāo)準(zhǔn)局(ANSI)國(guó)際標(biāo)準(zhǔn)化組織(ISO)SQL標(biāo)準(zhǔn)。SQL成為國(guó)際標(biāo)準(zhǔn)后,各數(shù)據(jù)庫(kù)廠(chǎng)商紛紛推出了符合SQL標(biāo)準(zhǔn)的DBMS或與SQL的接口軟件。在CAD、人工智能、軟件工程等領(lǐng)域,不僅將SQL作為數(shù)據(jù)檢索的語(yǔ)言規(guī)范,還將它作為檢索圖形、聲音、知識(shí)等信息類(lèi)型的規(guī)范語(yǔ)言。SQL語(yǔ)言結(jié)構(gòu)簡(jiǎn)潔,功能強(qiáng)大,簡(jiǎn)單易學(xué)。8.4.1SQL語(yǔ)言的特點(diǎn)SQL結(jié)構(gòu)化查詢(xún)語(yǔ)言主要特點(diǎn)1.綜合統(tǒng)一SQL集數(shù)據(jù)定義語(yǔ)言DDL、數(shù)據(jù)操縱語(yǔ)言DML、數(shù)據(jù)控制語(yǔ)言DCL的功能于一體,語(yǔ)言風(fēng)格統(tǒng)一,可以獨(dú)立完成數(shù)據(jù)庫(kù)生命周期中的全部活動(dòng),包括定義關(guān)系模式、插入數(shù)據(jù)、建立數(shù)據(jù)庫(kù)、對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢(xún)和更新、數(shù)據(jù)庫(kù)重構(gòu)和維護(hù)、數(shù)據(jù)庫(kù)安全性、完整性控制等一系列操作要求,為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)提供了良好的環(huán)境。2.高度非過(guò)程化非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語(yǔ)言是“面向過(guò)程”的語(yǔ)言,用“過(guò)程化”語(yǔ)言完成某項(xiàng)請(qǐng)求,必須指定存取路徑。而用SQL進(jìn)行數(shù)據(jù)操作,用戶(hù)只需提出“做什么”,無(wú)須指明“怎么做”,因此用戶(hù)無(wú)需了解存取路徑和存取路徑的選擇。這不但大大減輕了用戶(hù)負(fù)擔(dān),而且有利于提高數(shù)據(jù)獨(dú)立性。8.4.1SQL語(yǔ)言的特點(diǎn)SQL結(jié)構(gòu)化查詢(xún)語(yǔ)言主要特點(diǎn)3.用同一種語(yǔ)法結(jié)構(gòu)提供兩種使用方式SQL既是獨(dú)立的語(yǔ)言,又是嵌入式語(yǔ)言。作為獨(dú)立的語(yǔ)言,它能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式,用戶(hù)可以在終端鍵盤(pán)上直接鍵入SQL命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作;作為嵌入式語(yǔ)言,SQL語(yǔ)句能夠嵌入到高級(jí)語(yǔ)言程序中,供程序員設(shè)計(jì)程序時(shí)使用。而在這兩種不同使用方式下,SQL的語(yǔ)法結(jié)構(gòu)基本上是一致的。這種以統(tǒng)一的語(yǔ)法結(jié)構(gòu)提供多種不同使用方式的做法,為用戶(hù)提供了極大的靈活性與方便性。4.語(yǔ)言簡(jiǎn)潔,易學(xué)易用SQL功能極強(qiáng),但由于設(shè)計(jì)巧妙,語(yǔ)言十分簡(jiǎn)潔,完成核心功能只有九個(gè)動(dòng)詞,如表8-11所示。此外,SQL語(yǔ)言語(yǔ)法簡(jiǎn)單,接近英語(yǔ)口語(yǔ),因此易學(xué)易用。表8-11SQL語(yǔ)言的動(dòng)詞SQL功能動(dòng)詞數(shù)據(jù)查詢(xún)SELECT數(shù)據(jù)定義CREATE,DROP,ALTER數(shù)據(jù)操作INSERT,UPDATE,DELETE數(shù)據(jù)控制GRANT,REVOKESQL的數(shù)據(jù)定義功能包括8.4.2數(shù)據(jù)定義表定義視圖定義數(shù)據(jù)庫(kù)定義索引定義8.4.2數(shù)據(jù)定義1.?dāng)?shù)據(jù)庫(kù)的定義①數(shù)據(jù)庫(kù)定義的語(yǔ)法格式:CREATEDATABASE<數(shù)據(jù)庫(kù)名>【例8-5】創(chuàng)建一個(gè)學(xué)生選課數(shù)據(jù)庫(kù),取名為StudentInfo,則該數(shù)據(jù)庫(kù)為CREATEDATABASEStudentInfo;②數(shù)據(jù)庫(kù)刪除的語(yǔ)法格式:DROPDATABASE<數(shù)據(jù)庫(kù)名>【例8-6】將數(shù)據(jù)庫(kù)StudentInfo刪除,其語(yǔ)句為DROPDATABASEStudentInfo;8.4.2數(shù)據(jù)定義2.定義基本表(1)定義表SQL使用CREATETABLE語(yǔ)句定義表,其一般格式為:CREATETABLE<表名>(<列名><數(shù)據(jù)類(lèi)型>[列級(jí)完整性約束定義][,<列名><數(shù)據(jù)類(lèi)型>[列級(jí)完整性約束定義]…][,表級(jí)完整性約束定義])8.4.2數(shù)據(jù)定義圖8-12所示的學(xué)生信息管理系統(tǒng)有三個(gè)關(guān)系模式學(xué)生(學(xué)號(hào),姓名,性別,年齡,所在系)課程(課程號(hào),課程名,學(xué)分)選課(學(xué)號(hào),課程號(hào),成績(jī))圖8-12全局E-R圖8.4.2數(shù)據(jù)定義【例8-7】定義學(xué)生表Student,學(xué)號(hào)是主碼,性別只能為“男”或“女”,年齡在15~45之間,所在系設(shè)缺省值“計(jì)算機(jī)”。CREATETABLEStudent(Snochar(7)PRIMARYKEY,Snamechar(10)NOTNULL,Ssexchar(2)CHECK(Ssex='男'ORSsex='女'),SagetinyintCHECK(Sage>=15ANDSage<=45),Sdeptchar(20)DEFAULT'計(jì)算機(jī)');學(xué)號(hào)Sno為主鍵,取值唯一,性別Ssex有CHECK約束,取“男”或“女”,年齡Sage取值范圍為(15,45),所在系Sdept有默認(rèn)值“計(jì)算機(jī)”。約束說(shuō)明8.4.2數(shù)據(jù)定義【例8-8】定義課程表Course。CREATETABLECourse(CnoCHAR(6)PRIMARYKEY,CnameCHAR(20),CcreditSMALLINT);【例8-9】定義選課表Sc。CREATETABLESc(SnoCHAR(10),CnoCHAR(6),GradeSMALLINT,PRIMARYKEY(Sno,Cno));如果完整性約束條件涉及該表的多個(gè)屬性列,則必須定義在表級(jí)上,否則既可以定義在列級(jí),也可以定義在表級(jí)。8.4.2數(shù)據(jù)定義(2)修改表結(jié)構(gòu)在定義完表之后,如果需要添加列、刪除列或修改列定義,可使用ALTERTABLE語(yǔ)句實(shí)現(xiàn)。ALTERTABLE語(yǔ)句可以對(duì)表添加列、刪除列、修改列的定義、定義主碼、外碼,也可以添加和刪除約束。ALTERTABLE<表名>[ALTERCOLUMN<列名><新數(shù)據(jù)類(lèi)型>]|[ADD<列名><數(shù)據(jù)類(lèi)型>]|[DROPCOLUMN<列名>]|[ADDPRIMARYKEY(列名[,…n])]|[ADDFOREIGNKEY(列名)REFERNECES表名(列名)]|[ADDDEFAULT[默認(rèn)值]FOR(列名)]|[ADDCHECK(約束表達(dá)式)]修改表結(jié)構(gòu)語(yǔ)法:8.4.2數(shù)據(jù)定義【例8-10】為Course表添加“修課類(lèi)別”列,此列的定義為:XKLBchar(4)。ALTERTABLECourseADDXKLBchar(4)NULL【例8-11】將新添加的XKLB的類(lèi)型改為char(6)。ALTERTABLECourseALTERCOLUMNXKLBchar(6);【例8-12】刪除Course表的XKLB列。ALTERTABLECourseDROPCOLUMNXKLB;8.4.2數(shù)據(jù)定義(3)刪除表當(dāng)確信不再需要某個(gè)表時(shí),可以將其刪除,刪除表時(shí)會(huì)將與表有關(guān)的所有對(duì)象一起刪掉,包括表中的數(shù)據(jù)。刪除表的語(yǔ)句格式為:DROPTABLE<表名>【例8-13】刪除Sc表。DROPTABLESc;8.4.3數(shù)據(jù)查詢(xún)SQL是一種查詢(xún)功能很強(qiáng)的語(yǔ)言,只要是數(shù)據(jù)庫(kù)存在的數(shù)據(jù),總能通過(guò)適當(dāng)?shù)姆椒▽⑺鼜臄?shù)據(jù)庫(kù)中查找出來(lái)。SELECT語(yǔ)句語(yǔ)法如下:SELECT[ALL|DISTINCT]目標(biāo)列名或列表達(dá)式[,目標(biāo)列名或列表達(dá)式]…[INTO新數(shù)據(jù)表]FROM基本表或視圖名[WHERE條件表達(dá)式][GROUPBY列名集合[HAVING條件表達(dá)式]][ORDERBY列名[ASC|DESC][,列名[ASC|DESC]…]8.4.3數(shù)據(jù)查詢(xún)整個(gè)語(yǔ)句的語(yǔ)義為從FROM子句中列出的表中,選擇滿(mǎn)足WHERE子句中給出的條件表達(dá)式的元組,然后按GROUPBY子句(分組子句)中指定列的值分組,再提取滿(mǎn)足HAVING子句中組條件表達(dá)式的組,按SELECT子句給出的列名或列表達(dá)式求值輸出。ORDER子句(排序子句)是對(duì)輸出的目標(biāo)表進(jìn)行重新排序,并可附加說(shuō)明ASC(升序)或DESC(降序)排列。INTO子句是把查詢(xún)的結(jié)果集創(chuàng)建一個(gè)新的數(shù)據(jù)表。8.4.3數(shù)據(jù)查詢(xún)1.無(wú)條件查詢(xún)【例8-14】找出所有學(xué)生的選課情況及所有學(xué)生的情況。SELECTSno,CnoFROMSc;SELECT*FROMStudent;“*”為通配符,表示查找FROM中所指出表的所有屬性的值。8.4.3數(shù)據(jù)查詢(xún)2.條件查詢(xún)【例8-15】找出課程號(hào)為3002,考試成績(jī)不及格的學(xué)生。SELECTSnoFROMScWHERECno='3002'ANDGrade<60;帶有WHERE子句的查詢(xún),所要查詢(xún)的對(duì)象必須滿(mǎn)足WHERE子句給出的條件。8.4.3數(shù)據(jù)查詢(xún)3.排序查詢(xún)【例8-16】查找不及格的課程,并將結(jié)果按課程號(hào)從大到小排列。SELECTUNIQUECnoFROMScWHEREGrade<60ORDERBYCnoDESC;將查詢(xún)結(jié)果按指定屬性的升序(ASC)或降序(DESC)排列,由ORDERBY子句指明。8.4.3數(shù)據(jù)查詢(xún)4.嵌套查詢(xún)【例8-17】查找課程編號(hào)為3002且課程成績(jī)?cè)?0分以上的學(xué)生的學(xué)號(hào)和姓名。SELECTSno,SnameFROMStudentWHERESnoIN(SELECTSnoFROMScWHERECno='3002'ANDGrade>80);指WHERE子句中又包含SELECT子句,它用于較復(fù)雜的跨多個(gè)基本表查詢(xún)的情況。8.4.3數(shù)據(jù)查詢(xún)5.計(jì)算查詢(xún)【例8-18】求男學(xué)生的總?cè)藬?shù)和平均年齡。SELECTCOUNT(*),AVG(Sage)FROMstudentWHERESsex='男';通過(guò)系統(tǒng)提供的特定函數(shù)(聚合函數(shù))在語(yǔ)句中的直接使用,而獲得某些只有經(jīng)過(guò)計(jì)算才能得到的結(jié)果。8.4.3數(shù)據(jù)查詢(xún)COUNT(*)計(jì)算元組的個(gè)數(shù)。COUNT(列名)對(duì)某一列中的值計(jì)算個(gè)數(shù)。SUM(列名)求某一列值的總和(此列值是數(shù)值型)。AVG(列名)求某一列值的平均值(此列值是數(shù)值型)。MAX(列名)求某一列值中的最大值。MIN(列名)求某一列值中的最小值。8.4.4數(shù)據(jù)更新數(shù)據(jù)更新包括數(shù)據(jù)插入、刪除和修改,它們分別由INSERT,DELETE及UPDATE語(yǔ)句完成。這些操作都可在任何基本表上進(jìn)行,但在視圖上有所限制。其中,當(dāng)視圖是由單個(gè)基本表導(dǎo)出時(shí),可進(jìn)行插入和修改操作,但不能進(jìn)行刪除操作;當(dāng)視圖是從多個(gè)基本表中導(dǎo)出時(shí),上述三種操作都不能進(jìn)行。8.4.4數(shù)據(jù)更新1.?dāng)?shù)據(jù)插入INSERTINTO表名(列名1[,列名2]…)VALUES(列值1[,列值2]…)列名序列為要插入值的列名集合,列值序列為要插入的對(duì)應(yīng)值。若插入的是一個(gè)表的全部列值,則列名可以省略不寫(xiě),如例8-19中的(Sno,Cno,Grade)可省略;若插入的是表的部分列值,則必須列出相應(yīng)列名,此時(shí),未列出的列名取空值?!纠?-19】向基本表Sc中插入一個(gè)成績(jī)?cè)M(2013005,3002,95)。INSERTINTOSc(Sno,Cno,Grade)VALUES('2013005','3002',95);8.4.4數(shù)據(jù)更新2.?dāng)?shù)據(jù)刪除【例8-20】將學(xué)號(hào)為2013002的學(xué)生從表Student中刪除。DELETEFROMStudentWHERESno='2013002'//因?yàn)閷W(xué)號(hào)為2013002的學(xué)生在表Student中只有一個(gè),所以為單元組的刪除;SQL的刪除操作是指從基本表中刪除滿(mǎn)足WHERE<條件表達(dá)式>的記錄。如果沒(méi)有WHERE子句,則刪除表中全部記錄,但表結(jié)構(gòu)依然存在。DELETEFROM表名[WHERE條件表達(dá)式]語(yǔ)句格式為:【例8-21】將學(xué)號(hào)為2013002的成績(jī)從表Sc中刪除。DELETEFROMScWHERESno='2013002'//由于學(xué)號(hào)為2013002的元組在表Sc中可能有多個(gè),所以為多元組刪除;8.4.4數(shù)據(jù)更新3.?dāng)?shù)據(jù)修改【例8-22】將學(xué)生周文全的所在系改為市場(chǎng)營(yíng)銷(xiāo)。UPDATEStudentSETSdept='市場(chǎng)營(yíng)銷(xiāo)'WHERESname='周文全';UPDATE表名SET列名=列改變值[WHERE條件表達(dá)式]數(shù)據(jù)修改語(yǔ)句的格式為:【例8-23】將課程成績(jī)達(dá)到70分的學(xué)生成績(jī)?cè)偬岣?0%。UPDATEScSETGrade=1.1*GradeWHEREGrade>=70;修改語(yǔ)句是按SET子句中的表達(dá)式,在指定表中修改滿(mǎn)足條件表達(dá)式的記錄的相應(yīng)列值。8.4.5視圖視圖是從一個(gè)或幾個(gè)基本表(或視圖)導(dǎo)出的虛擬表,它與基本表不同的是基本表是正式的物理表,而視圖為虛表。數(shù)據(jù)庫(kù)中只存放視圖的定義,不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來(lái)的基本表中。8.4.5視圖1.視圖的優(yōu)點(diǎn)(1)視圖能夠簡(jiǎn)化用戶(hù)的操作視圖機(jī)制是用戶(hù)可以將注意力集中在他所關(guān)心的數(shù)據(jù)上。如果這些數(shù)據(jù)不是直接來(lái)自表,則可以通過(guò)定義視圖,使用戶(hù)看到的數(shù)據(jù)庫(kù)結(jié)構(gòu)簡(jiǎn)單、清晰,并可大大簡(jiǎn)化用戶(hù)的數(shù)據(jù)查詢(xún)操作。(2)視圖對(duì)于數(shù)據(jù)庫(kù)的重構(gòu)提供了一定程度的邏輯獨(dú)立性數(shù)據(jù)庫(kù)的邏輯獨(dú)立性是指當(dāng)數(shù)據(jù)庫(kù)重構(gòu)時(shí),如增加新的關(guān)系或?qū)υ嘘P(guān)系增加新的字段等,用戶(hù)或用戶(hù)程序不會(huì)受影響。(3)視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù)在設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)時(shí),對(duì)不同的用戶(hù)定義不同的視圖,使機(jī)密數(shù)據(jù)不出現(xiàn)在不應(yīng)看到這些數(shù)據(jù)的用戶(hù)視圖上,實(shí)現(xiàn)了對(duì)機(jī)密數(shù)據(jù)的安全保護(hù)功能。8.4.5視圖2.創(chuàng)建視圖【例8-24】建立一個(gè)視圖ST1,包含計(jì)算機(jī)系的學(xué)生記錄。CREATEVIEWST1ASSELECT*FROMstudentWHERESdept='計(jì)算機(jī)';CREATEVIEW視圖名[列名[,列名]...]ASSELECT查詢(xún)語(yǔ)句SQL語(yǔ)言用CREATEVIEW命令建立視圖,其一般格式為:8.4.5視圖3.刪除視圖【例8-25】將視圖ST1刪除。DROPVIEWST1;DROPVIEW視圖名視圖建好后,若導(dǎo)出此視圖的基本表被刪除了,該視圖將失效,但一般不會(huì)被自動(dòng)刪除。要用DROPWIEW語(yǔ)句進(jìn)行刪除,語(yǔ)句格式為:課堂訓(xùn)練1.SQL語(yǔ)言的特點(diǎn)?2.

SQL的數(shù)據(jù)定義功能包括?課堂小結(jié)SQL語(yǔ)言的特點(diǎn)數(shù)據(jù)定義,查詢(xún),更新和視圖Access2010的應(yīng)用8.5

102

Access是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),提供了一個(gè)數(shù)據(jù)管理的工具包和應(yīng)用程序的開(kāi)發(fā)環(huán)境,主要用于中小型數(shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā)。8.5.1數(shù)據(jù)庫(kù)的創(chuàng)建Access2010數(shù)據(jù)庫(kù)由“表”“查詢(xún)”“窗體”“報(bào)表”“宏”和“模塊”六個(gè)對(duì)象構(gòu)成了數(shù)據(jù)庫(kù)系統(tǒng)。數(shù)據(jù)庫(kù)就是存放各個(gè)對(duì)象的容器,因此,在創(chuàng)建數(shù)據(jù)庫(kù)系統(tǒng)之前,應(yīng)先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)。①創(chuàng)建數(shù)據(jù)庫(kù)文件。啟動(dòng)Access2010程序,單擊左側(cè)導(dǎo)航窗格中【新建】命令,接著在中間窗格中單擊“空數(shù)據(jù)庫(kù)”選項(xiàng),如圖8-13所示。8.5.1數(shù)據(jù)庫(kù)的創(chuàng)建②確定數(shù)據(jù)庫(kù)的位置和名稱(chēng)。單擊圖8-13所示“文件名”文本框右側(cè)的文件夾圖標(biāo),打開(kāi)“文件新建數(shù)據(jù)庫(kù)”對(duì)話(huà)框,選擇數(shù)據(jù)庫(kù)的存放的盤(pán)符及數(shù)據(jù)庫(kù)存放的文件夾,然后在“文件名”文本框中輸入數(shù)據(jù)庫(kù)的名稱(chēng)。圖8-13數(shù)據(jù)庫(kù)創(chuàng)建窗口根據(jù)需求選擇此處的數(shù)據(jù)庫(kù)模板,可創(chuàng)建一個(gè)包含表、查詢(xún)等數(shù)據(jù)庫(kù)對(duì)象的數(shù)據(jù)庫(kù)系統(tǒng)③創(chuàng)建數(shù)據(jù)庫(kù)。單擊圖8-13所示的【創(chuàng)建】按鈕,即可創(chuàng)建一個(gè)空白數(shù)據(jù)庫(kù)和一個(gè)數(shù)據(jù)表,如圖8-14所示。8.5.1數(shù)據(jù)庫(kù)的創(chuàng)建圖8-14“學(xué)籍管理”數(shù)據(jù)庫(kù)8.5.2創(chuàng)建并定義表1.表的創(chuàng)建Access2010中建立表的方式有使用字段模板創(chuàng)建表、使用設(shè)計(jì)視圖創(chuàng)建表、從其他數(shù)據(jù)源(如Excel工作簿、Word文檔、文本文件或其他數(shù)據(jù)庫(kù)等多種類(lèi)型的文件)導(dǎo)入或鏈接到表等多種方式。使用設(shè)計(jì)視圖創(chuàng)建表是一種十分靈活,但有些復(fù)雜的方法,創(chuàng)建過(guò)程需要花費(fèi)較多時(shí)間。盡管如此,對(duì)較為復(fù)雜的表,通常都在設(shè)計(jì)視圖中創(chuàng)建。8.5.2創(chuàng)建并定義表【例8-26】在數(shù)據(jù)庫(kù)“學(xué)籍管理”中建立“學(xué)生表”、“課程信息”和“學(xué)生成績(jī)”三個(gè)表。三個(gè)表的數(shù)據(jù)和結(jié)構(gòu)如表8-12~8-17所示。表8-12學(xué)生表學(xué)號(hào)姓名性別系名出生日期民族總學(xué)分備注2013001武莉女財(cái)會(huì)1997-10-09漢族90曾獲得三好學(xué)生2013002趙啟明男計(jì)算機(jī)1998-09-18漢族87

2013003王曉霞女市場(chǎng)營(yíng)銷(xiāo)1997-08-10苗族87

2013004任為民男計(jì)算機(jī)1998-06-19漢族67

2013005張勇剛男市場(chǎng)營(yíng)銷(xiāo)1997-09-29漢族78

2013006侯俊明男財(cái)會(huì)1999-10-06漢族54

2013007趙旺春男市場(chǎng)營(yíng)銷(xiāo)1997-01-07漢族78

2013008李雪女財(cái)會(huì)1997-05-23白族81

2013009郝帥男計(jì)算機(jī)1997-04-09漢族76

2013010李麗女財(cái)會(huì)1999-10-01漢族568.5.2創(chuàng)建并定義表表8-13學(xué)生表的數(shù)據(jù)結(jié)構(gòu)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段長(zhǎng)度字段名稱(chēng)數(shù)據(jù)類(lèi)型字段長(zhǎng)度學(xué)號(hào)文本10出生日期日期/時(shí)間

姓名文本8民族文本8性別文本2總學(xué)分?jǐn)?shù)字(整型)

系名文本10備注備注8.5.2創(chuàng)建并定義表表8-14課程信息課程編號(hào)課程名稱(chēng)開(kāi)課學(xué)期學(xué)時(shí)學(xué)分104計(jì)算機(jī)文化基礎(chǔ)1483108大學(xué)語(yǔ)文1402.5202數(shù)據(jù)結(jié)構(gòu)2644207財(cái)務(wù)會(huì)計(jì)2644212營(yíng)銷(xiāo)策略2644305數(shù)據(jù)庫(kù)原理3644308審計(jì)學(xué)3644312公共關(guān)系學(xué)36448.5.2創(chuàng)建并定義表表8-15課程信息表的數(shù)據(jù)結(jié)構(gòu)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段長(zhǎng)度課程編號(hào)文本3課程名稱(chēng)文本20開(kāi)課學(xué)期數(shù)字(字節(jié))

學(xué)時(shí)數(shù)字(整型)

學(xué)分?jǐn)?shù)字(單精度型)表8-16學(xué)生成績(jī)學(xué)號(hào)課程編號(hào)成績(jī)201300110480201300120778201300210465201300220276201300230590201300310489201300321287………表8-17學(xué)生成績(jī)表的數(shù)據(jù)結(jié)構(gòu)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段長(zhǎng)度學(xué)號(hào)文本10課程編號(hào)文本3成績(jī)數(shù)字(整型)

8.5.2創(chuàng)建并定義表圖8-15設(shè)計(jì)字段及其數(shù)據(jù)類(lèi)型第一步:打開(kāi)第8.5.1節(jié)創(chuàng)建的名稱(chēng)為“學(xué)籍管理”的空白數(shù)據(jù)庫(kù)。第二步:打開(kāi)表設(shè)計(jì)視圖并設(shè)置。單擊【創(chuàng)建】∣【表格】功能組中的【表設(shè)計(jì)】按鈕,打開(kāi)表設(shè)計(jì)視圖,然后在首個(gè)“字段名稱(chēng)”欄中輸入“學(xué)號(hào)”,接著在其后的“數(shù)據(jù)類(lèi)型”列表框中單擊,選擇“文本”類(lèi)型,并確定其“字段大小”為10,如圖8-15所示。8.5.2創(chuàng)建并定義表圖8-16“學(xué)生表”的數(shù)據(jù)結(jié)構(gòu)第三步:按上述方法依次為“學(xué)生表”數(shù)據(jù)表創(chuàng)建姓名、性別、系名等字段,并同時(shí)選擇好相應(yīng)的數(shù)據(jù)類(lèi)型,再添加相應(yīng)字段說(shuō)明,如圖8-16所示。8.5.2創(chuàng)建并定義表圖8-17“尚未定義主鍵”對(duì)話(huà)框第四步:?jiǎn)螕魣D8-16右上角的【關(guān)閉】按鈕,打開(kāi)是否保存表的對(duì)話(huà)框。單擊【是】按鈕,在打開(kāi)的“另存為”對(duì)話(huà)框中輸入表的名稱(chēng)“學(xué)生表”。第五步:?jiǎn)螕簟傲泶鏋椤睂?duì)話(huà)框中的【確定】按鈕,打開(kāi)圖8-17所示的對(duì)話(huà)框,提示用戶(hù)自定義一個(gè)主鍵。8.5.2創(chuàng)建并定義表圖8-19“學(xué)生表”的數(shù)據(jù)表視圖圖8-18表的設(shè)計(jì)視圖第六步:?jiǎn)螕簟痉瘛堪粹o,打開(kāi)圖8-18所示的窗口,然后右擊“學(xué)生表”列表,在彈出的快捷菜單中選擇【打開(kāi)】命令,出現(xiàn)“學(xué)生表”的數(shù)據(jù)表視圖,輸入學(xué)生表的數(shù)據(jù),即可完成“學(xué)生表”數(shù)據(jù)的建立,如圖8-19所示。8.5.2創(chuàng)建并定義表圖8-20數(shù)據(jù)表視圖第七步:按照上述方法,在數(shù)據(jù)庫(kù)“學(xué)籍管理”中分別建立“課程信息”表和“學(xué)生成績(jī)”表,最終結(jié)果如圖8-20所示。8.5.2創(chuàng)建并定義表2.主鍵的設(shè)置主鍵是表的一個(gè)字段或一個(gè)字段集,它為表中的每條記錄提供了一個(gè)唯一的標(biāo)識(shí)符,它是為提高Access在查詢(xún)、窗體和報(bào)表的快速查找能力而設(shè)計(jì)的。主鍵的設(shè)置是在表的設(shè)計(jì)視圖中進(jìn)行的?!纠?-27】分別為“學(xué)生表”“課程信息”和“學(xué)生成績(jī)”三個(gè)表設(shè)置主鍵。“學(xué)生表”的主鍵為“學(xué)號(hào)”;“課程信息”表的主鍵為“課程編號(hào)”;“學(xué)生成績(jī)”表的主鍵為字段集“學(xué)號(hào)”和“課程編號(hào)”。8.5.2創(chuàng)建并定義表2.主鍵的設(shè)置第一步:打開(kāi)“學(xué)生表”的設(shè)計(jì)視圖。在圖8-20中右擊“學(xué)生表”,從快捷菜單中選擇【設(shè)計(jì)視圖】命令,打開(kāi)“學(xué)生表”設(shè)計(jì)視圖,如圖8-21所示。第二步:設(shè)置主鍵。單擊要設(shè)為主鍵的字段“學(xué)號(hào)”,單擊【設(shè)計(jì)】∣【工具】功能組中的【主鍵】按鈕,可為“學(xué)生表”設(shè)置主鍵“學(xué)號(hào)”,如圖8-22所示。圖8-21“學(xué)生表”設(shè)計(jì)視圖圖8-22設(shè)置“學(xué)號(hào)”為主鍵8.5.2創(chuàng)建并定義表3.定義表間的關(guān)系所謂關(guān)系是指在兩個(gè)表的公共字段之間創(chuàng)建的關(guān)聯(lián)性,關(guān)系可以是“一對(duì)一”“一對(duì)多”或“多對(duì)多”?!纠?-28】建立“學(xué)生表”“課程信息”和“學(xué)生成績(jī)”三個(gè)表的關(guān)系。8.5.2創(chuàng)建并定義表3.定義表間的關(guān)系第一步:打開(kāi)“學(xué)籍管理”數(shù)據(jù)庫(kù),關(guān)閉所有的表,如圖8-23所示。圖8-23“學(xué)籍管理”數(shù)據(jù)庫(kù)8.5.2創(chuàng)建并定義表3.定義表間的關(guān)系第二步:添加數(shù)據(jù)表。單擊【數(shù)據(jù)庫(kù)工具】∣【關(guān)系】功能組的【關(guān)系】按鈕,打開(kāi)圖8-24所示的“顯示表”對(duì)話(huà)框,選擇建立關(guān)系的表,然后單擊【添加】按鈕,將三個(gè)表逐一添加,最后單擊【關(guān)閉】按鈕,打開(kāi)“關(guān)系”窗口,如圖8-25所示。圖8-24“顯示表”對(duì)話(huà)框圖8-25“關(guān)系”窗口8.5.2創(chuàng)建并定義表3.定義表間的關(guān)系第三步:建立表間聯(lián)系。將“學(xué)生表”的關(guān)鍵字“學(xué)號(hào)”拖到“學(xué)生成績(jī)”的關(guān)鍵字“學(xué)號(hào)”上,釋放鼠標(biāo)后打開(kāi)“編輯關(guān)系”對(duì)話(huà)框,如圖8-26所示。在該對(duì)話(huà)框中選中“實(shí)施參照完整性”復(fù)選框,單擊【創(chuàng)建】按鈕,即可建立“學(xué)生表”和“學(xué)生成績(jī)”表的“一對(duì)多”關(guān)系,如圖8-27所示。圖8-26“編輯關(guān)系”對(duì)話(huà)框圖8-27學(xué)生表與學(xué)生成績(jī)表“關(guān)系”窗口8.5.2創(chuàng)建并定義表3.定義表間的關(guān)系將“課程信息”的“課程編號(hào)”字段拖動(dòng)到“學(xué)生成績(jī)”的“課程編號(hào)”字段上,建立“課程信息”和“學(xué)生成績(jī)”表的“一對(duì)多”關(guān)系,如圖8-28所示。圖8-28三表間“關(guān)系”窗口8.5.2創(chuàng)建并定義表3.定義表間的關(guān)系第四步:保存關(guān)系。單擊工作區(qū)右上角的【關(guān)閉】按鈕,出現(xiàn)圖8-29所示的對(duì)話(huà)框,單擊該對(duì)話(huà)框中的【是】按鈕,即可保存三表間的關(guān)系。圖8-29“是否保存關(guān)系布局的更改”對(duì)話(huà)框8.5.3查詢(xún)的創(chuàng)建查詢(xún)功能是Access數(shù)據(jù)庫(kù)軟件中最強(qiáng)的一項(xiàng)功能。用戶(hù)可以利用查詢(xún)工具,通過(guò)指定特殊字段、定義字段的順序、建立計(jì)算表達(dá)式并輸入條件,以及定義每個(gè)字段的篩選條件等來(lái)選擇需要的記錄。Access2010常見(jiàn)的查詢(xún)有選擇查詢(xún)、參數(shù)查詢(xún)及SQL查詢(xún)。8.5.3查詢(xún)的創(chuàng)建1.利用查詢(xún)向?qū)?chuàng)建選擇查詢(xún)【例8-29】從“學(xué)生表”中查找“學(xué)號(hào)”“姓名”“性別”和“系名”信息。(1)從單個(gè)表中創(chuàng)建查詢(xún)?cè)谑褂脭?shù)據(jù)庫(kù)時(shí),有時(shí)可能希望查看表中的所有數(shù)據(jù),但有時(shí)可能只希望查看某些字段列中的數(shù)據(jù),或者只希望在某些字段列滿(mǎn)足某些條件時(shí)查看數(shù)據(jù),此時(shí),可使用選擇查詢(xún)??梢杂貌樵?xún)向?qū)Ш筒樵?xún)?cè)O(shè)計(jì)視圖兩種方式創(chuàng)建選擇查詢(xún),其中,使用查詢(xún)向?qū)且环N最簡(jiǎn)單的創(chuàng)建查詢(xún)的方法。使用簡(jiǎn)單查詢(xún)向?qū)Р粌H可以依據(jù)單個(gè)表創(chuàng)建查詢(xún),也可以依據(jù)多個(gè)表創(chuàng)建查詢(xún)。8.5.3查詢(xún)的創(chuàng)建第一步:打開(kāi)第8.5.2節(jié)創(chuàng)建的“學(xué)籍管理”數(shù)據(jù)庫(kù)文件。第二步:?jiǎn)螕簟緞?chuàng)建】∣【查詢(xún)】功能組的【查詢(xún)向?qū)А堪粹o,打開(kāi)“新建查詢(xún)”對(duì)話(huà)框,如圖8-30所示。圖8-30“新建查詢(xún)”對(duì)話(huà)框操作步驟如下:8.5.3查詢(xún)的創(chuàng)建第三步:在“新建查詢(xún)”對(duì)話(huà)框的列表框中選擇“簡(jiǎn)單查詢(xún)向?qū)А?,然后單擊【確定】按鈕,進(jìn)入“簡(jiǎn)單查詢(xún)向?qū)А钡摹罢?qǐng)確定查詢(xún)中使用哪些字段”對(duì)話(huà)框,如圖8-31所示。圖8-31“請(qǐng)確定查詢(xún)中使用哪些字段”對(duì)話(huà)框8.5.3查詢(xún)的創(chuàng)建第四步:在“表/查詢(xún)”下拉列表中選擇查詢(xún)所需要的表或查詢(xún)名稱(chēng),本例選擇“表:學(xué)生表”,然后在“可用字段”列表區(qū)中選擇所需字段并單擊按鈕,將這些字段逐一從“可用字段”列表區(qū)移至“選定字段”列表區(qū),本例的選定字段為“學(xué)號(hào)”“姓名”“性別”和“系名”,如圖8-31所示。8.5.3查詢(xún)的創(chuàng)建第五步:字段選好后單擊【下一步】按鈕,打開(kāi)“請(qǐng)為查詢(xún)指定標(biāo)題”對(duì)話(huà)框,如圖8-32所示。圖8-32“請(qǐng)為查詢(xún)指定標(biāo)題”對(duì)話(huà)框8.5.3查詢(xún)的創(chuàng)建第六步:在“請(qǐng)為查詢(xún)指定標(biāo)題”文本框中輸入所建的查詢(xún)名稱(chēng)“學(xué)生表部分信息查詢(xún)”,然后選擇默認(rèn)的“打開(kāi)查詢(xún)查看結(jié)果”單選鈕,最后單擊【完成】按鈕,完成在向?qū)聞?chuàng)建的選擇查詢(xún)“學(xué)生表部分信息查詢(xún)”,并將查詢(xún)結(jié)果顯示出來(lái),如圖8-33所示。圖8-33“學(xué)生表部分信息查詢(xún)”結(jié)果8.5.3查詢(xún)的創(chuàng)建【例8-30】從“學(xué)生表”“課程信息”和“學(xué)生成績(jī)”表中查找“學(xué)號(hào)”“姓名”“課程名稱(chēng)”和“成績(jī)”信息。(2)從多個(gè)表中創(chuàng)建查詢(xún)操作步驟如下:第一步:參照例8-29第一步至第三步的操作,打開(kāi)圖8-31所示的“請(qǐng)確定查詢(xún)中使用哪些字段”對(duì)話(huà)框。8.5.3查詢(xún)的創(chuàng)建第二步:在該對(duì)話(huà)框的“表/查詢(xún)”下拉列表中選擇“表:學(xué)生表”

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論