計(jì)算機(jī)信息管理基礎(chǔ)_第1頁(yè)
計(jì)算機(jī)信息管理基礎(chǔ)_第2頁(yè)
計(jì)算機(jī)信息管理基礎(chǔ)_第3頁(yè)
計(jì)算機(jī)信息管理基礎(chǔ)_第4頁(yè)
計(jì)算機(jī)信息管理基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩72頁(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)介

清華大學(xué)計(jì)算機(jī)與信息管理中心

計(jì)算機(jī)信息管理基礎(chǔ)

?教學(xué)內(nèi)容

應(yīng)用:介紹開發(fā)應(yīng)用系統(tǒng)的過(guò)程和方法

Delphi:可視化的,面向?qū)ο蟮拈_發(fā)工具

數(shù)據(jù)庫(kù)技術(shù):討論表示、存貯數(shù)據(jù),高效地獲取數(shù)據(jù)的方法,涉及DB(DataBase)

體系結(jié)構(gòu)、數(shù)據(jù)模型、關(guān)系代數(shù)、DB設(shè)計(jì)理論、DB安全性、

完整性,并發(fā)控制等知識(shí)點(diǎn)

網(wǎng)絡(luò)技術(shù):簡(jiǎn)介計(jì)算機(jī)網(wǎng)絡(luò)的構(gòu)成及通訊協(xié)議

?課程要求

了解計(jì)算機(jī)信息系統(tǒng)的基本概念及其應(yīng)用,掌握開發(fā)計(jì)算機(jī)信息系統(tǒng)涉及的基礎(chǔ)

知識(shí),開發(fā)過(guò)程和開發(fā)方法

?參考書

1.計(jì)算機(jī)信息管理基礎(chǔ)清華大學(xué)計(jì)算中心編著(教材)

2.數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用龍守湛編著(科學(xué)出版社)

3.數(shù)據(jù)庫(kù)系統(tǒng)概論(第2版)薩師炮、王珊編著(高等教育出版社)

4.Oracle數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)俞盤祥編著清華大學(xué)出版社

5.Delphi:程序設(shè)計(jì)黃建華、羅慶祖、江政杰編著(清華大學(xué)出版社)

清華大學(xué)計(jì)算機(jī)與信息管理中心

第一章信息系統(tǒng)的概念及其應(yīng)用

1.1基本概念

?數(shù)據(jù)和信息

數(shù)據(jù)(Data):為客觀實(shí)體的屬性值,它表示原始的,沒有加工過(guò)的數(shù)據(jù)。如數(shù)

字、字符串、語(yǔ)言、聲音、圖形等。

信息:通過(guò)加工和處理以后的數(shù)據(jù)。信息有如下特點(diǎn):

-有一定的含義

?具有可用性(強(qiáng)調(diào)經(jīng)過(guò)加工),與目的有關(guān)

?可傳遞、可存貯、可共享

?時(shí)間性

信息和數(shù)據(jù)的關(guān)系,如圖所示:

數(shù)據(jù)——>處理(器)——》信息

存儲(chǔ)

原始數(shù)據(jù),用實(shí)體(Entity)>屬性(Property),屬性值(Value)表示。通過(guò)

分析、匯總獲得信息

信息可以從多種角度分類,按應(yīng)用領(lǐng)域可分為經(jīng)濟(jì)信息、社會(huì)信息、科技信息、

軍事信息、外交信息等。按形式分類,可分成數(shù)據(jù)信息、圖像信息、聲音信息等。

?信息管理

信息管理是?種管理行為,從數(shù)據(jù)角度,信息管理是指對(duì)數(shù)據(jù)本身的各種管理活

動(dòng)。其中有數(shù)據(jù)結(jié)構(gòu)的管理,對(duì)數(shù)據(jù)的維護(hù)、數(shù)據(jù)的安全、保密管理、數(shù)據(jù)處理等。

這種管理是技術(shù)上的措施,是多用戶共享使用數(shù)據(jù)環(huán)境下不可缺少的功能。

在企業(yè)管理過(guò)程中,為了達(dá)到某種特定目標(biāo),在大量的信息中選擇有用的信息,

進(jìn)行有效的收集、分類、整理、分析和傳遞等一系列的信息處理的過(guò)程也稱為信息管

理。

例如:一個(gè)企業(yè),它的經(jīng)營(yíng)目標(biāo)是T,Q,C,So圍繞這一目標(biāo),我們把整個(gè)生

產(chǎn)經(jīng)營(yíng)活動(dòng)歸為以下3類:

生產(chǎn)活動(dòng):圍繞物料流進(jìn)行

管理活動(dòng):圍繞生產(chǎn)活動(dòng)進(jìn)行。它對(duì)生產(chǎn)活動(dòng)進(jìn)行指揮、監(jiān)控、協(xié)調(diào)、控制,并

從生產(chǎn)活動(dòng)中收集信息進(jìn)行分類、匯總,作為領(lǐng)導(dǎo)決策的依據(jù)。

信息管理是各種信息系統(tǒng)應(yīng)具備的主要功能。

?信息系統(tǒng)的主要形式:人——機(jī)系統(tǒng)

以計(jì)算機(jī)為主要支持工具,通過(guò)人和機(jī)器一系列的交互活動(dòng),獲取知識(shí),獲取信

息。

1.2信息系統(tǒng)的應(yīng)用及其發(fā)展

?電子數(shù)據(jù)處理階段

1946年第一臺(tái)計(jì)算機(jī)誕生以來(lái),計(jì)算機(jī)主要做統(tǒng)計(jì),計(jì)算。

?事務(wù)處理系統(tǒng)階段

計(jì)算機(jī)逐步應(yīng)用于企業(yè)的部分業(yè)務(wù)管理,生成財(cái)務(wù)報(bào)告,簡(jiǎn)單的訂票系統(tǒng),管理

活動(dòng)以人工為主。(60年代末)

?管理信息系統(tǒng)階段

MIS(ManagementInformationsystem70年代中期)

MIS系統(tǒng)是以一個(gè)部門的管理為背景,以基層事務(wù)處理系統(tǒng)為基礎(chǔ),以完成該部

門的總體任務(wù)為目標(biāo),強(qiáng)調(diào)企業(yè)中各局部系統(tǒng)之間信息相互聯(lián)系的綜合系統(tǒng)。

MIS系統(tǒng)對(duì)企業(yè)的影響

a.提高了科學(xué)管理水平

b.增強(qiáng)了企業(yè)組織的活力

c.提高了管理人員的素質(zhì)和管理水平

d.提高了企業(yè)對(duì)環(huán)境的適應(yīng)能力

e.提高了企業(yè)的經(jīng)濟(jì)效益和社會(huì)效益

?辦公信息系統(tǒng)階段

?計(jì)算機(jī)集成制造系統(tǒng)(CIMS)階段

清華大學(xué)計(jì)算機(jī)與信息管理中心

第二章計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)

2.1計(jì)算機(jī)網(wǎng)絡(luò)的基本組成

所謂計(jì)算機(jī)網(wǎng)絡(luò)就是利用通訊設(shè)備和線路將地理位置不同的,功能獨(dú)立的多個(gè)計(jì)

算機(jī)系統(tǒng)互連起來(lái),以功能完善的網(wǎng)絡(luò)軟件(即網(wǎng)絡(luò)通訊協(xié)議,信息交換方式及網(wǎng)絡(luò)

操作系統(tǒng)等)實(shí)現(xiàn)網(wǎng)絡(luò)中資源共享和信息傳遞的系統(tǒng)。

