數(shù)據(jù)庫(kù)應(yīng)用技術(shù)SQL-Server完整版課件_第1頁
數(shù)據(jù)庫(kù)應(yīng)用技術(shù)SQL-Server完整版課件_第2頁
數(shù)據(jù)庫(kù)應(yīng)用技術(shù)SQL-Server完整版課件_第3頁
數(shù)據(jù)庫(kù)應(yīng)用技術(shù)SQL-Server完整版課件_第4頁
數(shù)據(jù)庫(kù)應(yīng)用技術(shù)SQL-Server完整版課件_第5頁
已閱讀5頁,還剩887頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2023/2/41數(shù)據(jù)庫(kù)應(yīng)用技術(shù)

SQLServer20082023/2/42第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)【學(xué)習(xí)要求】理解數(shù)據(jù)庫(kù)的基本概念。了解數(shù)據(jù)管理三個(gè)階段的特點(diǎn)。理解三個(gè)世界的信息描述方法理解三種常見的數(shù)據(jù)模型。理解關(guān)系數(shù)據(jù)庫(kù)的基本概念。掌握關(guān)系數(shù)據(jù)庫(kù)的關(guān)系操作。理解函數(shù)依賴關(guān)系。掌握關(guān)系規(guī)范化方法與過程。2023/2/43第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.1數(shù)據(jù)庫(kù)概述

1.2數(shù)據(jù)模型

1.3關(guān)系數(shù)據(jù)庫(kù)

1.4關(guān)系規(guī)范化

2023/2/44第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.1數(shù)據(jù)庫(kù)概述

數(shù)據(jù)庫(kù)技術(shù)是計(jì)算機(jī)技術(shù)的一個(gè)重要分支,計(jì)算機(jī)應(yīng)用技術(shù)發(fā)展到現(xiàn)在,除操作系統(tǒng)之外,數(shù)據(jù)庫(kù)已經(jīng)成為計(jì)算機(jī)應(yīng)用的重要支撐系統(tǒng)和核心組成部分。例如,電子政務(wù)系統(tǒng)、電子商務(wù)系統(tǒng)、決策支持系統(tǒng)、電子郵件系統(tǒng)、財(cái)務(wù)金融系統(tǒng)等計(jì)算機(jī)應(yīng)用系統(tǒng)均以數(shù)據(jù)庫(kù)為信息存儲(chǔ)的平臺(tái),全部都離不開數(shù)據(jù)庫(kù)。1.1.1數(shù)據(jù)庫(kù)基本概念

1.?dāng)?shù)據(jù)(Data)數(shù)據(jù)是對(duì)客觀事物屬性的一種符號(hào)化的表示。從數(shù)據(jù)處理的角度看,數(shù)據(jù)是計(jì)算機(jī)處理及數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象。數(shù)據(jù)的表現(xiàn)形式很多,它們都可以經(jīng)過數(shù)字化后存入計(jì)算機(jī)。

2.信息(Information)信息是經(jīng)過加工處理并對(duì)人類客觀行為產(chǎn)生影響的事物屬性的表現(xiàn)形式。信息具有實(shí)效性、實(shí)用性和知識(shí)性等特性。

2023/2/45第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.1數(shù)據(jù)庫(kù)概述

1.1.1數(shù)據(jù)庫(kù)基本概念

3.?dāng)?shù)據(jù)庫(kù)(DB)數(shù)據(jù)庫(kù)是數(shù)據(jù)存儲(chǔ)的倉(cāng)庫(kù),是長(zhǎng)期存貯在計(jì)算機(jī)內(nèi)、有組織、可共享的數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型進(jìn)行組織、描述和存儲(chǔ),具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶所共享。

4.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)數(shù)據(jù)庫(kù)管理系統(tǒng)是指數(shù)據(jù)庫(kù)系統(tǒng)中對(duì)數(shù)據(jù)進(jìn)行管理的軟件系統(tǒng),是數(shù)據(jù)庫(kù)系統(tǒng)的核心組成部分,它為用戶提供一個(gè)可以方便、有效地存取數(shù)據(jù)庫(kù)信息的環(huán)境。數(shù)據(jù)庫(kù)管理系統(tǒng)的主要功能由四個(gè)方面組成:(1)數(shù)據(jù)定義功能;(2)數(shù)據(jù)庫(kù)的運(yùn)行管理;(3)數(shù)據(jù)庫(kù)的建立和維護(hù)功能;(4)數(shù)據(jù)操縱功能。2023/2/46第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.1數(shù)據(jù)庫(kù)概述

1.1.1數(shù)據(jù)庫(kù)基本概念

5.?dāng)?shù)據(jù)庫(kù)系統(tǒng)(DBS)數(shù)據(jù)庫(kù)系統(tǒng)是采用數(shù)據(jù)庫(kù)技術(shù)構(gòu)建的復(fù)雜的計(jì)算機(jī)系統(tǒng),它是綜合了計(jì)算機(jī)硬件、軟件、數(shù)據(jù)集合和數(shù)據(jù)庫(kù)管理人員、遵循數(shù)據(jù)庫(kù)規(guī)則、向用戶和應(yīng)用程序提供信息服務(wù)的集成系統(tǒng)。數(shù)據(jù)庫(kù)系統(tǒng)由數(shù)據(jù)庫(kù)、軟件系統(tǒng)、硬件系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶等要素組成。

1.1.2數(shù)據(jù)庫(kù)的發(fā)展數(shù)據(jù)庫(kù)技術(shù)發(fā)展至今大致可分為人工管理、文件管理、數(shù)據(jù)庫(kù)系統(tǒng)管理等三個(gè)階段。

1.人工管理階段計(jì)算機(jī)問世初期,由于計(jì)算機(jī)的軟、硬件技術(shù)不先進(jìn),應(yīng)用程序與數(shù)據(jù)直接對(duì)應(yīng),程序不僅要設(shè)計(jì)數(shù)據(jù)處理的方法,還要直接操作數(shù)據(jù)。因此,用戶的應(yīng)用程序與數(shù)據(jù)之間相互結(jié)合、不可分割,當(dāng)數(shù)據(jù)有所變動(dòng)時(shí)程序也必須隨之改變,因此,獨(dú)立性差,程序之間的數(shù)據(jù)不能互相傳遞,缺少共享性。2023/2/47第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.1.2數(shù)據(jù)庫(kù)的發(fā)展

2.文件管理階段文件管理階段是把有關(guān)的數(shù)據(jù)組織成一種數(shù)據(jù)文件,數(shù)據(jù)可以脫離程序獨(dú)立存在。在這種管理方式下,用戶或應(yīng)用程序通過文件管理系統(tǒng)對(duì)數(shù)據(jù)文件中的數(shù)據(jù)進(jìn)行加工處理,應(yīng)用程序的數(shù)據(jù)具有一定的獨(dú)立性,比手工管理方式前進(jìn)了一步。但是,數(shù)據(jù)文件仍然高度依賴于其應(yīng)用程序,不能被多個(gè)程序所共享。

3.?dāng)?shù)據(jù)庫(kù)管理階段隨著數(shù)據(jù)量的不斷增大,文件管理方式顯然在操作效率和數(shù)據(jù)共享方面不能滿足實(shí)際要求,為了解決這種海量數(shù)據(jù)、數(shù)據(jù)共享和操作效率等問題,于是出現(xiàn)了數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理階段對(duì)所有的數(shù)據(jù)實(shí)行統(tǒng)一的規(guī)劃管理,所有數(shù)據(jù)形成一個(gè)數(shù)據(jù)中心,構(gòu)成一個(gè)數(shù)據(jù)倉(cāng)庫(kù)。數(shù)據(jù)庫(kù)中的數(shù)據(jù)能夠滿足所有用戶的不同要求,供不同的用戶共享。在數(shù)據(jù)庫(kù)管理的系統(tǒng)環(huán)境下,應(yīng)用程序?qū)?shù)據(jù)的管理和訪問靈活方便,數(shù)據(jù)與應(yīng)用程序之間相互獨(dú)立,使得程序的編制質(zhì)量和效率大大提高。2023/2/48第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.2數(shù)據(jù)模型數(shù)據(jù)庫(kù)管理系統(tǒng)是基于某個(gè)數(shù)據(jù)模型設(shè)計(jì)出來的,而數(shù)據(jù)模型是現(xiàn)實(shí)世界數(shù)據(jù)特征的模擬和抽象。一個(gè)完整的數(shù)據(jù)模型必須包括數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)完整性約束三個(gè)部分。其中,數(shù)據(jù)結(jié)構(gòu)用來描述實(shí)體之間的構(gòu)成和聯(lián)系,數(shù)據(jù)操作是指對(duì)數(shù)據(jù)庫(kù)的查詢和更新操作,數(shù)據(jù)完整性約束則是指施加在數(shù)據(jù)上的限制和規(guī)則。根據(jù)應(yīng)用目的的不同,數(shù)據(jù)模型分為兩種:一種是信息模型,也稱概念模型,它從用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息進(jìn)行建模,反映了信息從現(xiàn)實(shí)世界到信息世界的轉(zhuǎn)化,它不涉及計(jì)算機(jī)軟、硬件的具體細(xì)節(jié),只注重于符號(hào)表達(dá)和用戶的理解能力。典型的信息模型有著名的“實(shí)體-聯(lián)系模型”。信息模型主要用于數(shù)據(jù)庫(kù)設(shè)計(jì)階段;另一種是結(jié)構(gòu)數(shù)據(jù)模型,結(jié)構(gòu)數(shù)據(jù)模型主要用于DBMS的實(shí)現(xiàn),它反映了信息從信息世界到機(jī)器世界的轉(zhuǎn)換,描述了計(jì)算機(jī)中數(shù)據(jù)的邏輯結(jié)構(gòu)、信息在存儲(chǔ)器上的具體組織等。常見的結(jié)構(gòu)數(shù)據(jù)模型有三種,即層次模型、網(wǎng)狀模型和關(guān)系模型。2023/2/49第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.1數(shù)據(jù)處理的抽象描述人們?cè)谘芯亢吞幚頂?shù)據(jù)的時(shí)候,通常把數(shù)據(jù)的描述分為三個(gè)世界,即現(xiàn)實(shí)世界、信息世界、機(jī)器世界,這三個(gè)世界對(duì)信息描述的轉(zhuǎn)換過程,就是將客觀現(xiàn)實(shí)的信息反映到計(jì)算機(jī)數(shù)據(jù)庫(kù)中的過程。

