第1章數(shù)據(jù)庫基礎(chǔ).doc_第1頁
第1章數(shù)據(jù)庫基礎(chǔ).doc_第2頁
第1章數(shù)據(jù)庫基礎(chǔ).doc_第3頁
第1章數(shù)據(jù)庫基礎(chǔ).doc_第4頁
第1章數(shù)據(jù)庫基礎(chǔ).doc_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章 數(shù)據(jù)庫基礎(chǔ)【學(xué)習(xí)目標(biāo)】本章將要學(xué)習(xí)數(shù)據(jù)庫基礎(chǔ)知識,包括數(shù)據(jù)庫系統(tǒng)的基本概念、數(shù)據(jù)模型、數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)、關(guān)系數(shù)據(jù)庫的基本概念、基本運(yùn)算等。本章學(xué)習(xí)要點(diǎn):u 數(shù)據(jù)庫技術(shù)的基本概念;u 數(shù)據(jù)模型的定義、組成要素;u 關(guān)系數(shù)據(jù)庫的基本概念;u 關(guān)系數(shù)據(jù)庫的基本運(yùn)算?!緦W(xué)習(xí)導(dǎo)航】數(shù)據(jù)庫技術(shù)是研究數(shù)據(jù)庫結(jié)構(gòu)、存儲、設(shè)計(jì)和使用的一門軟件科學(xué),是進(jìn)行數(shù)據(jù)管理和處理的技術(shù)。目前,信息資源在各行各業(yè)都是重要的財(cái)富,以數(shù)據(jù)庫核心的信息系統(tǒng)已經(jīng)成為企業(yè)和其他組織自下而上和發(fā)展的重要條件。從某種意義上講,數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)信息量的大小和使用頻率已成為衡量一個國家信息化程度的重要標(biāo)志。本章主要內(nèi)容見圖1-1所示的學(xué)習(xí)導(dǎo)航。圖1-1 本章學(xué)習(xí)內(nèi)容導(dǎo)航1.1 數(shù)據(jù)庫基礎(chǔ)知識數(shù)據(jù)庫技術(shù)產(chǎn)生于20世紀(jì)60年代末期,是數(shù)據(jù)管理的最新技術(shù)。隨著計(jì)算機(jī)硬件技術(shù)和軟件技術(shù)的發(fā)展,以及數(shù)據(jù)管理應(yīng)用需求的日益增加,數(shù)據(jù)管理技術(shù)也在不斷地發(fā)展和完善。1.1.1 數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)據(jù)管理是指對數(shù)據(jù)進(jìn)行收集、分類、組織、編碼、存儲、檢索和維護(hù),是數(shù)據(jù)處理的核心問題。最初的計(jì)算機(jī)主要是進(jìn)行復(fù)雜的科學(xué)計(jì)算,隨看計(jì)算機(jī)及其應(yīng)用的發(fā)展,人們開始借助計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理。從計(jì)算機(jī)產(chǎn)生至今,數(shù)據(jù)管理技術(shù)一共經(jīng)歷了3個發(fā)展階段,分別是人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。1人工管理階段人工管理階段(20世紀(jì)50年代),當(dāng)時(shí)計(jì)算機(jī)主要應(yīng)用于科學(xué)計(jì)算。當(dāng)時(shí)只有磁帶、卡片、紙帶等外存儲器,沒有磁盤等直接存取的存儲設(shè)備;沒有操作系統(tǒng),也沒有專門管理數(shù)據(jù)的軟件;數(shù)據(jù)的處理方式是批處理,由程序設(shè)計(jì)人員安排數(shù)據(jù)的物理存儲和加工處理。人工管理階段的數(shù)據(jù)管理具有如下特點(diǎn):(1)數(shù)據(jù)不長期保存在計(jì)算機(jī)里,用完就刪除。由于計(jì)算機(jī)主要用于科學(xué)計(jì)算,程序處理時(shí)將數(shù)據(jù)輸入,程序處理完畢將數(shù)據(jù)輸出,一般情況下,輸入數(shù)據(jù)和輸出結(jié)果都不需要長期保存。(2)數(shù)據(jù)不具有獨(dú)立性。當(dāng)數(shù)據(jù)的邏輯存儲結(jié)構(gòu)或物理存儲結(jié)構(gòu)發(fā)生變化時(shí),程序設(shè)計(jì)人員必須對程序做出相應(yīng)的修改,不能保證數(shù)據(jù)與程序的獨(dú)立性。(3)數(shù)據(jù)不共享。數(shù)據(jù)是面向應(yīng)用的,一組數(shù)據(jù)對應(yīng)于一個程序,當(dāng)多個程序使用到相同的數(shù)據(jù)時(shí),也必須各自定義,無法實(shí)現(xiàn)數(shù)據(jù)共享,因此程序之間存在大量的冗余數(shù)據(jù)。(4)數(shù)據(jù)由程序自身管理,沒有專門的軟件系統(tǒng)負(fù)責(zé)數(shù)據(jù)管理,數(shù)據(jù)與程序結(jié)合在一起。人工管理階段的數(shù)據(jù)管理如圖1-2所示:圖1-2 人式管理階段的數(shù)據(jù)管理2文件系統(tǒng)階段文件系統(tǒng)階段是指20世紀(jì)50年代后期至60年代中期,計(jì)算機(jī)不僅應(yīng)用于科學(xué)計(jì)算,而且廣泛應(yīng)用于數(shù)據(jù)管理領(lǐng)域。在這一階段,由于計(jì)算機(jī)硬件有了磁盤、磁鼓等外部直接存儲設(shè)備;軟件有了操作系統(tǒng)、數(shù)據(jù)管理軟件;數(shù)據(jù)的處理方式包括文件批處理和聯(lián)機(jī)實(shí)時(shí)處理。這一階段的特點(diǎn)是:(1)數(shù)據(jù)可以長期保存。由于計(jì)算機(jī)廣泛應(yīng)用于數(shù)據(jù)管理,程序經(jīng)常性地對數(shù)據(jù)進(jìn)行更新和查詢操作,因此數(shù)據(jù)需要以文件的形式長期保存在外存上。(2)操作系統(tǒng)的文件管理提供了對數(shù)據(jù)的輸入和輸出管理。程序設(shè)計(jì)人員不必過多考慮數(shù)據(jù)物理結(jié)構(gòu),減少了程序設(shè)計(jì)的工作量。(3)數(shù)據(jù)可以共享,但數(shù)據(jù)共享性差,冗余度大。雖然數(shù)據(jù)以文件的形式獨(dú)立存儲,能夠被不同的程序共享使用,但文件的存儲結(jié)構(gòu)不統(tǒng)一,一個文件基本上對應(yīng)于一組特定的程序。(4)數(shù)據(jù)獨(dú)立性,數(shù)據(jù)文件之間彼此孤立,不能反映數(shù)據(jù)之間的聯(lián)系,數(shù)據(jù)大量冗余。文件系統(tǒng)階段的數(shù)據(jù)管理如圖1-3所示。圖1-3 文件系統(tǒng)階段的數(shù)據(jù)管理3數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段(20世紀(jì)60年代后期至今)。隨著計(jì)算機(jī)硬件與軟件技術(shù)的發(fā)展,計(jì)算機(jī)用于管理的規(guī)模越來越大,數(shù)據(jù)量劇增,數(shù)據(jù)管理需求越來越廣泛,文件系統(tǒng)作為數(shù)據(jù)管理手段已經(jīng)不能滿足應(yīng)用的需要。為了解決多用戶、多應(yīng)用程序共享數(shù)據(jù)的需求,出現(xiàn)了專門管理數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng);數(shù)據(jù)的處理方式包括批處理、聯(lián)機(jī)實(shí)時(shí)處理和分布式處理。數(shù)據(jù)庫系統(tǒng)階段的數(shù)據(jù)管理具有如下特點(diǎn):(1)數(shù)據(jù)結(jié)構(gòu)化。在文件系統(tǒng)中,文件內(nèi)部具有一定的數(shù)據(jù)結(jié)構(gòu),但文件之間相互獨(dú)立,無法反映事物之間的聯(lián)系。而數(shù)據(jù)庫系統(tǒng)中,全部數(shù)據(jù)組織成為一個結(jié)構(gòu)化的整體,數(shù)據(jù)結(jié)構(gòu)是文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的本質(zhì)區(qū)別。(2)數(shù)據(jù)的共享性高,冗余度低、易擴(kuò)充。數(shù)據(jù)庫系統(tǒng)不再向某個應(yīng)用而是面向整個系統(tǒng)描述數(shù)據(jù),因此數(shù)據(jù)可以被多個應(yīng)用程序共享使用。數(shù)據(jù)共享可以減少數(shù)據(jù)冗余,節(jié)約存儲空間,同時(shí)還能夠避免數(shù)據(jù)之間的不相容與不一致。(3)數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制。數(shù)據(jù)庫管理系統(tǒng)不僅負(fù)責(zé)結(jié)構(gòu)化數(shù)據(jù)的存取管理,而且提供了數(shù)據(jù)安全性控制、數(shù)據(jù)完整性控制、并發(fā)控制和數(shù)據(jù)恢復(fù)4種控制功能。(4)數(shù)據(jù)獨(dú)立性高。數(shù)據(jù)庫系統(tǒng)階段的數(shù)據(jù)管理如圖1-4所示。圖1-4 數(shù)據(jù)庫系統(tǒng)階段的數(shù)據(jù)管理1.1.2 數(shù)據(jù)庫技術(shù)的基本概念本節(jié)從一些常用術(shù)語和基本概念出發(fā),介紹數(shù)據(jù)庫的基礎(chǔ)知識。1信息(Information)信息是現(xiàn)實(shí)世界事物的存在方式或運(yùn)動狀態(tài)的反映。信息具有可感知、可存儲、可加工、可傳遞和可再生等自然屬性,信息也是各行各業(yè)不可缺少的資源,這是它的社會屬性。2數(shù)據(jù)(Data)數(shù)據(jù)是數(shù)據(jù)庫中存儲的基本對象,是對客觀事物特征的一種抽象的符號化表示,是記錄下來的信息。日常生活中數(shù)據(jù)涉及的面很廣,種類也很多,如數(shù)字、文字、圖形、聲音、圖像等都是數(shù)據(jù)。把各種數(shù)據(jù)采用特定的二進(jìn)制編碼存入計(jì)算機(jī),就是計(jì)算機(jī)中的數(shù)據(jù)。在計(jì)算機(jī)中,程序設(shè)計(jì)人員用數(shù)據(jù)抽象出事物的特性以表示事物。數(shù)據(jù)的形式不能完全表達(dá)其內(nèi)容,需要經(jīng)過語義解釋。例如,利用自然語言描述一個學(xué)生:“張國是一名2008年入學(xué)的男大學(xué)生,1990年6月12日出生,海南人”在計(jì)算機(jī)世界里,為了存儲和處理現(xiàn)實(shí)世界中的事物,我們就要抽象出感興趣的事物特征,組成一個記錄來描述該事物。對上述學(xué)生,我們最感興趣的是學(xué)生的姓名、性別、出生年月、籍貫、入學(xué)時(shí)間等,那么在計(jì)算機(jī)里就可以這樣描述該生信息:張國,男,1990-6-12,海南,2008這就是該學(xué)生的數(shù)據(jù),也稱為記錄。數(shù)據(jù)和信息二者密不可分,信息是客觀事物性質(zhì)或特征在人的頭腦中的反映。信息只有通過數(shù)據(jù)形式表示出來才能被人理解和接受。3數(shù)據(jù)庫(DataBase,DB)數(shù)據(jù)庫顧名思義就是存放數(shù)據(jù)的倉庫,是長期存儲在計(jì)算機(jī)內(nèi)部的、有組織的、可共享的、大量的數(shù)據(jù)集合。這種集合具有如下特點(diǎn):(1)數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲;(2)具有較小的數(shù)據(jù)冗余度;(3)具有較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)充性;(4)為所有用戶共享。4數(shù)據(jù)庫管理系統(tǒng)(Database Management System,簡稱DBMS)數(shù)據(jù)庫管理系統(tǒng)是位于用戶和操作系統(tǒng)之間的一個數(shù)據(jù)管理軟件。如我們學(xué)習(xí)的SQL Server 2005就是一個DBMS。數(shù)據(jù)庫管理系統(tǒng)的功能包括以下方面:(1)數(shù)據(jù)定義功能。數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)定義語言。用來定義數(shù)據(jù)庫的模式,定義有關(guān)約束條件,供用戶建立數(shù)據(jù)庫。(2)數(shù)據(jù)操縱功能。數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)操縱語言,實(shí)現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的檢索、插入、刪除和修改等操作。(3)數(shù)據(jù)庫的運(yùn)行管理功能。數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理數(shù)據(jù)庫運(yùn)行和維護(hù),以保障數(shù)據(jù)的安全性、完整性、并發(fā)性和故障的系統(tǒng)恢復(fù)性。(4)數(shù)據(jù)庫的建立和維護(hù)功能。數(shù)據(jù)庫管理系統(tǒng)在數(shù)據(jù)建立和運(yùn)行過程中,能夠完成初始數(shù)據(jù)的輸入、轉(zhuǎn)換,數(shù)據(jù)庫的轉(zhuǎn)儲、恢復(fù),數(shù)據(jù)庫的性能監(jiān)視和分析等任務(wù)。5數(shù)據(jù)庫系統(tǒng)(Database System,DBS)數(shù)據(jù)庫系統(tǒng)是指計(jì)算機(jī)系統(tǒng)中數(shù)據(jù)庫后的系統(tǒng),也可是采用數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng)。為了避免混淆,通常將數(shù)據(jù)庫系統(tǒng)稱為數(shù)據(jù)庫。狹義地講,數(shù)據(jù)庫系統(tǒng)的構(gòu)成包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng);廣義地講,數(shù)據(jù)庫系統(tǒng)的構(gòu)成包括硬件、軟件、數(shù)據(jù)庫和用戶。數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)如圖1-5所示。圖1-5 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 圖1-6 數(shù)據(jù)庫系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地位數(shù)據(jù)庫系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地位如圖1-6所示:1.1.3 數(shù)據(jù)庫系統(tǒng)的特點(diǎn)1數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)不再面向某一具體應(yīng)用,而是面向現(xiàn)實(shí)世界,具有整體的結(jié)構(gòu)化。不僅數(shù)據(jù)是結(jié)構(gòu)化的,而且存取數(shù)據(jù)的方式也很靈活,可以存取數(shù)據(jù)庫中的某一個數(shù)據(jù)項(xiàng)、一組數(shù)據(jù)項(xiàng)、一個記錄或一組記錄。2數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立是指應(yīng)用程序不隨數(shù)據(jù)存儲結(jié)構(gòu)結(jié)構(gòu)的改變而改變。數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫領(lǐng)域中一個常用術(shù)語,包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。物理獨(dú)立性:指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨(dú)立的。也就是說,數(shù)據(jù)在磁盤上的數(shù)據(jù)庫中怎樣存儲是由數(shù)據(jù)庫管理系統(tǒng)(DBMS)管理的,用戶程序不需要了解。邏輯獨(dú)立性:指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的,也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。3數(shù)據(jù)的共享性高,冗余度低是,易擴(kuò)充數(shù)據(jù)面向整個系統(tǒng),可以被多個用戶、多個應(yīng)用共享使用。數(shù)據(jù)共享可以大大減少數(shù)據(jù)冗余,節(jié)約存儲空間,還可以避免數(shù)據(jù)之間的不相容性與不一致性。4數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)(DBMS)統(tǒng)一管理和控制數(shù)據(jù)庫的共享使多個用戶可以同時(shí)存取數(shù)據(jù)庫中的數(shù)據(jù)甚至可以同時(shí)存取數(shù)據(jù)庫中同一個數(shù)據(jù)。因此,DBMS不僅要有最基本的數(shù)據(jù)管理功能,不必須提供以下幾方面的數(shù)據(jù)控制功能:(1)數(shù)據(jù)的安全性保護(hù):數(shù)據(jù)的安全性是指保護(hù)數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)泄密和破壞。(2)數(shù)據(jù)的完整性檢查:數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和相容性。(3)并發(fā)控制:當(dāng)多個用戶的并發(fā)進(jìn)程同時(shí)存取、修改數(shù)據(jù)庫時(shí),可能會發(fā)生相互干擾而得到錯誤的結(jié)果或使得數(shù)據(jù)庫的完整性遭到破壞,因此必須對多用戶的并發(fā)操作加以控制和協(xié)調(diào)(4)數(shù)據(jù)庫的恢復(fù):是指當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)遭到破壞或丟失,數(shù)據(jù)庫管理系統(tǒng)必須具有將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)的功能。總之,數(shù)據(jù)庫是長期存儲在計(jì)算機(jī)內(nèi)有組織的大量的共享的數(shù)據(jù)集合。它可以供各種用戶共享,具有較高的數(shù)據(jù)獨(dú)立性。因此,數(shù)據(jù)庫管理系統(tǒng)在數(shù)據(jù)庫建立、運(yùn)行和維護(hù)時(shí)對數(shù)據(jù)庫進(jìn)行統(tǒng)一控制,以保證數(shù)據(jù)為完整性、安全性,并在多用戶同時(shí)使用數(shù)據(jù)庫時(shí)進(jìn)行并發(fā)控制,在發(fā)生故障后對數(shù)據(jù)庫系統(tǒng)進(jìn)行恢復(fù)。1.2 數(shù)據(jù)模型數(shù)據(jù)庫結(jié)構(gòu)的基礎(chǔ)是數(shù)據(jù)模型。數(shù)據(jù)模型是一個描述數(shù)據(jù)、數(shù)據(jù)聯(lián)系、數(shù)據(jù)語義以及一致性約束的概念工具的集合。也可以理解為數(shù)據(jù)模型是指數(shù)據(jù)庫中數(shù)據(jù)的組織形式和聯(lián)系方式。1.2.1 數(shù)據(jù)模型的定義數(shù)據(jù)模型是現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象,是計(jì)算機(jī)對現(xiàn)實(shí)世界的模擬,是客觀事物及其聯(lián)系的數(shù)據(jù)描述。由于計(jì)算機(jī)不能直接處理現(xiàn)實(shí)世界中的具體事物,因此必須使用數(shù)據(jù)模型這個工具來把具體事物抽象轉(zhuǎn)化成計(jì)算機(jī)能夠處理的數(shù)據(jù)。數(shù)據(jù)模型應(yīng)滿足三方面要求:一是能較真實(shí)地模擬現(xiàn)實(shí)世界,二是容易為人所理解;三是便于在計(jì)算機(jī)上實(shí)現(xiàn)。一種數(shù)據(jù)模型要很好地滿足這三方面的要求在目前尚很困難。因此,在數(shù)據(jù)庫系統(tǒng)中都是針對不同的使用對象和應(yīng)用目的而采用不同的數(shù)據(jù)模型。不同的數(shù)據(jù)模型提供的模型化數(shù)據(jù)和信息的方法是不同的。在數(shù)據(jù)抽象過程中,根據(jù)應(yīng)用的目的不同,模型分為兩類:第一類是概念模型,也稱為信息模型,它是按用戶的觀點(diǎn)來對數(shù)據(jù)和信息進(jìn)行抽象,主要用于數(shù)據(jù)庫設(shè)計(jì);第二類模型是數(shù)據(jù)模型,也稱數(shù)據(jù)庫模型,它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)建模,主要用于DBMSR的實(shí)現(xiàn)。數(shù)據(jù)抽象過程如圖1-7所示:圖1-7 數(shù)據(jù)抽象過程1.2.2 數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)模型由3個要素組成:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的約束條件。數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)庫對象類型的集合。這些對象是數(shù)據(jù)庫的組成部分,通常包含兩類,一類是與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對象,例如網(wǎng)狀模型中的數(shù)據(jù)項(xiàng)、記錄;一類是與數(shù)據(jù)之間聯(lián)系有關(guān)的對象。數(shù)據(jù)結(jié)構(gòu)是對系統(tǒng)靜態(tài)特性的描述。數(shù)據(jù)操作是對數(shù)據(jù)庫中各種對象的實(shí)例允許執(zhí)行的操作的集合。這些操作包含兩類,一類是數(shù)據(jù)檢索操作,另一類是數(shù)據(jù)更新(插入、修改、刪除)操作。數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述,數(shù)據(jù)的約束條件是一組數(shù)據(jù)完整性規(guī)則的集合。數(shù)據(jù)完整性規(guī)則是指數(shù)據(jù)及其聯(lián)系所具有的制約和依賴規(guī)則,用于限定數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以便保證數(shù)據(jù)的正確性、有效性及相容性。1.2.3 概念模型概念模式實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個中間層次,是現(xiàn)實(shí)世界到信息世界的第一次抽象,用于信息世界的建模,是數(shù)據(jù)庫設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的有力工具,也是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間交流的語言。概念模型能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識,而且其簡單、清晰的特點(diǎn)容易被用戶所理解。1信息世界的基本概念建立概念模型涉及到下面幾個術(shù)語。(1)實(shí)體(Entity):客觀存在并可以相互區(qū)別的事物稱為實(shí)體。實(shí)體可以人、事或者物;也可以是抽象的概念或聯(lián)系。例如一個教師、一個部門、一個產(chǎn)品、教師與系的工作關(guān)系等都是實(shí)體。(2)屬性(Attribute):實(shí)體所具有的某一特性稱為屬性。一個實(shí)體可以由若干個屬性來描述。如學(xué)生實(shí)體可以由學(xué)號、姓名、性別、出生日期、所屬系部、所屬班級、入學(xué)時(shí)間等屬性描述。(2008060301,王超,男,1990,信息管理系,08電子商務(wù)202,2008)這此屬性組合起來描述了一個學(xué)生實(shí)體。(3)碼(Key):唯一標(biāo)識實(shí)體的某個屬性或?qū)傩越M合稱為碼,也叫做關(guān)鍵字。例如學(xué)生號是學(xué)生實(shí)體的碼。(4)域(domain):每個屬性都有一個取值范圍,該取值范圍稱為該屬性的域。例如,學(xué)號的域?yàn)?0位整數(shù),性別的域?yàn)椋?,女)。?)聯(lián)系(Relationship):在現(xiàn)實(shí)世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這此聯(lián)系必然要在信息世界中加以反映。一般存在兩種類型的聯(lián)系:一是實(shí)體內(nèi)部的聯(lián)系,通常指組成實(shí)體的各屬性之間的聯(lián)系。二是實(shí)體之間的聯(lián)系,通常指不同實(shí)體集之間的聯(lián)系。兩個實(shí)體之間的聯(lián)系可以分為三類: 一對一聯(lián)系(1:1)。例如,一個學(xué)生對應(yīng)一個學(xué)號,一個學(xué)號只能對應(yīng)一個學(xué)生,則學(xué)生與學(xué)號之間具有一對一的聯(lián)系。 一對多聯(lián)系(1:n)。例如,一個班級中有若干個學(xué)生,但每個學(xué)生只能在一個班級中學(xué)習(xí)或只能屬于一個班級,則班級與學(xué)生之間是一對多聯(lián)系。 多對多聯(lián)系(m:n)。例如,一個學(xué)生可以選修多門課程,一門課程也可以被多個學(xué)生選修,則學(xué)生和課程之間具有多對多聯(lián)系。實(shí)際上,一對一聯(lián)系是一對多聯(lián)系的特例,而一對多聯(lián)系又是多對多聯(lián)系的特例??梢杂脠D形來表示兩實(shí)體型之間的這三類聯(lián)系,如圖1-8所示。圖1-8 兩個實(shí)體型之間的三類聯(lián)系2概念模型的表示方法概念模型的表示方法很多,其中最著名的是E-R方法(實(shí)體-聯(lián)系方法),它用E-R圖來描述現(xiàn)實(shí)世界的概念模型。E-R圖提供了表示實(shí)體、屬性和聯(lián)系的方法。 實(shí)體:用矩形表示,矩形框內(nèi)寫明實(shí)體名。 屬性:用橢圓表示,橢圓內(nèi)寫明聯(lián)系名,并用無向邊將其與相應(yīng)的實(shí)體連接起來。例如:學(xué)生實(shí)體具有學(xué)號、姓名、性別、出生日期、所屬系部、所屬班級、入學(xué)時(shí)間等屬性,用E-R圖表示如圖1-9所示。圖1-9 學(xué)生實(shí)體及屬性 聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)連接起來,同時(shí)在無向邊旁邊標(biāo)上聯(lián)系的類型(1:1,1:n或m:n)。學(xué)生選課管理E-R圖如圖圖1-10所示:1.2.4 常用的數(shù)據(jù)模型按照數(shù)據(jù)庫中數(shù)據(jù)采取的不同聯(lián)系方式,數(shù)據(jù)模型可分為3種,分別是層次模型、網(wǎng)狀模型和和關(guān)系模型,相應(yīng)的數(shù)據(jù)庫分別稱為:層次型數(shù)據(jù)庫、網(wǎng)狀型數(shù)據(jù)庫和關(guān)系型數(shù)據(jù)庫。目前,數(shù)據(jù)領(lǐng)域中最常用的數(shù)據(jù)模型有四種:層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P汀D1-10 學(xué)生選課E-R圖 圖1-11 層次模型示意圖1層次模型(Hierarchical Mode)層次型是采用樹結(jié)構(gòu)來描述數(shù)據(jù)之間聯(lián)系的模型,依據(jù)數(shù)據(jù)的不同類型,將數(shù)據(jù)分門別類,存儲在不同的層次之下。層次模型是數(shù)據(jù)庫系統(tǒng)最早采用的數(shù)據(jù)模型。層次模型的數(shù)據(jù)結(jié)構(gòu)由結(jié)點(diǎn)和連線組成,結(jié)點(diǎn)表示數(shù)據(jù),連線表示數(shù)據(jù)之間的聯(lián)系。層次模型具有兩個特點(diǎn),第一個特點(diǎn)是有且只有一個結(jié)點(diǎn)沒有雙親結(jié)點(diǎn),這個結(jié)點(diǎn)稱為“根結(jié)點(diǎn)”;第二個特點(diǎn)是根結(jié)點(diǎn)以外的其他結(jié)點(diǎn)有且只有一個雙親結(jié)點(diǎn)。層次模型示意圖如圖1-11所示。從圖上可以看出層次模型像一棵倒立的樹,結(jié)點(diǎn)的雙親是唯一的。其有一個基本的特點(diǎn):任何一個給定的記錄值只有按其路徑查看時(shí),才能顯出它的全部意義,沒有一個子女記錄值能夠脫離雙親記錄值而獨(dú)立存在。圖1-12 教員學(xué)生數(shù)據(jù)庫模型圖1-12是一個教員學(xué)生層次數(shù)據(jù)庫。該層次數(shù)據(jù)庫有四個記錄型。記錄型系是根結(jié)點(diǎn),由系編號、系名、辦公地點(diǎn)三個字段組成。它有兩個子女結(jié)點(diǎn)教研室編號、教研名兩個字段組成。記錄類型學(xué)生由學(xué)號、姓名、成績?nèi)齻€字段組成。記錄教員由教工號、姓名、研究方向三個字段組成。學(xué)生與教員是葉結(jié)點(diǎn),它們沒有子女結(jié)點(diǎn)。由系到教研室、由教研室到教員、由系到學(xué)生均是一對多的聯(lián)系。圖1-13是圖1-12數(shù)據(jù)模型對的一個值。層次模型的數(shù)據(jù)操縱主要有查詢、插入、刪除和修改。進(jìn)行插入、刪除、修改操作時(shí)要滿足層次模型的完整性的完整性約束條件。進(jìn)行插入操作時(shí),如果沒有相應(yīng)的雙親結(jié)點(diǎn)值就不能插入子女結(jié)點(diǎn)值。例如在圖1-12的層次數(shù)據(jù)庫中若新增加一名教師,但尚未分配到某個教研室,這時(shí)就不能將新教師插入數(shù)據(jù)庫中。進(jìn)行刪除操作時(shí),如果刪除雙親結(jié)點(diǎn)值,則相應(yīng)的子女結(jié)點(diǎn)值也被同時(shí)刪除。例如圖1-12的層次數(shù)據(jù)庫中,若刪除計(jì)算機(jī)應(yīng)用技術(shù)教研室,則該教研室所有教師的數(shù)據(jù)將全部刪除。層次模型的優(yōu)點(diǎn)主要有: 層次數(shù)據(jù)模型本身比較簡單。 對于實(shí)體間聯(lián)系是固定的,且預(yù)先定義好的應(yīng)用系統(tǒng),采用層次模型來實(shí)現(xiàn),其性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型。 層次數(shù)據(jù)模型提供了良好的完整性支持。層次模型的缺點(diǎn)主要有: 不能很好的解決多對多關(guān)系、一個結(jié)點(diǎn)具有多個雙親等聯(lián)系,只能通過引入冗余數(shù)據(jù)(易產(chǎn)生不一致性)或創(chuàng)建非自然的數(shù)據(jù)組織來解決。 對插入和刪除操作的限制比較多。 查詢子女結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn)。 由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化。圖1-13 教員學(xué)生數(shù)據(jù)庫的一個值2網(wǎng)狀模型(Network Model)在現(xiàn)實(shí)世界中,很多事物之間的聯(lián)系是非層次關(guān)系的,用層次模型表示非樹形結(jié)構(gòu)是很不直接的,而網(wǎng)狀模型則可以很好解決這個問題。網(wǎng)狀型數(shù)據(jù)庫模型將每項(xiàng)記錄當(dāng)成一個節(jié)點(diǎn),節(jié)點(diǎn)和節(jié)點(diǎn)之間可以建立關(guān)聯(lián),形成一個復(fù)雜的網(wǎng)狀結(jié)構(gòu)。網(wǎng)狀模型是用圖結(jié)構(gòu)來描述數(shù)據(jù)之間聯(lián)系的模型。網(wǎng)狀模型示意圖如圖1-14所示。圖1-14 網(wǎng)狀模型示意圖網(wǎng)狀模型是一種比層次模型更具普遍性的結(jié)構(gòu),它去掉了層次模型的兩個限制,允許多個結(jié)點(diǎn)沒有雙親結(jié)點(diǎn),允許結(jié)點(diǎn)有多個雙親結(jié)點(diǎn),還允許兩個結(jié)點(diǎn)之間有多種聯(lián)系(稱之為復(fù)合聯(lián)系)。因此網(wǎng)狀模型可以更直接地描述現(xiàn)實(shí)世界。下面以學(xué)生選課為例,看一看網(wǎng)狀數(shù)據(jù)庫模式是看樣來組織數(shù)據(jù)的。按照常規(guī)語義,一個學(xué)生可以選修若干門課程,某一課程可以被多個學(xué)生選修,因此學(xué)生與課程之間是多對多聯(lián)系。為此引進(jìn)一個學(xué)生選課的聯(lián)結(jié)記錄,它由三個數(shù)據(jù)項(xiàng)組成,即學(xué)號、課程號、成績,表示某個學(xué)生選修某一門課程及其成績。這樣,學(xué)生選課數(shù)據(jù)庫包括三個記錄:學(xué)生、課程和選課。對于學(xué)生記錄中的一個值,選課記錄中可以有多個值與之聯(lián)系,而選課記錄中的一個值,只能與學(xué)生記錄中的一個值聯(lián)系。學(xué)生與選課之間的聯(lián)系是一對多的聯(lián)系(S-SC),課程與選課之間的聯(lián)系與是一對多的聯(lián)系(C-SC)。圖1-15為學(xué)生選課數(shù)據(jù)庫的網(wǎng)狀數(shù)據(jù)庫模式。圖1-15 學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)庫模式網(wǎng)狀模型的優(yōu)點(diǎn)主要有: 能夠更為直接地描述現(xiàn)實(shí)世界,如一個結(jié)點(diǎn)可以有多個雙親。 具有良好的性能,存取效率較高。網(wǎng)狀模型的缺點(diǎn)主要有: 結(jié)構(gòu)比較復(fù)雜,而且隨看應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握。 其DDL,DML語言復(fù)雜,用戶不容易使用。3關(guān)系模型(Relational Model)關(guān)系模型是用二維表來描述數(shù)據(jù)以及數(shù)據(jù)之間聯(lián)系的模型。關(guān)系模型與以往的模型不同,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的,是目前最重要的一種數(shù)據(jù)模型。關(guān)系數(shù)據(jù)庫系統(tǒng)就是采用關(guān)系模型作為數(shù)據(jù)庫組織的數(shù)據(jù)庫系統(tǒng)。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是二維表格。每一個二維表由行和列組成,每一行稱為一條或一個記錄,描述了一個對象的實(shí)例信息;每一列稱為一個字段或?qū)傩?,描述了對象的屬性信息。關(guān)系模型示意圖如圖1-16所示。圖1-16 關(guān)系模型示意圖從關(guān)系模型示意圖可以看出,關(guān)系模型的優(yōu)點(diǎn)是數(shù)據(jù)結(jié)構(gòu)簡單、理論基礎(chǔ)嚴(yán)密、數(shù)據(jù)與數(shù)據(jù)間的關(guān)聯(lián)表示格式統(tǒng)一,方便描述數(shù)據(jù)間多對多的聯(lián)系。缺點(diǎn)是由于存取路徑對用戶透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型。當(dāng)前使用最為廣泛的數(shù)據(jù)庫SQL Server 2005、Oracle、DB2等都是關(guān)系模型的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。關(guān)系模型的相關(guān)內(nèi)容將在1.4.1介紹。1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫管理系統(tǒng)是多種多樣的,可以支持不同的數(shù)據(jù)模型,使用不同的數(shù)據(jù)庫語言,建立在不同的操作系統(tǒng)之上,數(shù)據(jù)的存儲結(jié)構(gòu)也都各不相同。從數(shù)據(jù)庫管理系統(tǒng)角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構(gòu);這是數(shù)據(jù)庫管理系統(tǒng)內(nèi)部的系統(tǒng)結(jié)構(gòu)。1.3.1 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式是指數(shù)據(jù)庫系統(tǒng)是由外模式、模式和內(nèi)模式三級構(gòu)成,如圖1-17所示。圖1-17 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)(1)模式。模式也稱邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。模式是數(shù)據(jù)庫數(shù)據(jù)在邏輯級上的視圖。一個數(shù)據(jù)庫只有一個模式。定義模式時(shí)不僅要定義數(shù)據(jù)的邏輯結(jié)構(gòu),而且要定義數(shù)據(jù)之間的聯(lián)系,定義與數(shù)據(jù)有關(guān)的安全性、完整性要求。(2)外模式。外模式也稱子模式或用戶模式,是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的供述是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖。外模式通常是模式的子集。一個數(shù)據(jù)庫可以有多個外模式,每一個外模式都是為不同的用戶建立的數(shù)據(jù)視圖。外模式是保證數(shù)據(jù)庫安全性的一個有力措施。每個用戶只能看見和訪問所對應(yīng)的外模式中的數(shù)據(jù),數(shù)據(jù)庫中的其余數(shù)據(jù)是不可見的。(3)內(nèi)模式。內(nèi)模式也稱存儲模式,是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。例如,索引按照什么方式組織;數(shù)據(jù)是否壓縮存儲,是否加密等等。一個數(shù)據(jù)庫只有一個內(nèi)模式。1.3.2數(shù)據(jù)庫的二級映象功能與數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三級抽象,它把數(shù)據(jù)的具體組織留給數(shù)據(jù)庫管理系統(tǒng)管理,使用戶能邏輯地抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的具體表示與存儲方式。為以能夠在內(nèi)部實(shí)現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫管理系統(tǒng)在這三級模式中提供了兩層映象:外模式/模式映象模式/內(nèi)模式映象(1)外模式/模式映象外模式/模式映象是指外模式與模式之間的某種對應(yīng)關(guān)系。這些映象定義通常包含在各自外模式的描述中。當(dāng)模式改變時(shí)(例如增加新的關(guān)系、屬性等),由數(shù)據(jù)庫管理員對各個外模式/模式的映象作相應(yīng)改變,從而使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡稱數(shù)據(jù)的邏輯獨(dú)立性。(2)模式/內(nèi)模式映象模式/內(nèi)模式映象是指數(shù)據(jù)庫全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。當(dāng)數(shù)據(jù)庫的發(fā)生改變時(shí)(例如存儲數(shù)據(jù)庫的存儲方法發(fā)生改變),由于存在模式/內(nèi)模式映象,使得數(shù)據(jù)的邏輯結(jié)構(gòu)保持不變,也即模式不變?;蛘弋?dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了(例如選用了另一種存儲結(jié)構(gòu)),由數(shù)據(jù)庫管理員對模式/內(nèi)模式映象作相應(yīng)改變,可以使模式保持不變。都可以使應(yīng)用程序不必改變。從而保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡稱數(shù)據(jù)的物理獨(dú)立性。1.4 關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫系統(tǒng)是支持關(guān)系模式的數(shù)據(jù)庫系統(tǒng),是當(dāng)前信息管理系統(tǒng)中最常用的數(shù)據(jù)庫。關(guān)系數(shù)據(jù)庫采用關(guān)系模式,應(yīng)用關(guān)系代數(shù)的方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。本節(jié)主要介紹關(guān)系模型、關(guān)系的基本運(yùn)算。1.4.1 關(guān)系模型的基本概念關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性三部分組成。在介紹三個組成部分之前,行先了解關(guān)系模型中的一些基本術(shù)語。1關(guān)系模型概述在用戶的角度看來,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,由行和列組成?,F(xiàn)在以學(xué)生登記表為例,介紹關(guān)系模型中的一些術(shù)語。表1-1學(xué)生登記表(1)關(guān)系(Relation):一張二維表,一個關(guān)系通常指一張表,如上圖的學(xué)生登記表。(2)元組(Tuple):表中的一行,也稱為一條記錄。(3)屬性(Attribute):表中的一列。每個屬性有一個屬性名。如上表有六列,對應(yīng)六個屬性(學(xué)號,姓名,年齡,性別,系和年級)。(4)域(Domain):屬性的取值范圍,如性別的域是(男,女)。(5)分量:元組的一個屬性值。(6)主碼(Key):也稱主關(guān)鍵字,表中的屬性組中能夠用來唯一標(biāo)識元組的屬性。如上表中的學(xué)號,可以唯一確定一個學(xué)生。一個關(guān)系只能有一個主碼。(7)外碼:也稱外關(guān)鍵字。不屬于關(guān)系中的主關(guān)鍵字但卻是另一個關(guān)系中的主關(guān)鍵字。外碼表示了兩個關(guān)系之間的聯(lián)系。在關(guān)系模型中,通常用關(guān)系模式來表示數(shù)據(jù)及數(shù)據(jù)之間的關(guān)系。關(guān)系模式的結(jié)構(gòu)如下:關(guān)系名(屬性1,屬性2,屬性n)因此,圖1-15所示P王亞楠12的關(guān)系模型可以表示為:系(系號,系名,系地址)課程(課程號,課程名,所屬系號)學(xué)生(學(xué)號,姓名,所屬系號)成績(學(xué)號,課程號,成績)【提示】:畫實(shí)下劃線的屬性表示主碼,虛線的屬性表示外碼。2關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是一張二維表格結(jié)構(gòu)。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)非常單一,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體之間的各種聯(lián)系均用關(guān)系來表示。關(guān)系模型數(shù)據(jù)結(jié)構(gòu)可如表1-1所示。3關(guān)系操作關(guān)系模型中給出了關(guān)系操作的能力與特點(diǎn)。關(guān)系操作的特點(diǎn)是集合操作方式,即操作的對象和結(jié)果都是集合。這種操作方式也稱為一次一集合(set-at-time)的方式。關(guān)系模型中常用的關(guān)系操作包括:選擇(Select)、投影(Project)、連接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)、等查詢(Query)操作和增加(Insert)、刪除(Delete)、修改(Update)操作兩大部分。查詢的表達(dá)能力是其中最主要的部分。(1)數(shù)據(jù)查詢:是將數(shù)據(jù)從關(guān)系數(shù)據(jù)庫中取出并放入指定內(nèi)存,數(shù)據(jù)可以來自同一關(guān)系或不同的多個關(guān)系(2)數(shù)據(jù)插入:將數(shù)據(jù)添加到指定關(guān)系中,形成關(guān)系中的元組(記錄)。(3)數(shù)據(jù)刪除:將指定關(guān)系中的元組(記錄)刪除。(4)數(shù)據(jù)修改:修改指定關(guān)系中的元組(記錄)的屬性。關(guān)系操作能力可以用關(guān)系代數(shù)或關(guān)系演算來表示。關(guān)系代數(shù)是用對關(guān)系的運(yùn)算來表達(dá)查詢要求的方式,是一種抽象的查詢語言。關(guān)系演算是用謂詞來表達(dá)查詢要求的方式。這些抽象的語言與具體的數(shù)據(jù)庫管理系統(tǒng)中實(shí)現(xiàn)的實(shí)際語言并不完全一致。4關(guān)系的完整性數(shù)據(jù)完整性是指關(guān)系模型中數(shù)據(jù)的正確性與一致性。關(guān)系模型允許定義三類完整性約束:實(shí)體完整性、參照完整性和用戶定義的完整性。關(guān)系型數(shù)據(jù)庫系統(tǒng)提供了對實(shí)體完整性、參照完整性約束的自動支持,也就是在插入、修改、刪除操作時(shí),數(shù)據(jù)庫系統(tǒng)自動保證數(shù)據(jù)的正確性和一致性。(1)實(shí)體完整性實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值,而不僅是主碼不能取空值。例如學(xué)生表中的學(xué)號屬性不能為空。(2)參照完整性參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。這條規(guī)則要求不能引用不存在的元組。例如學(xué)生選課表中的學(xué)號不能引用學(xué)生表中不存在的學(xué)號。(3)用戶定義的完整性用戶定義的完整性就是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件。它反映一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。例如某個屬性必須取唯一值、某些屬性值之間應(yīng)滿足一定的函數(shù)關(guān)系。像年齡取值范圍一般為0-150。1.4.2 關(guān)系數(shù)據(jù)庫的基本運(yùn)算1SQL語言簡介SQL是結(jié)構(gòu)化查詢語言Structured Query Language 的縮寫。SQL語言是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,是一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語言,它提供了數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱和數(shù)據(jù)控制功能。SQL是一個通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言。SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進(jìn)行溝通,以達(dá)到操縱數(shù)據(jù)庫數(shù)據(jù)的目的。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),如Oracle、SQL Server等都采用了SQL語言標(biāo)準(zhǔn)。SQL語言包含以下4個部分:(1)數(shù)據(jù)定義語言DDL(Data Definition Language)SQL的數(shù)據(jù)定義功能包括三部分,可以用于定義和修改基本表、視圖和索引。 CREATE用于創(chuàng)建表、視圖和索引。 DROP用于刪除表、視圖和索引。 ALTER用于修改表。(2)數(shù)據(jù)查詢語言DQL(Data Manipulation Language)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論