組成網(wǎng)絡(luò)的基本軟硬件部件:

?網(wǎng)卡和媒體

?網(wǎng)絡(luò)工作站

?網(wǎng)絡(luò)服務(wù)器

?網(wǎng)間連接器

?網(wǎng)絡(luò)系統(tǒng)軟件

2.2數(shù)據(jù)通信系統(tǒng)

?數(shù)據(jù)傳輸技術(shù)

傳送數(shù)據(jù)可以按一次一位或一次多位的方式進(jìn)行,這就是所謂的串行傳送與并行

傳送。從硬件的角度,不同的傳送方式有不同的I/O接口電路,并行數(shù)據(jù)傳送由并行

數(shù)據(jù)端口進(jìn)行,它把一個(gè)字節(jié)/字的寬度同時(shí)進(jìn)行輸入/輸出;而串行數(shù)據(jù)傳送由串行

數(shù)據(jù)端口進(jìn)行,它把一個(gè)字節(jié)/字變成按位方式進(jìn)行輸入/輸出。

?數(shù)據(jù)交換技術(shù)

最簡(jiǎn)單的形式是在兩個(gè)用某種類型的傳輸介質(zhì)直接連接的設(shè)備之間進(jìn)行數(shù)據(jù)通

信;但是直接連接兩個(gè)設(shè)備常常是不現(xiàn)實(shí)的。通常是通過(guò)有中間結(jié)點(diǎn)的網(wǎng)絡(luò)來(lái)把數(shù)據(jù)

從源地發(fā)送到目的地實(shí)現(xiàn)通訊。這些中間結(jié)點(diǎn)并不關(guān)心數(shù)據(jù)內(nèi)容,只起一個(gè)交換設(shè)備

的作用把數(shù)據(jù)從一個(gè)結(jié)點(diǎn)傳送到另一個(gè)結(jié)點(diǎn)。

通常將希望通信的設(shè)備稱為站,而將提供通信的設(shè)備稱為結(jié)點(diǎn)。

常用的交換技術(shù)有:

a.線路交換

使用線路交換的方式,就是通過(guò)網(wǎng)絡(luò)中的結(jié)點(diǎn)在兩個(gè)站之間建立?條專用的通信

線路。最普通的線路交換例子是電話系統(tǒng)。

?建立線路:在傳送任何數(shù)據(jù)之前,必須建立站到站的線路。

?傳送數(shù)據(jù)

?拆除線路

b.存儲(chǔ)交換

在存貯交換中,不需要在兩個(gè)站之間建立一條專用通路。如果一個(gè)站想要發(fā)送一

個(gè)報(bào)文(信息的?個(gè)邏輯單位),它把一個(gè)目的地址附加在報(bào)文上,然后把報(bào)文從結(jié)

點(diǎn)到結(jié)點(diǎn)地通過(guò)網(wǎng)絡(luò)。在每個(gè)結(jié)點(diǎn)暫存整個(gè)報(bào)文,然后轉(zhuǎn)發(fā)到下一個(gè)結(jié)點(diǎn)。

c.分組交換

試圖結(jié)合線路交換和存儲(chǔ)交換的優(yōu)點(diǎn),而使兩者缺點(diǎn)最少。

分組交換很象報(bào)文交換。形式上的主要差別在于,在分組交換網(wǎng)絡(luò)中,要限制所

傳輸?shù)臄?shù)據(jù)單位的長(zhǎng)度,也就是說(shuō),將數(shù)據(jù)報(bào)文分割成若干長(zhǎng)度較短的分組進(jìn)行傳輸,

每個(gè)分組除數(shù)據(jù)信息外,還包含地址標(biāo)識(shí),分組編號(hào),檢驗(yàn)信息等。

報(bào)文在發(fā)送端進(jìn)行分割,其中每個(gè)分組可經(jīng)過(guò)不同的路山傳輸。途中經(jīng)過(guò)每個(gè)結(jié)

點(diǎn)的時(shí)候,先存儲(chǔ)后轉(zhuǎn)發(fā),并檢查,有錯(cuò)誤時(shí)重發(fā),回送應(yīng)答信息。當(dāng)接收端正確收

到全部分組后,再按分組編號(hào)重新裝成數(shù)據(jù)報(bào)文。

2.3計(jì)算機(jī)網(wǎng)絡(luò)的體系結(jié)構(gòu)

計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)是指通過(guò)系統(tǒng)的整體設(shè)計(jì),為網(wǎng)絡(luò)硬件,軟件、協(xié)議,存取

控制和拓?fù)涮峁?biāo)準(zhǔn)。

網(wǎng)絡(luò)體系結(jié)構(gòu)廣泛采用的是國(guó)際標(biāo)準(zhǔn)化組織(ISO)在1979年提出的開放系統(tǒng)互

連(OSI)的參考模型。該模型用七個(gè)功能層次描述網(wǎng)絡(luò)的結(jié)構(gòu):

層次功能

應(yīng)用層提供各種網(wǎng)絡(luò)服務(wù),如文件傳輸,虛擬終端,電子郵件等

表示層數(shù)據(jù)表示和字符編碼轉(zhuǎn)換

會(huì)話層對(duì)話管理,包括通訊的建立和拆除

傳輸層端到端的數(shù)據(jù)發(fā)送

網(wǎng)絡(luò)層確定分組從源端到H的端的路徑選擇

數(shù)據(jù)鏈路層任務(wù)是把物理層傳輸比特的功能加強(qiáng),使之為網(wǎng)絡(luò)層顯現(xiàn)

一條無(wú)措線路

物理層涉及原始數(shù)據(jù)在通訊道上的傳輸

OSI參考模型層次和功能

從網(wǎng)絡(luò)互連的角度來(lái)看,網(wǎng)絡(luò)體系結(jié)構(gòu)的關(guān)鍵要素是協(xié)議和拓?fù)洹?/p>

協(xié)議

協(xié)議是規(guī)則的集合,它規(guī)定了網(wǎng)絡(luò)的不同部分是如何交互的,從而保證了網(wǎng)絡(luò)上

的設(shè)備彼此之間能夠通訊。

*低層協(xié)議。通常在OSI模型的物理層和數(shù)據(jù)鏈路層操作,低層協(xié)議規(guī)定網(wǎng)絡(luò)

基本的物理和邏輯特征。

*高層協(xié)議。通常在OSI模型的網(wǎng)絡(luò)層以上層操作,高層協(xié)議規(guī)定網(wǎng)絡(luò)內(nèi)部更

復(fù)雜的邏輯結(jié)構(gòu),

拓?fù)?/p>

拓?fù)涫蔷W(wǎng)絡(luò)上的設(shè)備之間的連接形式?;镜木钟蚓W(wǎng)拓?fù)漕愋桶ǎ?/p>

?總線拓?fù)?,所有設(shè)備連接到干線電纜構(gòu)成網(wǎng)絡(luò)的總線,或中樞(backbone)

?星型拓?fù)?,所有設(shè)備連接到一個(gè)中心點(diǎn),此中心點(diǎn)稱做網(wǎng)絡(luò)的集線器(hub)。

?環(huán)型拓?fù)?,所有設(shè)備彼此串行連接,就像連成鏈一樣,構(gòu)成了?個(gè)回路或稱做環(huán)

(ring)<,

?混合拓?fù)洌阂陨贤負(fù)涞幕旌辖Y(jié)構(gòu)。

2.4局域網(wǎng)的基本組成

*網(wǎng)卡和媒體

