試談數(shù)據(jù)庫(kù)創(chuàng)建及其查詢課件_第1頁(yè)
試談數(shù)據(jù)庫(kù)創(chuàng)建及其查詢課件_第2頁(yè)
試談數(shù)據(jù)庫(kù)創(chuàng)建及其查詢課件_第3頁(yè)
試談數(shù)據(jù)庫(kù)創(chuàng)建及其查詢課件_第4頁(yè)
試談數(shù)據(jù)庫(kù)創(chuàng)建及其查詢課件_第5頁(yè)
已閱讀5頁(yè),還剩131頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二章數(shù)據(jù)庫(kù)創(chuàng)建及其查詢第二章數(shù)據(jù)庫(kù)創(chuàng)建及其查詢內(nèi)容簡(jiǎn)介基礎(chǔ)篇數(shù)據(jù)庫(kù)概述表及其相互間的聯(lián)系建立ODBC數(shù)據(jù)源數(shù)據(jù)查詢提高篇數(shù)據(jù)庫(kù)建立復(fù)雜查詢內(nèi)容簡(jiǎn)介基礎(chǔ)篇第一節(jié)數(shù)據(jù)庫(kù)概述信息的保存和管理人工管理信息:費(fèi)時(shí)費(fèi)力、容易出錯(cuò)第一節(jié)數(shù)據(jù)庫(kù)概述信息的保存和管理第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))人工管理信息:查找困難利用文件系統(tǒng)來(lái)保存信息利用數(shù)據(jù)庫(kù)系統(tǒng)管理信息第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))人工管理信息:查找困難利用文件系統(tǒng)來(lái)第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))數(shù)據(jù)庫(kù)定義數(shù)據(jù)庫(kù)就是存放在計(jì)算機(jī)中的、以一種合理的方法組織起來(lái)的、與公司或組織的業(yè)務(wù)活動(dòng)和組織結(jié)構(gòu)相對(duì)應(yīng)的各種相關(guān)數(shù)據(jù)的集合,該集合中的數(shù)據(jù)可以為公司的各級(jí)經(jīng)過(guò)授權(quán)的用戶和信息系統(tǒng)所共享。數(shù)據(jù)庫(kù)是存在于計(jì)算機(jī)中的、與公司或組織的業(yè)務(wù)活動(dòng)和組織結(jié)構(gòu)相對(duì)應(yīng)的各種相關(guān)數(shù)據(jù)的一個(gè)集合。存放在數(shù)據(jù)庫(kù)中的數(shù)據(jù)是按一定的方式組織起來(lái)的,而不是雜亂無(wú)章地存放的。數(shù)據(jù)庫(kù)是一個(gè)共享的信息資源,它可以被企業(yè)或組織中的多個(gè)經(jīng)過(guò)授權(quán)的用戶使用,也可以被與企業(yè)有關(guān)的各種信息系統(tǒng)使用。第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))數(shù)據(jù)庫(kù)定義第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)DBMS是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。DBMS功能:數(shù)據(jù)庫(kù)的建立數(shù)據(jù)的插入、查詢、刪除、修改數(shù)據(jù)控制功能數(shù)據(jù)安全性控制:保護(hù)數(shù)據(jù),防止對(duì)數(shù)據(jù)庫(kù)的非法操作所引起的數(shù)據(jù)的丟失、泄露和破壞。數(shù)據(jù)完整性控制:保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)永遠(yuǎn)是正確的、有效的和相容的。并發(fā)控制:避免因多個(gè)用戶同時(shí)存取、修改數(shù)據(jù)庫(kù)時(shí)所引起的相互干擾,保證數(shù)據(jù)的正確性。數(shù)據(jù)庫(kù)的恢復(fù):當(dāng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)由于種種原因(如系統(tǒng)故障、介質(zhì)故障、計(jì)算機(jī)病毒等)而變得不正確,或部分甚至全部丟失時(shí),數(shù)據(jù)庫(kù)管理系統(tǒng)有能力將數(shù)據(jù)庫(kù)恢復(fù)到最近某時(shí)刻的一個(gè)正確狀態(tài)。第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))數(shù)據(jù)模型層次模型網(wǎng)狀模型關(guān)系模型面向?qū)ο竽P筒捎藐P(guān)系模型的數(shù)據(jù)庫(kù)稱(chēng)為關(guān)系數(shù)據(jù)庫(kù)采用關(guān)系模型的數(shù)據(jù)庫(kù)管理系統(tǒng)稱(chēng)為關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)e.g.Oracle、DB2、SQLServer、Informix、Access第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))數(shù)據(jù)模型第二節(jié)表及其相互間的聯(lián)系關(guān)系數(shù)據(jù)庫(kù)是由一系列的表組成的一般情況下,每個(gè)表都具有一個(gè)主鍵通過(guò)這些主鍵,數(shù)據(jù)庫(kù)的表與表之間可以建立各種聯(lián)系第二節(jié)表及其相互間的聯(lián)系關(guān)系數(shù)據(jù)庫(kù)是由一系列的表組成的一、表采用關(guān)系模型的數(shù)據(jù)庫(kù)由一系列的“二維表”組成,每個(gè)表保存著企業(yè)業(yè)務(wù)活動(dòng)中所涉及的一個(gè)特定實(shí)體集(或者兩個(gè)實(shí)體集之間的某種聯(lián)系)的所有實(shí)例的各種屬性值數(shù)據(jù)。實(shí)體是指客觀存在、可相互區(qū)分的事物。e.g.一個(gè)產(chǎn)品、一個(gè)倉(cāng)庫(kù)、一艘船、一個(gè)房子、一個(gè)學(xué)生、一門(mén)課程、一次訂貨、一次購(gòu)房、一次選課…實(shí)體集是指同類(lèi)實(shí)體的集合。一、表采用關(guān)系模型的數(shù)據(jù)庫(kù)由一系列的“二維表”組成,每個(gè)表保一、表(續(xù))會(huì)員表一、表(續(xù))會(huì)員表一、表(續(xù))商品表一、表(續(xù))商品表二、主鍵主鍵在關(guān)系數(shù)據(jù)庫(kù)的某些表中存在著其值能夠唯一地確定一個(gè)記錄的屬性或?qū)傩越M,這樣的屬性(或?qū)傩越M)稱(chēng)為表的主鍵。一個(gè)表的主鍵可以由一個(gè)屬性組成,也可以由多個(gè)屬性組成。二、主鍵主鍵訂單明細(xì)表的主鍵:(訂單號(hào),產(chǎn)品號(hào))二、主鍵(續(xù))訂單明細(xì)表的主鍵:(訂單號(hào),產(chǎn)品號(hào))二、主鍵(續(xù))三、表與表之間的聯(lián)系一對(duì)一聯(lián)系一對(duì)多聯(lián)系多對(duì)多聯(lián)系三、表與表之間的聯(lián)系一對(duì)一聯(lián)系三、表與表之間的聯(lián)系(續(xù))一對(duì)一聯(lián)系如果同一數(shù)據(jù)庫(kù)中兩個(gè)表的各個(gè)記錄之間存在著一種一一對(duì)應(yīng)的關(guān)系,亦即,每個(gè)表中的一個(gè)記錄均(通過(guò)主鍵)與對(duì)方表中的一個(gè)記錄相對(duì)應(yīng),那么這兩個(gè)表存在著一對(duì)一的聯(lián)系。三、表與表之間的聯(lián)系(續(xù))一對(duì)一聯(lián)系三、表與表之間的聯(lián)系(續(xù))一對(duì)一聯(lián)系三、表與表之間的聯(lián)系(續(xù))一對(duì)一聯(lián)系三、表與表之間的聯(lián)系(續(xù))一對(duì)多聯(lián)系如果數(shù)據(jù)庫(kù)的一個(gè)表中的一個(gè)記錄與同一數(shù)據(jù)庫(kù)的另一個(gè)表中的多個(gè)記錄(包括0個(gè))相對(duì)應(yīng),反過(guò)來(lái),后一個(gè)表中的一個(gè)記錄只與前一個(gè)表中的一個(gè)記錄相對(duì)應(yīng),那么這兩個(gè)表存在著一對(duì)多的聯(lián)系。三、表與表之間的聯(lián)系(續(xù))一對(duì)多聯(lián)系三、表與表之間的聯(lián)系(續(xù))一對(duì)多聯(lián)系三、表與表之間的聯(lián)系(續(xù))一對(duì)多聯(lián)系三、表與表之間的聯(lián)系(續(xù))多對(duì)多聯(lián)系在同一數(shù)據(jù)庫(kù)的兩個(gè)表中,如果每個(gè)表的一個(gè)記錄都與對(duì)方表中的多個(gè)記錄(包括0個(gè))相對(duì)應(yīng),那么這兩個(gè)表之間就存在著多對(duì)多的聯(lián)系。三、表與表之間的聯(lián)系(續(xù))多對(duì)多聯(lián)系多對(duì)多聯(lián)系多對(duì)多聯(lián)系三、表與表之間的聯(lián)系(續(xù))多對(duì)多聯(lián)系轉(zhuǎn)化成一對(duì)多聯(lián)系1∞三、表與表之間的聯(lián)系(續(xù))多對(duì)多聯(lián)系轉(zhuǎn)化成一對(duì)多聯(lián)系四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系(續(xù))客戶、雇員、運(yùn)貨商和訂單表間的聯(lián)系四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系(續(xù))客戶、雇四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系(續(xù))訂單、訂單明細(xì)和產(chǎn)品間的聯(lián)系四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系(續(xù))訂單、訂四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系(續(xù))產(chǎn)品、類(lèi)別和供應(yīng)商表間的聯(lián)系四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系(續(xù))產(chǎn)品、類(lèi)第三節(jié)建立ODBC數(shù)據(jù)源一、MicrosoftODBC體系結(jié)構(gòu)第三節(jié)建立ODBC數(shù)據(jù)源一、MicrosoftODBC體一、MicrosoftODBC體系結(jié)構(gòu)一個(gè)ODBC數(shù)據(jù)源包括下面三方面的內(nèi)容:數(shù)據(jù)源名字:給要定義的數(shù)據(jù)源起一個(gè)名字。系統(tǒng)將根據(jù)該名字建立一個(gè)擴(kuò)展名為.DSN的文件,以存放數(shù)據(jù)庫(kù)連接信息。驅(qū)動(dòng)程序名稱(chēng):選擇一個(gè)具體的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,該驅(qū)動(dòng)程序應(yīng)與數(shù)據(jù)源所要引用的數(shù)據(jù)庫(kù)的類(lèi)型相匹配。如要引用的是Access數(shù)據(jù)庫(kù),則應(yīng)選擇MicrosoftAccess驅(qū)動(dòng)程序;如要引用Foxpro數(shù)據(jù)庫(kù),則需選擇MicrosoftFoxProVFP驅(qū)動(dòng)程序,依次類(lèi)推。數(shù)據(jù)庫(kù)連接信息:給出所要連接的數(shù)據(jù)庫(kù)的文件名或文件夾。一、MicrosoftODBC體系結(jié)構(gòu)一個(gè)ODBC數(shù)據(jù)源包二、ODBC數(shù)據(jù)源的建立ODBC數(shù)據(jù)源的建立利用控制面板定義ODBC數(shù)據(jù)源利用MicrosoftQuery應(yīng)用程序定義ODBC數(shù)據(jù)源【例2-1】利用控制面板中的ODBC數(shù)據(jù)源管理器定義一個(gè)名為“nw”的ODBC數(shù)據(jù)源,該數(shù)據(jù)源中引用的是“Northwind”示例數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)的文件名為“Northwind.mdb”,該數(shù)據(jù)庫(kù)存放在“\ProgramFiles\MicrosoftOffice\Office\Samples”文件夾下。二、ODBC數(shù)據(jù)源的建立ODBC數(shù)據(jù)源的建立二、ODBC數(shù)據(jù)源的建立(續(xù))【例2-2】利用控制面板中的ODBC數(shù)據(jù)源管理器定義一個(gè)名為“abcsales”的ODBC數(shù)據(jù)源,該數(shù)據(jù)源中引用的是ABC公司銷(xiāo)售數(shù)據(jù)庫(kù),假設(shè)該數(shù)據(jù)庫(kù)中只有一個(gè)表,該表存放在文件“ABC公司銷(xiāo)售數(shù)據(jù).dbf”中,存放位置是“E:\ABC公司數(shù)據(jù)庫(kù)”文件夾。二、ODBC數(shù)據(jù)源的建立(續(xù))【例2-2】利用控制面板中的O二、ODBC數(shù)據(jù)源的建立(續(xù))【例2-3】利用MicrosoftQuery定義一個(gè)名為“NW”的ODBC數(shù)據(jù)源,該數(shù)據(jù)源中引用的是“Northwind”示例數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)的文件名為“Northwind.mdb”,該數(shù)據(jù)庫(kù)存放在“\ProgramFiles\MicrosoftOffice\Office\Samples”文件夾下。二、ODBC數(shù)據(jù)源的建立(續(xù))【例2-3】利用Microso第四節(jié)數(shù)據(jù)查詢所謂數(shù)據(jù)查詢就是從數(shù)據(jù)庫(kù)所保存的眾多數(shù)據(jù)中挑出符合某種條件的一部分?jǐn)?shù)據(jù),或者將這些數(shù)據(jù)挑出來(lái)之后再對(duì)它們進(jìn)行適當(dāng)?shù)倪\(yùn)算而得到某種匯總信息(統(tǒng)計(jì)信息)。數(shù)據(jù)查詢包括:?jiǎn)伪聿樵儯褐簧婕耙粋€(gè)表的查詢。簡(jiǎn)單的多表查詢:涉及兩個(gè)或兩個(gè)以上表的查詢。用MicrosoftQuery進(jìn)行數(shù)據(jù)查詢的方法:利用“查詢向?qū)А边M(jìn)行數(shù)據(jù)查詢。直接進(jìn)入“查詢?cè)O(shè)計(jì)”窗口進(jìn)行數(shù)據(jù)查詢。第四節(jié)數(shù)據(jù)查詢所謂數(shù)據(jù)查詢就是從數(shù)據(jù)庫(kù)所保存的眾多數(shù)據(jù)中挑一、單表查詢單表查詢是指僅涉及一個(gè)表的查詢操作,這種查詢分為如下幾種查詢:無(wú)條件的查詢:從數(shù)據(jù)庫(kù)的一個(gè)表中查詢所有記錄中的某幾個(gè)字段的值。涉及一個(gè)條件的查詢:從數(shù)據(jù)庫(kù)的一個(gè)表中按一個(gè)查詢條件挑出部分記錄,顯示這些記錄中全部字段或部分字段的值。涉及多個(gè)條件的查詢:從數(shù)據(jù)庫(kù)的一個(gè)表中按多個(gè)查詢條件挑出部分記錄,顯示這些記錄中全部字段或部分字段的值。一、單表查詢單表查詢是指僅涉及一個(gè)表的查詢操作,這種查詢分為一、單表查詢(續(xù))【例2-4】“Northwind”示例數(shù)據(jù)庫(kù)中存放了其供應(yīng)商的一些信息,現(xiàn)要求查詢其中的供應(yīng)商ID、公司名稱(chēng)、地區(qū)、城市和電話等信息。一、單表查詢(續(xù))【例2-4】“Northwind”示例數(shù)據(jù)一、單表查詢(續(xù))【例2-5】“Northwind”示例數(shù)據(jù)庫(kù)中存放了其供應(yīng)商的信息,現(xiàn)要求查詢其中位于“華東”地區(qū)的供應(yīng)商的ID、公司名稱(chēng)、地區(qū)、城市和電話等信息。一、單表查詢(續(xù))【例2-5】“Northwind”示例數(shù)據(jù)一、單表查詢(續(xù))【例2-6】查詢“Northwind”示例數(shù)據(jù)庫(kù)中位于“華東”或“華南”地區(qū)的供應(yīng)商的ID、公司名稱(chēng)、地區(qū)、城市和電話等信息。一、單表查詢(續(xù))【例2-6】查詢“Northwind”示例一、單表查詢(續(xù))【例2-7】查詢“Northwind”示例數(shù)據(jù)庫(kù)中供應(yīng)商的ID、公司名稱(chēng)、地區(qū)、城市和電話等信息。其中的一些供應(yīng)商位于華東或華南地區(qū),另外一些供應(yīng)商所在的城市是天津。一、單表查詢(續(xù))【例2-7】查詢“Northwind”示例一、單表查詢(續(xù))【例2-8】查詢“Northwind”示例數(shù)據(jù)庫(kù)中供應(yīng)商的ID、公司名稱(chēng)、地區(qū)、城市和電話等信息。這些供應(yīng)商所在的地區(qū)是華北,聯(lián)系人職務(wù)是銷(xiāo)售代表。一、單表查詢(續(xù))【例2-8】查詢“Northwind”示例一、單表查詢(續(xù))【例2-9】“Northwind”數(shù)據(jù)庫(kù)中存放了三年的訂單數(shù)據(jù),現(xiàn)有關(guān)人員想查詢?cè)摴镜目蛻粼?996年下半年訂購(gòu)的所有訂單的訂購(gòu)日期、訂單ID、客戶ID和雇員ID等信息。一、單表查詢(續(xù))【例2-9】“Northwind”數(shù)據(jù)庫(kù)中二、簡(jiǎn)單的多表查詢對(duì)于多表查詢須了解如下兩個(gè)問(wèn)題:查詢中使用到的各個(gè)字段分別來(lái)自于哪些表。分析查詢所涉及的表與表之間存在著何種聯(lián)系,這些聯(lián)系是通過(guò)哪些字段建立起來(lái)的。【例2-10】查詢Northwind公司所有產(chǎn)品的產(chǎn)品ID、名稱(chēng)、單價(jià)和供應(yīng)商的公司名稱(chēng)等信息。二、簡(jiǎn)單的多表查詢對(duì)于多表查詢須了解如下兩個(gè)問(wèn)題:第五節(jié)數(shù)據(jù)庫(kù)的建立一、表的設(shè)計(jì)表是數(shù)據(jù)庫(kù)的基本構(gòu)件。要?jiǎng)?chuàng)建易于維護(hù)的有效數(shù)據(jù)庫(kù),設(shè)置合理的表結(jié)構(gòu)是一個(gè)關(guān)鍵步驟。例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)“響當(dāng)當(dāng)”網(wǎng)上書(shū)店在業(yè)務(wù)活動(dòng)中所涉及的信息:會(huì)員信息商品信息訂貨單和發(fā)貨單第五節(jié)數(shù)據(jù)庫(kù)的建立一、表的設(shè)計(jì)例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)⑴會(huì)員信息:另:根據(jù)會(huì)員在“響當(dāng)當(dāng)”網(wǎng)上書(shū)店所購(gòu)買(mǎi)的商品總價(jià)值,可將會(huì)員分為:一般會(huì)員和鉆石會(huì)員。