1.現(xiàn)實(shí)世界客觀存在的世界就是現(xiàn)實(shí)世界,它獨(dú)立于人們的思想之外。現(xiàn)實(shí)世界存在無數(shù)的對(duì)象和事務(wù),每一個(gè)對(duì)象或事務(wù)可以看成是一個(gè)個(gè)體,每個(gè)個(gè)體有一項(xiàng)或多項(xiàng)特征信息。例如,人的身高、體重、年齡、膚色等特征。

2.信息世界信息世界是現(xiàn)實(shí)世界在人們頭腦中的反映,人的思維將現(xiàn)實(shí)世界中對(duì)象或事務(wù)的特征抽象化后用文字符號(hào)表示出來,就形成了信息世界。(1)實(shí)體客觀存在的并且可以相互區(qū)別的事物稱為實(shí)體,實(shí)體可以是具體的事物,也可以是抽象的事件。例如,一名學(xué)生,一臺(tái)電腦,上課、比賽等。2023/2/410第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.1數(shù)據(jù)處理的抽象描述

2.信息世界(1)實(shí)體客觀存在的并且可以相互區(qū)別的事物稱為實(shí)體,實(shí)體可以是具體的事物,也可以是抽象的事件。例如,一名學(xué)生,一臺(tái)電腦,上課、比賽等。實(shí)體是信息世界的基本單位,相同類型實(shí)體的集合稱為實(shí)體集。例如,一個(gè)班由多位學(xué)生實(shí)體組成,則這個(gè)班集體稱為學(xué)生實(shí)體的實(shí)體集。(2)屬性實(shí)體的特性稱為屬性,一個(gè)實(shí)體可以有多個(gè)屬性,每一個(gè)屬性都有其數(shù)據(jù)類型和數(shù)據(jù)的取值范圍。例如,學(xué)生實(shí)體可由學(xué)號(hào)、姓名、成績(jī)等若干個(gè)屬性來描述。(3)鍵在一個(gè)實(shí)體集中能唯一標(biāo)識(shí)一個(gè)實(shí)體的屬性稱為鍵。鍵可以是一個(gè)屬性,也可以由多個(gè)屬性組合而成。例如,學(xué)號(hào)、身份證號(hào)等能唯一地標(biāo)別一個(gè)學(xué)生,它們都是鍵。2023/2/411第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.1數(shù)據(jù)處理的抽象描述

2.信息世界(4)聯(lián)系實(shí)體之間相互作用,互相制約的關(guān)系稱為實(shí)體集的聯(lián)系,也稱為關(guān)聯(lián)或關(guān)聯(lián)關(guān)系。實(shí)體之間的關(guān)聯(lián)關(guān)系主要有“一對(duì)一、一對(duì)多(多對(duì)一)和多對(duì)多”等三種。

3.機(jī)器世界機(jī)器世界又稱為數(shù)據(jù)世界。信息世界中的信息經(jīng)過抽象和組織,以數(shù)據(jù)的形式存儲(chǔ)在計(jì)算機(jī)中,形成了機(jī)器世界。在機(jī)器世界中,用于描述數(shù)據(jù)的基本術(shù)語與信息世界中的術(shù)語是一一對(duì)應(yīng)的,只是在文字?jǐn)⑹錾下杂胁町?。?)字段字段也稱為數(shù)據(jù)項(xiàng),用于標(biāo)記實(shí)體的屬性。在一張關(guān)系表中,每一列稱為一個(gè)字段。字段與信息世界的“屬性”相對(duì)應(yīng)。例如,在學(xué)生信息表中,一個(gè)學(xué)生就是一個(gè)實(shí)體,它包含了“學(xué)號(hào)、姓名、性別、年齡、……”等字段。2023/2/412第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.1數(shù)據(jù)處理的抽象描述

3.機(jī)器世界(2)記錄記錄是具有邏輯關(guān)系的一個(gè)或多個(gè)字段的集合。記錄與信息世界中的“實(shí)體”相對(duì)應(yīng),一個(gè)記錄描述了一個(gè)實(shí)體的基本信息。(3)關(guān)鍵字能夠唯一標(biāo)識(shí)一條記錄的字段稱為關(guān)鍵字。關(guān)鍵字與信息世界中的“鍵”相對(duì)應(yīng)。關(guān)鍵字可以是一個(gè)字段,也可以由多個(gè)字段組合而成。例如,學(xué)生信息表中的學(xué)號(hào)、身份證號(hào)等能唯一地標(biāo)識(shí)一名學(xué)生,它們都是關(guān)鍵字。(4)文件文件是記錄的集合。文件對(duì)應(yīng)于信息世界中的“實(shí)體集”。文件的存儲(chǔ)形式有很多種,例如,順序文件、隨機(jī)文件、索引文件等。2023/2/413第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.1數(shù)據(jù)處理的抽象描述

4.三個(gè)世界信息描述的對(duì)應(yīng)關(guān)系從現(xiàn)實(shí)世界到信息世界再到機(jī)器世界,事務(wù)被一逐層抽象,信息被邏輯化、符號(hào)化等處理,表1.1展示了三種世界之間信息描述的對(duì)應(yīng)關(guān)系。2023/2/414第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.2實(shí)體-關(guān)系模型實(shí)體-聯(lián)系模型(簡(jiǎn)稱E-R模型)是目前最常用的信息模型,它從用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息進(jìn)行建模,反映了信息從現(xiàn)實(shí)世界到信息世界的轉(zhuǎn)化,它不涉及計(jì)算機(jī)軟、硬件的具體細(xì)節(jié),便于分析與理解。

1.E-R圖的基本元素

E-R模型使用E-R圖表達(dá),E-R圖主要有“實(shí)體、屬性、聯(lián)系和連線”等元素符號(hào)組成。各元素的表達(dá)符號(hào)和用途見表1.2所示。

2023/2/415第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.2實(shí)體-關(guān)系模型

2.E-R圖的畫法完整的E-R圖必須清楚地表達(dá)實(shí)體、屬性和聯(lián)系三者之間的關(guān)系。下面根據(jù)常見的關(guān)聯(lián)關(guān)系的種類分別介紹E-R圖的畫法。

(1)一對(duì)一關(guān)聯(lián)關(guān)系如果實(shí)體集A中的每一個(gè)實(shí)體,在實(shí)體集B中最多只能有一個(gè)實(shí)體與之有關(guān)系,反之亦然,則稱實(shí)體集A與實(shí)體集B的關(guān)系是一對(duì)一的關(guān)聯(lián)關(guān)系。記為1:1。

【例1-1】使用E-R圖描述學(xué)校和校長(zhǎng)兩個(gè)實(shí)體的關(guān)聯(lián)關(guān)系。因?yàn)橐粋€(gè)學(xué)校只有一個(gè)校長(zhǎng),而一個(gè)校長(zhǎng)只在一個(gè)學(xué)校任校長(zhǎng)。所以,學(xué)校和校長(zhǎng)的關(guān)系是一對(duì)一的關(guān)聯(lián)關(guān)系。設(shè)學(xué)校實(shí)體的屬性主要有:編號(hào)、校名、地址、……等;校長(zhǎng)實(shí)體的屬性主要有:編號(hào)、姓名、職稱、……等。使用E-R圖描述如圖1-1所示。

2023/2/416第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.2實(shí)體-關(guān)系模型

2.E-R圖的畫法

(2)一對(duì)多或多對(duì)一關(guān)聯(lián)關(guān)系如果實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥O)與之有關(guān)系,則稱實(shí)體集A與實(shí)體集B是一對(duì)多的關(guān)聯(lián)關(guān)系,記為1:n。反之,如果實(shí)體集A中有n個(gè)實(shí)體(n≥O)與實(shí)體集B中的一個(gè)實(shí)體有關(guān)系,則稱實(shí)體集A與實(shí)體集B是多對(duì)一的關(guān)聯(lián)關(guān)系,記為n:1。一對(duì)多與多對(duì)一的關(guān)聯(lián)關(guān)系是同一種關(guān)系,只是觀察問題的方向不同。

【例1-2】使用E-R圖描述班級(jí)與學(xué)生兩個(gè)實(shí)體的關(guān)聯(lián)關(guān)系。因?yàn)橐粋€(gè)班有多名學(xué)生,而每個(gè)學(xué)生只能是某個(gè)班級(jí)的成員,所以,班級(jí)與學(xué)生之間的關(guān)系是一對(duì)多的關(guān)聯(lián)關(guān)系。設(shè)班級(jí)實(shí)體的主要屬性有:編號(hào)、班名、教室、……等;學(xué)生實(shí)體的主要屬性有:編號(hào)、姓名、年齡、……等。使用E-R圖描述如圖1-2所示。2023/2/417第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.2實(shí)體-關(guān)系模型

2.E-R圖的畫法

(3)多對(duì)多關(guān)聯(lián)關(guān)系如果實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之有關(guān)系。反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m≥O)與之有關(guān)系,則稱實(shí)體集A與實(shí)體B是多對(duì)多的關(guān)聯(lián)關(guān)系,記為m:n。

【例1-3】使用E-R圖描述課程與學(xué)生兩個(gè)實(shí)體的關(guān)聯(lián)關(guān)系。因?yàn)橐婚T課程同時(shí)有若干個(gè)學(xué)生選修,而一個(gè)學(xué)生可以同時(shí)選修多門課程。所以,課程與學(xué)生之間的關(guān)系是多對(duì)多的關(guān)聯(lián)關(guān)系。設(shè)課程實(shí)體的主要屬性有:編號(hào)、名稱、學(xué)分、……等;學(xué)生實(shí)體的主要屬性有:編號(hào)、姓名、年齡、……等。使用E-R圖描述如圖1-3所示。2023/2/418第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.2實(shí)體-關(guān)系模型

2.E-R圖的畫法

(4)實(shí)體集中自身發(fā)生的關(guān)聯(lián)關(guān)系如果實(shí)體集A中的某個(gè)實(shí)體與自身實(shí)體集A中的另一個(gè)實(shí)體產(chǎn)生關(guān)系,則稱實(shí)體集A自身具有一對(duì)一的關(guān)聯(lián)關(guān)系;如果實(shí)體集A中的某個(gè)實(shí)體與自身實(shí)體集A中的n個(gè)實(shí)體(n≥O)產(chǎn)生關(guān)系,則稱實(shí)體集A自身具有一對(duì)多的關(guān)聯(lián)關(guān)系。

【例1-4】使用E-R圖描述應(yīng)用程序中菜單實(shí)體的主菜單與子菜單項(xiàng)的關(guān)聯(lián)關(guān)系。在菜單實(shí)體集中,主菜單與子菜單都是菜單集的實(shí)體,但是,一個(gè)主菜單有n個(gè)(n≥O)子菜單實(shí)體與之產(chǎn)生關(guān)系,所以,主菜單與子菜單項(xiàng)的關(guān)系是實(shí)體集中自身發(fā)生的一對(duì)多的關(guān)聯(lián)關(guān)系。設(shè)菜單實(shí)體的主要屬性有:編號(hào)、名稱、類型、動(dòng)作、關(guān)聯(lián)、……等。使用E-R圖描述如圖1-4所示。2023/2/419第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.2實(shí)體-關(guān)系模型