網(wǎng)卡和媒體影響所組成網(wǎng)絡(luò)的傳輸率,拓?fù)浣Y(jié)構(gòu)、地理范圍、傳輸效率,輸可

靠性等。

*網(wǎng)絡(luò)工作站

網(wǎng)絡(luò)工作站為聯(lián)網(wǎng)用戶所使用的計(jì)算機(jī)。在這類微機(jī)工作站上可配置DOS、

OS/2、Windows等操作系統(tǒng)和網(wǎng)絡(luò)軟件。

*網(wǎng)絡(luò)服務(wù)器

局域網(wǎng)中服務(wù)器配置有兩種:文件服務(wù)器和通訊服務(wù)器。文件服務(wù)器在局域網(wǎng)

上可選用高檔微機(jī)作為文件服務(wù)器。在文件服務(wù)器上可配置大容量的硬盤,優(yōu)質(zhì)打印

機(jī),為網(wǎng)上用戶提供服務(wù)。

服務(wù)器上配置相應(yīng)的軟件,可與遠(yuǎn)程主機(jī)等設(shè)備通訊。

*網(wǎng)間連接器

網(wǎng)絡(luò)的互連有四種可能型式

?LAN-LAN

?LAN-WAN

?WAN-WAN

?LAN-WAN-LAN

網(wǎng)間互連的設(shè)備主要有:

中繼器(一層)

中繼器是最低層次的設(shè)備,它只起放大信號(hào)的作用。在規(guī)劃網(wǎng)絡(luò)時(shí),若網(wǎng)絡(luò)段

已超過(guò)最大長(zhǎng)度,則要用中繼器來(lái)延伸。

*網(wǎng)橋(二層)

橋是一種存儲(chǔ)轉(zhuǎn)發(fā)設(shè)備,用來(lái)連接兩個(gè)同類的網(wǎng)絡(luò)。所謂同類網(wǎng)絡(luò)是指操作系

統(tǒng)是一致的。在橋接的網(wǎng)絡(luò)中若山文件服務(wù)器兼做網(wǎng)橋稱內(nèi)橋。若專門用一臺(tái)微機(jī)作

為兩個(gè)網(wǎng)絡(luò)互連的設(shè)備稱外橋。

*路由器(三層)

當(dāng)兩個(gè)以上同類網(wǎng)絡(luò)互連時(shí),必須選用路由器。路由器除了具有網(wǎng)橋的全部功

能外,還提供路經(jīng)選擇功能。路山器有兩種類型:內(nèi)部路由器和外部部山器。內(nèi)部路

由器由文件服務(wù)器實(shí)現(xiàn),也可以在網(wǎng)絡(luò)中單獨(dú)用一臺(tái)PC機(jī)作為外部路由器。

*網(wǎng)關(guān)(Gateway)

網(wǎng)間連接器網(wǎng)關(guān)運(yùn)行在OSI模型的高層,能支持從傳送層到應(yīng)用層的協(xié)議。它

可執(zhí)行協(xié)議的轉(zhuǎn)換,使不同協(xié)議的局域網(wǎng)通信。當(dāng)異類局域網(wǎng)(異種網(wǎng)絡(luò)操作系統(tǒng)),

局域網(wǎng)與主機(jī),局部網(wǎng)與廣域網(wǎng)互連時(shí),在局域網(wǎng)上.必須配置網(wǎng)關(guān)。

2.5SQL*Net簡(jiǎn)介

網(wǎng)絡(luò)的出現(xiàn),使計(jì)算機(jī)的使用方式發(fā)生了根本的變化,大大提高了資源的利用

率。網(wǎng)絡(luò)技術(shù)的發(fā)展也使得數(shù)據(jù)庫(kù)系統(tǒng)從集中式數(shù)據(jù)庫(kù)發(fā)展成為分布式數(shù)據(jù)庫(kù)系統(tǒng),

使得分布式數(shù)據(jù)庫(kù)中的用戶可以象存取本地?cái)?shù)據(jù)庫(kù)一樣存取遠(yuǎn)程數(shù)據(jù)庫(kù)。

SQL*Net是Oracle公司為分布式Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)開發(fā)的一個(gè)通訊軟件模

塊(選件),該選件與各種操作系統(tǒng)所支持的通信協(xié)議一起為Oracle關(guān)系數(shù)據(jù)庫(kù)管理

系統(tǒng)(RDBMS)提供分布式的處理環(huán)境。分布處理是指不同網(wǎng)絡(luò)結(jié)點(diǎn)上的多個(gè)程序通過(guò)

網(wǎng)絡(luò)傳送信息來(lái)協(xié)調(diào)它們的工作。

*SQL*Net支持的通訊模式有:

■客戶/服務(wù)器(Client/Server)通訊模式

■服務(wù)器/服務(wù)器(Server/Server)

■瀏覽器/應(yīng)用服務(wù)器/DB服務(wù)器(Browse/AppServer/DBServer)通訊模式

?SQL*Net提供以下功能:

a.網(wǎng)絡(luò)上任何地方的用戶,通過(guò)SQL*Net可以向網(wǎng)內(nèi)任一結(jié)點(diǎn)上的Oracle數(shù)據(jù)

庫(kù)注冊(cè)并使用遠(yuǎn)程的數(shù)據(jù)庫(kù)。

b.通過(guò)SQL*Net,利用Oracle數(shù)據(jù)庫(kù)的分布處理能力,用戶可以同時(shí)存取網(wǎng)內(nèi)

多個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。Oracle分布式數(shù)據(jù)庫(kù)系統(tǒng)支持用戶在一條SQL語(yǔ)句中查詢、

修改多個(gè)結(jié)點(diǎn)中的數(shù)據(jù)。

c.SQL*Net獨(dú)立于它所支持的網(wǎng)絡(luò)協(xié)議,無(wú)論什么協(xié)議,SQL*Net提供相同的

功能。

d.SQL*Net為分布式Oracle數(shù)據(jù)庫(kù)系統(tǒng)中的用戶提供了物理位置透明性。

*SQL*Net提供的數(shù)據(jù)訪問(wèn)方式有:

,本地訪問(wèn)

■遠(yuǎn)程訪問(wèn)

■分布式的訪問(wèn)

第三章數(shù)據(jù)庫(kù)技術(shù)

數(shù)據(jù)庫(kù)方法

數(shù)據(jù)庫(kù)技術(shù)是管理數(shù)據(jù)的一種最新方法,它研究如何組織數(shù)據(jù),存儲(chǔ)數(shù)據(jù),如何

能夠高效地獲取和處理數(shù)據(jù)的方法。

現(xiàn)實(shí)世界

信息系統(tǒng)的三個(gè)世界

3.1數(shù)據(jù)庫(kù)技術(shù)的發(fā)展及概述

階段1:人工管理階段(50年代中期)

沒有統(tǒng)一的數(shù)據(jù)管理軟件

階段2:文件系統(tǒng)階段(50—60年代中)

有統(tǒng)一的軟件處理數(shù)據(jù)(如,COBOL語(yǔ)言)

數(shù)據(jù)可以組織成:順序、索引、直接文件形式

處理特點(diǎn):程序+數(shù)據(jù)

階段3:數(shù)據(jù)庫(kù)階段(60年代末至今)

*有統(tǒng)一的數(shù)據(jù)管理軟件,管理數(shù)據(jù)

*數(shù)據(jù)具有獨(dú)立性

*強(qiáng)調(diào)面向企業(yè)面向系統(tǒng)組織數(shù)據(jù)

3.2數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)

3.2.1三級(jí)模式的結(jié)構(gòu)