例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)⑴會(huì)員信息:另:根⑵商品信息包括:商品名稱(chēng)、原價(jià)、折扣價(jià)、鉆石價(jià)、類(lèi)別和庫(kù)存量商品的類(lèi)別分為:書(shū)、CD和軟件等⑶訂貨單信息另:付款方式分為貨到時(shí)付款、在線支付、預(yù)存貨款、郵局匯款、銀行電匯、儲(chǔ)蓄卡匯款和支票付款等方式。例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))⑵商品信息包括:例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))⑷發(fā)貨單信息例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))⑷發(fā)貨單信息例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)中所涉及的表及相互間的聯(lián)系例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))“響當(dāng)當(dāng)”網(wǎng)上書(shū)店例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))會(huì)員表、商品表和訂單表例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))會(huì)員表、商品表和訂例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))付款方式表、訂單明細(xì)表、級(jí)別表和類(lèi)別表例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))付款方式表、訂單明二、創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表的方法表向?qū)В嚎梢岳檬孪仍O(shè)計(jì)好的標(biāo)準(zhǔn)格式幫助經(jīng)驗(yàn)不多的用戶創(chuàng)建所需要的表數(shù)據(jù)視圖【例2-11】“響當(dāng)當(dāng)”網(wǎng)上書(shū)店需要將其業(yè)務(wù)活動(dòng)中的數(shù)據(jù)存放到一個(gè)數(shù)據(jù)庫(kù)中,也就是說(shuō)要將表2-5和表2-6中的七個(gè)數(shù)據(jù)表存放在一個(gè)MicrosoftAccess數(shù)據(jù)庫(kù)中,假設(shè)這個(gè)數(shù)據(jù)庫(kù)的名稱(chēng)為“xddBookstore”。二、創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表的方法二、創(chuàng)建數(shù)據(jù)表(續(xù))xddBookstore數(shù)據(jù)庫(kù)二、創(chuàng)建數(shù)據(jù)表(續(xù))xddBookstore數(shù)據(jù)庫(kù)二、創(chuàng)建數(shù)據(jù)表間的聯(lián)系創(chuàng)建數(shù)據(jù)表間的聯(lián)系【例2-12】建立xddBookstore數(shù)據(jù)庫(kù)中各數(shù)據(jù)表之間的聯(lián)系二、創(chuàng)建數(shù)據(jù)表間的聯(lián)系創(chuàng)建數(shù)據(jù)表間的聯(lián)系四、數(shù)據(jù)輸入【例2-13】在xddBookstore數(shù)據(jù)庫(kù)中輸入級(jí)別表的數(shù)據(jù)四、數(shù)據(jù)輸入【例2-13】在xddBookstore數(shù)據(jù)庫(kù)中四、數(shù)據(jù)輸入(續(xù))在輸入數(shù)據(jù)的過(guò)程中需注意如下幾點(diǎn):輸入數(shù)據(jù)的類(lèi)型應(yīng)與表中相應(yīng)字段的數(shù)據(jù)類(lèi)型一致,否則系統(tǒng)會(huì)報(bào)錯(cuò)。例如,用戶在訂單表的“訂購(gòu)日期”字段中輸入了一個(gè)“非日期”類(lèi)型的值(如上海),系統(tǒng)報(bào)錯(cuò):四、數(shù)據(jù)輸入(續(xù))在輸入數(shù)據(jù)的過(guò)程中需注意如下幾點(diǎn):四、數(shù)據(jù)輸入(續(xù))輸入的主鍵(或稱(chēng)主關(guān)鍵字)的值必須惟一,否則系統(tǒng)會(huì)報(bào)錯(cuò)。當(dāng)兩個(gè)表之間建立了聯(lián)系并實(shí)施了參照完整性時(shí),應(yīng)先輸入父表中的數(shù)據(jù),再輸入子表中的數(shù)據(jù)。另外還應(yīng)保證子表中輸入的外碼值必須是父表中主鍵中出現(xiàn)過(guò)的,否則系統(tǒng)將拒絕相應(yīng)操作。例如,用戶在訂單表的外碼“收貨人”字段中輸入了一個(gè)會(huì)員表中不存在的“00000011”會(huì)員號(hào),系統(tǒng)報(bào)錯(cuò)