2.E-R圖的畫法

(5)多個(gè)實(shí)體之間發(fā)生的關(guān)聯(lián)關(guān)系如果實(shí)體集A與實(shí)體集B發(fā)生某種關(guān)系(如一對(duì)多等),而實(shí)體集B與實(shí)體集C也發(fā)生某種關(guān)系(如一對(duì)多、一對(duì)一或多對(duì)多等),則多個(gè)實(shí)體之間可能兩兩產(chǎn)生關(guān)聯(lián)關(guān)系,這是實(shí)際應(yīng)用中常見的綜合性關(guān)聯(lián)關(guān)系。

【例1-5】使用E-R圖描述學(xué)生、課程和教師三個(gè)實(shí)體之間的關(guān)聯(lián)關(guān)系。學(xué)生實(shí)體和課程實(shí)體的關(guān)聯(lián)關(guān)系由【例1-3】所述。教師實(shí)體與課程實(shí)體的關(guān)系是一個(gè)教師可以授n門(n≥O)課程,所以,教師實(shí)體與課程實(shí)體是一對(duì)多的關(guān)聯(lián)關(guān)系。設(shè)教師實(shí)體的主要屬性有:編號(hào)、姓名、職稱、……等。使用E-R圖描述學(xué)生、課程和教師三個(gè)實(shí)體之間的關(guān)聯(lián)關(guān)系時(shí),如圖1-5所示。

2023/2/420第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.2實(shí)體-關(guān)系模型

2.E-R圖的畫法

組合E-R總圖形成E-R模型:在一個(gè)應(yīng)用系統(tǒng)中,把所有實(shí)體間產(chǎn)生的關(guān)系利用E-R圖描述出來并組合成一個(gè)總的E-R圖后,就得到了該應(yīng)用系統(tǒng)的完整的E-R模型圖。在設(shè)計(jì)E-R模型時(shí),由于系統(tǒng)分析人員的經(jīng)驗(yàn)或見解不同,針對(duì)同一個(gè)企業(yè)運(yùn)營(yíng)模式,不同人員設(shè)計(jì)的E-R模型也將有所差異,因此,E-R圖設(shè)計(jì)不是唯一的。當(dāng)E-R圖比較龐大時(shí),為了使E-R圖更抽象,可以將屬性省略,只保留實(shí)體和聯(lián)系兩部分內(nèi)容。總之,E-R圖直觀易懂,是系統(tǒng)開發(fā)人員和客戶溝通的良好工具。對(duì)客戶來說,它概括了企業(yè)運(yùn)營(yíng)的方式和各種聯(lián)系,對(duì)于系統(tǒng)開發(fā)人員來講,它從概念上描述了一個(gè)應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)的信息組織。根據(jù)E-R圖,結(jié)合具體類型的DBMS可以設(shè)計(jì)出相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)構(gòu)數(shù)據(jù)模型。設(shè)計(jì)完善、高質(zhì)量的E-R圖是數(shù)據(jù)庫(kù)設(shè)計(jì)的一個(gè)重要步驟。

2023/2/421第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.3結(jié)構(gòu)數(shù)據(jù)模型結(jié)構(gòu)數(shù)據(jù)模型是機(jī)器世界的數(shù)據(jù)模型,常見的結(jié)構(gòu)數(shù)據(jù)模型有層次模型、網(wǎng)狀模型以及關(guān)系模型。采用這些模型構(gòu)建的數(shù)據(jù)庫(kù)管理系統(tǒng)分別叫做層次型數(shù)據(jù)庫(kù)管理系統(tǒng)、網(wǎng)狀型數(shù)據(jù)庫(kù)管理系統(tǒng)以及關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。

1.層次模型用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型稱為層次模型。在這種模型中,數(shù)據(jù)被組織成由“根”開始的“樹”,每個(gè)實(shí)體由根節(jié)點(diǎn)開始沿著不同的分支放在不同的層次上。如果不再向下分支,則分支序列中最后的節(jié)點(diǎn)稱為“葉”。上一級(jí)節(jié)點(diǎn)與下級(jí)節(jié)點(diǎn)之間是一對(duì)多的聯(lián)系。如圖1-6所示是一個(gè)層次模型的實(shí)例。層次模型的主要特征是:有且僅有一個(gè)節(jié)點(diǎn)無父節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)稱為根節(jié)點(diǎn);除根節(jié)點(diǎn)外,每一個(gè)節(jié)點(diǎn)有且只有一個(gè)父節(jié)點(diǎn);父子節(jié)點(diǎn)與子節(jié)點(diǎn)之間是一對(duì)多的聯(lián)系;層次模型無法表達(dá)多對(duì)多的關(guān)系。

2023/2/422第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.3結(jié)構(gòu)數(shù)據(jù)模型

2.網(wǎng)狀模型用網(wǎng)狀結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型稱為網(wǎng)狀模型。網(wǎng)狀模型是層次模型的擴(kuò)展,網(wǎng)中的每一個(gè)節(jié)點(diǎn)代表一個(gè)實(shí)體類型。網(wǎng)狀模型突破了層次模型的兩點(diǎn)限制,允許節(jié)點(diǎn)有多于一個(gè)的父節(jié)點(diǎn);可以有一個(gè)以上的節(jié)點(diǎn)沒有父節(jié)點(diǎn)。因此,網(wǎng)狀模型可以方便地表示各種類型的聯(lián)系。如圖1-7所示是一個(gè)網(wǎng)狀模型的實(shí)例。網(wǎng)狀模型的主要特征是:允許一個(gè)以上的節(jié)點(diǎn)沒有父節(jié)點(diǎn);一個(gè)節(jié)點(diǎn)可以有多于一個(gè)的父節(jié)點(diǎn);節(jié)點(diǎn)間是多對(duì)多的關(guān)系。

2023/2/423第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)l.2.3結(jié)構(gòu)數(shù)據(jù)模型

3.關(guān)系模型采用二維表的結(jié)構(gòu)表示實(shí)體之間的聯(lián)系的模型稱為關(guān)系模型。關(guān)系模型以關(guān)系數(shù)學(xué)理論為基礎(chǔ),操作的對(duì)象和結(jié)果都是二維表,這種二維表與日常生活與工作中所使用的行列表格的概念完全一樣。在關(guān)系模型中,每一個(gè)關(guān)系都是一個(gè)二維表,無論實(shí)體本身還是實(shí)體間的聯(lián)系均用稱為“關(guān)系”的二維表來表示。表1.3使用關(guān)系表列出了學(xué)生入學(xué)時(shí)的概要信息。關(guān)系模型概念清晰,結(jié)構(gòu)簡(jiǎn)單,用戶比較容易理解,具有較好的數(shù)據(jù)獨(dú)立性和安全保密性。但是,關(guān)系模型也有缺點(diǎn),其查詢效率有時(shí)不如層次模型和網(wǎng)狀模型。2023/2/424第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.3關(guān)系數(shù)據(jù)庫(kù)關(guān)系模型是當(dāng)今最流行的數(shù)據(jù)模型,較好地解決了網(wǎng)狀模型和層次模型中存在的問題,目前幾乎所有流行的數(shù)據(jù)庫(kù)管理系統(tǒng)產(chǎn)品如Oracle、SQLServer、MySQL等都是基于關(guān)系模型的實(shí)現(xiàn)。1.3.1關(guān)系數(shù)據(jù)庫(kù)的基本概念關(guān)系數(shù)據(jù)庫(kù)是基于關(guān)系模型建立的數(shù)據(jù)庫(kù)。關(guān)系數(shù)據(jù)庫(kù)由一個(gè)或多個(gè)稱為“關(guān)系”二維表組成,每個(gè)關(guān)系又由一條或多條記錄組成,而每條記錄則由一個(gè)或多個(gè)稱為“字段”的屬性組成。在關(guān)系數(shù)據(jù)庫(kù)中,大部分基本概念與描述信息世界的常用術(shù)語相一致。

1.關(guān)系關(guān)系是指一張有規(guī)則的、沒有重復(fù)行或重復(fù)列的二維表。一個(gè)關(guān)系對(duì)應(yīng)于一張二維表,每張二維表(下面用“關(guān)系”簡(jiǎn)稱)有一個(gè)表名。

2.記錄在關(guān)系中,水平方向的行稱為記錄,關(guān)系中的每一行稱為一條記錄。記錄也稱為實(shí)體或元組(下面用“記錄”簡(jiǎn)稱)。2023/2/425第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.3.1關(guān)系數(shù)據(jù)庫(kù)的基本概念

3.屬性在關(guān)系中,垂直方向的列稱為屬性。屬性在關(guān)系中也叫列、欄、字段等(下面用“字段”簡(jiǎn)稱),每一列有一個(gè)屬性名,也叫列名、欄名或字段名等(下面用“字段名”簡(jiǎn)稱)。關(guān)系中的字段是有值的,它等于當(dāng)前被處理的記錄所對(duì)應(yīng)的字段值。

4.域字段的取值范圍稱為域。

5.關(guān)聯(lián)關(guān)聯(lián)是指關(guān)系與關(guān)系之間記錄數(shù)據(jù)相互關(guān)聯(lián)的方式。關(guān)聯(lián)也稱聯(lián)系或關(guān)聯(lián)關(guān)系(下面用“關(guān)聯(lián)關(guān)系”簡(jiǎn)稱)。關(guān)聯(lián)關(guān)系主要有一對(duì)一、一對(duì)多(多對(duì)一)、多對(duì)多等三種。

6.關(guān)鍵字在關(guān)系中,能夠唯一標(biāo)識(shí)一條記錄的字段或多個(gè)字段的組合稱為關(guān)鍵字。關(guān)鍵字也稱為“鍵”。例如,在表1.3中,“學(xué)號(hào)”能唯一標(biāo)識(shí)一名學(xué)生,所以,“學(xué)號(hào)”可以充當(dāng)關(guān)鍵字;但“姓名”不能拿來充當(dāng)關(guān)鍵字,因?yàn)橥粋€(gè)班級(jí)可能出現(xiàn)兩個(gè)或多個(gè)同名同姓的學(xué)生。

2023/2/426第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.3.1關(guān)系數(shù)據(jù)庫(kù)的基本概念

