ch07數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)_第1頁(yè)
ch07數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)_第2頁(yè)
ch07數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)_第3頁(yè)
ch07數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)_第4頁(yè)
ch07數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩59頁(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)介

第七章信息技術(shù)導(dǎo)論(第3版)數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材01數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)數(shù)據(jù)庫(kù)的基本概念(1)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)(DataBase,DB)是一種長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)就是一種存放各種數(shù)據(jù)的倉(cāng)庫(kù),只不過(guò)這個(gè)倉(cāng)庫(kù)是存在于計(jì)算機(jī)的存儲(chǔ)設(shè)備中的。數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲(chǔ),具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可以為各類(lèi)用戶(hù)或應(yīng)用程序提供數(shù)據(jù)共享服務(wù)。數(shù)據(jù)庫(kù)的基本概念(2)數(shù)據(jù)庫(kù)管理系統(tǒng)及其功能數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem,DBMS)是一種介于用戶(hù)與操作系統(tǒng)之間,專(zhuān)門(mén)用于管理數(shù)據(jù)的軟件,如圖7.1所示。數(shù)據(jù)庫(kù)的基本概念(2)數(shù)據(jù)庫(kù)管理系統(tǒng)及其功能DBMS的主要功能體現(xiàn)在以下5方面:①數(shù)據(jù)定義,DDL用于對(duì)數(shù)據(jù)庫(kù)、表、視圖、索引及數(shù)據(jù)之間的聯(lián)系進(jìn)行定義;②數(shù)據(jù)操縱,DML用于對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的查詢(xún)、刪除、插入和修改操作;③數(shù)據(jù)庫(kù)運(yùn)行管理,DBMS的重要功能是對(duì)數(shù)據(jù)庫(kù)的運(yùn)行管理,具體包括數(shù)據(jù)的完整性、安全性、并發(fā)性控制及系統(tǒng)發(fā)生故障后的迅速恢復(fù)等;④數(shù)據(jù)庫(kù)的建立與維護(hù),數(shù)據(jù)庫(kù)的建立主要包括數(shù)據(jù)對(duì)象的創(chuàng)建、初始數(shù)據(jù)的錄入等;⑤數(shù)據(jù)庫(kù)通信,DBMS提供了數(shù)據(jù)庫(kù)的訪問(wèn)方法,主要包括:與網(wǎng)絡(luò)中其他軟件系統(tǒng)的通信功能,DBMS與其他DBMS或與文件系統(tǒng)之間的數(shù)據(jù)轉(zhuǎn)換,異構(gòu)數(shù)據(jù)庫(kù)之間的互訪或互操作等。數(shù)據(jù)庫(kù)的基本概念(3)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)直接使用數(shù)據(jù)庫(kù)管理系統(tǒng)管理數(shù)據(jù)時(shí),用戶(hù)需要熟記一系列的操作步驟及命令,為非專(zhuān)業(yè)用戶(hù)帶來(lái)了很多不便。為此,數(shù)據(jù)庫(kù)開(kāi)發(fā)人員在DBMS的基礎(chǔ)上,根據(jù)用戶(hù)實(shí)際需要,開(kāi)發(fā)出相應(yīng)的數(shù)據(jù)庫(kù)應(yīng)用軟件。有了數(shù)據(jù)庫(kù)應(yīng)用軟件,一般的用戶(hù)只需稍加培訓(xùn)就可以非常方便地管理數(shù)據(jù)。數(shù)據(jù)庫(kù)的基本概念(4)數(shù)據(jù)庫(kù)系統(tǒng)及其組成數(shù)據(jù)庫(kù)系統(tǒng)(DataBaseSystem,DBS)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)。DBS包括4部分:數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)和數(shù)據(jù)庫(kù)管理員。數(shù)據(jù)庫(kù)管理技術(shù)的發(fā)展(1)人工管理階段(20世紀(jì)50年代中期之前)在本階段,計(jì)算機(jī)主要用于科學(xué)計(jì)算,數(shù)據(jù)量不大。這個(gè)時(shí)期數(shù)據(jù)存儲(chǔ)設(shè)備主要是卡片、磁帶和紙帶,沒(méi)有專(zhuān)門(mén)的數(shù)據(jù)管理軟件,數(shù)據(jù)需要人工管理。本階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系如圖7.2所示。數(shù)據(jù)庫(kù)管理技術(shù)的發(fā)展(2)文件管理階段(20世紀(jì)50年代后期?60年代中期)在本階段,計(jì)算機(jī)技術(shù)有了很大的發(fā)展,不僅用于科學(xué)計(jì)算,還被用于信息數(shù)據(jù)的處理。這個(gè)時(shí)期,數(shù)據(jù)存儲(chǔ)設(shè)備主要是磁盤(pán)和磁鼓,數(shù)據(jù)與程序分開(kāi)存放,數(shù)據(jù)可以直接在磁盤(pán)中進(jìn)行存取,使用時(shí)再由程序調(diào)用數(shù)據(jù)文件。期間出現(xiàn)了操作系統(tǒng),并使用專(zhuān)門(mén)的管理軟件(文件系統(tǒng))實(shí)施數(shù)據(jù)管理,使得外存數(shù)據(jù)更加易于管理。本階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系如圖7.3所示。數(shù)據(jù)庫(kù)管理技術(shù)的發(fā)展(3)數(shù)據(jù)庫(kù)管理階段(20世紀(jì)60年代后期)隨著計(jì)算機(jī)軟件和硬件的發(fā)展、數(shù)據(jù)處理規(guī)模的擴(kuò)大,計(jì)算機(jī)越來(lái)越多地應(yīng)用于管理領(lǐng)域。20世紀(jì)60年代后期出現(xiàn)了數(shù)據(jù)庫(kù)技術(shù)。本階段數(shù)據(jù)管理技術(shù)的特點(diǎn)如下:①數(shù)據(jù)結(jié)構(gòu)化:數(shù)據(jù)庫(kù)中的文件是相互聯(lián)系的,總體上具有一定的結(jié)構(gòu)形式。②數(shù)據(jù)共享性較高:數(shù)據(jù)庫(kù)中包含了所有用戶(hù)的數(shù)據(jù),每個(gè)用戶(hù)有時(shí)只使用其中部分?jǐn)?shù)據(jù),不同用戶(hù)使用的數(shù)據(jù)有時(shí)是重疊的,同一數(shù)據(jù)可以被多個(gè)用戶(hù)使用。③數(shù)據(jù)冗余減少:一個(gè)數(shù)據(jù)可以從系統(tǒng)層面共享給不同的應(yīng)用系統(tǒng),不再面向單獨(dú)的應(yīng)用,多個(gè)應(yīng)用系統(tǒng)的共享數(shù)據(jù)物理存儲(chǔ)只有一次,從而減少了數(shù)據(jù)冗余。數(shù)據(jù)庫(kù)管理技術(shù)的發(fā)展(3)數(shù)據(jù)庫(kù)管理階段(20世紀(jì)60年代后期)④數(shù)據(jù)的安全性、可靠性和正確性有了保障:數(shù)據(jù)庫(kù)管理系統(tǒng)提供數(shù)據(jù)的安全性、完整性、并發(fā)性控制和恢復(fù)能力。本階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系如圖7.4所示。數(shù)據(jù)模型01概念數(shù)據(jù)模型(1)基本概念概念數(shù)據(jù)模型(ConceptualDataModel)用于信息世界的建模。數(shù)據(jù)管理的對(duì)象是客觀事物,由于現(xiàn)實(shí)世界的復(fù)雜性,需要先把現(xiàn)實(shí)世界抽象為信息世界,建立信息世界中的數(shù)據(jù)模型,再將信息世界中的數(shù)據(jù)模型轉(zhuǎn)化為可以在計(jì)算機(jī)中實(shí)現(xiàn)的、最終支持?jǐn)?shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)模型。概念數(shù)據(jù)模型是信息世界對(duì)現(xiàn)實(shí)世界的第一層抽象,是數(shù)據(jù)庫(kù)設(shè)計(jì)人員設(shè)計(jì)數(shù)據(jù)庫(kù)的有力工具,是數(shù)據(jù)庫(kù)設(shè)計(jì)人員與用戶(hù)之間交流的語(yǔ)言。最有名的概念數(shù)據(jù)模型的表示方法是E-R模型(Entity-RelationshipApproach,實(shí)體-聯(lián)系模型)。E-R模型包含三個(gè)要素:實(shí)體、屬性和實(shí)體間的聯(lián)系。數(shù)據(jù)模型01概念數(shù)據(jù)模型(2)實(shí)體間的聯(lián)系兩個(gè)實(shí)體之間的聯(lián)系主要有以下3種。一對(duì)一聯(lián)系(1:1):對(duì)于實(shí)體集A中的每個(gè)實(shí)體,實(shí)體集B中只有一個(gè)實(shí)體與之對(duì)應(yīng),反之亦然,則稱(chēng)實(shí)體集A和實(shí)體集B具有“一對(duì)一”的聯(lián)系?!耙粚?duì)多”聯(lián)系如果對(duì)于實(shí)體集A中的每個(gè)實(shí)體,實(shí)體集B中有多個(gè)實(shí)體與之對(duì)應(yīng);反之,對(duì)于實(shí)體集B的每個(gè)實(shí)體,實(shí)體集A中只有一個(gè)實(shí)體與之聯(lián)系,則稱(chēng)實(shí)體集A與B存在“一對(duì)多”聯(lián)系。“多對(duì)多”聯(lián)系(mm):如果對(duì)于實(shí)體集A中的每個(gè)實(shí)體,實(shí)體集B中有〃個(gè)實(shí)體與之對(duì)應(yīng),同時(shí),對(duì)于實(shí)體集B的每個(gè)實(shí)體,實(shí)體集A中有秫個(gè)實(shí)體與之聯(lián)系,則稱(chēng)實(shí)體集A與實(shí)體集B存在“多對(duì)多”的聯(lián)系。數(shù)據(jù)模型01概念數(shù)據(jù)模型(3)E-R模型表示E-R模型包含了實(shí)體、屬性和聯(lián)系三要素。在E-R模型中,實(shí)體用矩形表示,在圖形內(nèi)部標(biāo)注實(shí)體名,屬性用橢圓表示,在圖形內(nèi)部標(biāo)注屬性名,聯(lián)系用菱形表示,在圖形內(nèi)部標(biāo)注聯(lián)系名,使用無(wú)向邊連接相關(guān)的對(duì)象。圖7.5是實(shí)體與屬性的一個(gè)實(shí)例。數(shù)據(jù)模型2.邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型(LogicalDataModel)是用戶(hù)從數(shù)據(jù)庫(kù)所看到的模型,既要面向用戶(hù),又要面向系統(tǒng),是具體的數(shù)據(jù)庫(kù)管理系統(tǒng)所支持的數(shù)據(jù)模型,主要用于數(shù)據(jù)庫(kù)管理系統(tǒng)的實(shí)現(xiàn)。常用的邏輯數(shù)據(jù)模型主要有三種:網(wǎng)狀數(shù)據(jù)模型、層次數(shù)據(jù)模型和關(guān)系數(shù)據(jù)模型。這三種模型是按其數(shù)據(jù)結(jié)構(gòu)命名的,前兩種為格式化的結(jié)構(gòu),后一種為非格式化的結(jié)構(gòu)。數(shù)據(jù)模型的構(gòu)造方法決定了數(shù)據(jù)之間的聯(lián)系方式以及數(shù)據(jù)庫(kù)的設(shè)計(jì)方法。數(shù)據(jù)模型2.邏輯數(shù)據(jù)模型網(wǎng)狀模型(NetworkModel)是采用網(wǎng)狀結(jié)構(gòu)表示實(shí)體及其之間聯(lián)系的模型,如圖7.6所示。層次模型(HierarchicalModel)是采用樹(shù)型結(jié)構(gòu)表示實(shí)體類(lèi)型及實(shí)體間聯(lián)系的數(shù)據(jù)模型,如圖7.7所示。數(shù)據(jù)模型3.物理數(shù)據(jù)模型物理數(shù)據(jù)模型(PhysicalDataModel)是面向計(jì)算機(jī)物理表示的模型,與具體的數(shù)據(jù)庫(kù)管理系統(tǒng)、操作系統(tǒng)及硬件有關(guān),描述了數(shù)據(jù)在存儲(chǔ)介質(zhì)上的組織結(jié)構(gòu),大部分物理數(shù)據(jù)模型的實(shí)現(xiàn)工作由系統(tǒng)自動(dòng)完成。每種邏輯數(shù)據(jù)模型實(shí)現(xiàn)時(shí)都有對(duì)應(yīng)的物理數(shù)據(jù)模型。02關(guān)系數(shù)據(jù)庫(kù)基礎(chǔ)基本概念基本概念(1)關(guān)系一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系有一個(gè)關(guān)系名。在Access數(shù)據(jù)庫(kù)中,關(guān)系名就是數(shù)據(jù)庫(kù)中表的名稱(chēng),如表7.1所示的學(xué)生信息表。(2)元組在一個(gè)二維表中,表中的行稱(chēng)為元組,每行是一個(gè)元組,也稱(chēng)為一條記錄。表7.1所示的學(xué)生信息表中以“學(xué)號(hào)”為“201201001”“201201002”標(biāo)志的行都稱(chēng)為一條記錄。(3)屬性二維表中每列稱(chēng)為一個(gè)屬性,每列有一個(gè)屬性名,也稱(chēng)為字段名。(4)域?qū)傩缘娜≈捣秶床煌M對(duì)同一個(gè)屬性的取值所限定的范圍?;靖拍罨靖拍?5)候選碼、主碼在一張表中能唯一標(biāo)識(shí)一條記錄的字段或字段的組合,稱(chēng)為候選碼。一張表中可能有多個(gè)候選碼,從中選擇一個(gè)為主碼,也稱(chēng)為主鍵。(6)外碼如果表中的一個(gè)字段不是本表的碼,而是另一個(gè)表中的主碼或候選碼,這個(gè)字段稱(chēng)為外碼,又稱(chēng)為外鍵。在關(guān)系數(shù)據(jù)庫(kù)中,各數(shù)據(jù)表間可以通過(guò)此關(guān)鍵字建立相互聯(lián)系,如表7.1和表7.2是通過(guò)“學(xué)號(hào)”建立聯(lián)系的?;靖拍罨靖拍?7)關(guān)系模式對(duì)關(guān)系的描述稱(chēng)為關(guān)系模式,一個(gè)關(guān)系模式對(duì)應(yīng)一個(gè)關(guān)系的結(jié)構(gòu)。(8)關(guān)系的特點(diǎn)?每個(gè)屬性必須是不可劃分的數(shù)據(jù)項(xiàng),表中不能再包含表。?每列的元素必須是同一類(lèi)型的數(shù)據(jù),來(lái)自同一個(gè)域。?在同一個(gè)關(guān)系中不能出現(xiàn)相同的屬性名。?任意兩個(gè)元組不能完全相同。?行的次序和列的次序無(wú)關(guān)緊要。關(guān)系運(yùn)算1.集合運(yùn)算下面以?xún)蓚€(gè)相同結(jié)構(gòu)的關(guān)系R(如表7.3所示)和S(如表7.4所示)為例,對(duì)常用的幾種集合運(yùn)算進(jìn)行說(shuō)明。①并運(yùn)算:關(guān)系R和S進(jìn)行并運(yùn)算,就是指將兩個(gè)關(guān)系中的所有元組合并,若存在相同的元組,只留下其中的一個(gè)元組,組成一個(gè)新的關(guān)系,稱(chēng)為這兩個(gè)關(guān)系的并運(yùn)算。關(guān)系R和S進(jìn)行并運(yùn)算的結(jié)果如表7.5所示。關(guān)系運(yùn)算1.集合運(yùn)算②交運(yùn)算:關(guān)系R和S進(jìn)行交運(yùn)算,由既屬于R又屬于S的元組組成一個(gè)新的關(guān)系,稱(chēng)為這兩個(gè)關(guān)系的交運(yùn)算。關(guān)系R和S進(jìn)行交運(yùn)算的結(jié)果如表7.6所示。③差運(yùn)算:關(guān)系R和S進(jìn)行差運(yùn)算,是由屬于次但不屬于S的元組組成一個(gè)新的關(guān)系,稱(chēng)為這兩個(gè)關(guān)系的差運(yùn)算。關(guān)系R和S進(jìn)行差運(yùn)算的結(jié)果如表7.7所示。關(guān)系運(yùn)算2.關(guān)系運(yùn)算在關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中,常用的關(guān)系操作有3種:選擇運(yùn)算、投影運(yùn)算和連接運(yùn)算。①選擇(Selection)。選擇是從行的角度對(duì)關(guān)系進(jìn)行的運(yùn)算,是從二維表中選擇符合給定條件的所有元組。例如,從表7.1中選擇學(xué)生性別為“男”的記錄,結(jié)果如表7.8所示。②投影(Projection)。投影是從列的角度對(duì)關(guān)系進(jìn)行的運(yùn)算,從二維表中選出所需要的列。例如,從表7.1中找出學(xué)生的學(xué)號(hào)和性別,結(jié)果如表7.9所示。關(guān)系運(yùn)算2.關(guān)系運(yùn)算③連接(Join)。連接是關(guān)系的橫向結(jié)合,將兩個(gè)二維表中的記錄,按照給定條件連接起來(lái)得到一個(gè)新的關(guān)系,其中包含滿足連接條件的記錄。連接運(yùn)算中有兩類(lèi)重要的運(yùn)算:等值連接和自然連接。下面以關(guān)系R(見(jiàn)表7.3)和關(guān)系M(見(jiàn)表7.10)為例,說(shuō)明兩類(lèi)連接運(yùn)算。關(guān)系運(yùn)算2.關(guān)系運(yùn)算等值連接:從關(guān)系氏和肱中分別選取一個(gè)屬性列,如從兩個(gè)關(guān)系中均選取3這個(gè)屬性列,則等值連接是選取W屬性列中值相等的那些元組。結(jié)果如表7.11所示。自然連接:按照字段值對(duì)應(yīng)相等的條件進(jìn)行的連接操作稱(chēng)為等值連接。自然連接是去掉重復(fù)屬性的等值連接。例如,現(xiàn)將關(guān)系反與以進(jìn)行自然連接,結(jié)果如表7.12所示。關(guān)系的完整性關(guān)系模型的數(shù)據(jù)完整性是保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性和一致性的一種約束條件。數(shù)據(jù)庫(kù)完整性包括實(shí)體完整性、參照完整性和用戶(hù)定義完整性。實(shí)體完整性規(guī)則。實(shí)體完整性是指關(guān)系的主碼不能取空值和重復(fù)的值。參照完整性規(guī)則。參照完整性定義了關(guān)系之間聯(lián)系的主碼與外碼之間引用的規(guī)則,即外碼要么取空值,要么等于相關(guān)關(guān)系中主碼的某個(gè)值。用戶(hù)定義完整性規(guī)則。用戶(hù)定義的完整性是根據(jù)應(yīng)用環(huán)境,針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)制定的約束條件。關(guān)系的完整性常用關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介簡(jiǎn)介目前比較常用的關(guān)系數(shù)據(jù)庫(kù)包括SQLServer.Oracle、DB2、Access等。還有一些開(kāi)源數(shù)據(jù)庫(kù),如MySQL、SQLite、PostgreSQL等。(1)SQLServerSQLServer是Microsoft公司推出的關(guān)系數(shù)據(jù)庫(kù)。SQLServer數(shù)據(jù)庫(kù)具有高性能、可擴(kuò)展、支持Windows圖形化管理工具、事務(wù)處理及先進(jìn)的系統(tǒng)管理等特點(diǎn)。(2)OracleOracle是甲骨文公司最早提出的基于SQL數(shù)據(jù)庫(kù)語(yǔ)言的關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品之一,自1979年問(wèn)世以來(lái),融匯了數(shù)據(jù)庫(kù)的各種先進(jìn)技術(shù),在小型機(jī)及微型機(jī)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)領(lǐng)域,居于舉足輕重的地位。常用關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介簡(jiǎn)介(3)DB2DB2是IBM公司研制的一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。DB2主要應(yīng)用于大型應(yīng)用系統(tǒng),具有較好的可伸縮性,可支持從大型機(jī)到單用戶(hù)環(huán)境,應(yīng)用于OS/2、Windows等平臺(tái)下。(4)AccessMicrosoftOfficeAccess是由Microsoft發(fā)布的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),是一種小型的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。(5)MySQLMySQL是瑞典的MySQLAB公司開(kāi)發(fā)的一款功能強(qiáng)大、使用靈活、多用戶(hù)、多線程的開(kāi)源數(shù)據(jù)庫(kù)管理系統(tǒng)。常用關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介簡(jiǎn)介(6)SQLiteSQLite是一款輕型的、開(kāi)源數(shù)據(jù)庫(kù)管理系統(tǒng),目前已經(jīng)在很多嵌入式產(chǎn)品中使用。(7)PostgreSQLPostgreSQL數(shù)據(jù)庫(kù)是以Postgres版本4.2為基礎(chǔ),由美國(guó)加州伯克利分校開(kāi)發(fā)的一款開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。(8)VisualFoxProVisualFoxPro簡(jiǎn)稱(chēng)VFP,是Microsoft公司在FoxPro2.5的基礎(chǔ)上推出的數(shù)據(jù)庫(kù)開(kāi)發(fā)軟件。VisualFoxPro源于美國(guó)FoxSoftware公司推出的數(shù)據(jù)庫(kù)產(chǎn)品FoxBase。其最高版本VisualFoxPro9.0于2007年發(fā)布,是VFP的最后一個(gè)版本。03結(jié)構(gòu)化查詢(xún)語(yǔ)言SQL概述SQL是結(jié)構(gòu)化查詢(xún)語(yǔ)言(StructuredQueryLanguage)的縮寫(xiě),是一種數(shù)據(jù)庫(kù)查詢(xún)和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)及查詢(xún)、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。目前,Oracle、SQLServer、MySQL、Access等比較流行的關(guān)系數(shù)據(jù)庫(kù)都支持SQL。SQL的主要功能是可以與各種數(shù)據(jù)庫(kù)建立聯(lián)系,進(jìn)行溝通,從而達(dá)到操縱數(shù)據(jù)庫(kù)數(shù)據(jù)的目的。SQL語(yǔ)句可以用來(lái)執(zhí)行各種各樣的操作,如更新、刪除及查詢(xún)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。SQL是一種功能比較齊全的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言,包含以下4部分。SQL概述概述①數(shù)據(jù)定義語(yǔ)言(DataDefinitionLanguage,DDL):負(fù)責(zé)數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫(kù)對(duì)象的定義,主要包括以CREATE、ALTER和DROP開(kāi)頭的語(yǔ)句。②數(shù)據(jù)查詢(xún)語(yǔ)言(DataQueryLanguage,DQL):進(jìn)行數(shù)據(jù)查詢(xún)而不會(huì)對(duì)數(shù)據(jù)本身進(jìn)行修改。保留字SELECT是使用最多的動(dòng)詞,與SELECT配合使用的保留字有WHERE、ORDERBY、GROUPBY和HAVING。③數(shù)據(jù)操縱語(yǔ)言(DataManipulationLanguage,DML):實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作,包括以INSERT、UPDATE、DELETE開(kāi)頭的語(yǔ)句。④數(shù)據(jù)控制語(yǔ)言(DataControlLanguage,DCL):用來(lái)設(shè)置或者更改數(shù)據(jù)庫(kù)用戶(hù)或角色權(quán)限,包括以GRANT、DENY、REVOKE等開(kāi)頭的語(yǔ)句。SQL概述數(shù)據(jù)定義1.數(shù)據(jù)庫(kù)的創(chuàng)建與刪除創(chuàng)建數(shù)據(jù)庫(kù)的基本格式為:CREATEDATABASE數(shù)據(jù)庫(kù)名稱(chēng)【例7-1】創(chuàng)建名為“圖書(shū)管理”的數(shù)據(jù)庫(kù)。CREATEDATABASE圖書(shū)管理刪除數(shù)據(jù)庫(kù)的基本格式為:DROPDATABASE數(shù)據(jù)庫(kù)名稱(chēng)[,…n]數(shù)據(jù)定義2.表的定義、刪除與修改數(shù)據(jù)定義2.表的定義、刪除與修改數(shù)據(jù)定義2.表的定義、刪除與修改1.數(shù)據(jù)查詢(xún)數(shù)據(jù)操縱1.數(shù)據(jù)查詢(xún)數(shù)據(jù)操縱2.數(shù)據(jù)更新數(shù)據(jù)操縱(1)插入數(shù)據(jù)插入數(shù)據(jù)的功能是向指定表中添加記錄并給新記錄的字段賦值,或者將某個(gè)查詢(xún)結(jié)果插入指定表中。數(shù)據(jù)插入語(yǔ)句是INSERTINTO。(2)修改數(shù)據(jù)修改指定表中符合條件的記錄,并使用指定的表達(dá)式修改對(duì)應(yīng)字段的值。(3)刪除數(shù)據(jù)刪除數(shù)據(jù)先從指定表中找到需要?jiǎng)h除的數(shù)據(jù)記錄,然后從指定表中刪除。04數(shù)據(jù)庫(kù)應(yīng)用Access20101.利用模板創(chuàng)建數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)的創(chuàng)建首先,單擊Backstage視圖(后臺(tái)視圖,單擊“文件”選項(xiàng)卡可查看Backstage視圖)中的“新建”命令,再單擊“樣本模板”一“可用模板”,從中選擇要使用的模板;然后,在“文件名”文本框中輸入數(shù)據(jù)庫(kù)的名稱(chēng),并指定保存的位置;最后,單擊“創(chuàng)建”按鈕。2.創(chuàng)建空白數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)的創(chuàng)建使用模板創(chuàng)建數(shù)據(jù)庫(kù)后,即可使用數(shù)據(jù)庫(kù)。如果認(rèn)為創(chuàng)建的數(shù)據(jù)庫(kù)系統(tǒng)不符合自己的需求,可以通過(guò)增加或刪除數(shù)據(jù)庫(kù)對(duì)象等方式進(jìn)行修改。如果所有的數(shù)據(jù)庫(kù)模板都不能滿足具體需求,那么用戶(hù)可以從頭開(kāi)始創(chuàng)建空白數(shù)據(jù)庫(kù)。創(chuàng)建空數(shù)據(jù)庫(kù)的過(guò)程與使用模版來(lái)創(chuàng)建數(shù)據(jù)庫(kù)的過(guò)程類(lèi)似,先選擇Backstage視圖的“新建”命令,再單擊“空白數(shù)據(jù)庫(kù)”或“空白Web數(shù)據(jù)庫(kù)”,輸入文件名并指定數(shù)據(jù)庫(kù)存放的具體位置,最后單擊“創(chuàng)建”按鈕。數(shù)據(jù)庫(kù)對(duì)象(1)數(shù)據(jù)表數(shù)據(jù)表簡(jiǎn)稱(chēng)表,是收集和存儲(chǔ)數(shù)據(jù)信息的基本單元,是數(shù)據(jù)庫(kù)中最基本也是最重要的對(duì)象。表是由行和列組成的一個(gè)二維表,每行稱(chēng)為一條“記錄”,每列稱(chēng)為一個(gè)“字段”。(2)查詢(xún)查詢(xún)是數(shù)據(jù)庫(kù)中使用最多的一種數(shù)據(jù)庫(kù)操作,通常是指通過(guò)設(shè)置查詢(xún)條件,從一個(gè)表、多個(gè)表或其他查詢(xún)中選取全部或部分?jǐn)?shù)據(jù),以二維表的形式將符合查詢(xún)條件的數(shù)據(jù)提供給用戶(hù)。查詢(xún)可以作為窗體、報(bào)表及其他查詢(xún)的數(shù)據(jù)源。查詢(xún)的結(jié)果以二維表的形式展示,但査詢(xún)不是數(shù)據(jù)表。在Access2010中,查詢(xún)的對(duì)象可以是一個(gè)數(shù)據(jù)庫(kù)中的一個(gè)表或多個(gè)表中存儲(chǔ)的數(shù)據(jù)信息。數(shù)據(jù)庫(kù)對(duì)象(3)窗體Access2010提供了可視化的操作界面來(lái)實(shí)現(xiàn)數(shù)據(jù)的輸入、輸出,即窗體對(duì)象。窗體是用于處理數(shù)據(jù)的界面,通常包含很多控件用于執(zhí)行不同的命令,通過(guò)設(shè)置控件的屬性和編寫(xiě)控件的事件來(lái)確定窗體需要顯示的內(nèi)容及應(yīng)打開(kāi)的窗體和報(bào)表。(4)報(bào)表報(bào)表主要用于數(shù)據(jù)的顯示和打印,它的數(shù)據(jù)來(lái)源可以是表、查詢(xún),也可以是SQL語(yǔ)句。同窗體一樣,報(bào)表本身也不存儲(chǔ)數(shù)據(jù),只是在運(yùn)行報(bào)表時(shí)才將信息收集起來(lái)。數(shù)據(jù)庫(kù)對(duì)象(5)玄宏是一個(gè)或多個(gè)宏操作命令組成的集合。宏的主要功能是讓程序自動(dòng)執(zhí)行相關(guān)的操作。Access2010提供了大量的宏操作命令,每個(gè)宏操作命令都可以完成一個(gè)特定的操作。用戶(hù)可以在窗體、報(bào)表、控件和模塊中添加,并使用宏來(lái)完成特定的操作任務(wù)。(6)模塊在Access2010中,模塊是一個(gè)非常重要的對(duì)象,它的功能比宏的功能更強(qiáng)大,不僅能完成操作數(shù)據(jù)庫(kù)對(duì)象的任務(wù),還能直接運(yùn)行Windows的其他程序、進(jìn)行復(fù)雜的計(jì)算、執(zhí)行宏所不能完成的復(fù)雜任務(wù)。表的創(chuàng)建表的創(chuàng)建利用“表模板”可以創(chuàng)建數(shù)據(jù)表,如果利用“表模板”創(chuàng)建的數(shù)據(jù)表不能滿足用戶(hù)的需要,就可以對(duì)表結(jié)構(gòu)進(jìn)行修改。Access2010主要提供以下6種創(chuàng)建數(shù)據(jù)表的方法。(1)利用“表格工具”的“字段”選項(xiàng)卡創(chuàng)建表利用“表格工具”的“字段”選項(xiàng)卡創(chuàng)建表的方法如圖7.14所示。(2)利用“創(chuàng)建”選項(xiàng)卡中的“表格”組建立表,如圖7.15所示可以分別利用“表格”組中的“表”“表設(shè)計(jì)”和“SharePoint列表”創(chuàng)建表。其中,“表設(shè)計(jì)”是利用“表設(shè)計(jì)器"創(chuàng)建表,是在表的設(shè)計(jì)視圖下創(chuàng)建表。利用“SharePoint列表”創(chuàng)建表,是指創(chuàng)建從SharePoint列表中導(dǎo)入的表或者鏈接到SharePoint列表的表。表的創(chuàng)建表的創(chuàng)建表的創(chuàng)建(3)利用“外部數(shù)據(jù)”選項(xiàng)卡的“導(dǎo)入并鏈接”組建立表可以通過(guò)導(dǎo)入數(shù)據(jù)創(chuàng)建數(shù)據(jù)表,導(dǎo)入的數(shù)據(jù)包括Excel表、Access數(shù)據(jù)庫(kù)、ODBC數(shù)據(jù)庫(kù)、XML、文本文件、SharePoint列表、HTML文檔、dBASE文件、Outlook等。圖7.16是用導(dǎo)入的Excel表格數(shù)據(jù)組建的數(shù)據(jù)表。表的創(chuàng)建表的創(chuàng)建(4)利用字段模板創(chuàng)建表利用Access2010自帶的字段模板可以創(chuàng)建數(shù)據(jù)庫(kù)表。模板中已經(jīng)設(shè)計(jì)好了各種字段的屬性,所以可以直接使用模板中設(shè)置的字段。然后在“字段”選項(xiàng)卡的“添加和刪除”組中單擊相應(yīng)的數(shù)據(jù)類(lèi)型。(5)利用數(shù)據(jù)導(dǎo)入的方式創(chuàng)建表Access2010可以導(dǎo)入數(shù)據(jù)或鏈接其他程序的數(shù)據(jù)。由于數(shù)據(jù)源的類(lèi)型不同,因此導(dǎo)入過(guò)程也不完全相同,但關(guān)鍵的一步就是,在“外部數(shù)據(jù)”選項(xiàng)卡的“導(dǎo)入和鏈接”組中單擊要導(dǎo)入的文件類(lèi)型。(6)利用表設(shè)計(jì)器創(chuàng)建表利用表設(shè)計(jì)器創(chuàng)建表就是在設(shè)計(jì)視圖中創(chuàng)建表。編輯表和維護(hù)表(1)表的復(fù)制(2)表的重命名在導(dǎo)航窗格中選中要重新命名的表,然后單擊右鍵,選擇快捷菜單中的“重命名”命令,直接輸入新的表名,最后按Enter鍵即可。(3)修改表結(jié)構(gòu)在設(shè)計(jì)視圖下可以實(shí)現(xiàn)對(duì)表結(jié)構(gòu)的修改,是對(duì)數(shù)據(jù)庫(kù)中表對(duì)象中的字段進(jìn)行相關(guān)操作,如添加、修改、刪除字段以及設(shè)置字段的屬性等。(4)表的刪除在刪除表之前,必須先關(guān)閉要?jiǎng)h除的表對(duì)象。在導(dǎo)航窗格中選中該表并單擊右鍵,然后選擇快捷菜單中的“刪除”,彈出確認(rèn)刪除的對(duì)話框,確認(rèn)即可。編輯表和維護(hù)表查詢(xún)?cè)贏ccess2010中,查詢(xún)分為5類(lèi):選擇查詢(xún)、參數(shù)查詢(xún)、交叉表查詢(xún)、操作查詢(xún)和SQL查詢(xún)。選擇查詢(xún)是一種常用的查詢(xún)類(lèi)型,可以從一個(gè)或多個(gè)表中找出滿足特定規(guī)則的數(shù)據(jù)信息。用戶(hù)可以使用選擇查詢(xún)對(duì)記錄進(jìn)行分組,進(jìn)行數(shù)據(jù)匯總、計(jì)數(shù)、求平均值和其他類(lèi)型的計(jì)算。參數(shù)查詢(xún)是利用對(duì)話框提示用戶(hù)輸入查詢(xún)條件信息。例如,讓用戶(hù)輸入一個(gè)日期段參數(shù)來(lái)檢索處于這個(gè)日期段的所有記錄。交叉表查詢(xún)可以計(jì)算并重新組織數(shù)據(jù)的結(jié)構(gòu),使用戶(hù)更方便地分析數(shù)據(jù)。交叉表查詢(xún)能夠?qū)崿F(xiàn)表中數(shù)據(jù)的匯總,如總計(jì)、平均值、計(jì)數(shù)或其他類(lèi)型的計(jì)算。1.查詢(xún)的類(lèi)型查詢(xún)選擇查詢(xún)、參數(shù)查詢(xún)和交叉表查詢(xún)不會(huì)改變數(shù)據(jù)源表或查詢(xún)中的數(shù)據(jù),而操作查詢(xún)只需進(jìn)行一次操作就可以對(duì)許多記錄進(jìn)行更改或移動(dòng)。在Access2010中,操作查詢(xún)有如下4種。①追加查詢(xún):可以將一個(gè)或多個(gè)表中的一組記錄添加到一個(gè)或多個(gè)表的末尾。②更新查詢(xún):可以對(duì)一個(gè)或多個(gè)表中的一組記錄進(jìn)行更新。③刪除查詢(xún):可以從一個(gè)表或多個(gè)表中刪除一組記錄。刪除查詢(xún)通常會(huì)刪除整條記錄。④生成表查詢(xún):可以根據(jù)一個(gè)或多個(gè)表中的全部或部分?jǐn)?shù)據(jù)來(lái)生成一個(gè)新表。SQL査詢(xún)是用戶(hù)使用SQL語(yǔ)句創(chuàng)建的查詢(xún)。使用SQL可以查詢(xún)、更新和管理Access的關(guān)系數(shù)據(jù)庫(kù)。SQL查詢(xún)是在數(shù)據(jù)庫(kù)系統(tǒng)中應(yīng)用廣泛的數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)言。在使用向?qū)Ш驮O(shè)計(jì)視圖創(chuàng)建查詢(xún)時(shí),Access將在后臺(tái)構(gòu)造等效的SQL語(yǔ)句。1.查詢(xún)的類(lèi)型查詢(xún)2.查詢(xún)的視圖(1)數(shù)據(jù)表視圖數(shù)據(jù)表視圖用于瀏覽查詢(xún)的運(yùn)行結(jié)果。該視圖中的設(shè)計(jì)不是查詢(xún)對(duì)象所包含的數(shù)據(jù),而是根據(jù)SQL語(yǔ)句對(duì)相關(guān)表進(jìn)行運(yùn)算操作所得到的結(jié)果,所以在本視圖中不可以對(duì)查詢(xún)結(jié)果進(jìn)行更新操作,如圖7.28所示。(2)SQL視圖SQL視圖是用于顯示和編輯査詢(xún)對(duì)象所對(duì)應(yīng)SQL字符串。在這種視圖(如圖7.29所示)中,用戶(hù)可以直接編寫(xiě)SQL語(yǔ)句創(chuàng)建查詢(xún),也可以查看當(dāng)前查詢(xún)對(duì)應(yīng)的SQL語(yǔ)句,還可以直接修改SQL語(yǔ)句,適用于高級(jí)用戶(hù)。查詢(xún)2.查詢(xún)的視圖(3)設(shè)計(jì)視圖設(shè)計(jì)視圖是用于查詢(xún)對(duì)象的字段結(jié)構(gòu)與屬性的窗口。在查詢(xún)?cè)O(shè)計(jì)視圖中,用戶(hù)使用可視化的手段進(jìn)行創(chuàng)建和修改查詢(xún),如圖7.30所示。查詢(xún)2.查詢(xún)的視圖(4)數(shù)據(jù)透視圖視圖在數(shù)據(jù)透視圖視圖中,使用各種圖形來(lái)表示數(shù)據(jù)。從如圖7.31所示的視圖類(lèi)型中選擇“數(shù)據(jù)透視圖視圖”,將設(shè)計(jì)視圖切換為如圖7.32所示的數(shù)據(jù)透視圖視圖。查詢(xún)(5)數(shù)據(jù)透視表視圖數(shù)據(jù)透視表是一種交互式表,可以快速合并和比較大量數(shù)據(jù)。從如圖7.31所示的視圖類(lèi)型中選擇“數(shù)據(jù)透視表視圖”,將數(shù)據(jù)透視圖視圖切換為如圖7.33所示的數(shù)據(jù)透視表視圖。2.查詢(xún)的視圖查詢(xún)?cè)趧?chuàng)建査詢(xún)之前,尤其是查詢(xún)中的字段來(lái)自多個(gè)表(即多表查詢(xún))時(shí),這些表應(yīng)該事先建立好關(guān)系。創(chuàng)建查詢(xún)的方法主要有以下3種。①利用查詢(xún)向?qū)В嚎梢詣?chuàng)建簡(jiǎn)單選擇查詢(xún)、交叉表查詢(xún)、查找重復(fù)項(xiàng)查詢(xún)和查找不匹配項(xiàng)查詢(xún)。②利用查詢(xún)?cè)O(shè)計(jì)視圖:對(duì)于有條件的查詢(xún)可以在查詢(xún)?cè)O(shè)計(jì)視圖下創(chuàng)建。該方法可以創(chuàng)建和修改各類(lèi)查詢(xún),是創(chuàng)建查詢(xún)的主要方法。③使用SQL查詢(xún)語(yǔ)句:在查詢(xún)的SQL視圖下直

溫馨提示

  • 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)論