若用戶不希望考慮表之間的輸入順序的話,在輸入各表數(shù)據(jù)之前,先不要建立表之間的聯(lián)系。四、數(shù)據(jù)輸入(續(xù))輸入的主鍵(或稱(chēng)主關(guān)鍵字)的值必須惟一,否五、數(shù)據(jù)導(dǎo)入與導(dǎo)出數(shù)據(jù)導(dǎo)入【例2-14】將本書(shū)配套磁盤(pán)提供的xddBookstore.xls文件中的商品表數(shù)據(jù)(如圖2-76所示)導(dǎo)入到“xddBookstore”數(shù)據(jù)庫(kù)的商品表中。五、數(shù)據(jù)導(dǎo)入與導(dǎo)出數(shù)據(jù)導(dǎo)入五、數(shù)據(jù)導(dǎo)入與導(dǎo)出(續(xù))導(dǎo)入數(shù)據(jù)時(shí)的注意點(diǎn):導(dǎo)入的外部文件中各列數(shù)據(jù)的類(lèi)型應(yīng)與數(shù)據(jù)庫(kù)中對(duì)應(yīng)表的相應(yīng)字段類(lèi)型一致。導(dǎo)入的外部文件中主鍵的值應(yīng)惟一,否則導(dǎo)入操作也會(huì)出錯(cuò),主鍵值重復(fù)的記錄會(huì)丟失。若數(shù)據(jù)庫(kù)的各表之間建立了聯(lián)系且實(shí)施了參照完整性的話,應(yīng)先導(dǎo)入父表數(shù)據(jù),再導(dǎo)入子表數(shù)據(jù),否則導(dǎo)入操作也會(huì)出錯(cuò),系統(tǒng)會(huì)提示用戶參照完整性被違反了。若用戶不希望考慮表之間的導(dǎo)入順序的話,在導(dǎo)入各表數(shù)據(jù)之前,先不要建立表之間的聯(lián)系。五、數(shù)據(jù)導(dǎo)入與導(dǎo)出(續(xù))導(dǎo)入數(shù)據(jù)時(shí)的注意點(diǎn):五、數(shù)據(jù)導(dǎo)入與導(dǎo)出(續(xù))數(shù)據(jù)導(dǎo)出將Access數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)出到其他的外部文件中;具體方法是:先在Access中選中要導(dǎo)出的表(如商品表),然后單擊“文件”菜單的“導(dǎo)出”命令,在隨后出現(xiàn)的“將表‘商品’導(dǎo)出為…”對(duì)話框中設(shè)置好相應(yīng)的保存位置、文件名和保存類(lèi)型(如下圖),然后單擊“導(dǎo)出”按鈕即可。五、數(shù)據(jù)導(dǎo)入與導(dǎo)出(續(xù))數(shù)據(jù)導(dǎo)出第六節(jié)復(fù)雜查詢一、多表查詢內(nèi)連接:將多個(gè)表中符合條件的記錄挑選出來(lái)組成一個(gè)結(jié)果集。查詢結(jié)果中包含的都是符合連接條件的記錄。外連接:查詢時(shí)可以將不符合連接條件的記錄一并查詢出來(lái)。第六節(jié)復(fù)雜查詢一、多表查詢一、多表查詢(續(xù))內(nèi)連接【例2-15】Northwind數(shù)據(jù)庫(kù)中有三年的數(shù)據(jù),現(xiàn)在需要查詢最后一個(gè)月中每份訂單的的訂購(gòu)日期、訂單ID、相應(yīng)訂單的客戶公司名稱(chēng)、負(fù)責(zé)訂單的雇員的姓氏和名字等信息。并將查詢結(jié)果按雇員的“姓氏”和“名字”字段的升序排列,“姓氏”和“名字”值相同的記錄按“訂單ID”的降序排列。一、多表查詢(續(xù))內(nèi)連接一、多表查詢(續(xù))一、多表查詢(續(xù))一、多表查詢(續(xù))在內(nèi)連接查詢中,正確建立表之間的聯(lián)系的三種方式:若查詢中涉及的表有公共的字段名,則MicrosoftQuery應(yīng)用程序會(huì)自動(dòng)根據(jù)兩個(gè)表之間的公共字段名建立聯(lián)系。若查詢中涉及的表之間沒(méi)有直接的聯(lián)系,則可引入中間表,再由MicrosoftQuery應(yīng)用程序自動(dòng)根據(jù)表之間的公共字段名建立聯(lián)系。若查詢中涉及的表之間有聯(lián)系但卻沒(méi)有公共的字段名,則可以通過(guò)手工方式來(lái)添加聯(lián)系。一、多表查詢(續(xù))在內(nèi)連接查詢中,正確建立表之間的聯(lián)系的三種一、多表查詢(續(xù))【例2-16】Northwind數(shù)據(jù)庫(kù)中存放了其所有訂單的信息,現(xiàn)要求查詢其中的“10248”和“10254”號(hào)訂單的訂單ID、運(yùn)貨商的公司名稱(chēng)以及訂單上所訂購(gòu)的產(chǎn)品的名稱(chēng)。一、多表查詢(續(xù))【例2-16】Northwind數(shù)據(jù)庫(kù)中存一、多表查詢(續(xù))【例2-17】查詢Northwind公司所有雇員的ID、姓氏、名字、職務(wù)以及其上級(jí)的姓氏、名字和職務(wù)。一、多表查詢(續(xù))【例2-17】查詢Northwind公司所一、多表查詢(續(xù))外連接【例2-18】查詢Northwind公司所有雇員的ID、姓氏、名字、職務(wù)以及其上級(jí)的姓氏、名字和職務(wù)。若雇員沒(méi)有上級(jí)的話,也必須將雇員的其他信息顯示在查詢結(jié)果中。一、多表查詢(續(xù))外連接二、計(jì)算字段計(jì)算字段:由表中某些原有字段進(jìn)行適當(dāng)計(jì)算后生成的新字段的值,這種新字段稱(chēng)為“計(jì)算字段”。【例2-19】Northwind數(shù)據(jù)庫(kù)中有三年的數(shù)據(jù),現(xiàn)在需要查詢最后一個(gè)月中每份訂單的訂單ID、訂單上所訂購(gòu)的產(chǎn)品的名稱(chēng)及其銷(xiāo)售金額。二、計(jì)算字段計(jì)算字段:由表中某些原有字段進(jìn)行適當(dāng)計(jì)算后生成的三、匯總在利用MicrosoftQuery進(jìn)行查詢時(shí),還可以按照某個(gè)或某些字段的值來(lái)產(chǎn)生對(duì)其他字段(包括計(jì)算字段)的匯總值。三、匯總在利用MicrosoftQuery進(jìn)行查詢時(shí),還可三、匯總(續(xù))【例2-20】Northwind數(shù)據(jù)庫(kù)中有三年的數(shù)據(jù),現(xiàn)在需要查詢最后一個(gè)月中每份訂單各自的總銷(xiāo)售金額。三、匯總(續(xù))【例2-20】Northwind數(shù)據(jù)庫(kù)中有三年三、匯總(續(xù))【例2-21】利用例2-2中定義的“abcsales”數(shù)據(jù)源,在ABC公司銷(xiāo)售數(shù)據(jù)庫(kù)中,查詢1995年不同省份不同類(lèi)別產(chǎn)品的凈銷(xiāo)售額總計(jì)值。三、匯總(續(xù))【例2-21】利用例2-2中定義的“abcsa本章小結(jié)基本概念數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)模型表、主鍵、表之間聯(lián)系ODBC數(shù)據(jù)源創(chuàng)建ODBC數(shù)據(jù)源的方法控制面板MicrosoftQuery應(yīng)用程序本章小結(jié)基本概念本章小結(jié)(續(xù))數(shù)據(jù)庫(kù)的建立表的設(shè)計(jì)與表的創(chuàng)建表之間聯(lián)系的建立數(shù)據(jù)輸入以及數(shù)據(jù)導(dǎo)入/導(dǎo)出數(shù)據(jù)查詢單表查詢和簡(jiǎn)單多表查詢復(fù)雜多表查詢、計(jì)算字段查詢和匯總查詢本章小結(jié)(續(xù))數(shù)據(jù)庫(kù)的建立第二章數(shù)據(jù)庫(kù)創(chuàng)建及其查詢第二章數(shù)據(jù)庫(kù)創(chuàng)建及其查詢內(nèi)容簡(jiǎn)介基礎(chǔ)篇數(shù)據(jù)庫(kù)概述表及其相互間的聯(lián)系建立ODBC數(shù)據(jù)源數(shù)據(jù)查詢提高篇數(shù)據(jù)庫(kù)建立復(fù)雜查詢內(nèi)容簡(jiǎn)介基礎(chǔ)篇第一節(jié)數(shù)據(jù)庫(kù)概述信息的保存和管理人工管理信息:費(fèi)時(shí)費(fèi)力、容易出錯(cuò)第一節(jié)數(shù)據(jù)庫(kù)概述信息的保存和管理第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))人工管理信息:查找困難利用文件系統(tǒng)來(lái)保存信息利用數(shù)據(jù)庫(kù)系統(tǒng)管理信息第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))人工管理信息:查找困難利用文件系統(tǒng)來(lái)第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))數(shù)據(jù)庫(kù)定義數(shù)據(jù)庫(kù)就是存放在計(jì)算機(jī)中的、以一種合理的方法組織起來(lái)的、與公司或組織的業(yè)務(wù)活動(dòng)和組織結(jié)構(gòu)相對(duì)應(yīng)的各種相關(guān)數(shù)據(jù)的集合,該集合中的數(shù)據(jù)可以為公司的各級(jí)經(jīng)過(guò)授權(quán)的用戶和信息系統(tǒng)所共享。數(shù)據(jù)庫(kù)是存在于計(jì)算機(jī)中的、與公司或組織的業(yè)務(wù)活動(dòng)和組織結(jié)構(gòu)相對(duì)應(yīng)的各種相關(guān)數(shù)據(jù)的一個(gè)集合。存放在數(shù)據(jù)庫(kù)中的數(shù)據(jù)是按一定的方式組織起來(lái)的,而不是雜亂無(wú)章地存放的。數(shù)據(jù)庫(kù)是一個(gè)共享的信息資源,它可以被企業(yè)或組織中的多個(gè)經(jīng)過(guò)授權(quán)的用戶使用,也可以被與企業(yè)有關(guān)的各種信息系統(tǒng)使用。第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))數(shù)據(jù)庫(kù)定義第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)DBMS是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。DBMS功能:數(shù)據(jù)庫(kù)的建立數(shù)據(jù)的插入、查詢、刪除、修改數(shù)據(jù)控制功能數(shù)據(jù)安全性控制:保護(hù)數(shù)據(jù),防止對(duì)數(shù)據(jù)庫(kù)的非法操作所引起的數(shù)據(jù)的丟失、泄露和破壞。數(shù)據(jù)完整性控制:保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)永遠(yuǎn)是正確的、有效的和相容的。并發(fā)控制:避免因多個(gè)用戶同時(shí)存取、修改數(shù)據(jù)庫(kù)時(shí)所引起的相互干擾,保證數(shù)據(jù)的正確性。數(shù)據(jù)庫(kù)的恢復(fù):當(dāng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)由于種種原因(如系統(tǒng)故障、介質(zhì)故障、計(jì)算機(jī)病毒等)而變得不正確,或部分甚至全部丟失時(shí),數(shù)據(jù)庫(kù)管理系統(tǒng)有能力將數(shù)據(jù)庫(kù)恢復(fù)到最近某時(shí)刻的一個(gè)正確狀態(tài)。第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))數(shù)據(jù)模型層次模型網(wǎng)狀模型關(guān)系模型面向?qū)ο竽P筒捎藐P(guān)系模型的數(shù)據(jù)庫(kù)稱(chēng)為關(guān)系數(shù)據(jù)庫(kù)采用關(guān)系模型的數(shù)據(jù)庫(kù)管理系統(tǒng)稱(chēng)為關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)e.g.Oracle、DB2、SQLServer、Informix、Access第一節(jié)數(shù)據(jù)庫(kù)概述(續(xù))數(shù)據(jù)模型第二節(jié)表及其相互間的聯(lián)系關(guān)系數(shù)據(jù)庫(kù)是由一系列的表組成的一般情況下,每個(gè)表都具有一個(gè)主鍵通過(guò)這些主鍵,數(shù)據(jù)庫(kù)的表與表之間可以建立各種聯(lián)系第二節(jié)表及其相互間的聯(lián)系關(guān)系數(shù)據(jù)庫(kù)是由一系列的表組成的一、表采用關(guān)系模型的數(shù)據(jù)庫(kù)由一系列的“二維表”組成,每個(gè)表保存著企業(yè)業(yè)務(wù)活動(dòng)中所涉及的一個(gè)特定實(shí)體集(或者兩個(gè)實(shí)體集之間的某種聯(lián)系)的所有實(shí)例的各種屬性值數(shù)據(jù)。實(shí)體是指客觀存在、可相互區(qū)分的事物。e.g.一個(gè)產(chǎn)品、一個(gè)倉(cāng)庫(kù)、一艘船、一個(gè)房子、一個(gè)學(xué)生、一門(mén)課程、一次訂貨、一次購(gòu)房、一次選課…實(shí)體集是指同類(lèi)實(shí)體的集合。一、表采用關(guān)系模型的數(shù)據(jù)庫(kù)由一系列的“二維表”組成,每個(gè)表保一、表(續(xù))會(huì)員表一、表(續(xù))會(huì)員表一、表(續(xù))商品表一、表(續(xù))商品表二、主鍵主鍵在關(guān)系數(shù)據(jù)庫(kù)的某些表中存在著其值能夠唯一地確定一個(gè)記錄的屬性或?qū)傩越M,這樣的屬性(或?qū)傩越M)稱(chēng)為表的主鍵。一個(gè)表的主鍵可以由一個(gè)屬性組成,也可以由多個(gè)屬性組成。二、主鍵主鍵訂單明細(xì)表的主鍵:(訂單號(hào),產(chǎn)品號(hào))二、主鍵(續(xù))訂單明細(xì)表的主鍵:(訂單號(hào),產(chǎn)品號(hào))二、主鍵(續(xù))三、表與表之間的聯(lián)系一對(duì)一聯(lián)系一對(duì)多聯(lián)系多對(duì)多聯(lián)系三、表與表之間的聯(lián)系一對(duì)一聯(lián)系三、表與表之間的聯(lián)系(續(xù))一對(duì)一聯(lián)系如果同一數(shù)據(jù)庫(kù)中兩個(gè)表的各個(gè)記錄之間存在著一種一一對(duì)應(yīng)的關(guān)系,亦即,每個(gè)表中的一個(gè)記錄均(通過(guò)主鍵)與對(duì)方表中的一個(gè)記錄相對(duì)應(yīng),那么這兩個(gè)表存在著一對(duì)一的聯(lián)系。三、表與表之間的聯(lián)系(續(xù))一對(duì)一聯(lián)系三、表與表之間的聯(lián)系(續(xù))一對(duì)一聯(lián)系三、表與表之間的聯(lián)系(續(xù))一對(duì)一聯(lián)系三、表與表之間的聯(lián)系(續(xù))一對(duì)多聯(lián)系如果數(shù)據(jù)庫(kù)的一個(gè)表中的一個(gè)記錄與同一數(shù)據(jù)庫(kù)的另一個(gè)表中的多個(gè)記錄(包括0個(gè))相對(duì)應(yīng),反過(guò)來(lái),后一個(gè)表中的一個(gè)記錄只與前一個(gè)表中的一個(gè)記錄相對(duì)應(yīng),那么這兩個(gè)表存在著一對(duì)多的聯(lián)系。三、表與表之間的聯(lián)系(續(xù))一對(duì)多聯(lián)系三、表與表之間的聯(lián)系(續(xù))一對(duì)多聯(lián)系三、表與表之間的聯(lián)系(續(xù))一對(duì)多聯(lián)系三、表與表之間的聯(lián)系(續(xù))多對(duì)多聯(lián)系在同一數(shù)據(jù)庫(kù)的兩個(gè)表中,如果每個(gè)表的一個(gè)記錄都與對(duì)方表中的多個(gè)記錄(包括0個(gè))相對(duì)應(yīng),那么這兩個(gè)表之間就存在著多對(duì)多的聯(lián)系。三、表與表之間的聯(lián)系(續(xù))多對(duì)多聯(lián)系多對(duì)多聯(lián)系多對(duì)多聯(lián)系三、表與表之間的聯(lián)系(續(xù))多對(duì)多聯(lián)系轉(zhuǎn)化成一對(duì)多聯(lián)系1∞三、表與表之間的聯(lián)系(續(xù))多對(duì)多聯(lián)系轉(zhuǎn)化成一對(duì)多聯(lián)系四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系(續(xù))客戶、雇員、運(yùn)貨商和訂單表間的聯(lián)系四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系(續(xù))客戶、雇四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系(續(xù))訂單、訂單明細(xì)和產(chǎn)品間的聯(lián)系四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系(續(xù))訂單、訂四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系(續(xù))產(chǎn)品、類(lèi)別和供應(yīng)商表間的聯(lián)系四、Northwind示例數(shù)據(jù)庫(kù)中表之間的聯(lián)系(續(xù))產(chǎn)品、類(lèi)第三節(jié)建立ODBC數(shù)據(jù)源一、MicrosoftODBC體系結(jié)構(gòu)第三節(jié)建立ODBC數(shù)據(jù)源一、MicrosoftODBC體一、MicrosoftODBC體系結(jié)構(gòu)一個(gè)ODBC數(shù)據(jù)源包括下面三方面的內(nèi)容:數(shù)據(jù)源名字:給要定義的數(shù)據(jù)源起一個(gè)名字。系統(tǒng)將根據(jù)該名字建立一個(gè)擴(kuò)展名為.DSN的文件,以存放數(shù)據(jù)庫(kù)連接信息。驅(qū)動(dòng)程序名稱(chēng):選擇一個(gè)具體的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,該驅(qū)動(dòng)程序應(yīng)與數(shù)據(jù)源所要引用的數(shù)據(jù)庫(kù)的類(lèi)型相匹配。如要引用的是Access數(shù)據(jù)庫(kù),則應(yīng)選擇MicrosoftAccess驅(qū)動(dòng)程序;如要引用Foxpro數(shù)據(jù)庫(kù),則需選擇MicrosoftFoxProVFP驅(qū)動(dòng)程序,依次類(lèi)推。數(shù)據(jù)庫(kù)連接信息:給出所要連接的數(shù)據(jù)庫(kù)的文件名或文件夾。一、MicrosoftODBC體系結(jié)構(gòu)一個(gè)ODBC數(shù)據(jù)源包二、ODBC數(shù)據(jù)源的建立ODBC數(shù)據(jù)源的建立利用控制面板定義ODBC數(shù)據(jù)源利用MicrosoftQuery應(yīng)用程序定義ODBC數(shù)據(jù)源【例2-1】利用控制面板中的ODBC數(shù)據(jù)源管理器定義一個(gè)名為“nw”的ODBC數(shù)據(jù)源,該數(shù)據(jù)源中引用的是“Northwind”示例數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)的文件名為“Northwind.mdb”,該數(shù)據(jù)庫(kù)存放在“\ProgramFiles\MicrosoftOffice\Office\Samples”文件夾下。二、ODBC數(shù)據(jù)源的建立ODBC數(shù)據(jù)源的建立二、ODBC數(shù)據(jù)源的建立(續(xù))【例2-2】利用控制面板中的ODBC數(shù)據(jù)源管理器定義一個(gè)名為“abcsales”的ODBC數(shù)據(jù)源,該數(shù)據(jù)源中引用的是ABC公司銷(xiāo)售數(shù)據(jù)庫(kù),假設(shè)該數(shù)據(jù)庫(kù)中只有一個(gè)表,該表存放在文件“ABC公司銷(xiāo)售數(shù)據(jù).dbf”中,存放位置是“E:\ABC公司數(shù)據(jù)庫(kù)”文件夾。二、ODBC數(shù)據(jù)源的建立(續(xù))【例2-2】利用控制面板中的O二、ODBC數(shù)據(jù)源的建立(續(xù))【例2-3】利用MicrosoftQuery定義一個(gè)名為“NW”的ODBC數(shù)據(jù)源,該數(shù)據(jù)源中引用的是“Northwind”示例數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)的文件名為“Northwind.mdb”,該數(shù)據(jù)庫(kù)存放在“\ProgramFiles\MicrosoftOffice\Office\Samples”文件夾下。二、ODBC數(shù)據(jù)源的建立(續(xù))【例2-3】利用Microso第四節(jié)數(shù)據(jù)查詢所謂數(shù)據(jù)查詢就是從數(shù)據(jù)庫(kù)所保存的眾多數(shù)據(jù)中挑出符合某種條件的一部分?jǐn)?shù)據(jù),或者將這些數(shù)據(jù)挑出來(lái)之后再對(duì)它們進(jìn)行適當(dāng)?shù)倪\(yùn)算而得到某種匯總信息(統(tǒng)計(jì)信息)。數(shù)據(jù)查詢包括:?jiǎn)伪聿樵儯褐簧婕耙粋€(gè)表的查詢。簡(jiǎn)單的多表查詢:涉及兩個(gè)或兩個(gè)以上表的查詢。用MicrosoftQuery進(jìn)行數(shù)據(jù)查詢的方法:利用“查詢向?qū)А边M(jìn)行數(shù)據(jù)查詢。直接進(jìn)入“查詢?cè)O(shè)計(jì)”窗口進(jìn)行數(shù)據(jù)查詢。第四節(jié)數(shù)據(jù)查詢所謂數(shù)據(jù)查詢就是從數(shù)據(jù)庫(kù)所保存的眾多數(shù)據(jù)中挑一、單表查詢單表查詢是指僅涉及一個(gè)表的查詢操作,這種查詢分為如下幾種查詢:無(wú)條件的查詢:從數(shù)據(jù)庫(kù)的一個(gè)表中查詢所有記錄中的某幾個(gè)字段的值。涉及一個(gè)條件的查詢:從數(shù)據(jù)庫(kù)的一個(gè)表中按一個(gè)查詢條件挑出部分記錄,顯示這些記錄中全部字段或部分字段的值。涉及多個(gè)條件的查詢:從數(shù)據(jù)庫(kù)的一個(gè)表中按多個(gè)查詢條件挑出部分記錄,顯示這些記錄中全部字段或部分字段的值。一、單表查詢單表查詢是指僅涉及一個(gè)表的查詢操作,這種查詢分為一、單表查詢(續(xù))【例2-4】“Northwind”示例數(shù)據(jù)庫(kù)中存放了其供應(yīng)商的一些信息,現(xiàn)要求查詢其中的供應(yīng)商ID、公司名稱(chēng)、地區(qū)、城市和電話等信息。一、單表查詢(續(xù))【例2-4】“Northwind”示例數(shù)據(jù)一、單表查詢(續(xù))【例2-5】“Northwind”示例數(shù)據(jù)庫(kù)中存放了其供應(yīng)商的信息,現(xiàn)要求查詢其中位于“華東”地區(qū)的供應(yīng)商的ID、公司名稱(chēng)、地區(qū)、城市和電話等信息。一、單表查詢(續(xù))【例2-5】“Northwind”示例數(shù)據(jù)一、單表查詢(續(xù))【例2-6】查詢“Northwind”示例數(shù)據(jù)庫(kù)中位于“華東”或“華南”地區(qū)的供應(yīng)商的ID、公司名稱(chēng)、地區(qū)、城市和電話等信息。一、單表查詢(續(xù))【例2-6】查詢“Northwind”示例一、單表查詢(續(xù))【例2-7】查詢“Northwind”示例數(shù)據(jù)庫(kù)中供應(yīng)商的ID、公司名稱(chēng)、地區(qū)、城市和電話等信息。其中的一些供應(yīng)商位于華東或華南地區(qū),另外一些供應(yīng)商所在的城市是天津。一、單表查詢(續(xù))【例2-7】查詢“Northwind”示例一、單表查詢(續(xù))【例2-8】查詢“Northwind”示例數(shù)據(jù)庫(kù)中供應(yīng)商的ID、公司名稱(chēng)、地區(qū)、城市和電話等信息。這些供應(yīng)商所在的地區(qū)是華北,聯(lián)系人職務(wù)是銷(xiāo)售代表。一、單表查詢(續(xù))【例2-8】查詢“Northwind”示例一、單表查詢(續(xù))【例2-9】“Northwind”數(shù)據(jù)庫(kù)中存放了三年的訂單數(shù)據(jù),現(xiàn)有關(guān)人員想查詢?cè)摴镜目蛻粼?996年下半年訂購(gòu)的所有訂單的訂購(gòu)日期、訂單ID、客戶ID和雇員ID等信息。一、單表查詢(續(xù))【例2-9】“Northwind”數(shù)據(jù)庫(kù)中二、簡(jiǎn)單的多表查詢對(duì)于多表查詢須了解如下兩個(gè)問(wèn)題:查詢中使用到的各個(gè)字段分別來(lái)自于哪些表。分析查詢所涉及的表與表之間存在著何種聯(lián)系,這些聯(lián)系是通過(guò)哪些字段建立起來(lái)的?!纠?-10】查詢Northwind公司所有產(chǎn)品的產(chǎn)品ID、名稱(chēng)、單價(jià)和供應(yīng)商的公司名稱(chēng)等信息。二、簡(jiǎn)單的多表查詢對(duì)于多表查詢須了解如下兩個(gè)問(wèn)題:第五節(jié)數(shù)據(jù)庫(kù)的建立一、表的設(shè)計(jì)表是數(shù)據(jù)庫(kù)的基本構(gòu)件。要?jiǎng)?chuàng)建易于維護(hù)的有效數(shù)據(jù)庫(kù),設(shè)置合理的表結(jié)構(gòu)是一個(gè)關(guān)鍵步驟。例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)“響當(dāng)當(dāng)”網(wǎng)上書(shū)店在業(yè)務(wù)活動(dòng)中所涉及的信息:會(huì)員信息商品信息訂貨單和發(fā)貨單第五節(jié)數(shù)據(jù)庫(kù)的建立一、表的設(shè)計(jì)例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)⑴會(huì)員信息:另:根據(jù)會(huì)員在“響當(dāng)當(dāng)”網(wǎng)上書(shū)店所購(gòu)買(mǎi)的商品總價(jià)值,可將會(huì)員分為:一般會(huì)員和鉆石會(huì)員。