DB的體系結(jié)構(gòu)分成三級(jí):

內(nèi)模式又稱存儲(chǔ)模式,是數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)部表示,即為數(shù)據(jù)的物理結(jié)構(gòu)

和存儲(chǔ)方式的描述。

外模式又稱用戶模式,表示用戶能看到的數(shù)據(jù)。

概念模式又稱邏輯模式,是DB中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。

DBMS在這三級(jí)結(jié)構(gòu)之間提供了兩層映象:

外模式/模式映象、模式/內(nèi)模式映象

3.2.2數(shù)據(jù)庫(kù)系統(tǒng)

一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)實(shí)際可運(yùn)行的,按照一定的數(shù)據(jù)模型存貯,維護(hù)并向應(yīng)

用系統(tǒng)提供數(shù)據(jù)或信息支持的系統(tǒng)。它由以下部分組成:

?數(shù)據(jù)庫(kù)(Database,DB)

?數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem,DBMS)

DBMS的主要功能:

a.數(shù)據(jù)庫(kù)定義:包括全局邏輯結(jié)構(gòu)(Schema)的定義。局部邏輯結(jié)構(gòu)(subschema)

的定義,安全保密等的定義。

b.數(shù)據(jù)庫(kù)管理:數(shù)據(jù)存取、完整性、安全性、并先控制等。

&數(shù)據(jù)庫(kù)的建立和維護(hù)、建庫(kù)、庫(kù)的遷移,再組織,數(shù)據(jù)的后備和恢復(fù)、性能

監(jiān)控等.

?應(yīng)用系統(tǒng)開發(fā)工具(程序設(shè)計(jì)軟件)

?數(shù)據(jù)庫(kù)管理員(DatabaseAdministrator,DBA)

3.2.3分布式數(shù)據(jù)管理系統(tǒng)

通訊模式:

clien/serverserver/serverclient/Appserver/DBserver

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

在DB技術(shù)中我們使用模型的概念描述數(shù)據(jù)庫(kù)的結(jié)構(gòu)和語(yǔ)義。即描述現(xiàn)實(shí)世界

中對(duì)象集及對(duì)象集之間關(guān)系的模型稱作數(shù)據(jù)模型。

目前廣泛使用的數(shù)據(jù)模型分為兩種類型:

概念數(shù)據(jù)模型:描述信息世界中數(shù)據(jù)及數(shù)據(jù)之間關(guān)系的模型,它獨(dú)立之于

計(jì)算機(jī)。

?結(jié)構(gòu)數(shù)據(jù)模型:描述計(jì)算機(jī)世界中,數(shù)據(jù)及數(shù)據(jù)之間表示、存貯、處理特

征的模型,它依賴于具體的計(jì)算機(jī)。

3.3.1實(shí)體一聯(lián)系方法(Entity-RelationshipApproach)也叫E—R方法。

?實(shí)體:實(shí)體表示一個(gè)現(xiàn)實(shí)和抽象事物的集合,這些事物必須具有相同的

屬性和特征。

實(shí)體用長(zhǎng)方形表示,框內(nèi)寫上實(shí)體名,如部門用DEPT表示。

?聯(lián)系:表示實(shí)體和實(shí)體之間的關(guān)系或聯(lián)系

實(shí)體之間的聯(lián)系用菱形表示,在菱形邊框內(nèi)寫上聯(lián)系名。兩個(gè)實(shí)體之間聯(lián)

系的基數(shù)(類型)可以是可寫在連線旁,例如,實(shí)體之間的聯(lián)系為:

DEPTPROJ

D-EPR-E

n

EMPEMP

屬性,用于描述實(shí)體的性質(zhì)和特征,用橢圓形表示。例如:

'、---------------------------

DEPT

1

D-E

EMP

:L

?實(shí)體實(shí)例:實(shí)體中的一個(gè)元素就是這個(gè)實(shí)體的實(shí)例。

例如:計(jì)算機(jī)系、電子系、職工張三、李四等

?屬性值,為一個(gè)屬性的取值,例如,ENAME的取值,王明,張麗等。

3.3.2結(jié)構(gòu)數(shù)據(jù)模型一也稱數(shù)據(jù)模型

結(jié)構(gòu)數(shù)據(jù)模型直接面向數(shù)據(jù)庫(kù)中數(shù)據(jù)的邏輯結(jié)構(gòu).它一方面把信息世界的信息在

機(jī)器世界中以數(shù)據(jù)形式存儲(chǔ),同時(shí),描述了數(shù)據(jù)世界中存儲(chǔ)的數(shù)據(jù)集上的操作。因此

一個(gè)數(shù)據(jù)模型由三個(gè)部分組成:

對(duì)象類型的集合:操作符的集合和完整性規(guī)則的集合。

對(duì)象類型的集合:描述全部數(shù)據(jù)的邏輯結(jié)構(gòu)。

操作符集合:表示數(shù)據(jù)結(jié)構(gòu)支持的操作。

完整性規(guī)則集合:描述數(shù)據(jù)及其聯(lián)系所指定的制約或依存規(guī)則。

目前,實(shí)際的數(shù)據(jù)庫(kù)系統(tǒng)支持的數(shù)據(jù)模型有:

層次模型、網(wǎng)狀模型、關(guān)系模型和OO模型。

*層次模型:

層次模型是用樹結(jié)構(gòu)表示實(shí)體及其實(shí)體之間的聯(lián)系。它的主要特征是一棵有向

樹。樹的結(jié)點(diǎn)是記錄類型。根結(jié)點(diǎn)只有一個(gè),根結(jié)點(diǎn)以外的結(jié)點(diǎn)有且只有一個(gè)父結(jié)點(diǎn)。

圖中R1是根,R2,R3是R1的子女,R2,R3為兄弟,R2,R4,R5稱為葉子。

IMS(InformationManagementSYStem)是IBM公司研制的最早的大型數(shù)據(jù)庫(kù)系

統(tǒng),也是層次模型的典型代表。

?網(wǎng)狀模型

用網(wǎng)絡(luò)結(jié)構(gòu)表示實(shí)體以其實(shí)體之間聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀模型。網(wǎng)狀模型滿足

卜列條件:

a.有一個(gè)以上結(jié)點(diǎn)無(wú)雙親

b.至少有?個(gè)結(jié)點(diǎn)有多于一個(gè)雙親

網(wǎng)狀模型數(shù)據(jù)庫(kù)的代表是DBTG系統(tǒng)。DBTG(DataBaseTaskGroup數(shù)據(jù)庫(kù)任務(wù)

組)是美國(guó)CODASYL(conferenceOnDataSystemLanguage數(shù)據(jù)系統(tǒng)語(yǔ)言協(xié)商會(huì))下屬

的一個(gè)組織,主要研究數(shù)據(jù)庫(kù)語(yǔ)言。1969年DBTG小組提出了一份報(bào)告,即有名的

“DBTG報(bào)告”。1971年報(bào)告被正式通過(guò)。

?關(guān)系模型

用表格結(jié)構(gòu)表示實(shí)體以及實(shí)體間聯(lián)系的數(shù)據(jù)模型叫關(guān)系模型。關(guān)系模型是由若干

“關(guān)系”(Relational)組成的集合。

在網(wǎng)狀和層次模型中用指針的鏈接表示實(shí)體之間的聯(lián)系,

例如:

而在關(guān)系模型中,通過(guò)子女關(guān)系繼承父親關(guān)系的主碼表示關(guān)系或表格之間的聯(lián)

系。例如:

DEPT關(guān)系:EMP關(guān)系