7.候選關(guān)鍵字當(dāng)關(guān)系中存在多個(gè)“鍵”時(shí),稱這些“鍵”為候選關(guān)鍵字或候選鍵。

8.主關(guān)鍵字在關(guān)系中,從一個(gè)或多個(gè)候選關(guān)鍵字中選出一個(gè)關(guān)鍵字做主關(guān)鍵字,則這個(gè)關(guān)鍵字稱為主關(guān)鍵字,也稱主鍵。在一個(gè)關(guān)系中主鍵只能有一個(gè)。

9.外部關(guān)鍵字在關(guān)系中,如果存在這樣一個(gè)字段:一方面,它不是關(guān)系中的關(guān)鍵字,另一方面,它的取值來自另一個(gè)關(guān)系的某個(gè)主鍵,則此字段稱為外部關(guān)鍵字,外部關(guān)鍵字也叫外鍵。提示:由于關(guān)系的用途十分廣泛,導(dǎo)致同一概念在不同的應(yīng)用場(chǎng)合有不同的叫法,例如,“屬性、列、欄、字段”都是二維表中“屬性”這個(gè)概念的不同叫法,習(xí)慣上叫“字段”;類似的還有,“屬性名、列名、欄名、字段名”習(xí)慣上叫“字段名”;“屬性的值、字段的值”習(xí)慣上叫“字段值”;“外部關(guān)鍵字”習(xí)慣上叫“外鍵”。2023/2/427第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.3.2關(guān)系的特點(diǎn)

1.關(guān)系中的字段不可再分,必須是最基本的原子數(shù)據(jù)項(xiàng)。

2.關(guān)系中每一字段的值的數(shù)據(jù)類型相同,并且來自同一個(gè)域。

3.字段在關(guān)系中的左、右次序是無關(guān)的。

4.記錄在關(guān)系中的上、下次序是無關(guān)的。

5.同一關(guān)系中不允許出現(xiàn)兩個(gè)相同的記錄。

6.同一關(guān)系中不允許出現(xiàn)兩個(gè)相同的字段。1.3.3數(shù)據(jù)完整性數(shù)據(jù)完整性是為保證數(shù)據(jù)庫(kù)中關(guān)系數(shù)據(jù)的正確性和相容性,對(duì)關(guān)系模型提出的約束條件和需要遵守的規(guī)則。數(shù)據(jù)完整性通常包括實(shí)體完整性、域完整性和參照完整性。2023/2/428第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.3.3數(shù)據(jù)完整性

1.實(shí)體完整性實(shí)體完整性是在關(guān)系內(nèi)部建立的記錄與記錄之間的約束規(guī)則。它通過關(guān)系的主鍵來實(shí)現(xiàn)約束,要求關(guān)系中主鍵的值不能為“空”,并保證數(shù)據(jù)具有唯一性,這樣就能確保關(guān)系中不會(huì)出現(xiàn)重復(fù)的記錄。實(shí)體完整性解決關(guān)系內(nèi)部記錄與記錄之間數(shù)據(jù)的約束問題。

2.域完整性域完整性是指在關(guān)系內(nèi)部建立的對(duì)字段的定義和取值范圍進(jìn)行限制的約束規(guī)則。域完整性解決的是字段自身的數(shù)據(jù)約束問題。

3.參照完整性參照完整性是指在關(guān)系與關(guān)系之間(或在同一個(gè)關(guān)系的不同記錄之間)建立的約束規(guī)則。它通過一個(gè)關(guān)系的外鍵與另一個(gè)關(guān)系的主鍵建立起關(guān)聯(lián)關(guān)系來進(jìn)行關(guān)系之間的約束,約束一旦失效,參照完整性就沒有意義。參照完整性主要用于解決關(guān)系與關(guān)系之間記錄數(shù)據(jù)的關(guān)聯(lián)約束問題。2023/2/429第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.3.4關(guān)系操作關(guān)系數(shù)據(jù)庫(kù)的操作主要有選擇、投影和連接三種操作。數(shù)學(xué)中的集合運(yùn)算是關(guān)系操作的理論基礎(chǔ)。

1.選擇操作選擇操作也叫篩選操作,是指從指定的關(guān)系中選出滿足某種條件的記錄從而形成一個(gè)新的關(guān)系的操作。

【例1-6】從“class班級(jí)表”中選擇出“2012”年級(jí)的班級(jí)信息。如圖1-9所示的記錄集是從圖1-8所示的班級(jí)表中選擇出來的“2012”年級(jí)的班級(jí)信息,從結(jié)果可知,選擇操作的結(jié)果是被選擇的關(guān)系的子集。2023/2/430第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.3.4關(guān)系操作

2.投影操作投影操作是對(duì)指定的關(guān)系進(jìn)行字段的投影操作,它從指定的關(guān)系中抽取出某些字段列以形成一個(gè)新的關(guān)系。投影操作分兩步完成:(1)選擇指定的字段,形成一個(gè)可能含有重復(fù)記錄的臨時(shí)關(guān)系;(2)從臨時(shí)關(guān)系中刪除重復(fù)的記錄行。

【例1-7】從“class班級(jí)表”中投影出“班級(jí)編號(hào)、班級(jí)名稱”兩個(gè)字段的信息。如圖1-10所示的記錄集是從圖1-8所示的班級(jí)表中投影所得,從結(jié)果可知,投影操作的結(jié)果是被投影的關(guān)系字段的子集。2023/2/431第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.3.4關(guān)系操作

3.連接操作連接操作是從兩個(gè)關(guān)系的記錄中選擇出滿足某一給定條件的記錄作為操作結(jié)果。連接操作通常包含選擇操作或投影操作,如果包含選擇操作則會(huì)改變結(jié)果關(guān)系的記錄條數(shù),如果包含投影操作則會(huì)改變結(jié)果關(guān)系的字段個(gè)數(shù)。兩個(gè)關(guān)系進(jìn)行連接操作后,如果沒有包含投影操作,則結(jié)果關(guān)系的字段個(gè)數(shù)是兩個(gè)關(guān)系的字段的并集;如果沒有包含選擇操作,則結(jié)果關(guān)系的記錄條數(shù)是兩個(gè)關(guān)系的記錄的笛卡爾乘積。在實(shí)際應(yīng)用中,連接操作通常同時(shí)包含投影操作和選擇操作。

【例1-8】通過連接操作從“class班級(jí)表”和“specialty專業(yè)表”中連接產(chǎn)生“計(jì)算機(jī)應(yīng)用技術(shù)”專業(yè)的班級(jí)專業(yè)信息“班級(jí)編號(hào)、班級(jí)名稱、專業(yè)名稱”。根據(jù)案例要求,圖1-8所示的班級(jí)表和圖1-11所示的專業(yè)表進(jìn)行連接操作時(shí),首先要進(jìn)行關(guān)系的關(guān)聯(lián)操作,再進(jìn)行選擇操作,然后進(jìn)行投影操作才能得到結(jié)果。操作過程如下:2023/2/432第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.3.4關(guān)系操作

3.連接操作

【例1-8】通過連接操作從“class班級(jí)表”和“specialty專業(yè)表”中連接產(chǎn)生“計(jì)算機(jī)應(yīng)用技術(shù)”專業(yè)的班級(jí)專業(yè)信息“班級(jí)編號(hào)、班級(jí)名稱、專業(yè)名稱”。操作過程如下:

第一步:兩表要根據(jù)關(guān)聯(lián)關(guān)系的條件,即“class班級(jí)表”的外鍵“specialty_id”等于“specialty專業(yè)表”的主鍵“id”,將兩表的記錄建立起關(guān)聯(lián)關(guān)系,關(guān)聯(lián)的結(jié)果如圖1-12所示;2023/2/433第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.3.4關(guān)系操作

3.連接操作第二步:從圖1-12所示的關(guān)聯(lián)結(jié)果中進(jìn)行選擇操作,選擇的條件是“專業(yè)名稱”等于“計(jì)算機(jī)應(yīng)用技術(shù)”,選擇的結(jié)果如圖1-13所示;第三步:從圖1-13所示的選擇結(jié)果中進(jìn)行投影操作,根據(jù)案例要求,投影只抽取“班級(jí)編號(hào)、班級(jí)名稱、專業(yè)名稱”三個(gè)字段的信息。投影的結(jié)果如圖1-14所示,這也是案例要求的最終結(jié)果。

2023/2/434第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.4關(guān)系規(guī)范化一個(gè)數(shù)據(jù)庫(kù)常常包含多個(gè)關(guān)系,為了使數(shù)據(jù)庫(kù)中關(guān)系的結(jié)構(gòu)更加合理,消除各種操作異常,使數(shù)據(jù)冗余盡可能地小,便于插入、更新和刪除操作,數(shù)據(jù)庫(kù)中的關(guān)系在設(shè)計(jì)時(shí)一般都要經(jīng)過規(guī)范化處理。關(guān)系規(guī)范化處理是把一個(gè)不好的關(guān)系模式轉(zhuǎn)化成一個(gè)好的關(guān)系模式的過程。關(guān)系規(guī)范化的目的是使得關(guān)系模式中的每個(gè)屬性都是不可再分的數(shù)據(jù)項(xiàng)、使得關(guān)系模式盡可能地滿足第三甚至到第五范式的基本要求。1.4.1關(guān)系規(guī)范化的必要性下面通過分析表1.4綜合信息表的數(shù)據(jù)結(jié)構(gòu)來理解關(guān)系規(guī)范化的必要性。表中的數(shù)據(jù)以學(xué)號(hào)排序,列出了每位學(xué)生的專業(yè)、班級(jí)、各門課程的授課教師和課程成績(jī)等信息,從表面上看,信息比較詳盡清楚,滿足日常工作的需求,但從數(shù)據(jù)庫(kù)管理的角度去分析,這個(gè)關(guān)系就存在著諸多問題。2023/2/435第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.4.1關(guān)系規(guī)范化的必要性

1.存在非原子屬性首先,關(guān)系表中的“專業(yè)”屬性不是“原子”元素,還可以繼續(xù)分解成“專業(yè)名稱”和“專業(yè)方向”兩個(gè)屬性。

2.存在大量的數(shù)據(jù)冗余例如,關(guān)系中每個(gè)教師有“教師編號(hào),教師姓名,職稱”三個(gè)數(shù)據(jù)項(xiàng),如果一個(gè)班有50個(gè)學(xué)生,則每門課程的教師信息將有50份相同的數(shù)據(jù),存在大量的數(shù)據(jù)冗余。

3.容易造成修改異常在孤立的關(guān)系中修改數(shù)據(jù)時(shí),只要數(shù)據(jù)滿足“域”完整性規(guī)則,修改操作就不會(huì)產(chǎn)生修改異常,但容易造成數(shù)據(jù)不一致,例如,修改某位教師的“職稱”數(shù)據(jù)時(shí),漏改或錯(cuò)改了某行的職稱數(shù)據(jù)。