例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)⑴會(huì)員信息:另:根⑵商品信息包括:商品名稱(chēng)、原價(jià)、折扣價(jià)、鉆石價(jià)、類(lèi)別和庫(kù)存量商品的類(lèi)別分為:書(shū)、CD和軟件等⑶訂貨單信息另:付款方式分為貨到時(shí)付款、在線支付、預(yù)存貨款、郵局匯款、銀行電匯、儲(chǔ)蓄卡匯款和支票付款等方式。例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))⑵商品信息包括:例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))⑷發(fā)貨單信息例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))⑷發(fā)貨單信息例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)中所涉及的表及相互間的聯(lián)系例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))“響當(dāng)當(dāng)”網(wǎng)上書(shū)店例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))會(huì)員表、商品表和訂單表例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))會(huì)員表、商品表和訂例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))付款方式表、訂單明細(xì)表、級(jí)別表和類(lèi)別表例:“響當(dāng)當(dāng)”網(wǎng)上書(shū)店數(shù)據(jù)庫(kù)表的設(shè)計(jì)(續(xù))付款方式表、訂單明二、創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表的方法表向?qū)В嚎梢岳檬孪仍O(shè)計(jì)好的標(biāo)準(zhǔn)格式幫助經(jīng)驗(yàn)不多的用戶創(chuàng)建所需要的表數(shù)據(jù)視圖【例2-11】“響當(dāng)當(dāng)”網(wǎng)上書(shū)店需要將其業(yè)務(wù)活動(dòng)中的數(shù)據(jù)存放到一個(gè)數(shù)據(jù)庫(kù)中,也就是說(shuō)要將表2-5和表2-6中的七個(gè)數(shù)據(jù)表存放在一個(gè)MicrosoftAccess數(shù)據(jù)庫(kù)中,假設(shè)這個(gè)數(shù)據(jù)庫(kù)的名稱(chēng)為“xddBookstore”。二、創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表的方法二、創(chuàng)建數(shù)據(jù)表(續(xù))xddBookstore數(shù)據(jù)庫(kù)二、創(chuàng)建數(shù)據(jù)表(續(xù))xddBookstore數(shù)據(jù)庫(kù)二、創(chuàng)建數(shù)據(jù)表間的聯(lián)系創(chuàng)建數(shù)據(jù)表間的聯(lián)系【例2-12】建立xddBookstore數(shù)據(jù)庫(kù)中各數(shù)據(jù)表之間的聯(lián)系二、創(chuàng)建數(shù)據(jù)表間的聯(lián)系創(chuàng)建數(shù)據(jù)表間的聯(lián)系四、數(shù)據(jù)輸入【例2-13】在xddBookstore數(shù)據(jù)庫(kù)中輸入級(jí)別表的數(shù)據(jù)四、數(shù)據(jù)輸入【例2-13】在xddBookstore數(shù)據(jù)庫(kù)中四、數(shù)據(jù)輸入(續(xù))在輸入數(shù)據(jù)的過(guò)程中需注意如下幾點(diǎn):輸入數(shù)據(jù)的類(lèi)型應(yīng)與表中相應(yīng)字段的數(shù)據(jù)類(lèi)型一致,否則系統(tǒng)會(huì)報(bào)錯(cuò)。例如,用戶在訂單表的“訂購(gòu)日期”字段中輸入了一個(gè)“非日期”類(lèi)型的值(如上海),系統(tǒng)報(bào)錯(cuò):四、數(shù)據(jù)輸入(續(xù))在輸入數(shù)據(jù)的過(guò)程中需注意如下幾點(diǎn):四、數(shù)據(jù)輸入(續(xù))輸入的主鍵(或稱(chēng)主關(guān)鍵字)的值必須惟一,否則系統(tǒng)會(huì)報(bào)錯(cuò)。當(dāng)兩個(gè)表之間建立了聯(lián)系并實(shí)施了參照完整性時(shí),應(yīng)先輸入父表中的數(shù)據(jù),再輸入子表中的數(shù)據(jù)。另外還應(yīng)保證子表中輸入的外碼值必須是父表中主鍵中出現(xiàn)過(guò)的,否則系統(tǒng)將拒絕相應(yīng)操作。例如,用戶在訂單表的外碼“收貨人”字段中輸入了一個(gè)會(huì)員表中不存在的“00000011”會(huì)員號(hào),系統(tǒng)報(bào)錯(cuò)