DNODNAMEDIRECTOREMPNOENAMEJOBSALDEPTNO

D)ComputerWangEiLiclerk500Di

D2RadioLiE2wangmanager900DI

D3AutomationZhangE3liuworker450D,

gaoanalyst850D

E52

“關(guān)系”本身涉及存儲(chǔ)結(jié)構(gòu)、訪問(wèn)技術(shù)等細(xì)節(jié),與網(wǎng)狀、層次模型比起來(lái)實(shí)現(xiàn)較

復(fù)雜,效率也低。但提供給用戶的界面較簡(jiǎn)單,容易為初學(xué)者接受。

?面向?qū)ο竽P?Object-Orientedmodel)

面向?qū)ο竽P椭凶罨镜母拍钍菍?duì)象(Object)和類(Class)。對(duì)象的概念與記錄元

組的概念相似,但遠(yuǎn)比它們復(fù)雜。每個(gè)對(duì)象都有一個(gè)唯一的標(biāo)識(shí)符,而且把一個(gè)狀態(tài)

(State)和一個(gè)行為封裝在一起。對(duì)象的狀態(tài)是該對(duì)象屬性值的集合,對(duì)象的行為是在

對(duì)象狀態(tài)上操作的方法(程序代碼)的集合。

類的概念類擬于表格或記錄型,它把共享同一屬性集合和方法集合的所有對(duì)象組

合在一起,命名為類。

面向?qū)ο竽P吞攸c(diǎn):

a.語(yǔ)義強(qiáng)

b.支持復(fù)雜的數(shù)據(jù)類型(向量、矩陣、有序集等)

c.有封裝性、繼承性。

d.具有版本管理功能

e.支持長(zhǎng)事務(wù)等

一個(gè)子類可以從其直接父類或間接父類那里繼承

D甲TClass

BMPClass

PROJClass

所有的屬性和方法。

類與類之間的關(guān)系,用指針定實(shí)現(xiàn)

查詢:導(dǎo)航查詢

信息世界、機(jī)器世界術(shù)語(yǔ)的對(duì)應(yīng)關(guān)系如下:

信息模型(信息世界)數(shù)據(jù)模型(機(jī)器世界)

E-R方法(model)網(wǎng)狀模型關(guān)系模型

實(shí)體記錄型關(guān)系(表)

實(shí)體實(shí)例記錄(值)元組(行)

屬性數(shù)據(jù)項(xiàng)屬性(域)

屬性值數(shù)據(jù)項(xiàng)值元組分量(列值)

清華大學(xué)計(jì)算機(jī)與信息管理中心

3.3.3數(shù)據(jù)庫(kù)設(shè)計(jì)

?概念設(shè)計(jì)

1)定義實(shí)體

實(shí)體山基本實(shí)例綜合而成,這些實(shí)體實(shí)例具有相同的特征和類型。實(shí)體的每一個(gè)

實(shí)例是實(shí)體的一個(gè)成員,每個(gè)成員具有同?類型的標(biāo)識(shí)信息。

例如:

實(shí)體:雇員

為了幫助建模人員區(qū)分實(shí)體和非實(shí)體,對(duì)于每一個(gè)候選實(shí)體建模人員可提出下列

問(wèn)題:

?它能被描述嗎(它有性質(zhì)嗎?)

?有n個(gè)這類的實(shí)例嗎?

??個(gè)實(shí)例可被區(qū)分或標(biāo)識(shí)嗎?

?它屬于描述某物嗎?(回答“是”則隱含是一個(gè)屬性而不是實(shí)體)

2)定義聯(lián)系

一個(gè)“聯(lián)系”可以被簡(jiǎn)單地定義為兩個(gè)實(shí)體之間的一種關(guān)聯(lián)或連接。為了建立兩

個(gè)實(shí)體之間的關(guān)聯(lián),實(shí)體間的聯(lián)系應(yīng)該從兩個(gè)方向檢驗(yàn)。

例如,考慮實(shí)體"班級(jí)”(CLASS)和“學(xué)生”(STUDENT)之間的聯(lián)系。一

個(gè)班級(jí)可以有多名學(xué)生,從另一個(gè)方面分析一名學(xué)生只能在?個(gè)班中。

確定了兩個(gè)實(shí)體之間聯(lián)系的基數(shù)后,要給聯(lián)系命名。

3)定義屬性

屬性表示一個(gè)同類型的屬性值的集合。屬性從屬于實(shí)體,它用來(lái)描述實(shí)體的特征

和性質(zhì)。一個(gè)屬性只有一個(gè)所有者,一個(gè)所有者叫實(shí)體。

概念設(shè)計(jì)實(shí)例:

為選課系統(tǒng)設(shè)計(jì)E-R模型。已知:一個(gè)班級(jí)可以有多名學(xué)生,一名學(xué)生只能屬

于一個(gè)班級(jí);一個(gè)班級(jí)可以有多門必修課程,一門課程可能是多個(gè)班級(jí)的必修課;一

名學(xué)生可選修多門課程,一門課程可以被多名學(xué)生選修;一門課程可以有多個(gè)上課時(shí)

間,一個(gè)上課時(shí)間內(nèi)可能有多門課程上課,根據(jù)以上管理規(guī)范,構(gòu)造E—R模型。

?邏輯設(shè)計(jì)

任務(wù):把概念模型(E-R模型)轉(zhuǎn)換成具體的DBMS能處理的模型(模式)。

概念模型||使用要求||約束,安全性第DBMS特性

|(支持模型)

邏輯設(shè)計(jì)

DBMS可程序設(shè)計(jì)物理設(shè)計(jì)

處理模型指南指南

E-R模型轉(zhuǎn)換成關(guān)系模型的轉(zhuǎn)換規(guī)則:

1:

父家關(guān)系:實(shí)體名轉(zhuǎn)換成關(guān)系名

屬性:實(shí)體屬性就是關(guān)系的屬性

子女關(guān)系:實(shí)體名轉(zhuǎn)換成關(guān)系名

屬性:子女實(shí)體屬性加雙親的主碼屬性

雙親實(shí)體:同上

聯(lián)系:轉(zhuǎn)換成--個(gè)關(guān)系

屬性:聯(lián)系的屬性加各雙親的主碼屬性

CE

數(shù)據(jù)庫(kù)設(shè)計(jì)習(xí)題:

(1)根據(jù)我校情況為教務(wù)管理設(shè)計(jì)概念模型,并用E—R圖表示。在教務(wù)管理

中涉及教師信息、學(xué)生信息、課程信息、以及學(xué)生選課成績(jī)。希望可方便地獲取某教

師講授的課程及聽課學(xué)生的情況,可獲取某學(xué)生所選修的課程。

(2)為商店銷售管理設(shè)計(jì)概念模型,并用E-R圖表示。要求包含下列信息:

銷售人員的情況、商品庫(kù)存情況、銷售記錄、和顧客信息。

(3)為醫(yī)院住院部管理設(shè)計(jì)概念模型,并用E-R圖表示。要求包含下列信息:

大夫信息、病人信息、病房信息、科的信息和病人治療信息等。每個(gè)大夫只屬于一個(gè)

科,?個(gè)科管理多個(gè)病房,在??個(gè)病房中可有多張床位,病人在住院時(shí),只有一個(gè)主

治大夫負(fù)責(zé)醫(yī)治。

(4)為學(xué)校管理信息設(shè)計(jì)概念模型,要求包括下列信息:系、教研組、教師、

班級(jí)、學(xué)生、課程、及課程開設(shè)記錄。在清華大學(xué),課程的開設(shè)是由教研組負(fù)責(zé),每

