




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第4章章 數(shù)據(jù)庫設(shè)計基礎(chǔ)和應(yīng)用數(shù)據(jù)庫設(shè)計基礎(chǔ)和應(yīng)用 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述 數(shù)據(jù)模型數(shù)據(jù)模型 關(guān)系模型關(guān)系模型 關(guān)系數(shù)據(jù)庫標準關(guān)系數(shù)據(jù)庫標準SQLSQL語言語言 本章知識要點本章知識要點4.1 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述 4.1.1 數(shù)據(jù)庫技術(shù)的發(fā)展數(shù)據(jù)庫技術(shù)的發(fā)展 4.1.2 數(shù)據(jù)庫系統(tǒng)基本概念數(shù)據(jù)庫系統(tǒng)基本概念 4.1.3 數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)本本節(jié)內(nèi)節(jié)內(nèi)容容4.1.1 數(shù)據(jù)庫技術(shù)的發(fā)展數(shù)據(jù)庫技術(shù)的發(fā)展1第一階段第一階段人人工工管管理理階階段段第二階段第二階段文文件件系系統(tǒng)統(tǒng)階階段段第三階段第三階段數(shù)數(shù)據(jù)據(jù)庫庫系系統(tǒng)統(tǒng)階階段段特點特點: 數(shù)據(jù)不能獨立存儲。數(shù)據(jù)
2、不能獨立存儲。 沒有專用的軟件對數(shù)據(jù)進行管理。沒有專用的軟件對數(shù)據(jù)進行管理。 只有程序的概念,沒有文件的概念。只有程序的概念,沒有文件的概念。 數(shù)據(jù)冗余度高。數(shù)據(jù)冗余度高。人工管理階段學(xué)生處學(xué)生處教務(wù)處教務(wù)處人事處人事處學(xué)生信息數(shù)據(jù)集學(xué)生信息數(shù)據(jù)集課程信息數(shù)據(jù)集課程信息數(shù)據(jù)集教師信息數(shù)據(jù)集教師信息數(shù)據(jù)集應(yīng)用程序應(yīng)用程序1應(yīng)用程序應(yīng)用程序2應(yīng)用程序應(yīng)用程序n數(shù)據(jù)組數(shù)據(jù)組1數(shù)據(jù)組數(shù)據(jù)組2數(shù)據(jù)組數(shù)據(jù)組n應(yīng)用程序應(yīng)用程序1應(yīng)用程序應(yīng)用程序2應(yīng)用程序應(yīng)用程序n學(xué)生數(shù)據(jù)文件學(xué)生數(shù)據(jù)文件課程數(shù)據(jù)文件課程數(shù)據(jù)文件教師數(shù)據(jù)文件教師數(shù)據(jù)文件文件管理階段(50后期-60中期)文文件件系系統(tǒng)統(tǒng)缺點:共享性差,數(shù)據(jù)冗余
3、度大缺點:共享性差,數(shù)據(jù)冗余度大 文件系統(tǒng)中,數(shù)據(jù)為什么難以共享呢?v1005張三張三7006151800設(shè)計所設(shè)計所v職工號職工號 姓名姓名 出生日期出生日期 工資工資 部門部門v 1005 張三張三 700615 1800 設(shè)計所設(shè)計所v文件系統(tǒng)中,數(shù)據(jù)的含義不明顯文件系統(tǒng)中,數(shù)據(jù)的含義不明顯應(yīng)用程序應(yīng)用程序1應(yīng)用程序應(yīng)用程序2應(yīng)用程序應(yīng)用程序n數(shù)據(jù)庫數(shù)據(jù)庫 數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)管理系統(tǒng)v數(shù)據(jù)庫管理階段(60后期-)數(shù)據(jù)庫系統(tǒng)管理階段的主要特點數(shù)據(jù)庫系統(tǒng)管理階段的主要特點 數(shù)據(jù)的結(jié)構(gòu)性強數(shù)據(jù)的結(jié)構(gòu)性強 1. 數(shù)據(jù)的共享性好,冗余度低,具有一致性數(shù)據(jù)的共享性好,冗余度低,具有一致性 2. 數(shù)
4、據(jù)的獨立性高數(shù)據(jù)的獨立性高 3. 數(shù)據(jù)由數(shù)據(jù)庫管理管理系統(tǒng)統(tǒng)一管理和控制數(shù)據(jù)由數(shù)據(jù)庫管理管理系統(tǒng)統(tǒng)一管理和控制 4.4.1.2 數(shù)據(jù)庫系統(tǒng)的基本概念數(shù)據(jù)庫系統(tǒng)的基本概念數(shù)據(jù)數(shù)據(jù)(Data)(Data)是用來記錄信息的可是用來記錄信息的可識別的符號,是數(shù)據(jù)庫中存儲的識別的符號,是數(shù)據(jù)庫中存儲的基本對象。基本對象。 數(shù)數(shù) 據(jù)據(jù) 245.78禮貌禮貌aBkWG4.1.2 數(shù)據(jù)庫系統(tǒng)的基本概念數(shù)據(jù)庫系統(tǒng)的基本概念數(shù)據(jù)庫數(shù)據(jù)庫(DataBase,DB)是長期存放是長期存放在計算機外存上、有結(jié)構(gòu)的、可共享在計算機外存上、有結(jié)構(gòu)的、可共享的相關(guān)數(shù)據(jù)的集合。的相關(guān)數(shù)據(jù)的集合。 數(shù)數(shù) 據(jù)據(jù) 庫庫 數(shù)據(jù)庫數(shù)據(jù)具有
5、數(shù)據(jù)庫數(shù)據(jù)具有永久存儲永久存儲、有組織有組織和和可可共享共享3 3個基本特點。個基本特點。4.1.2 數(shù)據(jù)庫系統(tǒng)的基本概念數(shù)據(jù)庫系統(tǒng)的基本概念數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)是用于)是用于建立、使用和維護數(shù)據(jù)庫的系統(tǒng)軟件建立、使用和維護數(shù)據(jù)庫的系統(tǒng)軟件數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)是位于操作系統(tǒng)之上的是位于操作系統(tǒng)之上的一層一層系統(tǒng)軟件系統(tǒng)軟件。數(shù)據(jù)庫管理系統(tǒng)(數(shù)據(jù)庫管理系統(tǒng)(DBMSDBMS)的功能)的功能F 數(shù)據(jù)庫的建立和維護功能數(shù)據(jù)庫的建立和維護功能F 數(shù)據(jù)庫定義功能數(shù)據(jù)庫定義功能F 數(shù)據(jù)組織、存儲和管理數(shù)據(jù)組織、存儲和管理F 數(shù)據(jù)操作功能數(shù)據(jù)操作功能
6、F 事物的管理和運行功能事物的管理和運行功能F 其他功能其他功能數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(DataBase System(DataBase System,DBS)DBS) 是指在計算機系統(tǒng)中引入了數(shù)是指在計算機系統(tǒng)中引入了數(shù)據(jù)庫技術(shù)后的系統(tǒng),它包括硬據(jù)庫技術(shù)后的系統(tǒng),它包括硬件、軟件和人員等部分。件、軟件和人員等部分。數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)的組成 用戶用戶1用戶用戶2用戶用戶3數(shù)據(jù)庫管理員數(shù)據(jù)庫管理員數(shù)據(jù)庫數(shù)據(jù)庫圖圖4.4 4.4 數(shù)據(jù)庫系統(tǒng)組成數(shù)據(jù)庫系統(tǒng)組成示意圖示意圖應(yīng)用系統(tǒng)應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具應(yīng)用開發(fā)工具數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)操作系統(tǒng)操作系統(tǒng)數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)的組成v數(shù)據(jù)庫
7、數(shù)據(jù)庫(DB)(DB):有組織的相關(guān)數(shù)據(jù)的集合:有組織的相關(guān)數(shù)據(jù)的集合v數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMSDBMS):):DBMSDBMS是數(shù)據(jù)庫系統(tǒng)的核是數(shù)據(jù)庫系統(tǒng)的核心,其主要任務(wù)是管理數(shù)據(jù)庫,為用戶提供訪問數(shù)據(jù)心,其主要任務(wù)是管理數(shù)據(jù)庫,為用戶提供訪問數(shù)據(jù)庫的方法。庫的方法。v應(yīng)用系統(tǒng)應(yīng)用系統(tǒng):為滿足用戶需要而開發(fā)的數(shù)據(jù)庫應(yīng)用軟件:為滿足用戶需要而開發(fā)的數(shù)據(jù)庫應(yīng)用軟件v應(yīng)用開發(fā)工具應(yīng)用開發(fā)工具:為開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)而采用的各種:為開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)而采用的各種開發(fā)工具。開發(fā)工具。 v人員人員:與數(shù)據(jù)庫系統(tǒng)打交道的人。最終用戶、應(yīng)用程:與數(shù)據(jù)庫系統(tǒng)打交道的人。最終用戶、應(yīng)用程序開發(fā)人員
8、、數(shù)據(jù)庫管理員序開發(fā)人員、數(shù)據(jù)庫管理員4.1.3 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)v最終用戶最終用戶-外部視圖外部視圖-外模式外模式v應(yīng)用系統(tǒng)開發(fā)人員應(yīng)用系統(tǒng)開發(fā)人員-概念視圖概念視圖-模式模式v數(shù)據(jù)庫管理員數(shù)據(jù)庫管理員-內(nèi)部視圖內(nèi)部視圖-內(nèi)模式內(nèi)模式4.1.3 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 模式又稱為模式又稱為邏輯模式邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù),是數(shù)據(jù)庫中全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特征的描述。的全局邏輯結(jié)構(gòu)和特征的描述。 外模式又被稱為外模式又被稱為用戶模式用戶模式,是根據(jù)用戶的需要從模,是根據(jù)用戶的需要從模式中導(dǎo)出的子模式,式中導(dǎo)出的子模式,是用戶最后看
9、到的數(shù)據(jù)的局部邏輯是用戶最后看到的數(shù)據(jù)的局部邏輯結(jié)構(gòu)結(jié)構(gòu),是與某應(yīng)用程序有關(guān)的整個數(shù)據(jù)庫中部分數(shù)據(jù)的描述。,是與某應(yīng)用程序有關(guān)的整個數(shù)據(jù)庫中部分數(shù)據(jù)的描述。 外模式外模式 模式模式 內(nèi)模式又稱為內(nèi)模式又稱為存儲模式存儲模式,是數(shù)據(jù)物理結(jié)構(gòu)和,是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在存儲介質(zhì)上的保存方式。存儲方式的描述,是數(shù)據(jù)在存儲介質(zhì)上的保存方式。 內(nèi)模式內(nèi)模式 4.1.3 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 模式模式/內(nèi)模式映像內(nèi)模式映像定義了模式和內(nèi)模式之定義了模式和內(nèi)模式之間的對應(yīng)關(guān)系,是數(shù)據(jù)的全局邏輯結(jié)構(gòu)和數(shù)據(jù)間的對應(yīng)關(guān)系,是數(shù)據(jù)的全局邏輯結(jié)構(gòu)和數(shù)據(jù)的存儲結(jié)構(gòu)之間的對應(yīng)關(guān)
10、系。的存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。 模式模式/內(nèi)模式映像內(nèi)模式映像 外模式外模式/模式映像模式映像定義了外模式和模式之定義了外模式和模式之間的對應(yīng)關(guān)系,是數(shù)據(jù)的全局邏輯結(jié)構(gòu)和數(shù)據(jù)間的對應(yīng)關(guān)系,是數(shù)據(jù)的全局邏輯結(jié)構(gòu)和數(shù)據(jù)的局部邏輯結(jié)構(gòu)之間的對應(yīng)關(guān)系。的局部邏輯結(jié)構(gòu)之間的對應(yīng)關(guān)系。 外模式外模式/模式映像模式映像 4.2 數(shù)據(jù)模型數(shù)據(jù)模型 4.2.1 數(shù)據(jù)模型的分類(自學(xué))數(shù)據(jù)模型的分類(自學(xué)) 4.2.2 E-R模型模型 本本節(jié)內(nèi)節(jié)內(nèi)容容 實實 體體 :把客觀存在并且可以相互區(qū)分把客觀存在并且可以相互區(qū)分的事物稱為實體,例如一名學(xué)生的事物稱為實體,例如一名學(xué)生 。 屬屬 性性:描述實體的特性稱為屬性
11、。描述實體的特性稱為屬性。 實體集實體集:同一類型實體的集合稱為實體同一類型實體的集合稱為實體集。集。 實體型實體型:對同類實體的描述稱為實體型。對同類實體的描述稱為實體型。它由實體名與其屬性名共同構(gòu)成。它由實體名與其屬性名共同構(gòu)成。E-R模型的基本概念和聯(lián)系模型的基本概念和聯(lián)系 關(guān)鍵字關(guān)鍵字:能夠能夠唯一標識唯一標識實體集中每個實體集中每個實體的某一屬性或?qū)傩越M稱為關(guān)鍵字,實體的某一屬性或?qū)傩越M稱為關(guān)鍵字,它的值能夠唯一區(qū)分不同的實體。它的值能夠唯一區(qū)分不同的實體。 聯(lián)系:聯(lián)系:在概念模型中將實體集之間的在概念模型中將實體集之間的對應(yīng)關(guān)系對應(yīng)關(guān)系稱為聯(lián)系。通過聯(lián)系反映現(xiàn)稱為聯(lián)系。通過聯(lián)系反映
12、現(xiàn)實世界事物之間的相互關(guān)聯(lián)。實世界事物之間的相互關(guān)聯(lián)。 概念模型的基本概念和術(shù)語部門部門醫(yī)生醫(yī)生護士護士1m組成組成n工作工作醫(yī)生醫(yī)生護士護士執(zhí)行執(zhí)行mnp一對多一對多 多對多多對多 一對一一對一 、一對多、一對多 、 多對多多對多兩個實體集的聯(lián)系有三種類型兩個實體集的聯(lián)系有三種類型:E-RE-R模型包括三個基本圖形元素:模型包括三個基本圖形元素:v實體:實體:用矩形表示,框內(nèi)標注實體名。用矩形表示,框內(nèi)標注實體名。v屬性:屬性:用橢圓形表示,并用直線將屬性與對應(yīng)的用橢圓形表示,并用直線將屬性與對應(yīng)的實體連接。實體連接。v實體之間的聯(lián)系:實體之間的聯(lián)系:用菱形表示,框內(nèi)標注聯(lián)系名用菱形表示,框
13、內(nèi)標注聯(lián)系名。并用直線將聯(lián)系名與對應(yīng)的實體連接,同時在。并用直線將聯(lián)系名與對應(yīng)的實體連接,同時在連線旁標注聯(lián)系的類型(連線旁標注聯(lián)系的類型(1:1、1:N或或M:N)。)。 E-R模型圖形表示模型圖形表示E-R模型圖形表示模型圖形表示示例示例1:班長集和班級集兩個實體集之間是一:班長集和班級集兩個實體集之間是一對一聯(lián)系。對一聯(lián)系。E-R模型圖形表示模型圖形表示示例示例2:班級實體有班級編號和班級名稱等屬性,學(xué)生:班級實體有班級編號和班級名稱等屬性,學(xué)生實體有學(xué)號、姓名、性別、專業(yè)和班級編號等屬性。班實體有學(xué)號、姓名、性別、專業(yè)和班級編號等屬性。班級集和學(xué)生集兩個實體集之間是一對多聯(lián)系級集和學(xué)生
14、集兩個實體集之間是一對多聯(lián)系。E-R模型圖形表示模型圖形表示示例示例3:課程實體有課程編號、課程名稱、學(xué)時:課程實體有課程編號、課程名稱、學(xué)時和學(xué)分。學(xué)生集和課程集兩個實體集之間是多對和學(xué)分。學(xué)生集和課程集兩個實體集之間是多對多聯(lián)系多聯(lián)系。4.3 關(guān)系模型關(guān)系模型 4.3.1 關(guān)系模型的基本概念關(guān)系模型的基本概念 4.3.2 關(guān)系模型的完整性規(guī)則關(guān)系模型的完整性規(guī)則 本本節(jié)內(nèi)節(jié)內(nèi)容容 4.3.3 關(guān)系運算關(guān)系運算4.3.1關(guān)系模型關(guān)系模型v 用二維表來表示實體與實體之間聯(lián)系用二維表來表示實體與實體之間聯(lián)系的數(shù)據(jù)模型。的數(shù)據(jù)模型。v關(guān)系模型是將同一類實體的數(shù)據(jù)組織關(guān)系模型是將同一類實體的數(shù)據(jù)組織
15、成二維表的形式。成二維表的形式。v每個二維表稱為一個每個二維表稱為一個關(guān)系關(guān)系。 學(xué)號學(xué)號姓名姓名性別性別年齡年齡專業(yè)專業(yè)登錄口令登錄口令20130001王子陽王子陽男男17自動化自動化14725820130002李元元李元元女女18計算機計算機12345620130004吳國強吳國強男男16會計會計26489820130005劉麗劉麗女女17會計會計56487120130003趙長青趙長青男男17計算機計算機456987關(guān)系關(guān)系student(學(xué)生信息登記表)(學(xué)生信息登記表)學(xué)號學(xué)號課程編號課程編號選修學(xué)期選修學(xué)期成績成績2013000100120130186201300020012013
16、01892013000100220130290201300010032014017620130003001201301882013000400220140265關(guān)系關(guān)系stu_course(選課信息登記表)(選課信息登記表)課程編號課程編號課程名稱課程名稱學(xué)分學(xué)分學(xué)時學(xué)時001高等數(shù)學(xué)高等數(shù)學(xué)490002 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)360003物理物理250005英語英語380004會計會計240 關(guān)系關(guān)系course(課程信息登記表)(課程信息登記表)v關(guān)關(guān) 系:系: 一個關(guān)系對應(yīng)一張二維表。每個關(guān)系一個關(guān)系對應(yīng)一張二維表。每個關(guān)系 必須有一個關(guān)系名。例如,關(guān)系名必須有一個關(guān)系名。例如,關(guān)系名stud
17、ent 。v屬屬 性:性:表中的一列為一個屬性。每個屬性都表中的一列為一個屬性。每個屬性都有一個名稱,稱為有一個名稱,稱為屬性名屬性名。v元元 組:組:表中的一行數(shù)據(jù)稱為一條元組,也被表中的一行數(shù)據(jù)稱為一條元組,也被稱為記錄。稱為記錄。v關(guān)鍵字:關(guān)鍵字:表中某一屬性或?qū)傩越M,它的值能表中某一屬性或?qū)傩越M,它的值能夠夠唯一標識唯一標識一條記錄,則把這一屬性或?qū)傩砸粭l記錄,則把這一屬性或?qū)傩越M稱為關(guān)鍵字。組稱為關(guān)鍵字。關(guān)系模型的基本術(shù)語關(guān)系模型的基本術(shù)語關(guān)系模型的邏輯結(jié)構(gòu)是一張二維表,由行和列組成。關(guān)系模型的邏輯結(jié)構(gòu)是一張二維表,由行和列組成。關(guān)關(guān)系系學(xué)號學(xué)號姓名姓名性別性別系別系別年齡年齡籍貫籍
18、貫95001950029500395004 95700李勇李勇劉成劉成王明王明張力張力楊曉東楊曉東男男女女女女男男男男計科計科信息信息數(shù)學(xué)數(shù)學(xué)計科計科物理物理2019181921江蘇江蘇山東山東北京北京北京北京 山西山西學(xué)學(xué) 生生 登登 記記 表表 關(guān)系名關(guān)系名關(guān)鍵字關(guān)鍵字屬性(列)屬性(列)屬性名屬性名元元組組(行)(行)v 值值 域:域:屬性的取值范圍稱為值域。屬性的取值范圍稱為值域。v 關(guān)系模式:關(guān)系模式:是對關(guān)系的描述,它主要包括關(guān)是對關(guān)系的描述,它主要包括關(guān)系名,組成該關(guān)系的各屬性名、值域和關(guān)鍵系名,組成該關(guān)系的各屬性名、值域和關(guān)鍵字。字。v 關(guān)系模式的一般形式為:關(guān)系模式的一般形式
19、為: 關(guān)系名關(guān)系名(屬性名屬性名1,屬性名,屬性名2,,屬性名屬性名n)關(guān)系模型的基本概念和術(shù)語關(guān)系模式的一般形式關(guān)系模式的一般形式示例示例1:關(guān)系關(guān)系student的關(guān)系模式是:的關(guān)系模式是: student(學(xué)號學(xué)號,姓名,性別,年齡,專業(yè),登錄口令,姓名,性別,年齡,專業(yè),登錄口令) 其中屬性其中屬性“學(xué)號學(xué)號”帶有下劃線,表示是關(guān)鍵字。帶有下劃線,表示是關(guān)鍵字。 示例示例2:關(guān)系關(guān)系stu_course的關(guān)系模式是:的關(guān)系模式是: stu_course(學(xué)號,課程編號學(xué)號,課程編號,選修學(xué)期,成績,選修學(xué)期,成績)其中屬性其中屬性“學(xué)號學(xué)號”和和“課程編號課程編號”帶有下劃線,表示帶有
20、下劃線,表示關(guān)鍵字是由屬性關(guān)鍵字是由屬性“學(xué)號學(xué)號” 和和“課程編號課程編號”的組合。的組合。4.3.2 關(guān)系模型的完整性規(guī)則關(guān)系模型的完整性規(guī)則實體完整性實體完整性是對關(guān)系中記錄唯一性,即關(guān)鍵字的約束。是對關(guān)系中記錄唯一性,即關(guān)鍵字的約束。 (關(guān)鍵字的值不能為空且不能有相同的值)(關(guān)鍵字的值不能為空且不能有相同的值)參照完整性參照完整性是對關(guān)系數(shù)據(jù)庫建立聯(lián)系的關(guān)系之間數(shù)據(jù)是對關(guān)系數(shù)據(jù)庫建立聯(lián)系的關(guān)系之間數(shù)據(jù)參照引用的約束,也就是對外鍵的約束。參照引用的約束,也就是對外鍵的約束。(從表中外鍵的值必須是主表主鍵的有效值或是空)(從表中外鍵的值必須是主表主鍵的有效值或是空) 用戶定義的完整性用戶定
21、義的完整性是根據(jù)應(yīng)用環(huán)境的不同,針對某一是根據(jù)應(yīng)用環(huán)境的不同,針對某一具體數(shù)據(jù)的約束條件。具體數(shù)據(jù)的約束條件。 關(guān)系模型的完整性規(guī)則是對關(guān)系的約束。關(guān)系模型的完整性規(guī)則是對關(guān)系的約束。 4.3.3 關(guān)系運算關(guān)系運算v在關(guān)系數(shù)據(jù)庫中,對關(guān)系的操作在關(guān)系數(shù)據(jù)庫中,對關(guān)系的操作主要是指對一張表或者兩張表中主要是指對一張表或者兩張表中相應(yīng)行(記錄)、列(屬性)內(nèi)相應(yīng)行(記錄)、列(屬性)內(nèi)容的操作。容的操作。v關(guān)系運算主要包括選擇、投影和關(guān)系運算主要包括選擇、投影和連接等三種。連接等三種。 選擇運算選擇運算是指在一個關(guān)系中選擇出滿足給是指在一個關(guān)系中選擇出滿足給定條件的元組組成新關(guān)系定條件的元組組成新
22、關(guān)系1選擇運算選擇運算 例如:例如:在關(guān)系在關(guān)系student(學(xué)生信息登記表學(xué)生信息登記表)中找出男同學(xué)中找出男同學(xué)的數(shù)據(jù)。給定的條件應(yīng)該是性別為的數(shù)據(jù)。給定的條件應(yīng)該是性別為“男男”。在操作時按照給定的條件對表中每一條記錄在操作時按照給定的條件對表中每一條記錄進行篩選,將選擇出來的記錄組成一個新關(guān)系進行篩選,將選擇出來的記錄組成一個新關(guān)系(結(jié)果)。(結(jié)果)。 1選擇運算選擇運算 學(xué)號學(xué)號姓名姓名性別性別年齡年齡專業(yè)專業(yè)登錄口令登錄口令20130001王子陽王子陽男男17自動化自動化14725820130004吳國強吳國強男男16會計會計26489820130003趙長青趙長青男男17計算機
23、計算機456987投影操作投影操作是指在一個關(guān)系的所有屬性中選取是指在一個關(guān)系的所有屬性中選取 指定指定屬性列屬性列組成新關(guān)系。組成新關(guān)系。2投影操作投影操作 例如:例如:在關(guān)系在關(guān)系student中找出所有學(xué)生的姓名、年齡和中找出所有學(xué)生的姓名、年齡和專業(yè)。專業(yè)。操作時,在所有屬性列中選取姓名、年齡和專操作時,在所有屬性列中選取姓名、年齡和專業(yè)三個屬性列組成新關(guān)系。業(yè)三個屬性列組成新關(guān)系。 2投影操作投影操作 姓名姓名年齡年齡專業(yè)專業(yè)王子陽王子陽17自動化自動化李元元李元元18計算機計算機吳國強吳國強16會計會計劉麗劉麗17會計會計趙長青趙長青17計算機計算機3連接操作連接操作 | 連接操作
24、連接操作一般是將兩個關(guān)系通過連接一般是將兩個關(guān)系通過連接條件組成一個條件組成一個新關(guān)系新關(guān)系。| 在新關(guān)系中包含原有兩個關(guān)系的所有在新關(guān)系中包含原有兩個關(guān)系的所有屬性,其中屬性,其中屬性名表示方法屬性名表示方法是屬性名前是屬性名前加上原有關(guān)系名。加上原有關(guān)系名。| 新關(guān)系中的記錄新關(guān)系中的記錄是通過連接原有關(guān)系是通過連接原有關(guān)系的記錄得到的。的記錄得到的。v 例題例題1: 在兩個關(guān)系在兩個關(guān)系course和和stu_course中進行連接中進行連接運算,連接條件是運算,連接條件是course的課程編號等于的課程編號等于stu_course的課程編號。的課程編號。學(xué)號學(xué)號課程編號課程編號選修學(xué)期
25、選修學(xué)期成績成績201300010012013018620130002001201301892013000100220130290201300010032014017620130003001201301882013000400220140265關(guān)系關(guān)系stu_course(選課信息登記表)(選課信息登記表)課程編號課程編號課程名稱課程名稱學(xué)分學(xué)分學(xué)時學(xué)時001高等數(shù)學(xué)高等數(shù)學(xué)490002 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)360003物理物理250005英語英語380004會計會計240 關(guān)系關(guān)系course(課程信息登記表)(課程信息登記表)Course.課程編號課程編號Course.課程名稱課程名稱Cour
26、se.學(xué)分學(xué)分Course.學(xué)時學(xué)時Stu_Course.學(xué)號學(xué)號Stu_Course.課程編號課程編號Stu_Course.選修學(xué)期選修學(xué)期Stu_Course.成績成績001高等數(shù)學(xué)高等數(shù)學(xué)4902013000100120130186001高等數(shù)學(xué)高等數(shù)學(xué)4902013000200120130189001高等數(shù)學(xué)高等數(shù)學(xué)4902013000300120130188002 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)3602013000100220130290002 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)3602013000400220140265003物理物理2502013000100320140176例題例題2: 在兩個關(guān)系在兩個關(guān)系c
27、ourse和和stu_course中進行連接運中進行連接運算 , 連 接 條 件 是算 , 連 接 條 件 是 c o u r s e 的 課 程 編 號 等 于的 課 程 編 號 等 于stu_course的課程編號。要求在連接運算組成的新的課程編號。要求在連接運算組成的新關(guān)系中選擇學(xué)號、課程名稱和成績,且關(guān)系中選擇學(xué)號、課程名稱和成績,且80分以上的分以上的成績。成績。Stu_Course.學(xué)號學(xué)號Course.課程名稱課程名稱Stu_Course.成績成績20130001高等數(shù)學(xué)高等數(shù)學(xué)8620130002高等數(shù)學(xué)高等數(shù)學(xué)8920130003高等數(shù)學(xué)高等數(shù)學(xué)8820130001數(shù)據(jù)結(jié)構(gòu)數(shù)
28、據(jù)結(jié)構(gòu)904.4 關(guān)系數(shù)據(jù)庫標準關(guān)系數(shù)據(jù)庫標準SQL語言語言 4.4.1 SQL語言概述語言概述 4.4.2 結(jié)構(gòu)化標準結(jié)構(gòu)化標準SQL語句語句 4.4.3 數(shù)據(jù)查詢語言數(shù)據(jù)查詢語言本本節(jié)內(nèi)節(jié)內(nèi)容容4.4.1 語言概述語言概述SQL語言特點:語言特點: 一體化語言、高度非過程化語言、簡潔語言、一體化語言、高度非過程化語言、簡潔語言、共享語言。共享語言。SQL語言功能:語言功能: 數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱和數(shù)據(jù)控制。數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱和數(shù)據(jù)控制。4.4.1 語言概述語言概述SQL功能功能動詞動詞數(shù)據(jù)定義數(shù)據(jù)定義CREATE,DROP,ALTER數(shù)據(jù)操縱數(shù)據(jù)操縱INSERT , UP
29、DATE , DELETE數(shù)據(jù)查詢數(shù)據(jù)查詢SELECT數(shù)據(jù)控制數(shù)據(jù)控制GRANT , REVOKESQL語言的動詞語言的動詞4.4.2 結(jié)構(gòu)化標準結(jié)構(gòu)化標準SQL語句語句1.數(shù)據(jù)定義語句數(shù)據(jù)定義語句(1)創(chuàng)建基本表)創(chuàng)建基本表CREATE TABLE(),);在在“學(xué)生成績管理系統(tǒng)學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫中,寫出建立數(shù)據(jù)庫中,寫出建立Student數(shù)數(shù)據(jù)表結(jié)構(gòu)的語句據(jù)表結(jié)構(gòu)的語句。字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型字段大?。▽挾龋┳侄未笮。▽挾龋┱f明說明學(xué)號學(xué)號文本文本8主鍵主鍵姓名姓名文本文本6非空非空性別性別文本文本2年齡年齡數(shù)字數(shù)字整型整型專業(yè)專業(yè)文本文本20出生日期出生日期日期日期登錄口
30、令登錄口令文本文本6設(shè)置唯一性設(shè)置唯一性說明說明備注備注CREATE TABLE student(學(xué)號學(xué)號 char(8) Primary key, 姓名姓名 char(6) not null, 性別性別 char(2), 年齡年齡 smallInt, 專業(yè)專業(yè) char(20), 出生日期出生日期 date, 登錄口令登錄口令 char(6) Unique, 說明說明 memo);(2)修改表修改表ALTER TABLE ALTER ADD新字段名新字段名)數(shù)據(jù)類型數(shù)據(jù)類型) DROP;例:例:將將“登錄口令登錄口令”字段的數(shù)據(jù)類型改為數(shù)字型,字段的數(shù)據(jù)類型改為數(shù)字型,字段大小改為長整型。字
31、段大小改為長整型。ALTER TABLE student ALTER 登錄口令登錄口令 INTEGER ;例:例:增加字段名稱為增加字段名稱為“班級編號班級編號”,數(shù)據(jù)類型為,數(shù)據(jù)類型為“文本文本”,字段大小為,字段大小為2。ALTER TABLE student ADD 班級編號班級編號Char(2);例:例:刪除刪除“說明說明”字段。字段。ALTER TABLE student DROP 說明;說明;(3)刪除表刪除表 DROP TABLE ;例:例:在在“學(xué)生成績管理系統(tǒng)學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫中,寫出刪除已有數(shù)據(jù)庫中,寫出刪除已有student表的表的SQL語句。語句。 DROP TA
32、BLE student;2.數(shù)據(jù)操縱語句數(shù)據(jù)操縱語句(1)插入記錄插入記錄 INSERT INTO (,) VALUES(,);例:例:在在student表中插入記錄表中插入記錄(20130006,劉帥,劉帥,男男,18,會會計計,1998/02/15,852963,null)語句;插入記錄語句;插入記錄(20130007,李李虹虹,17,963741)語句。語句。插入所有字段插入所有字段INSERT INTO studentVALUES(“20130006”,“劉帥劉帥”,“男男”,18,“會計會計”, “1998/02/15”,“852963”,“哈市哈市”););插入部分字段插入部分字段
33、INSERT INTO student (學(xué)號,姓名,年齡,登錄口令)(學(xué)號,姓名,年齡,登錄口令)VALUES(“20130007”,“李虹李虹”,17,“963741”););(2)更新記錄更新記錄 UPDATE SET =,= WHERE;例:例:student表中所有記錄的表中所有記錄的“出生日期出生日期”減減1天語句;男同學(xué)天語句;男同學(xué)的的“年齡年齡”加加1歲語句;修改歲語句;修改“劉帥劉帥”登錄口令為登錄口令為“123456”語句。語句。更新所有記錄的指定字段值更新所有記錄的指定字段值UPDATE student SET 出生日期出生日期=出生日期出生日期-1;更新部分記錄的指定
34、字段值更新部分記錄的指定字段值UPDATE student SET 年齡年齡=年齡年齡+1 WHERE 性別性別=“男男”;更新一條記錄的指定字段值更新一條記錄的指定字段值UPDATE student SET 登錄口令登錄口令=“123456” WHERE 姓名姓名=“劉帥劉帥”;(3)刪除記錄刪除記錄 DELETE FROM WHERE;例:例:在在“學(xué)生成績管理系統(tǒng)學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫中,在數(shù)據(jù)庫中,在student表中刪除表中刪除女同學(xué)的年齡大于女同學(xué)的年齡大于20歲的記錄;刪除所有記錄,只留有表的歲的記錄;刪除所有記錄,只留有表的結(jié)構(gòu)。結(jié)構(gòu)。刪除部分記錄刪除部分記錄DELETE F
35、ROM student WHERE 年齡年齡20 and性別性別=“女女”;刪除全部記錄刪除全部記錄DELETE FROM student4.4.3 數(shù)據(jù)查詢語句數(shù)據(jù)查詢語句1.SELECT語句基本格式語句基本格式SELECTALLDISTINCTTOP n *,ASFROM,WHEREGROUP BY HAVINGORDER BYASCDESC;4.簡單查詢簡單查詢(1)按指定字段查詢)按指定字段查詢例例4-14:查詢查詢student表中所有記錄;查詢表中所有記錄;查詢student表中表中“姓名姓名”、“年齡年齡”和和“專業(yè)專業(yè)”所有記錄。所有記錄。查詢所有記錄:查詢所有記錄:SELEC
36、T * FROM student;或:或:SELECT ALL * FROM student;查詢指定字段記錄:查詢指定字段記錄:SELECT 姓名姓名,年齡年齡,專業(yè)專業(yè) FROM student;(2)除去字段的重復(fù)值)除去字段的重復(fù)值例例4-15:查詢查詢student表中表中“專業(yè)專業(yè)”的種類記錄。的種類記錄。SELECT DISTINCT 專業(yè)專業(yè) FROM student;(3)條件查詢)條件查詢例例4-16:查詢查詢stu_course表中表中“成績成績”在在80到到89之之間,并顯示間,并顯示“學(xué)號學(xué)號”、“課程編號課程編號”和和“成績成績”的的記錄。記錄。SELECT 學(xué)號學(xué)
37、號,課程編號課程編號,成績成績 FROM stu_course WHERE 成績成績=80 AND成績成績=17;(5)分組查詢)分組查詢(6)排序查詢)排序查詢例例4-20:查詢排序查詢排序stu_course表中的記錄。表中的記錄。查詢按查詢按“成績成績”升序排序的全部記錄。升序排序的全部記錄。SELECT * FROM stu_course ORDER BY 成績成績 ASC;查詢查詢“成績成績”排在前排在前2名學(xué)生,并顯示名學(xué)生,并顯示“學(xué)學(xué)號號”,“成績成績”的記錄。的記錄。SELECT TOP 2 學(xué)號學(xué)號,成績成績 FROM stu_course ORDER BY 成績成績 DE
38、SC; 查詢每一門課程的成績降序排序的記錄。查詢每一門課程的成績降序排序的記錄。SELECT * FROM stu_course ORDER BY 課程編課程編號號 ASC,成績,成績 DESC;5.連接查詢連接查詢(1)內(nèi)連接)內(nèi)連接內(nèi)連接基本格式:內(nèi)連接基本格式:FROM INNER JOIN ON 其中,其中,連接條件的基本格式:連接條件的基本格式:.例例4-21:在在student和和stu_course表中,查詢表中,查詢“學(xué)學(xué)號號”,“姓名姓名”,“課程編號課程編號”和和“成績成績”字段。字段。 SELECT student.學(xué)號學(xué)號, student.姓名姓名, stu_course.課程編號課程編號, stu_course.成績成績FROM student INNER JOIN stu_co
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西玉林輔警試題及答案
- 2025年中國微波治療設(shè)備市場調(diào)查研究報告
- 2025年中國彩色磁片市場調(diào)查研究報告
- 2025年中國對夾夾具市場調(diào)查研究報告
- 2025年中國媚爾戰(zhàn)痘組合市場調(diào)查研究報告
- 2025年中國多導(dǎo)睡眠呼吸監(jiān)護儀市場調(diào)查研究報告
- 2025年中國塑料球位釘市場調(diào)查研究報告
- 2025年中國噴漆圓桌市場調(diào)查研究報告
- 2025年中國變比自動測量儀市場調(diào)查研究報告
- 2025年中國壓縮空氣填充泵市場調(diào)查研究報告
- 2024年煙臺海陽市衛(wèi)生健康局所屬事業(yè)單位招聘工作人員真題
- 2025四川巴中市國有資本運營集團有限公司招聘17人筆試參考題庫附帶答案詳解
- 2025神農(nóng)科技集團有限公司第一批校園招聘17人(山西)筆試參考題庫附帶答案詳解
- 餐飲行業(yè)合伙經(jīng)營協(xié)議書
- 不間斷電源裝置(UPS)試驗及運行質(zhì)量檢查表
- 學(xué)術(shù)型碩士學(xué)位(畢業(yè))論文評閱意見書
- 心臟超聲切面示意
- 2022年1月浙江高考英語應(yīng)用文與讀后續(xù)寫范文匯總(素材)
- DB37∕T 4281-2020 場(廠)內(nèi)專用機動車輛使用安全風(fēng)險分級管控和事故隱患排查治理體系建設(shè)實施指南
- 保潔服務(wù)詳細方案(完整版)
- 孔明燈(Lantern)3.4使用指南課件
評論
0/150
提交評論