如果在有關(guān)聯(lián)關(guān)系的兩個(gè)關(guān)系中修改數(shù)據(jù),如果關(guān)系沒有規(guī)范化,或者關(guān)系與關(guān)系之間沒有約束好,則修改操作容易產(chǎn)生修改異常,也容易導(dǎo)致數(shù)據(jù)的不一致。

2023/2/436第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.4.1關(guān)系規(guī)范化的必要性

4.容易造成插入異常在孤立的關(guān)系中插入記錄時(shí),只要數(shù)據(jù)滿足“域”完整性規(guī)則,插入操作就不會(huì)產(chǎn)生插入異常,但容易造成數(shù)據(jù)的不一致。在有關(guān)聯(lián)關(guān)系的兩個(gè)關(guān)系之間插入記錄時(shí),如果關(guān)系沒有規(guī)范化,或者關(guān)系與關(guān)系之間沒有約束好,就容易產(chǎn)生插入異常或?qū)е聰?shù)據(jù)的不一致。例如,如果“課程表”中還沒有某門課程的記錄,這時(shí)就不能向“成績(jī)表”中插入某門課程的成績(jī),否則,就會(huì)產(chǎn)生插入異常。

5.容易造成刪除異常在孤立的關(guān)系中刪除記錄時(shí),刪除操作不會(huì)產(chǎn)生刪除異常,但是,如果關(guān)系與關(guān)系之間有關(guān)聯(lián)關(guān)系時(shí),如果關(guān)系沒有規(guī)范化,或者關(guān)系與關(guān)系之間沒有約束好,則刪除操作容易產(chǎn)生刪除異常、容易導(dǎo)致數(shù)據(jù)的不一致。例如,如果“課程表”與“成績(jī)表”沒有約束好關(guān)聯(lián)關(guān)系,則刪除“課程表”中的某門課程后,“成績(jī)表”中該門課程的數(shù)據(jù)就無法找到對(duì)應(yīng)的課程名稱等信息,從而導(dǎo)致數(shù)據(jù)不一致;反之,如果關(guān)系之間建立了良好的關(guān)聯(lián)關(guān)系,上述刪除操作就不會(huì)成功,如果使用了強(qiáng)制性的方法刪除了某門課程,則此后在查詢、修改“成績(jī)表”中該門課程的數(shù)據(jù)時(shí),就會(huì)發(fā)生因刪除而導(dǎo)致的刪除異常。2023/2/437第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.4.1關(guān)系規(guī)范化的必要性通過上述分析,可以確認(rèn)表1.4是一個(gè)不好的關(guān)系。一個(gè)好的關(guān)系,不應(yīng)存在非原子屬性、不應(yīng)發(fā)生插入異?;騽h除異常、應(yīng)該盡可能地避免出現(xiàn)修改異常、冗余數(shù)據(jù)必須盡可能地減少。如何解決這些問題?這正是關(guān)系規(guī)范化要解決的問題,所以,關(guān)系規(guī)范化是非常必要的。關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)主要包括“函數(shù)依賴、關(guān)系范式和模式設(shè)計(jì)”等三方面的內(nèi)容,其中,函數(shù)依賴起著核心作用,下面予以簡(jiǎn)要介紹。1.4.2函數(shù)依賴關(guān)系關(guān)系的規(guī)范化主要是處理關(guān)系中的屬性對(duì)其它某個(gè)或某些屬性數(shù)據(jù)的依賴程度,這些依賴條件主要是函數(shù)依賴條件。在概念上,函數(shù)依賴是指一個(gè)或一組屬性的取值可以決定其它屬性的取值。常見的函數(shù)依賴有:完全函數(shù)依賴、部分函數(shù)依賴、傳遞函數(shù)依賴三種。2023/2/438第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.4.2函數(shù)依賴關(guān)系在介紹函數(shù)的依賴關(guān)系之前,下面給出關(guān)系的另一種表示方法,即“關(guān)系模式”法:格式:關(guān)系名(屬性名[,…n])例如:上述圖1-11專業(yè)表使用關(guān)系模式表示為:專業(yè)(id,專業(yè)編號(hào),專業(yè)名稱)

1.函數(shù)依賴定義設(shè)R是關(guān)系模式中的一個(gè)關(guān)系,X、Y是R的屬性子集。如果X的值確定后,屬性集Y的值也同時(shí)被確定,則稱X函數(shù)決定Y,也就是說Y函數(shù)依賴于X,記為:X→Y;如果可逆則為互相依賴,記為:X<->Y;如果不存在函數(shù)依賴,則記為:X!→Y。例如,設(shè)有關(guān)系“學(xué)生(學(xué)號(hào),姓名,性別)”,則屬性“姓名,性別”都函數(shù)依賴于“學(xué)號(hào)”,即有“學(xué)號(hào)→姓名,學(xué)號(hào)→性別”,換句話說,“學(xué)號(hào)”可以決定“姓名,性別”等屬性的取值。

2023/2/439第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.4.2函數(shù)依賴關(guān)系

2.完全函數(shù)依賴如果Y屬性集依賴于X,而不依賴于X的任何一個(gè)真子集,則稱Y完全函數(shù)依賴于X,記為:XY。例如,設(shè)有關(guān)系“成績(jī)(學(xué)號(hào),課程號(hào),成績(jī))”,因?yàn)椤皩W(xué)號(hào)”或“課程號(hào)”各自不能單獨(dú)確定一個(gè)學(xué)生某門課程的成績(jī),只有兩者聯(lián)合起來才能確定,所以“(學(xué)號(hào),課程號(hào))成績(jī)”是完全函數(shù)依賴。關(guān)系模式中,如果僅存在一個(gè)主鍵,則非主屬性(不屬于主鍵屬性集中的屬性)都完全函數(shù)依賴于主鍵。

3.部分函數(shù)依賴設(shè)X’是X的某一個(gè)特定的子集,如果X→Y,X’→Y,則稱Y部分函數(shù)依賴于X,記為:XY。例如,設(shè)有關(guān)系“學(xué)生(學(xué)號(hào),姓名,性別,班級(jí)編號(hào),班級(jí)名稱)”,因?yàn)橛校▽W(xué)號(hào),班級(jí)編號(hào))→班級(jí)名稱,班級(jí)編號(hào)→班級(jí)名稱,所以“(學(xué)號(hào),班級(jí)編號(hào))班級(jí)名稱”是部分函數(shù)依賴。關(guān)系模式中存在部分函數(shù)依賴是因?yàn)槟承傩约韧耆瘮?shù)依賴于組合鍵,又完全函數(shù)依賴于組合鍵中的某個(gè)鍵。

2023/2/440第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.4.2函數(shù)依賴關(guān)系

4.傳遞函數(shù)依賴如果X→Y,而且Y→Z,但Y!→X,即Y不完全函數(shù)依賴(部分函數(shù)依賴)于X,則稱Z傳遞函數(shù)依賴于X,記為:XY。例如,設(shè)有關(guān)系“教學(xué)(課程號(hào),教師號(hào),教師電話)”,因?yàn)橛小罢n程號(hào)→教師號(hào),教師號(hào)→教師電話,教師號(hào)!→課程號(hào)”,所以“課程號(hào)教師電話”是傳遞函數(shù)依賴。關(guān)系模式中如果存在兩類或兩類以上不同性質(zhì)的屬性集,則關(guān)系模式必然存在傳遞函數(shù)依賴。

2023/2/441第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.4.3關(guān)系規(guī)范化處理根據(jù)一個(gè)關(guān)系滿足數(shù)據(jù)依賴程度的不同,關(guān)系可規(guī)范化為“第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、……”等,但實(shí)際使用時(shí),通常只規(guī)范化到第三范式即能達(dá)到基本要求。1.第一范式(1NF)定義:如果關(guān)系模式中的每個(gè)屬性都是不可分解的基本數(shù)據(jù)項(xiàng)(簡(jiǎn)稱原子屬性),則稱這個(gè)關(guān)系是滿足第一范式的關(guān)系。第一范式是最低級(jí)別的范式?!纠?-9】將表1.4中的關(guān)系規(guī)范化滿足第一范式的要求。因?yàn)?,“專業(yè)”屬性包含了“專業(yè)方向”,所以該關(guān)系不滿足第一范式的要求,如果將“專業(yè)”屬性分解為“專業(yè)名稱、專業(yè)方向”兩個(gè)屬性后,就滿足了第一范式的要求。為便于后面的第二、第三范式的規(guī)范化,表1.4改用關(guān)系模式表示如下:綜合信息表(學(xué)號(hào),姓名,性別,專業(yè)名稱,專業(yè)方向,教師編號(hào),教師姓名,職稱,課程編號(hào),課程名稱,成績(jī))

第一范式?jīng)]有解決數(shù)據(jù)冗余量大,以及操作異常等問題,所以,需要進(jìn)一步引入第二、第三范式的處理。

2023/2/442第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.4.3關(guān)系規(guī)范化處理2.第二范式(2NF)定義:如果關(guān)系模式中的所有非主屬性都完全函數(shù)依賴于任意的候選鍵,則稱這個(gè)關(guān)系是滿足第二范式的關(guān)系。第二范式要求關(guān)系在滿足第一范式的基礎(chǔ)上,去除那些部分函數(shù)依賴于主鍵的非主屬性,使得關(guān)系的所有非主屬性都完全函數(shù)依賴于主鍵。如果關(guān)系中出現(xiàn)非主屬性對(duì)主鍵的部分函數(shù)依賴,則關(guān)系就不滿足第二范式,所以,規(guī)范化處理時(shí),須從消除非主屬性對(duì)主鍵屬性的部分函數(shù)依賴入手,規(guī)范化的方法是,對(duì)關(guān)系進(jìn)行“投影”處理,將關(guān)系模式分解為兩個(gè)或多個(gè)新的關(guān)系模式?!纠?-10】將“例1-9”得到的關(guān)系模式規(guī)范化滿足第二范式的要求。分析“綜合信息表”關(guān)系模式,因?yàn)橛小埃▽W(xué)號(hào),教師編號(hào))→(教師姓名、職稱)”,同時(shí),“教師編號(hào)→(教師姓名、職稱)”,所以,存在部分函數(shù)依賴;類似的,關(guān)系模式中還存在專業(yè)、課程等信息的部分函數(shù)依賴,由此可見,關(guān)系模式不滿足第二范式的要求。2023/2/443第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.4.3關(guān)系規(guī)范化處理2.第二范式(2NF)【例1-10】將“例1-9”得到的關(guān)系模式規(guī)范化滿足第二范式的要求。根據(jù)消除部分函數(shù)依賴的要求,原有關(guān)系可拆分成四個(gè)關(guān)系:(1)學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)名稱,專業(yè)方向)(2)教師(教師編號(hào),教師姓名,職稱)(3)課程(課程編號(hào),課程名稱)(4)成績(jī)(學(xué)號(hào),課程編號(hào),教師編號(hào),成績(jī))關(guān)系模式分解后,消除了部分函數(shù)依賴,達(dá)到了第二范式的要求,但是,有些新的關(guān)系模式仍然因?yàn)榇嬖凇皞鬟f函數(shù)依賴”而導(dǎo)致操作異常,所以,還要繼續(xù)進(jìn)行第三范式的規(guī)范化處理。