個(gè)教師只屬于一個(gè)教研組,班級(jí)由系統(tǒng)一管理。

3.4關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言SQL(StructureQueryLanguage)

70年代初,E.F.CODD首先提出關(guān)系數(shù)據(jù)模型。70年代中期,IBM公司在研制

SYSTEMR關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中研制了SQL語(yǔ)言,最早的SQL語(yǔ)言叫(SEQUEL)。

在1979年Oracle公司推出了商用SQL。1986年10月美國(guó)國(guó)家標(biāo)準(zhǔn)化研究所(ANSI)

采用SQL作為關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言,后為國(guó)際標(biāo)準(zhǔn)化組織(ISO)采納為

國(guó)際標(biāo)準(zhǔn)。目前市場(chǎng)上的一些大型的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)幾乎都支持SQL的某形式。例

如:Oracle,UDB,SQLServer,Sybase,InformaxIngress等關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)品。

SQL語(yǔ)言的優(yōu)點(diǎn):

(1)非過(guò)程化語(yǔ)言

SQL是一種非過(guò)程化語(yǔ)言,它一次處理的是一個(gè)記錄集合,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)

航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對(duì)單個(gè)記錄進(jìn)行操作。SQL不要求

用戶指定對(duì)數(shù)據(jù)的存取方法,SQL語(yǔ)句使用查詢優(yōu)化器,由系統(tǒng)決定對(duì)指定數(shù)據(jù)存取

的最快速手段。當(dāng)關(guān)系的設(shè)計(jì)者在關(guān)系表上定義了索引,系統(tǒng)會(huì)自動(dòng)地利用索引進(jìn)行

快速檢索,用戶不需知道表上是否有索引,表有什么類型的索引等細(xì)節(jié)。

(2)統(tǒng)一語(yǔ)言

SQL可用于所有用戶的數(shù)據(jù)庫(kù)活動(dòng)類型,包括數(shù)據(jù)庫(kù)系統(tǒng)管理員,程序員等操

作簡(jiǎn)單,使用方便。

(3)關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言

用戶可將使用SQL的技能從一個(gè)RDBMS很容易地轉(zhuǎn)到另個(gè)系統(tǒng),所有用SQL

語(yǔ)言寫的程序具有可移植性。

本課內(nèi)所介紹的SQL語(yǔ)言是在分布式的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)Oracle上實(shí)現(xiàn)的,為

ANSI標(biāo)準(zhǔn)和ISO標(biāo)準(zhǔn)的超集,所描述的SQL語(yǔ)言特性僅適用于Oracle?

3.4.1SQL支持的主要數(shù)據(jù)類型:

字符型:CHAR(n)字符數(shù)據(jù),長(zhǎng)度為n個(gè)字符

VARCHAR2(n)變長(zhǎng)字符型

數(shù)字型:NUMBER(n)數(shù)字?jǐn)?shù)據(jù)。最大可達(dá)105位

NUMBER(m,n)m位數(shù)字,其中n位為小數(shù)位

日期型:DATEDD-MON-YY例如:17—DEC—85

長(zhǎng)型行碼數(shù):LONGRAW二進(jìn)制行碼數(shù),變長(zhǎng),可達(dá)2GB

3.4.2SQL支持的運(yùn)算符

?算術(shù)運(yùn)算符:

?邏輯運(yùn)算符:與“AND”、或“OR”,非“NOT”

,比較符:=,!=,>,<,>=,<=

IN,NOTIN,ANY,ALL,判斷是否是集合的成員。

BETWEENAND判斷列值是否滿足指定的區(qū)間

LIKE匹配模式

IS[NOT]NULL測(cè)試空值等

3.4.3常用SQL命令介紹

3.4.3.1表的基本操作

?表的建立

關(guān)系數(shù)據(jù)庫(kù)的主要特點(diǎn)之?就是用表的方式組織數(shù)據(jù)。表是SQL語(yǔ)言存放數(shù)據(jù)、

查找數(shù)據(jù)以及更新數(shù)據(jù)的基本數(shù)據(jù)結(jié)構(gòu)。在SQL語(yǔ)言中,表有嚴(yán)格的定義,它是一

種二維表,對(duì)于這種表有如下規(guī)定:

1)每-張表都有一個(gè)名字,通常稱為表名或關(guān)系名。表名必須以字母開頭,最大

長(zhǎng)度為30個(gè)字符。

2)一張表可以由若干列組成,列名唯一,列名也稱作屬性名。

3)表中的一行稱為一個(gè)元組,它相當(dāng)于一條記錄。

4)同一列的數(shù)據(jù)必須具有相同的數(shù)據(jù)類型。

5)表中的每一個(gè)列值必須是不可分割的基本數(shù)據(jù)項(xiàng)。

當(dāng)用戶需要新的數(shù)據(jù)結(jié)構(gòu)或表存放數(shù)據(jù)時(shí),首先要生成一個(gè)表。

語(yǔ)句句法:

CREATETABLE表名[表約束]

例名1數(shù)據(jù)類型[缺省值,列約束]