若用戶不希望考慮表之間的輸入順序的話,在輸入各表數(shù)據(jù)之前,先不要建立表之間的聯(lián)系。四、數(shù)據(jù)輸入(續(xù))輸入的主鍵(或稱(chēng)主關(guān)鍵字)的值必須惟一,否五、數(shù)據(jù)導(dǎo)入與導(dǎo)出數(shù)據(jù)導(dǎo)入【例2-14】將本書(shū)配套磁盤(pán)提供的xddBookstore.xls文件中的商品表數(shù)據(jù)(如圖2-76所示)導(dǎo)入到“xddBookstore”數(shù)據(jù)庫(kù)的商品表中。五、數(shù)據(jù)導(dǎo)入與導(dǎo)出數(shù)據(jù)導(dǎo)入五、數(shù)據(jù)導(dǎo)入與導(dǎo)出(續(xù))導(dǎo)入數(shù)據(jù)時(shí)的注意點(diǎn):導(dǎo)入的外部文件中各列數(shù)據(jù)的類(lèi)型應(yīng)與數(shù)據(jù)庫(kù)中對(duì)應(yīng)表的相應(yīng)字段類(lèi)型一致。導(dǎo)入的外部文件中主鍵的值應(yīng)惟一,否則導(dǎo)入操作也會(huì)出錯(cuò),主鍵值重復(fù)的記錄會(huì)丟失。若數(shù)據(jù)庫(kù)的各表之間建立了聯(lián)系且實(shí)施了參照完整性的話,應(yīng)先導(dǎo)入父表數(shù)據(jù),再導(dǎo)入子表數(shù)據(jù),否則導(dǎo)入操作也會(huì)出錯(cuò),系統(tǒng)會(huì)提示用戶參照完整性被違反了。若用戶不希望考慮表之間的導(dǎo)入順序的話,在導(dǎo)入各表數(shù)據(jù)之前,先不要建立表之間的聯(lián)系。五、數(shù)據(jù)導(dǎo)入與導(dǎo)出(續(xù))導(dǎo)入數(shù)據(jù)時(shí)的注意點(diǎn):五、數(shù)據(jù)導(dǎo)入與導(dǎo)出(續(xù))數(shù)據(jù)導(dǎo)出將Access數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)出到其他的外部文件中;具體方法是:先在Acce

溫馨提示

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