2023/2/444第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.4.3關(guān)系規(guī)范化處理3.第三范式(3NF)定義:如果關(guān)系模式中的所有非主屬性對(duì)任何候選鍵都不存在傳遞依賴,則稱這個(gè)關(guān)系是滿足第三范式的關(guān)系。第三范式要求關(guān)系在滿足第二范式的基本上,除去所有傳遞函數(shù)依賴于主鍵的非主屬性?!纠?-11】將“例1-10”得到的關(guān)系模式規(guī)范化滿足第三范式的要求。因?yàn)闈M足第三范式的關(guān)系模式一定滿足第二范式的要求,所以,第三范式的規(guī)范化處理可以從第二范式的規(guī)范化結(jié)果開始。分析“學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)名稱,專業(yè)方向)”關(guān)系模式,因?yàn)椤皩W(xué)號(hào)→專業(yè)名稱,專業(yè)名稱!→學(xué)號(hào),專業(yè)名稱→專業(yè)方向”,所以,“學(xué)號(hào)專業(yè)方向”出現(xiàn)傳遞函數(shù)依賴。根據(jù)第三范式的要求,上述“學(xué)生”關(guān)系模式進(jìn)一步分解為如下三個(gè)關(guān)系模式:(1)學(xué)生(學(xué)號(hào),姓名,性別,方向編號(hào))(2)方向(方向編號(hào),方向名稱,專業(yè)編號(hào))(3)專業(yè)(專業(yè)編號(hào),專業(yè)名稱)2023/2/445第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)1.4.3關(guān)系規(guī)范化處理3.第三范式(3NF)至此,“綜合信息表”關(guān)系模式規(guī)范化完畢,得到了六個(gè)滿足第三范式要求的關(guān)系模式:(1)學(xué)生(學(xué)號(hào),姓名,性別,方向編號(hào))(2)方向(方向編號(hào),方向名稱,專業(yè)編號(hào))(3)專業(yè)(專業(yè)編號(hào),專業(yè)名稱)(4)教師(教師編號(hào),教師姓名,職稱)(5)課程(課程編號(hào),課程名稱)(6)成績(jī)(學(xué)號(hào),課程編號(hào),教師編號(hào),成績(jī))關(guān)系規(guī)范化還可以進(jìn)行到第四、第五等范式,但不是規(guī)范化程度越高越好,因?yàn)殛P(guān)系規(guī)范化會(huì)帶來其他一些問題,例如,規(guī)范化程度越高,關(guān)系模式的表現(xiàn)力就越差、數(shù)據(jù)操縱就會(huì)越復(fù)雜、操縱的代價(jià)就會(huì)越高等。因此,有時(shí)出于編程效率等方面的原因,關(guān)系模式會(huì)人為地加入一些其它屬性,使關(guān)系只滿足第二范式的要求。2023/2/446第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)小結(jié)1.?dāng)?shù)據(jù)管理技術(shù)發(fā)展分為人工、文件、數(shù)據(jù)庫(kù)系統(tǒng)管理等三個(gè)階段。2.一個(gè)完整的數(shù)據(jù)模型包括數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)完整性約束三個(gè)部分。數(shù)據(jù)模型分為兩種:一種是信息模型;另一種是結(jié)構(gòu)數(shù)據(jù)模型。常見的結(jié)構(gòu)數(shù)據(jù)模型有三種,即層次模型、網(wǎng)狀模型和關(guān)系模型。3.關(guān)系數(shù)據(jù)庫(kù)由一個(gè)或多個(gè)二維關(guān)系表組成,每個(gè)關(guān)系表又由一條或多條記錄組成,而每條記錄則由一個(gè)或多個(gè)屬性組成。4.?dāng)?shù)據(jù)完整性通常包括實(shí)體完整性、域完整性和參照完整性;關(guān)系數(shù)據(jù)庫(kù)的操作主要有選擇、投影和連接三種操作。5.關(guān)系規(guī)范化處理是把一個(gè)不好的關(guān)系模式轉(zhuǎn)化成一個(gè)好的關(guān)系模式的過程。目的是使得關(guān)系中的每個(gè)屬性都是不可再分的數(shù)據(jù)項(xiàng)、使得關(guān)系模式盡可能地滿足第三甚至到第五范式的基本要求。6.常見的函數(shù)依賴有:完全函數(shù)依賴、部分函數(shù)依賴、傳遞函數(shù)依賴三種。第一范式使得關(guān)系模式中的每個(gè)屬性都是不可分解的基本數(shù)據(jù)項(xiàng);第二范式是去除那些部分函數(shù)依賴于主鍵的非主屬性,使得關(guān)系模式中的所有非主屬性都完全函數(shù)依賴于主鍵;第三范式是除去關(guān)系模式中那些傳遞函數(shù)依賴于主鍵的非主屬性。2023/2/447第1章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)作業(yè)

1.請(qǐng)使用關(guān)系規(guī)范化技術(shù)對(duì)如下“訂單信息表”進(jìn)行規(guī)范化處理,要求規(guī)范化后的關(guān)系模式能滿足第三范式(3NF)的要求。2.根據(jù)你對(duì)“行包托運(yùn)”業(yè)務(wù)的了解情況,使用E-R圖技術(shù)為從事行包托運(yùn)的企業(yè)設(shè)計(jì)一個(gè)“行包托運(yùn)管理系統(tǒng)”的信息模型,然后將E-R模型轉(zhuǎn)化為關(guān)系模式表示。

數(shù)據(jù)庫(kù)應(yīng)用技術(shù)

SQLServer20082023/2/448第2章SQLServer2008的安裝與配置【學(xué)習(xí)要求】了解SQLServer2008的發(fā)展概況及特性。了解SQLServer2008的版本情況。理解SQLServer2008的服務(wù)器組件。理解SQLServer2008的管理工具。熟悉SQLServer2008的安裝環(huán)境。掌握SQLServer2008的安裝。掌握SQLServer2008的常規(guī)配置。理解“sa”賬戶的重要性。掌握SQLServer2008賬戶的登錄方法。2023/2/449第2章SQLServer2008的安裝與配置2.1SQLServer2008概述2.2SQLServer2008安裝2.3SQLServer2008配置2023/2/450第2章SQLServer2008的安裝與配置2.1SQLServer2008概述2.1.1SQLServer2008的發(fā)展概況SQLServer是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),最初由Microsoft、Sybase、Ashton-Tate三家公司共同開發(fā),1988年推出了第一個(gè)OS/2版本,在WindowsNT推出后,Microsoft公司將其移植到WindowsNT系統(tǒng)上,從2000年至今,SQLServer發(fā)布了SQLServer2000、SQLServer2005、SQLServer2008和SQLServer2012等重要版本。2.1.2SQLServer2008的特性1.可信任的SQLServer2008使得企業(yè)可以依照很高的安全性、可靠性和可擴(kuò)展性來運(yùn)行應(yīng)用程序。在保護(hù)信息方面,SQLServer2008提供或加強(qiáng)了數(shù)據(jù)加密、外鍵管理、對(duì)象審查等處理功能;在業(yè)務(wù)可持續(xù)性方面,SQLServer2008改進(jìn)了數(shù)據(jù)庫(kù)的鏡像,增加了熱添加CPU的功能;在可預(yù)測(cè)的系統(tǒng)性能方面,SQLServer2008提供或加強(qiáng)了數(shù)據(jù)采集、擴(kuò)展事件、備份壓縮、數(shù)據(jù)壓縮、資源監(jiān)控器和穩(wěn)定的計(jì)劃等多方面的功能。

2023/2/4512023/2/452第2章SQLServer2008的安裝與配置2.1.2SQLServer2008的特性2.高效的SQLServer2008使得企業(yè)可以降低開發(fā)和管理數(shù)據(jù)基礎(chǔ)設(shè)施的時(shí)間和成本,使得開發(fā)人員可以開發(fā)強(qiáng)大的下一代數(shù)據(jù)庫(kù)應(yīng)用程序。主要表現(xiàn)在:加強(qiáng)了基于政策的管理功能、改進(jìn)了系統(tǒng)安裝模式、通過提供各種高效率的開發(fā)工具加速了應(yīng)用的開發(fā)過程等。3.智能的商業(yè)智能(BI)作為大多數(shù)企業(yè)投資的關(guān)鍵領(lǐng)域以及作為企業(yè)所有層面的用戶的一種關(guān)鍵信息來源,SQLServer2008提供了一個(gè)全面的平臺(tái),當(dāng)用戶需要時(shí)能為其提供智能化信息。SQLServer2008通過增加或優(yōu)化數(shù)據(jù)壓縮、備份壓縮、分區(qū)表并行、星型聯(lián)接查詢優(yōu)化器、資源監(jiān)控器、分組設(shè)置、捕獲變更數(shù)據(jù)等方面的功能,提高了數(shù)據(jù)的集成功能;通過增加或優(yōu)化報(bào)表引擎、報(bào)表設(shè)計(jì)器、可視化、Office渲染、SharePoint?集成等方面的功能,增強(qiáng)了報(bào)表的處理功能;通過增加或優(yōu)化設(shè)計(jì)的可擴(kuò)展性、塊計(jì)算、回寫MOLAP、資源監(jiān)控器、預(yù)測(cè)分析等方面的功能,提高了用戶對(duì)應(yīng)用的分析和洞察能力。2023/2/453第2章SQLServer2008的安裝與配置2.1.3SQLServer2008的版本SQLServer2008提供了多種版本以滿足不同用戶的要求,其特點(diǎn)如表2.1所示。

提示:企業(yè)版、標(biāo)準(zhǔn)版之外的其他版本是針對(duì)特定的群體設(shè)計(jì)的,統(tǒng)稱為專業(yè)版。