(列名2數(shù)據(jù)類型[缺省值,列約束]

列名n數(shù)據(jù)類型[缺省值,列約束]

[TABLESPACE表空間名]

[STORAGE(存貯子句)]

[ENABLE約束名]

[DISABLE約束名]

(注:n<=254對(duì)于oracle7>

?桿入數(shù)據(jù)

當(dāng)一個(gè)表新建成時(shí),它里面沒有數(shù)據(jù),通過(guò)向表中托入數(shù)據(jù),建成表的實(shí)例。

語(yǔ)句句法:

INSERTINTO表名[(列名1,…)]

VALUES(值1,'值2',…)

[子查詢];

將新雇傭的職員JOE增加到你的EMP表中,并按照表的結(jié)構(gòu)將該職員的信息

添加完整。

INSERTINTOEMP

VALUSE(7901JJOErENGINEER,,7839,'15-SEP-97',1500,NULL,20);

?修改數(shù)據(jù)

對(duì)表中已有數(shù)據(jù)進(jìn)行修改,語(yǔ)句句法:

UPDATE表名SET列名1=表達(dá)式1,列名2=表達(dá)式2,…

WHERE條件;

例如:

將JOE提升為經(jīng)理(MANAGER)。

UPDATEEMP

SETJOB=,MANAGER'

WHEREENAME=tJOE,;

?刪除數(shù)據(jù)

刪除表中已有數(shù)據(jù)。語(yǔ)句句法:

DELETEFROM表名WHERE條件;

例如:

刪除部門30中的全部職工

DELETEFROMDEPTWHEREDEPTNO=30;

?修改表的結(jié)構(gòu)。

a.在已存在的表中增加新列(屬性)。語(yǔ)句句法:

ALTERTABLE表名ADD(新列名數(shù)據(jù)類型(長(zhǎng)度));

例如:

ALTERTABLEDEPTADD(DMGRCHAR(8));

b.增加已有列寬度。語(yǔ)句句法

ALTERTABLEDEPTMODIFY(DNAMEVARCHAR2(20));

?表的刪除。語(yǔ)句句法

DROPTABLE表名;

例如:

DROPTABLEEMP;

數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)實(shí)例:

將下面所示的E-R圖(模型)設(shè)計(jì)成關(guān)系模式。

DEPT(DEPTNO,DNAME,LOC)

EMP(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)

SALGRADE(GRADE,LOSAL,HISAL)

3.4.3.2查詢語(yǔ)句

SELECT命令的語(yǔ)法為:

SELECT[D1STINCTIALLJ{*1模式名.]{表名I視圖名I

快照名].*…I{表達(dá)式[列別名]…}}[,[模式名.]{表名I

視圖名1}.*…I表達(dá)式[列別名]]…

FROM[模式名.]{表名I視圖名映照名}[@數(shù)據(jù)庫(kù)鏈名][表別名]

[,[模式名」{表名I視圖名快照名}[@數(shù)據(jù)庫(kù)鏈名]

[表別名]]…

[WHERE條件]

[STARTWITH條件CONNECTBY條件]

[GROUPBY表達(dá)式[,表達(dá)式]…[HAVING條件]

[UNIONIUNIONALLIINTERSECTIMINUS]SELECT命令

[ORDERBY{表達(dá)式I位置}[ASCIDESC][,{表達(dá)式位置[ASCIDESC]}]…]

?SELECTFROM子句

SQL>SELECT*FROMEMP;

SQL>SELECTDISTINCTJOBFROMEMP:

?WHERE子句,從表中獲?。z索)滿足條件的記錄

SQL>SELECT*FROMEMPWHEREDEPTNO=30;

查詢工資高于或等于4500的第30部門的銷售員的情況。

SQL>SELECTENAME,DEPTNO.SALFROMEMP

WHEREJOB='SALESMAN'ANDDEPTNO=30ANDSAL>=4500;

?BETWEENAND

查詢工資不在1200至3000之間的職工信息

SQL>SELECTENAME,JOB,SAL,DEPTNOFROMEMP

WHERESALNOTBETWEEN1200AND3000;

?IN,ANY的用法,判斷是否是集合的成員

SQL>SELECTENAME,JOB,SAL,DEPTNODEPARTMENT

FROMEMPWHEREJOBIN('SALESMAN','MANAGER');

SQL>SELECTENAME,JOB,SALFROMEMP

WHEREJOB=ANY(,SALESMAN','MANAGER。;

(注:ANY前面可使用!=,>,>=,v,v=等)

?字符串匹配

找出姓名以M開頭的職工。

SQL>SELECTENAME,JOB,DEPTNOFROMEMP

WHEREENAMELIKE'M%'

“一”匹配任一字符

?CONNECTBY子句

列出BLAKE管轄的職工的職務(wù)結(jié)構(gòu)

SQL>SELECTLEVEL,ENAME,EMPNO,DEPTNO,MGR

FROMEMPCONNECTBYPRIOREMPNO=MGR

STARTWITHENAME=4BLAKE,;

?GROUPBY子句

將返回行分組,每組返回一個(gè)總計(jì)信息

Oracle提供的分組函數(shù)有:

AVGCOUNTMAXMINSUM

平均值查詢行數(shù)最大值最小值求和

列出某單位的工資總額,最高工資,最低工資級(jí)最高和最低工資差額。

SQL>SELECTSUM(SAL),MAX(SAL),MIN(SAL),MAX(SAL)-MIN(SAL)

FROMEMP;

列出最小工資值小于1000的部門的最高工資,最低工資及其差額

SQL>SELECTDEPTNO,MAX(SAL),MIN(SAL),MAX(SAL)-MIN(SAL)

FROMEMPGROUPBYDEPTNOHAVINGMIN(SAL)<1000;

?ORDERBY子句(使查詢結(jié)果有序)

按部門號(hào)升序,按職工號(hào)降序列出職工信息

SQL>SELECTENAME,DEPTNO,SALFROMEMP

ORDERBY2ASC,3DESC;

查詢語(yǔ)句示范:

1.查詢EMP表中的所有信息。

2.查詢EMP表中的所有職員的名字,并且按字母的升序進(jìn)行排序。

3.查詢EMP表中在部門10和部門20中工作的職員的名字、工資、受雇日期、

并按照受雇II期的先后順序排序。

4.顯示所有部門的地址不以“N”字母打頭的部門信息。

5.顯示工資比傭金高的職工名字、部門號(hào)、工資和傭金,并按工資的降序排列。

如果有兩個(gè)或兩個(gè)以上的職員有相同的工資,則按他們的名字的字母順序排列。

6.查詢?cè)诘?0號(hào)部門工作,工資大于1500元的職員信息,并按工資由高到低

的次序排序。

7.查詢工資為1500元的職員的工資級(jí)別。

8.查詢沒有傭金且工資低于1000元的職員名字,工資額和所在部門號(hào)。

9.顯示部門30中所有職員的工資總和,并使顯示結(jié)果以TOTAL30為列頭。

10.顯示各部門的部門號(hào)及所屬職員的平均工資,并按平均值山大到小的次序排

列。

11.查詢公司各個(gè)部門中職業(yè)為辦事員(CLERK)的職員的工資總和及人數(shù)。

12.查詢平均工資大于1500元的部門的工資總額,職員人數(shù)和平均工資。

13.查詢1981年6月30口之后受雇的職員的最高報(bào)酬(包括工資和傭金)。

14.查詢部門20中工資大于該部門平均工資的職員的信息。

SELECT*

FROMEMP

WHEREDEPTNO=20ANDSAL>

(SELECTAVG(SAL)

FROMEMP

WHEREDEPTNO=20);

15.查詢能獲得紅利(即在BONUS表中存在)的推銷員的名字,受雇日期及

工資額。

SELECTENAME,HIREDATE,SAL

FROMEMP

WHEREJOB=tSALESMAN,AND

ENAMEIN(SELECTENAME

FROMBONUS);

16.查詢職員“SMITH”所在的部門名稱。

SELECTDNAME

FROMDEPT

WHEREDEPTNO=

(SELECTDEPTNO

FROMEMPWHEREENAME=tSMITH,);

17.查詢部門10中所有所賺的工資在最高一級(jí)的職員名字,工資及受雇II期。

SELECTENAME,SAL,HIREDATE

FROMEMP

WHEREDEPTNO=10ANDSAL>

(SELECTLOSAL

FROMSALGRADE

WHEREGRADE=5);

18.查詢?cè)诩~約工作并且工資比“SCOTT”高的職員的名字、職業(yè)、工資。

SELECTENAME,JOB,SAL

FROMEMP,DEPT

WHERELOC=€NEWYORK'

ANDEMP.DEPTNO=DEPT.DEPTNO

ANDSAL>

(SELECTSAL

FROMEMP

WHEREENAME=tSCOTT,);

19.查詢?cè)诘?0號(hào)部門工作的所有受雇時(shí)間早于他的老板的職員的名字和受雇

日期及其老板的名字及受雇日期。

SELECTE.ENAME,E.HIREDATE,M.ENAME,

M.HIREDATEFROMEMPE,EMPM

WHEREE.HIREDATE<M.HIREDATE

ANDE.DEPTNO30ANDE.MGR=M.EMPNO;

20.查詢最先受雇的職員姓名及受雇日期。

SELECTENAME,HIREDATE

FROMEMP

WHEREHIREDATE=

(SELECTMIN(HIREDATE)

FROMEMP);

21.查詢公司中所有職員所賺工資及所處的工資級(jí)別。

SELECTE.ENAME,E.SAL,S.GRADE

FROMEMPE,SALGRADES

WHEREE.SALBETWEENS.LOSALANDS.HISAL;

3.4.3.3分布查詢

分布的查詢是從兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)中檢索數(shù)據(jù),這些數(shù)據(jù)物理上存放在網(wǎng)絡(luò)中的

多個(gè)數(shù)據(jù)庫(kù)中,而邏輯上是一個(gè)數(shù)據(jù)庫(kù)。