2023/2/454第2章SQLServer2008的安裝與配置2.1.4SQLServer2008的服務(wù)器組件SQLServer2008以組件的方式提供各項(xiàng)功能和服務(wù),它主要由四個(gè)服務(wù)器組件組成:(1)SQLServer數(shù)據(jù)庫(kù)引擎SQLServer數(shù)據(jù)庫(kù)引擎包括數(shù)據(jù)庫(kù)引擎(用于存儲(chǔ)、處理和保護(hù)數(shù)據(jù)的核心服務(wù))、復(fù)制、全文搜索以及用于管理關(guān)系數(shù)據(jù)和XML數(shù)據(jù)的工具。(2)AnalysisServices組件AnalysisServices組件主要包括用于創(chuàng)建和管理聯(lián)機(jī)分析處理(OLAP)以及數(shù)據(jù)挖掘應(yīng)用程序的工具。(3)ReportingServices組件ReportingServices組件主要包括用于創(chuàng)建、管理和部署表格報(bào)表、矩陣報(bào)表、圖形報(bào)表以及自由格式報(bào)表的服務(wù)器和客戶端組件。ReportingServices還是一個(gè)可用于開發(fā)報(bào)表應(yīng)用程序的可擴(kuò)展平臺(tái)。(4)IntegrationServices組件IntegrationServices組件是一組圖形工具和可編程對(duì)象,主要用于移動(dòng)、復(fù)制和轉(zhuǎn)換數(shù)據(jù)等。2023/2/455第2章SQLServer2008的安裝與配置2.1.5SQLServer2008的管理工具SQLServer2008通過各種操作簡(jiǎn)便的工具為應(yīng)用開發(fā)人員、數(shù)據(jù)庫(kù)管理人員等用戶提供使用SQLServer2008數(shù)據(jù)庫(kù)管理系統(tǒng)的環(huán)境。各種管理工具的功能如表2.2所示。2023/2/456第2章SQLServer2008的安裝與配置2.1.6SQLServer2008的安裝環(huán)境1.硬件要求在安裝SQLServer2008之前,需要檢查計(jì)算機(jī)系統(tǒng)的硬件和軟件配置是否符合要求,然后才能進(jìn)入安裝階段。硬件配置主要從處理器(CPU)、內(nèi)存、硬盤等幾個(gè)主要硬件設(shè)備的要求去檢查。(1)處理器要正常安裝和使用SQLServer2008,要求處理器類型為PentiumIII兼容處理器或速度更快的處理器,建議使用2.0GHz或更快的處理器。對(duì)于64位版的SQLServer2008,處理器類型最低應(yīng)為AMDOpteron、AMDAthlon64、支持IntelEM64T的IntelXeon和支持EM64T的IntelPentiumIV的一種,建議使用2.0GHz或更快的處理器。(2)內(nèi)存SQLServer2008需要的內(nèi)存數(shù)量最少為512MB,推薦內(nèi)存在2GB以上。為了獲得數(shù)據(jù)處理的最高效率,在實(shí)際使用中,內(nèi)存越大越好。同時(shí),安裝數(shù)據(jù)庫(kù)管理系統(tǒng)的服務(wù)器建議使用一臺(tái)專用的服務(wù)器。2023/2/457第2章SQLServer2008的安裝與配置2.1.6SQLServer2008的安裝環(huán)境(3)硬盤SQLServer2008對(duì)硬盤的速度沒有太多要求,但硬盤的處理速度越快越好。SQLServer2008安裝光盤的文件大小超過1.5GB,所以,用戶在安裝前要檢查硬盤剩余空間,建議硬盤剩余空間不要少于4GB。2.軟件要求安裝SQLServer2008時(shí),首先要檢查Windows操作系統(tǒng)的版本,不同版本的SQLServer2008對(duì)Windows操作系統(tǒng)的版本要求有所不同。(1)企業(yè)版:只能安裝到服務(wù)器版的操作系統(tǒng)中(例如WindowsServer2003或WindowsServer2008),而不能安裝到個(gè)人版操作系統(tǒng)中(例如WindowsXP)。(2)標(biāo)準(zhǔn)版:可以安裝到個(gè)人版操作系統(tǒng)和服務(wù)器版操作系統(tǒng)中,可安裝的常見操作系統(tǒng)有:WindowsXP、WindowsVista、Windows7/8、WindowsServer2003/2008等。提示:通常,64位的版本原則上只能安裝在64位的Windows操作系統(tǒng)環(huán)境下使用;32位的版本原則上只能安裝在32位的Windows操作系統(tǒng)環(huán)境下使用。但64位的Windows如果安裝了“WOW64”支持管理工具,則32位的SQLServer版本也能安裝在64位的Windows操作系統(tǒng)下使用,反之則不允許。2023/2/458第2章SQLServer2008的安裝與配置2.1.6SQLServer2008的安裝環(huán)境2.軟件要求其他版本除了注意32位或64位的差別之外,安裝環(huán)境要求或限制條件沒那么高,詳細(xì)情況請(qǐng)參考聯(lián)機(jī)幫助文檔“/zh-cn/”。SQLServer2008安裝時(shí),除了對(duì)操作系統(tǒng)的要求外,還需要以下組件的支持:(1).NETFramework3.5SP1;(2)SQLServerNativeClient;(3)SQLServer安裝程序支持文件;(4)MicrosoftWindowsInstaller4.5或更高版本。在安裝SQLServer2008時(shí),安裝程序首先檢查系統(tǒng)中是否已安裝了以上組件,如果還沒有安裝,則安裝程序?qū)⒆詣?dòng)安裝這些組件到系統(tǒng)中。此外,所有的SQLServer2008安裝時(shí)都需要使用MicrosoftInternetExplorer6SP1或更高版本。2023/2/459第2章SQLServer2008的安裝與配置2.1.7SQLServer2008實(shí)例在安裝SQLServer2008時(shí),需要用戶設(shè)置實(shí)例名,所謂“SQLServer實(shí)例”,就是SQL的服務(wù)器引擎,每個(gè)實(shí)例有自己的一套不為其他實(shí)例共享的系統(tǒng)資源信息和用戶數(shù)據(jù)庫(kù)。換句話說,SQLServer的每個(gè)實(shí)例都有自己的一套系統(tǒng)資源信息,每個(gè)實(shí)例可以創(chuàng)建多個(gè)不同的數(shù)據(jù)庫(kù),每個(gè)實(shí)例可以獨(dú)立地進(jìn)行連接使用。SQLServer2008支持在同一臺(tái)計(jì)算機(jī)上同時(shí)運(yùn)行多個(gè)SQLServer數(shù)據(jù)庫(kù)引擎實(shí)例。SQLServer2008提供兩種類型的數(shù)據(jù)庫(kù)引擎實(shí)例,即默認(rèn)實(shí)例和命名實(shí)例。1.默認(rèn)實(shí)例默認(rèn)實(shí)例的運(yùn)行方式與SQLServer早期版本的數(shù)據(jù)庫(kù)引擎相同。默認(rèn)實(shí)例僅由運(yùn)行該實(shí)例的計(jì)算機(jī)的名稱唯一標(biāo)識(shí),它沒有單獨(dú)的實(shí)例名。如果應(yīng)用程序在請(qǐng)求連接SQLServer時(shí)只指定了計(jì)算機(jī)名,則SQLServer客戶端組件將嘗試連接這臺(tái)計(jì)算機(jī)上的數(shù)據(jù)庫(kù)引擎默認(rèn)實(shí)例。值得注意的是,一臺(tái)計(jì)算機(jī)上只能有一個(gè)默認(rèn)實(shí)例,而默認(rèn)實(shí)例可以是SQLServer任何版本創(chuàng)建的實(shí)例。

2023/2/460第2章SQLServer2008的安裝與配置2.1.7SQLServer2008實(shí)例1.默認(rèn)實(shí)例安裝SQLServer2008的計(jì)算機(jī)名稱可以被修改,計(jì)算機(jī)名稱修改后,對(duì)SQLServer實(shí)例沒有影響,它將隨計(jì)算機(jī)名的改變而改變,即默認(rèn)實(shí)例的名稱與計(jì)算機(jī)名相同。對(duì)于默認(rèn)實(shí)例,實(shí)例啟動(dòng)后的服務(wù)名為“MSSQLServer”,代理服務(wù)名為“SQLServerAgent”;對(duì)于命名實(shí)例,實(shí)例啟動(dòng)后的服務(wù)名用“MSSQL$實(shí)例名”、代理服務(wù)名用“SQLAgent$實(shí)例名”表示,其中,“實(shí)例名”由用戶創(chuàng)建實(shí)例時(shí)自定義。這樣處理的目的是使得這些服務(wù)與服務(wù)器上的其他實(shí)例可以分開啟動(dòng)或停止。2.命名實(shí)例除默認(rèn)實(shí)例外,所有數(shù)據(jù)庫(kù)引擎實(shí)例都是在安裝該實(shí)例的過程中指定實(shí)例名稱。應(yīng)用程序必須提供準(zhǔn)備連接的計(jì)算機(jī)名稱和命名實(shí)例的名稱才能建立連接。一臺(tái)計(jì)算機(jī)上可以運(yùn)行多個(gè)命名實(shí)例,但實(shí)例的端口號(hào)不能相同。2023/2/461第2章SQLServer2008的安裝與配置2.1.7SQLServer2008實(shí)例3.使用實(shí)例實(shí)例主要應(yīng)用于數(shù)據(jù)庫(kù)引擎及其支持組件,而不應(yīng)用于客戶端工具。如果一臺(tái)計(jì)算機(jī)安裝了多個(gè)數(shù)據(jù)庫(kù)實(shí)例,則每個(gè)實(shí)例都有各自唯一的一套組件,具體內(nèi)容為:(1)系統(tǒng)數(shù)據(jù)庫(kù);(2)用戶創(chuàng)建的數(shù)據(jù)庫(kù);(3)SQLServer和SQLServer代理服務(wù);(4)與數(shù)據(jù)庫(kù)引擎、SQLServer和SQLServer代理服務(wù)相關(guān)聯(lián)的注冊(cè)表鍵信息;(5)使應(yīng)用程序能連接特定實(shí)例的網(wǎng)絡(luò)連接地址等。2023/2/462第2章SQLServer2008的安裝與配置2.2SQLServer2008安裝安裝SQLServer2008之前,先檢查計(jì)算機(jī)的軟硬件環(huán)境是否滿足要求,然后到微軟官方網(wǎng)站“/zh-cn/”下載免費(fèi)試用180天的“SQLServer2008EnterpriseEvaluation”安裝軟件包,并對(duì)軟件包解壓縮。2.2.1安裝默認(rèn)實(shí)例1.首次安裝SQLServer2008時(shí),先安裝“默認(rèn)實(shí)例”。雙擊“SETUP.EXE”程序圖標(biāo)開始安裝,進(jìn)入如圖2-1所示的“SQLServer安裝中心”窗口。2023/2/463第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例2.從圖2-1左側(cè)選擇“安裝”選項(xiàng),進(jìn)入安裝任務(wù)的選擇,如圖2-2所示。2023/2/464第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例3.首次安裝SQLServer2008時(shí),單擊“全新SQLServer獨(dú)立安裝或向現(xiàn)有安裝添加功能”選項(xiàng),啟動(dòng)安裝檢查,進(jìn)入“安裝程序支持規(guī)則”窗口如圖2-3所示,檢查狀態(tài)欄的結(jié)果,如果某項(xiàng)規(guī)則不能通過,則該項(xiàng)在“狀態(tài)”欄顯示“失敗”信息,這時(shí)需要重啟計(jì)算機(jī),然后重新安裝。2023/2/465第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例4.單擊“確定”按鈕,進(jìn)入輸入產(chǎn)品密鑰窗口,如圖2-4所示,如果擁有產(chǎn)品密鑰,則單擊“輸入產(chǎn)品密鑰”單選鈕,在密鑰輸入框輸入正確的產(chǎn)品密鑰;如果沒有產(chǎn)品密鑰,則選用“指定可用版本”項(xiàng),在列表中選擇“EnterpriseEvaluation”,該版本可免費(fèi)試用180天。2023/2/466第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例單擊“下一步”按鈕進(jìn)入“許可條款”窗口,如圖2-5所示。

5.在“許可條款”窗口中閱讀許可條款,如果接受許可條款,單擊“我接受許可條款”復(fù)選框,單擊“下一步”按鈕,進(jìn)入“安裝程序支持文件”窗口。2023/2/467第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例6.在“安裝程序支持文件”窗口中單擊“安裝”按鈕,開始安裝“安裝程序支持文件”,安裝完成后顯示“安裝程序支持規(guī)則”窗口,如圖2-6所示。在窗口列表中如果某個(gè)程序支持文件安裝失敗,則在狀態(tài)欄顯示“失敗”提示信息,否則顯示“已通過”。如果存在一個(gè)或多個(gè)支持文件安裝“失敗”,需重啟計(jì)算機(jī),然后重新開始安裝。2023/2/468第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例單擊“下一步”按鈕,進(jìn)入“功能選擇”窗口,如圖2-7所示。2023/2/469第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例

7.在“功能選擇”窗口選擇要安裝的功能項(xiàng),并通過單擊“…”按鈕選擇程序要安裝的目錄位置。然后單擊“下一步”按鈕,進(jìn)入“實(shí)例配置”窗口。如圖2-8所示。2023/2/470第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例

8.首次安裝時(shí),選擇安裝“默認(rèn)實(shí)例”。單擊“…”按鈕,選擇實(shí)例文件的安裝目錄位置,建議使用默認(rèn)目錄。單擊“下一步”按鈕,進(jìn)入“磁盤空間要求”窗口。9.在“磁盤空間要求”窗口不需做任何設(shè)置,單擊“下一步”按鈕,進(jìn)入“服務(wù)器配置”窗口。如圖2-9所示。2023/2/471第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例10.在“服務(wù)器配置”窗口可以為各種服務(wù)指定登錄賬戶(為便于管理,可以為各種服務(wù)配置相同的登錄賬戶);也可以指定各種服務(wù)的啟動(dòng)方式“自動(dòng)、手動(dòng)或禁用”;也可以配置“排序規(guī)則”,排序規(guī)則可以使用默認(rèn)配置。如果為各種服務(wù)指定相同的登錄賬戶,單擊“對(duì)所有SQLServer服務(wù)使用相同的賬號(hào)”按鈕,進(jìn)入如圖2-10所示的“賬戶名”及其“密碼”設(shè)置。賬戶名及密碼輸入后單擊“確定”按鈕,返回如圖2-9服務(wù)器配置界面。2023/2/472第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例單擊“下一步”按鈕,進(jìn)入“數(shù)據(jù)庫(kù)引擎配置”窗口。如圖2-11所示。

11.在“數(shù)據(jù)庫(kù)引擎配置”窗口中,可以設(shè)置身份驗(yàn)證模式,管理員賬戶、數(shù)據(jù)目錄、FILESTREAM等內(nèi)容。其中,數(shù)據(jù)目錄、FILESTREAM兩項(xiàng)建議使用默認(rèn)值。(1)設(shè)置身份驗(yàn)證模式:為了讓應(yīng)用程序也能登錄數(shù)據(jù)庫(kù),身份驗(yàn)證模式選擇“混合模式”,并為“內(nèi)置的SQLServer系統(tǒng)管理員賬戶”設(shè)置一個(gè)強(qiáng)密碼;(2)指定SQLServer管理員:使用“添加當(dāng)前用戶”或“添加”按鈕為SQLServer2008指定至少一個(gè)SQLServer管理員賬戶,也可以通過“刪除”按鈕刪除列表中的管理員賬戶。2023/2/473第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例單擊“下一步”按鈕,進(jìn)入“AnalysisServices配置”窗口,如圖2-12所示。12.在“AnalysisServices配置”窗口的“賬戶設(shè)置”選項(xiàng)卡設(shè)置擁有AnalysisServices管理員權(quán)限的賬戶。使用“添加當(dāng)前用戶”或“添加”按鈕為AnalysisServices指定至少一個(gè)管理員賬戶,也可以通過“刪除”按鈕刪除列表中的某個(gè)管理員賬戶。單擊“下一步”按鈕,進(jìn)入“ReportingServices配置”窗口。如圖2-13所示。2023/2/474第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例13.在“ReportingServices配置”窗口指定要?jiǎng)?chuàng)建的ReportingServices的安裝類型,選擇“安裝本機(jī)模式默認(rèn)配置”項(xiàng),單擊“下一步”按鈕,進(jìn)入“錯(cuò)誤和使用情況報(bào)告”。14.在“錯(cuò)誤和使用情況報(bào)告”窗口中可以選擇是否將錯(cuò)誤報(bào)告或使用情況發(fā)送給微軟以幫助解決問題或改善SQLServer2008的使用。單擊“下一步”按鈕,進(jìn)入“安裝規(guī)則”窗口。如圖2-14所示。2023/2/475第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例15.安裝規(guī)則窗口列出了上述配置的檢查情況,如果在狀態(tài)欄某行顯示“失敗”,需重啟計(jì)算機(jī),然后重新開始安裝,否則,安裝設(shè)置基本完成。單擊“下一步”按鈕,進(jìn)入“準(zhǔn)備安裝”窗口。在“準(zhǔn)備安裝”窗口中單擊“安裝”按鈕,開始安裝,安裝過程將顯示如圖2-15所示的安裝進(jìn)度條。當(dāng)進(jìn)度條充滿時(shí),彈出各項(xiàng)功能的“安裝狀態(tài)”窗口,如圖2-16所示。提示:如果在“狀態(tài)”欄出現(xiàn)“數(shù)據(jù)庫(kù)引擎服務(wù)”等關(guān)鍵項(xiàng)安裝失敗,則必須卸載SQLServer2008、清凈注冊(cè)表、核查SQLServer2008版本的軟、硬件需求,然后再重新安裝。

2023/2/476第2章SQLServer2008的安裝與配置2.2.1安裝默認(rèn)實(shí)例16.在“安裝狀態(tài)”窗口,如果狀態(tài)顯示都是成功,表示SQLServer2008已成功安裝。單擊“下一步”按鈕,顯示“完成”窗口,如圖2-17所示。在“完成”窗口,可以通過鏈接查看安裝摘要日志文件的內(nèi)容,單擊“關(guān)閉”按鈕,完成SQLServer2008的全部安裝。安裝完成后,建議馬上重啟計(jì)算機(jī)。

2023/2/477第2章SQLServer2008的安裝與配置2.2.2安裝命名實(shí)例有了默認(rèn)實(shí)例,SQLServer2008就可以創(chuàng)建與維護(hù)數(shù)據(jù)庫(kù)了,但是,有時(shí)出于管理等原因的需要,還可以在一臺(tái)計(jì)算機(jī)上安裝多個(gè)實(shí)例。因?yàn)槊總€(gè)實(shí)例都有各自唯一的一套組件。命名實(shí)例的安裝與默認(rèn)實(shí)例的安裝步驟基本類同,不同之處是在圖2-8的“實(shí)例配置”窗口中需要輸入自定義的實(shí)例名稱以及實(shí)例文件的存放位置,設(shè)置如下:

(1)選擇“命名實(shí)例”單選鈕,在右邊的編輯框輸入命名實(shí)例的自定義名稱;

(2)在“實(shí)例ID”編輯框輸入命名實(shí)例的自定義ID名稱。在多個(gè)實(shí)例中ID要唯一;

(3)在“實(shí)例根目錄”編輯框輸入命名實(shí)例的安裝位置,也可以通過“…”按鈕選擇。但要注意,不同的實(shí)例不能用使用相同的目錄位置。2023/2/478第2章SQLServer2008的安裝與配置2.3SQLServer2008配置SQLServer2008安裝結(jié)束后,需要進(jìn)一步配置才能使用,常規(guī)的配置主要有TCP/IP協(xié)議配置、遠(yuǎn)程登錄配置和“sa”管理員登錄用戶配置等,其他更多的配置,例如,用戶權(quán)限配置等內(nèi)容將在后面詳細(xì)介紹。2.3.1SQLServer網(wǎng)絡(luò)配置SQLServer2008對(duì)實(shí)例的操作主要使用TCP/IP協(xié)議進(jìn)行通訊,所以,系統(tǒng)安裝成功后,還要配置TCP/IP協(xié)議參數(shù)。操作過程如下。1.進(jìn)入SQLServer配置管理器使用“SQLServer配置管理器”可以啟用和禁用實(shí)例的協(xié)議、配置協(xié)議的TCP/IP參數(shù)、IP地址等;可以啟動(dòng)、停止、暫停、重新啟動(dòng)SQLServer實(shí)例的服務(wù);修改實(shí)例的有關(guān)屬性等。

2023/2/479第2章SQLServer2008的安裝與配置2.3.1SQLServer網(wǎng)絡(luò)配置1.進(jìn)入SQLServer配置管理器單擊“開始”→單擊“所有程序”→單擊“MicrosoftSQLServer2008”→單擊“配置工具”→單擊“SQLServer配置管理器”菜單項(xiàng)命令,彈出圖2-18所示的SQLServer配置管理器窗口。2023/2/480第2章SQLServer2008的安裝與配置2.3.1SQLS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論