分布查詢前先建立數(shù)據(jù)庫(kù)鏈路,然后執(zhí)行分布查詢語(yǔ)句。

語(yǔ)句語(yǔ)法:

CREATE[PUISLIC]DATABASELINKIink-name

CONNECTTOuserIDENTIFIEDBYpasswdUSING'Connect-string'

例如:

SQL>CREATEDATABASELINKL-EMP

CONNECTTOclasslIDENTIHEDBYclass1

using5T:166.111.4.4:or7o,;

SQL>SELECTDNAME,ENAME,DEPT.DEPTNO

FROMDEPT,EMP@L-EMP

WHEREDEPT.DEPTNO=EMP.DEPTNO;

?分布查詢語(yǔ)句實(shí)例

假如本地結(jié)點(diǎn)數(shù)據(jù)庫(kù)名為OR7O,網(wǎng)絡(luò)地址為166.111.4.4;遠(yuǎn)程數(shù)據(jù)庫(kù)為0RAD7,

網(wǎng)絡(luò)地址為166.111.4.3?,F(xiàn)在要在本地機(jī)器上訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)中用戶studeutx(密碼

為studentx)中的DEPT,EMP表,請(qǐng)寫出相關(guān)的SQL語(yǔ)句?若要訪問(wèn)本地的DEPT,

遠(yuǎn)程數(shù)據(jù)庫(kù)中的EMP,如何修改SQL語(yǔ)句。

D:>SQLPLUSstudentx/studentx@T:166111.4.4:Or70J

SQL>CREATEDATABASELINKS_emp

CONNECTTOstudentxIDENTIFIEDBYstudentx

using4T:166.111.4.3:0rad7,;

SQL>SELECTDNAME,ENAMEFROMDEPT@S_emp,emp@S_emp

WHEREDEPT.DEPTNO=EMP.DEPTNO;

SQL>SELECTDNAME,ENAME,DEPT.DEPTNO

FROMDEPT,EMP@s_emp

WHEREDEPT.DEPTNO=EMP.DEPTNO;

*UNION,INTERSECT,MINUS子句

設(shè)關(guān)系:

BASKETBALL(NAME,AGE,SEX,HEIGHT,WEIGHT)

VOLLEYBALL(NAME,AGE,SEX,HEIGHT,WEIGHT)

操作實(shí)例:

o查找年齡小于30歲的體育代表隊(duì)員信息

SELECT*FROMBASKETBALLWHEREAGE<30

UNION

SELECT*FROMVOLLEYBALL

WHEREAGE<30;

查找年齡小于25歲的既是籃球隊(duì)員又是排球隊(duì)員的信息

SELECT*FROMBASKETBALL

WHEREAGE<25

INTERSECT

SELECT*FROMVOLLEYBALL

WHEREAGE<25;

查找只參加籃球隊(duì)未參加排球隊(duì)員的信息

SELECT*FROMBASKETBALL

MINUSSELECT*FROMVOLLEYBALL;

3.4.3.3分布查詢

分布的查詢是從兩個(gè)或多個(gè)數(shù)據(jù)庫(kù)中檢索數(shù)據(jù),這些數(shù)據(jù)物理上存放在網(wǎng)絡(luò)中的

多個(gè)數(shù)據(jù)庫(kù)中,而邏輯上是一個(gè)數(shù)據(jù)庫(kù)。

分布查詢前先建立數(shù)據(jù)庫(kù)鏈路,然后執(zhí)行分布查詢語(yǔ)句。

語(yǔ)句語(yǔ)法:

CREATE[PUBLIC]DATABASELINKlink-name

CONNECTTOuserIDENTIFIEDBYpasswdUSING'Connect-string'

例如:

SQL>CREATEDATABASELINKL-EMP

CONNECTTOclasslIDENTIFIEDBYclass1

USING9T:166,111.4.4:or7o,;

SQL>SELECTDNAME,ENAME,DEPT.DEPTNO

FROMDEPT,EMP@L-EMP

WHEREDEPT.DEPTNO=EMP.DEPTNO;

?分布查詢語(yǔ)句實(shí)例

假如本地結(jié)點(diǎn)數(shù)據(jù)庫(kù)名為OR70,網(wǎng)絡(luò)地址為166.111.4.4;遠(yuǎn)程數(shù)據(jù)庫(kù)為ORAD7,

網(wǎng)絡(luò)地址為166.111.4.3?,F(xiàn)在要在本地機(jī)器上訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)中用戶studeutx(密碼

為studentx)中的DEPT,EMP表,請(qǐng)寫出相關(guān)的SQL語(yǔ)句?若要訪問(wèn)本地的DEPT,

遠(yuǎn)程數(shù)據(jù)庫(kù)中的EMP,如何修改SQL語(yǔ)句。

D:>SQLPLUSstudentx/studentx@T:166.111.4.4:Or70J

SQL>CREATEDATABASELINKS_emp

CONNECTTOstudentxIDENTIFIEDBYstudentx

USINGtT:166.111.4.3:0rad7,;

SQL>SELECTDNAME,ENAMEFROMDEPT@S_emp,EMP@S_emp

WHEREDEPT.DEPTNO=EMP.DEPTNO;

SQL>SELECTDNAME,ENAMEFROMDEPT,EMP@s_emp

WHEREDEPT.DEPTNO=EMP.DEPTNO;

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

3.5.1關(guān)系模型的基本概念

關(guān)系數(shù)據(jù)庫(kù)的基本結(jié)構(gòu)是表(tables),即關(guān)系(relations)。關(guān)系是命名的二維表。關(guān)

系數(shù)據(jù)庫(kù)是相關(guān)關(guān)系的集合。

例如,供店商(Supplier)供應(yīng)零件(PART)的關(guān)系,用E-R模型表示為:

Q1,1□_________

/

^SuDDlie?—||PARTkl]

用二維表格表示則為:

關(guān)系Supplier關(guān)系SP

SNOSNAMESTATUSCITYSNOPNOQTY

S1Smith20LondonSIPl300

S2Jones10ParisSIP2200

S3Blake30ParisSIP3400

S4Clake20LondonSIP4200

S5Adams30AthensSIP5100

S2P6100

關(guān)系PartS2P2300

PNOPNAMECOLORWEIGHTS3P3400

P1RedRed12S4P4200

P2boltGreen17S4P5300

P3ScrewBlue17S4P6400

P4ScrewRed14

P5CamBlue12

P6CogRed19

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

一個(gè)關(guān)系數(shù)據(jù)庫(kù)是由一個(gè)域集和一個(gè)關(guān)系集組成的。其中域(domain)是值的集

合。例如:整數(shù)值域,實(shí)數(shù)值域、字符值域等。在關(guān)系模型中,域必須是簡(jiǎn)單域,即

域值是不可再分的。

關(guān)系的數(shù)學(xué)定義

設(shè)D1,D2,…,Dn為一組域,D1,D2,…Dn上的笛卡爾積定義為:D1XD2X…

XDn={(dl,d2,-,dn)IdieDi,i=l,2,—,n}

其中每一個(gè)元素(dl,d2,…dn)稱為一個(gè)n元組,簡(jiǎn)稱元組。元組中每一個(gè)值di

叫做一個(gè)分量。

D1XD2X…XDn的子集叫做在域D1,D2,…,Dn上的關(guān)系(Relation)。如果其名

為R,該關(guān)系則可表示為:

R(D1,D2—,Dn)

例:已知三個(gè)域:MEN(男人域)、WOMEN(女人域)CHILDREN

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論