信息技術和軟件工程_第1頁
信息技術和軟件工程_第2頁
信息技術和軟件工程_第3頁
信息技術和軟件工程_第4頁
信息技術和軟件工程_第5頁
已閱讀5頁,還剩105頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Grundlagen

derInformationstechnikProf.

Dr.-Ing

Bin

Shen同濟大學CDHK機械工程系技術基礎Grundlagen

derInformationstechnik同濟大學中德學院沈斌教授、博士博士生導師Grundlagen

derInformationstechnikProf.

Dr.-Ing

Bin

ShenInhalt同濟大學CDHK機械工程系(Inhalt)Einführung

引言Datenbank

System數(shù)據(jù)庫系統(tǒng)Relational

Datebase

System關系數(shù)據(jù)庫系統(tǒng)Open

DataBase

Connectivity開放數(shù)據(jù)庫互連Frame

System

of

Network計算機網(wǎng)絡的體系結(jié)構(gòu)7

Einführung

von

Software

Engineering工程概論1.1

的發(fā)展概況企業(yè)是一個生產(chǎn)系統(tǒng)“生產(chǎn)”呢?它一般是指人們使用工具來創(chuàng)造各種生產(chǎn)資料和生活資料的活動,即把各種生產(chǎn)要素的輸入轉(zhuǎn)變?yōu)楫a(chǎn)品的輸出過程。這里,生產(chǎn)要素包括如下四個方面內(nèi)容:生產(chǎn)對象

的原材

是指完成生產(chǎn)活動所使用料和輔助材料。生產(chǎn)勞動

它包含每個勞動者用于進行生產(chǎn)活動的體力和智力。生產(chǎn)資料

指借助于生產(chǎn)勞動把生產(chǎn)對象轉(zhuǎn)變成產(chǎn)品 段,包括機器設備、夾具、工具等。生產(chǎn)信息為有效地進行生產(chǎn)過程所用到的知識,它包含了產(chǎn)品開發(fā)技術、生產(chǎn)工藝、生產(chǎn)技術管理等特性。在目前,信息在生產(chǎn)過程中的作用將變得越來越重要。Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises環(huán)境決策和控制設計開發(fā)制造數(shù)據(jù)庫市場產(chǎn)品Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises物

料流能

源流信

息流用戶定貨計劃指令圖1

生產(chǎn)系統(tǒng)的基本框圖利用先進的

在互聯(lián)網(wǎng)上從事企業(yè)的研究開發(fā)、生產(chǎn)技術和管理以及商業(yè)活動的經(jīng)營方式,正在對人類經(jīng)濟和社會生活正產(chǎn)生越來越重要的影響,在某些方面,已經(jīng)讓人聯(lián)想起歷史上蒸汽機和電力的發(fā)明。值得注意的是,互聯(lián)網(wǎng)和電子商務發(fā)展的速度,甚至遠遠超過了蒸汽機、電以及人類歷史上其他重要的發(fā)明。我們知道,從電的發(fā)明到電的普及,這中間花費了近100年。收音機誕生38年后,使用人數(shù)才達到5000萬。今天Internet發(fā)展20多年,現(xiàn)在世界上已擁有上億的用戶。Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises世上沒有無源之水,我們先從源頭說起。在茹毛飲血的時代,祖先們可能只用沒有加工過的木棒、石塊謀生,后來又有弓箭之類,溫飽問題大大得到解決,以后隨著人類生產(chǎn)知識的積累創(chuàng)新,使用謀生的工具越來越先進,組織分工越來越明確,人類的生活大大改善,以后又有蒸氣機、電力工具、計算機的出現(xiàn),“泰勒制”等現(xiàn)代管理制度的推廣,生產(chǎn)力大力提高,現(xiàn)在出現(xiàn)了互聯(lián)網(wǎng),這又是一次生產(chǎn)力上的,和蒸氣機的出現(xiàn)一樣,說穿了它也是一種工具,為改善人類生活為目的工具,不是裝飾品和

。那么它會為人類帶來哪些革命呢?它應該為人類帶來以下三個方面的:“信息”、“溝通和交流方式”、“組織行為”。Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises信息由于各種互聯(lián)網(wǎng)的出現(xiàn),使得互聯(lián)網(wǎng)成為一個包羅萬象的信息庫,商業(yè)的、學術的、的等等信息都可以在互聯(lián)網(wǎng)上發(fā)布和獲取,那么人類獲得知識和積累經(jīng)驗變得輕而易舉,這大大提高了人類更新知識的能力,減少了重復勞動,降低知識創(chuàng)新成本,使人類新的思想和科學新發(fā)現(xiàn)的速度成倍地加速,正是這種信息的深刻發(fā)展的使得互聯(lián)網(wǎng)成為生產(chǎn)力高速。Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises溝通和交流方式其次,由于互聯(lián)網(wǎng)的出現(xiàn),使得人類的溝通和交流方式變得容易,正如“電報”、的出現(xiàn)一樣,人類可以遵守一定模式進行商業(yè)的和私人的交流,互聯(lián)網(wǎng)的技術能夠保證這些交流相對可靠的進行,人類因此可以在幅度提高溝通和交流的效率,給人類生活帶來較大的方便,進而改變了人類的某些生活方式。例:

效應Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises組織行為互聯(lián)網(wǎng)的出現(xiàn)使得人類的分工合作發(fā)生巨大的變化,人們隨時隨地可以做很多種工作,一個人可能成為不同性質(zhì)的組織成員,另外由于溝通和交流的方便使得組織的形式變得越來越容易,解決問題,完成工作的能力大為提高,人類征服自然的能力變得無比強大,因為互聯(lián)網(wǎng)使得人們在碰到大任務、題的時候可以迅速組織起來解決它。例:24小時

的企業(yè)Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises1.2對企業(yè)經(jīng)濟的作用知識時代的經(jīng)濟增長主要依靠信Prof.

Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises息和知識,對物質(zhì)的消耗要比工業(yè)時代低得多。所以說,工業(yè)時代的經(jīng)濟增長其實質(zhì)在于高成本的社會化,知識時代的經(jīng)濟增長其實質(zhì)在于低成本的社會化。例一:信息產(chǎn)業(yè)中的計算機

業(yè)、網(wǎng)絡通信業(yè)可以在十幾年、幾年(甚至更短)內(nèi)達到或超過工業(yè)時代以消耗物質(zhì)資源為主的產(chǎn)業(yè)近一個世紀才能達到的資產(chǎn)水平?!拔镔|(zhì)增長產(chǎn)生的

增長與時間的關系是線性的,信息知識增長所產(chǎn)生的

增長與時間的關系則是非線性的。”例二:的鋼鐵工業(yè),1960年消耗1.2億噸鋼材,1990年經(jīng)濟增長比30年前翻了幾番,但鋼材的消耗是8500萬噸,不但沒有增加,反而減少了30%左右。例三:物質(zhì)價值與信息知識價值的差別更為突出。(見表1、表2)Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises表1物質(zhì)增長與信息知識增長所產(chǎn)生的財富速度比較表公司

資產(chǎn)

時間10億美元幾十年(洛克菲勒石油大王)10億美元12年(比爾·蓋茨大王)雅虎10億美元3年Ebay10億美元5個星期Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises光盤材料光盤內(nèi)容價格1~3元一部

30元1~3元Windows

98

1000元1~3元(工程)

100000元表2

物質(zhì)價值與信息知識價值比較表Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises電子商務

發(fā)展情況電子商務作為現(xiàn)代服務業(yè)中的重要產(chǎn)業(yè),有“朝陽產(chǎn)業(yè)、綠色產(chǎn)業(yè)”之稱,具有“三高”、“三新”的特點。“三高”即高人力資本含量、高技術含量和高附加價值;“三新”是指新技術、新業(yè)態(tài)、新方式。人流、物流、

流、信息流“四流合價值鏈的概一”是對電子商務括。國際的發(fā)展狀況:以歐家為例,可以說電子商務業(yè)務開發(fā)的如火如荼.在法,德等歐洲國家,電子商務所產(chǎn)生的營業(yè)額已占商務總額的1/4,在則已高達1/3以上。Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

EnterprisesCAD/CAM19世紀的產(chǎn)業(yè)

,蒸汽機等機器的發(fā)明和應用,大大地增強了人的體力作用。20世紀的產(chǎn)業(yè)

,電子計算機的發(fā)明和應用,增強了人的智力作用。而CAD/CAM技術的應用是計算機與信息技術領域里發(fā)展最快和最有效益的。Prof.

Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises虛擬現(xiàn)實(Vitual

Reality)一個產(chǎn)品的圖紙剛剛繪制完畢,能否在制造出來之前,先讓未來的用戶自己操作使用一下,對使用性能、產(chǎn)品結(jié)構(gòu)、操作界面等以至外觀案提出自己的意見?答案是肯定的:虛擬現(xiàn)實技術可以帶您走入未來。虛擬現(xiàn)實(簡稱VR),又稱靈境技術,是以浸沒感、交互性和構(gòu)想為基本特征的計算機高級人機界面。它綜合利用了計算機圖形學、仿真技術、多技術、人工智能技術、計算機網(wǎng)絡技術、

并行處理技術和多傳感器技術,模擬人的視覺、

聽覺、觸覺等感官功能,使人能夠沉浸在計算機

生成的虛擬境界中,并能夠通過語言,手勢等自

然的方式與之進行實時交互,創(chuàng)建了一種適人化

的信息空間。使用者不僅能夠通過虛擬現(xiàn)實

系統(tǒng)感受到在客觀物理世界中所經(jīng)歷的“身臨其境

”的真性,而且能夠突破空間、時間以及其他客觀限制,感受到在真實世界中無法親身經(jīng)歷的體驗。VR技術具有現(xiàn)實的虛擬性。Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises虛擬制造(Vitual

Manufacturing)虛擬制造是提高產(chǎn)品設計、生產(chǎn)準備和生產(chǎn)過程控制水平的一個集成的、綜合的制造環(huán)境,是面向下一世紀嶄新的制造概念和企業(yè)發(fā)展的策略。它

涉及到許多技術領域。Prof.

Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises隨著市場競爭的不斷加劇和新技術的迅速發(fā)展,全球經(jīng)濟的趨勢日益增強,形成了全球化市場。在全球化市場中,三種因素,即顧客、和競爭,又簡稱3C的因素,使企業(yè)的形勢十分嚴峻:Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises1)顧客(

Customer),市場的主導權(quán)已轉(zhuǎn)入顧客手中,使市場由賣方市場變?yōu)橘I方市場,顧客選擇商品的余地大為擴展。因此,怎樣使顧客滿意,就成為企業(yè)的奮斗目標和一切工作的歸宿(2)(

Change)市場需求多變,科技進步日新月異,產(chǎn)品生命周期不斷縮短,這些變化已成為不可阻擋的潮流,促使企業(yè)加快

步伐。(3)競爭(Competition)以往那種僅憑借物美價廉的商品就能在競爭中穩(wěn)操勝券的簡單競爭方式

已被多層面的競爭方式一T:按合同及時交貨或新產(chǎn)品上市時間、Q:質(zhì)量、

C:成本及S:售前咨詢服務及售后

、升值服務所取代。誰能提供

獨占性的產(chǎn)品和一流的服務,誰就能夠贏得競爭。市場占有率已成為評判企業(yè)是否具有競爭力的最集中的體現(xiàn)。快速產(chǎn)品開發(fā)主要過程模具實物掃描SLA、FDM、LOM

制件不同的快速原型設備三維建模SolidworkSTLProEProf.

Dr.-Ing.Bin

Shen同濟大學CDHKInformation

TechnologyandDevelopment

of

Enterprises合起來去競同濟大學CDHKProf.

Dr.-Ing.Bin

Shen1.3企業(yè)應用的對策Information

Technology

andDevelopment

of

Enterprises求生反應與速度競爭有兩個人在樹林里過夜,突然跑出一頭大黑熊。一人忙著穿球鞋。另一個人對他說“你穿鞋有什么用?我們反正跑不過熊啊?”忙著穿球鞋的人說:“我不是要跑得快過熊,我是要跑得快過你?!痹谏鐣M入信息時代的重要歷史時期,市場

反應速度決定著企業(yè)

運,只有能夠迅速應對

市場者,才能成為市場逐鹿的佼佼者。

思科公司

約翰

在談到新經(jīng)濟的規(guī)律時

:“現(xiàn)代競爭已不是大魚吃小魚。而是快的吃慢的?!币虼耍谶@“快者為王”的時代,速度已Information

TechnologyandDevelopment

of

EnterprisesProf.

Dr.-Ing.Bin

ShenCDHK成為同企濟大學業(yè)的基本生存法則。煮蛙試驗與環(huán)境作用曾經(jīng)有一個古老的試驗,將一只活蹦亂跳的青蛙投進熱水鍋里,青蛙會立即跳出水鍋。如果把青蛙放在涼水鍋里,下面用火慢慢加熱,青蛙竟然一動不動,舒舒服服地浮在水里,直到它感受到燙想跳出熱水鍋時,卻已無力逃生。面對競爭環(huán)境的變遷,為什么有些企業(yè)應變自如獲得生機,而有些企業(yè)卻步履維艱,關門呢?其原因與上述關于青蛙的試驗頗為相似。變化的環(huán)境如同逐步提高的水溫,有些企業(yè)敏感性強,及時覺察,積極應對,因而應變自如,擺脫;可有的企業(yè)感覺麻木,得過且過,到了積重難返之時,只有慘遭淘汰的份了。Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises老鼠困斃與適“度”把握一只饑餓的小老鼠遇到一只盛滿大米的米缸,看著白花花的大米、小老鼠興奮不已,每天跳進跳出,想吃就吃。但是缸里的米‘天天地減少,缸口與米之間的距離天天在拉大。當小老鼠能力所及的跳高高度低于缸口與米之間的距離時,小老鼠沒有擺脫米的誘惑。仍與往常一樣跳入缸中享受米的滋味,但就這一跳、從此小老鼠再也跳不到缸外。當缸中的米吃完后,老鼠便困死于缸中。做任何事情,都要把握‘個“度”,

了事物原有的“度”,事物將會發(fā)生質(zhì)的變化。我們有些企業(yè)在市場競爭中,對事物“度”的把握不夠。Prof.Dr.-Ing.Bin

Shen同濟大學CDHKInformation

Technology

andDevelopment

of

Enterprises2

Datenbank

System數(shù)據(jù)庫系統(tǒng)Definition

基本定義Datenbank

數(shù)據(jù)庫:數(shù)據(jù)庫是相互關聯(lián)的數(shù)據(jù)集合。數(shù)據(jù)是描述現(xiàn)實世界中各種具體事物或抽象概念的可

并具有明確意義的信息。數(shù)據(jù)能夠為特定組織(如企事業(yè)單位)的多種應用服務。這個數(shù)據(jù)集合可以定義為一個數(shù)據(jù)庫。數(shù)據(jù)庫具有如下特性:數(shù)據(jù)庫是具有邏輯關系和確定意義的數(shù)據(jù)集合。邏輯上無關的數(shù)據(jù)集合不能稱為數(shù)據(jù)庫。數(shù)據(jù)庫是針對明確的應用目標而設計、建立和加載的。每個數(shù)據(jù)庫都具有一組用戶,并為這些用戶的應用服務。一個數(shù)據(jù)庫表示了現(xiàn)實世界的某些方面(稱為小世界)。一個數(shù)據(jù)庫所表示的小世界的改變必須及時地反映到該數(shù)據(jù)庫中來。Entwicklung

der

Technik

vonDatenbank同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen2-1Datenbank

Management

System

數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)是一個通用的系統(tǒng),由一組計算機程序構(gòu)成。數(shù)據(jù)庫管理系統(tǒng)能夠?qū)?shù)據(jù)庫進行有效的管理,包括管理、安全性管理、完整性管理等。數(shù)據(jù)庫管理系統(tǒng)提供了一個

環(huán)境,使用戶能方便快速地建立、維護、檢索、存取和處理數(shù)據(jù)庫中的信息。Datenbank

System

數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)加在一起構(gòu)成了數(shù)據(jù)庫系統(tǒng)。有時人們把數(shù)據(jù)庫系統(tǒng)廣義地定義為“數(shù)據(jù)庫十數(shù)據(jù)庫管理系統(tǒng)十數(shù)據(jù)庫管理員十應用程序十用戶”。圖2-1給出了一個簡化的數(shù)據(jù)庫系統(tǒng)環(huán)境。教學管理數(shù)據(jù)庫上的操作有兩類。第一類是數(shù)據(jù)庫查詢操作。例如,列出常紅所選修的課程和成績,列出所有選修87年第一學期“數(shù)13”課程的學生

。第二類是數(shù)據(jù)庫更新操作。例如,在Grade文件中

一個“常紅的數(shù)據(jù)庫課程成績?yōu)?0分”的新記錄。這兩類操作是所有數(shù)據(jù)庫上所用的常用操作。Entwicklung

der

Technik

vonDatenbank同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen2-2圖2-1

一個簡化的數(shù)據(jù)庫系統(tǒng)環(huán)境圖2-2

一個數(shù)據(jù)庫實例Entwicklung

der

Technik

vonDatenbank同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen2-32.2

數(shù)據(jù)庫系統(tǒng)的特點同濟大學CDHK機械工程系Entwicklung

der

Technik

vonDatenbankProf.Dr.-IngBinShen2-4Eigenschaften

der

Datenbank數(shù)據(jù)庫系統(tǒng)是在文件系統(tǒng)的基礎上發(fā)展起來的。但是,數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)具有本質(zhì)上的區(qū)別。文件系統(tǒng)的缺點:數(shù)據(jù)共享性差,冗余度大數(shù)據(jù)不一致數(shù)據(jù)獨立性差數(shù)據(jù)結(jié)構(gòu)化程度低數(shù)據(jù)庫系統(tǒng)的優(yōu)點信息完整、功能通用程序與數(shù)據(jù)獨立數(shù)據(jù)抽象支持數(shù)據(jù)的不同視圖控制數(shù)據(jù)冗余支持數(shù)據(jù)共享限制非 的存取提供多種用戶界面表示數(shù)據(jù)之間的復雜聯(lián)系完整性約束數(shù)據(jù)恢復2.3 ion

der

Daten

數(shù)據(jù)抽象數(shù)據(jù)庫系統(tǒng)的主要目的之一是為用戶提供一個數(shù)據(jù)的抽象視圖,隱藏數(shù)據(jù)的

結(jié)構(gòu)和存取方法等細節(jié)。三種數(shù)據(jù)抽象和數(shù)據(jù)庫模式數(shù)據(jù)庫系

般提供提供三種級別的數(shù)據(jù)抽象:視圖級抽象:把現(xiàn)實世界抽象為數(shù)據(jù)庫的外模式概念級抽象:把數(shù)據(jù)庫的外模式抽象為數(shù)據(jù)庫的概念模式物理級抽象:把數(shù)據(jù)庫的概念模式抽象為數(shù)據(jù)庫的內(nèi)模式圖2-3

三種數(shù)據(jù)抽象和三種數(shù)據(jù)庫模式的關系同濟大學CDHK機械工程系Entwicklung

der

Technik

vonDatenbankProf.

Dr.-Ing

Bin

Shen2-52.3.2

數(shù)據(jù)獨立性概念模式與內(nèi)模式之間的外模式與概念模式之間的數(shù)據(jù)庫系統(tǒng)的兩種

實現(xiàn)了數(shù)據(jù)庫系統(tǒng)的兩種數(shù)據(jù)獨立性。第一種數(shù)據(jù)獨立性稱為物理數(shù)據(jù)獨立性。物理數(shù)據(jù)獨立性由內(nèi)模式與概念模式之間的

性是指當數(shù)據(jù)庫的內(nèi)模式(即物理實現(xiàn)。物理數(shù)據(jù)獨立結(jié)構(gòu))發(fā)生改變時,數(shù)據(jù)的邏輯結(jié)構(gòu)不變。物理數(shù)據(jù)獨立性保證,當數(shù)據(jù)庫的內(nèi)模式發(fā)生改變時,用戶編寫的應用程序可以不變。但是,為了保證應用程序能夠正確執(zhí)行,我們需要修改內(nèi)模式與概念模式之間的。數(shù)據(jù)庫系統(tǒng)的第二種數(shù)據(jù)獨立性稱為邏輯數(shù)據(jù)獨立性。邏輯數(shù)據(jù)獨立性由概念模式與外模式之間的

實現(xiàn)。邏輯數(shù)據(jù)獨立性是指當概念數(shù)據(jù)庫模式發(fā)生改變時,數(shù)據(jù)庫的外模式不變。邏輯數(shù)據(jù)獨立性保證,當數(shù)據(jù)庫的概念模式發(fā)生改變時,建立在外模式上的應用程序不需要修改。當然,為了保證應用程序能夠正確執(zhí)行,我們需要修改概念模式與外模式之間的

。兩種數(shù)據(jù)獨立性的本質(zhì)是把數(shù)據(jù)定義從應用程序中分離出來。應用程序中的數(shù)據(jù)存取(即兩種 工作)由數(shù)據(jù)庫管理系統(tǒng)完成,從而減化了編制應用程序的工作量,減少了應用程序的 和修改。值得注意的是,實際數(shù)據(jù)庫系統(tǒng)的邏輯數(shù)據(jù)獨立性不能保證直接建立在數(shù)據(jù)庫概念模式上的應用程序與數(shù)據(jù)的獨立。當數(shù)據(jù)庫的概念模式改變時,這些應用程序仍然需要修改。從這種意義上說,數(shù)據(jù)庫系統(tǒng)提供的邏輯數(shù)據(jù)獨立性是不完備的。同濟大學CDHK機械工程系Entwicklungder

Technik

vonDatenbankProf.

Dr.-Ing

Bin

Shen2-62.4

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

der

Daten數(shù)據(jù)模型是實現(xiàn)數(shù)據(jù)抽象的主要工具。數(shù)據(jù)模型也是數(shù)據(jù)庫系統(tǒng)的重要基礎。數(shù)據(jù)模型決定了數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)、數(shù)據(jù)定義語言和數(shù)據(jù)語言、數(shù)據(jù)庫設計方法、數(shù)據(jù)庫管理系統(tǒng)的設計與實現(xiàn)。數(shù)據(jù)模型是一組描述數(shù)據(jù)庫的概念。這些概念精確地描述數(shù)據(jù)、數(shù)據(jù)之間的聯(lián)系、數(shù)據(jù)的語義和完整性約束。很多數(shù)據(jù)模型還包括一個操作集合。這些操作用來說明對數(shù)據(jù)庫的存取和更新。數(shù)據(jù)模型應滿足面要求:能

模擬現(xiàn)實世界;容易為人們理解;便于在計算機上實現(xiàn)。目前已經(jīng)存在很多數(shù)據(jù)模型。這些數(shù)據(jù)模型可以分為四類:基于對象的數(shù)據(jù)模型基于記錄的數(shù)據(jù)模型物理數(shù)據(jù)模型邏輯數(shù)據(jù)模型Entwicklung

der

Technik

vonDatenbank同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen2-7基于對象的數(shù)據(jù)模型用于在概念和視圖抽象級別上描述數(shù)據(jù)。這類數(shù)據(jù)模型具有相當靈活的結(jié)構(gòu)化能力,而且允許明確地定義完整性約束。目前已經(jīng)出現(xiàn)了很多基于對象的數(shù)據(jù)模型,其中比較知名的有:實體—聯(lián)系模型面1.面

象的數(shù)據(jù)模型二元數(shù)據(jù)模型語義數(shù)據(jù)模型函數(shù)數(shù)據(jù)模型等。下面主要介紹實體—聯(lián)系模型、擴展的實體聯(lián)系模型和象的數(shù)據(jù)模型。實體、聯(lián)系模型實體—聯(lián)系模型包括實體、屬性、實體間聯(lián)系等概念。實體對應于現(xiàn)實世界中可區(qū)別的客觀對象或抽象概念。例如學校、人、樹、動物、植物都是實體。屬性是實體特征的抽象。例如,人的屬性可以包括“

”、“生日”、“職務”、“特長”等。抽象地說,實體型是屬性的集合。當一個實體型的所有屬性的值都確定以后,我們就得到這個實體型的一個實例。在一個實體型的屬性中有一組特殊的屬性,這組屬性的值可以區(qū)別出該實體型的不同實例。例如,在人的屬性中,“

”和“生日”的值可以區(qū)別不同的人。這組特殊屬性稱為實體型的鍵屬性。實體間聯(lián)系對應于客觀世界中各種對象或抽象概念之間的聯(lián)系。例如,工廠、產(chǎn)品、用戶這三個實體之間,存在“工廠為某個用戶生產(chǎn)某種產(chǎn)品的聯(lián)系。Entwicklung

der

Technik

vonDatenbank同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen2-8圖2-4給出工廠、產(chǎn)品和用戶的實體—聯(lián)系模型。圖中方框表示實體型,圓框表示屬性,菱形框表示實體間聯(lián)系。方框所連接的圓框是對應實體型的屬性。菱形框所連接的方框表示實體間聯(lián)系所關聯(lián)的實體。圖2-4

工廠、產(chǎn)品和用戶的實體—聯(lián)系模型Entwicklung

der

Technik

vonDatenbank同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen2-

面面象數(shù)據(jù)模型象數(shù)據(jù)模型建立在對象集合的基礎上。面

象數(shù)據(jù)模型的基本數(shù)據(jù)結(jié)構(gòu)是對象。面象數(shù)據(jù)模型的主要概念是對象類。對象類由一組變量和一組程序代碼構(gòu)成。變量表示對象類的特征。一個對象類的程序代碼定義了該對象變量上的操作,稱為這個對象類的方法。一個對象的變量可以是另一個對象。對象的嵌套層次數(shù)沒有任何限制。當一個對象類的每個變量都賦以確定的值以后,我們就得到了這個對象類的一個對象。把數(shù)據(jù)和方法組合為一個對象的思想類似于程序設計語言中抽象數(shù)據(jù)類型的概念。在面

象的數(shù)據(jù)模型中,一個對象存取另一個對象的數(shù)據(jù)的唯一途徑是調(diào)用被存取對象的某個方法。對象方法的調(diào)用通過在對象之間傳送消息來實現(xiàn)。對象方法的調(diào)用界面是對外可見的,對象

的變量和程序編碼是封閉不可見的。面

象數(shù)據(jù)模型實現(xiàn)了數(shù)據(jù)的獨立性。下邊我們用一個例子來說明這種獨立性。我仍可以把銀行的帳戶作為一個對象簡記作account。對象account具有兩個變量。一個是帳號變量

number。另一個是存款余額變量balance,account具有一個方法pay_interest,負責計算每個帳戶的利息并增加到該帳戶的

balance變量。該銀行以往付給每個帳戶的利息都是8%?,F(xiàn)在,銀行調(diào)整利息如下:只有balance高于1000元的帳戶才能獲得8%的利息,其他帳戶只能獲得6%的利息。使用其他數(shù)據(jù)模型實現(xiàn)這種利息調(diào)整,必須修改有關的應用程序。使用面

象的數(shù)據(jù)模型,我們只需修改方法pay—interest就可以實現(xiàn)這種利息調(diào)整,不帶任何其他改變,更不需要修改應用程序。面

象的數(shù)據(jù)模型既能用來定義數(shù)據(jù)庫的整體邏輯結(jié)構(gòu)也可以用來提供數(shù)據(jù)庫系統(tǒng)實現(xiàn)的高級描述。Entwicklung

der

Technik

vonDatenbank同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen2-102.

基于記錄的數(shù)據(jù)模型基于記錄的數(shù)據(jù)模型可以用來定義數(shù)據(jù)庫的概念模式和外模式?;谟涗浀臄?shù)據(jù)模型把數(shù)據(jù)庫定義為多種具有固定格式的記錄型。每個記錄型由固定數(shù)量的域或?qū)傩詷?gòu)成。每個域或?qū)傩跃哂泄潭ǖ拈L度。使用固定長記錄定義數(shù)據(jù)庫可以簡化數(shù)據(jù)庫的物理級實現(xiàn)。基于記錄的數(shù)據(jù)模型不包含直接表示程序代碼的機構(gòu)。這類數(shù)據(jù)模型具有獨立的語言。用戶可以使用這種語言表示數(shù)據(jù)庫查詢和更新要求。具有代表性的基于記錄的數(shù)據(jù)模型包括關系數(shù)據(jù)模型、網(wǎng)絡數(shù)據(jù)模型層次數(shù)據(jù)模型。目前,關系數(shù)據(jù)模型比網(wǎng)絡和層次數(shù)據(jù)模型更受歡迎。1.

關系數(shù)據(jù)模型關系數(shù)據(jù)模型的是數(shù)學概念關系。一個關系可以視為一個表。每個表具有固定個數(shù)的列。每一列具有一個名字,稱為關系的屬性。每一行數(shù)據(jù)稱為一個元組。關系數(shù)據(jù)模型使用關系表示數(shù)據(jù)和數(shù)據(jù)之間的聯(lián)系。關系數(shù)據(jù)模型具有堅實的理論基礎,是目前多數(shù)商品化數(shù)據(jù)庫系統(tǒng)所采用的數(shù)據(jù)模型。圖2-5給出了一個關系數(shù)據(jù)庫實例。2.網(wǎng)絡數(shù)據(jù)模型網(wǎng)絡數(shù)據(jù)模型的

是記錄和系。記錄表示數(shù)據(jù)。一個記錄具有多個數(shù)據(jù)域。每個數(shù)據(jù)域表示一個數(shù)據(jù)項。數(shù)據(jù)之間的聯(lián)系由系表示。系可以視為一個指針。圖2-6給出了圖2-5數(shù)據(jù)的基于網(wǎng)絡數(shù)據(jù)模型的數(shù)據(jù)庫。Entwicklung

der

Technik

vonDatenbank同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen2-

層次數(shù)據(jù)模型層次數(shù)據(jù)模型類似于網(wǎng)絡數(shù)據(jù)模型。層次數(shù)據(jù)模型也使用記錄和系表示數(shù)據(jù)和數(shù)據(jù)之間的聯(lián)系。層次數(shù)據(jù)模型與網(wǎng)絡數(shù)據(jù)模型的不同在于記錄不能被組織成為任意的圖,必須組織成樹的集合。圖2-7以圖2-6的數(shù)據(jù)為例,給出了一個基于層次數(shù)據(jù)模型的數(shù)據(jù)庫實例。物理數(shù)據(jù)模型物理數(shù)據(jù)模型用來實現(xiàn)物理抽象。與邏輯數(shù)據(jù)模型相比,物理數(shù)據(jù)模型很少被使用。兩個比較知名的物理數(shù)據(jù)模型是模型(Unifyingmodel)和框架 器模型(Framememorymodel)。數(shù)據(jù)庫模式和實例數(shù)據(jù)庫一詞包括了兩方面的意義。一是模式,二是實例。數(shù)據(jù)庫模式是一個數(shù)據(jù)庫的基于特定數(shù)據(jù)模型的結(jié)構(gòu)定義。數(shù)據(jù)庫模式與程序設計語言中的類型定義類似,是一個數(shù)據(jù)庫框架。例如,圖2-5的關系數(shù)據(jù)庫模式由如下兩個關系模同濟大學CDHK機械工程系Entwicklungder

Technik

vonDatenbankProf.

Dr.-Ing

Bin

Shen2-12式構(gòu)成:

儲蓄戶(,城市,區(qū),街道,帳號), 帳戶(帳號,存款余額)。其中,“儲蓄戶”和“帳戶”是關系名,“

”、“城市”、“區(qū)”、“道”和“帳號”是儲蓄戶關系的屬性,“賬號”和“存款余額”是帳戶關系的屬性。在任意一個特定的時刻,數(shù)據(jù)庫中的數(shù)據(jù)稱為一個數(shù)據(jù)庫實例。數(shù)據(jù)庫實例與程序設計語言中的變量值的概念對應。圖2-5給出了一個關系數(shù)據(jù)庫實例。數(shù)據(jù)庫模式是相對穩(wěn)定的,很少變化。數(shù)據(jù)庫實例是動態(tài)的,隨數(shù)據(jù)庫更新操作而變化。圖2-7

一個基于層次數(shù)據(jù)模型的數(shù)據(jù)庫實例圖2-5

一個關系數(shù)據(jù)庫實例Entwicklung

der

Technik

vonDatenbank同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen2-13圖2-6

圖2-5中數(shù)據(jù)的基于網(wǎng)絡數(shù)據(jù)模型的數(shù)據(jù)庫2.5

數(shù)據(jù)庫語言Sprache

der

Datenbank每個數(shù)據(jù)庫系統(tǒng)都為用戶提供一個數(shù)據(jù)庫語言。用戶可以使用這個語言定義和

數(shù)據(jù)庫。數(shù)據(jù)庫語言包括兩個子語言。一個是數(shù)據(jù)定義于語言。另一個是數(shù)據(jù)

于語言。在很多數(shù)據(jù)庫系統(tǒng)中,這兩個子語言被合并為于語言為一體的典型數(shù)一個語言。SQL語言是一個集數(shù)據(jù)定義和數(shù)據(jù)據(jù)庫語言。數(shù)據(jù)定義子語言用來定義數(shù)據(jù)庫模式,簡記作DDL。DDL包括數(shù)據(jù)庫模式定義和數(shù)據(jù)庫結(jié)構(gòu)與存取方法定義兩方面。數(shù)據(jù)定義子語言的處理程序也相應地分為兩部分。一部分是數(shù)據(jù)庫模式定義處理程序。另一部分是結(jié)構(gòu)和存取方法定義處理程序。數(shù)據(jù)庫模式定義處理程序接收用

DDL表示的數(shù)據(jù)庫模式定義,把其變換為表示形式,到數(shù)據(jù)庫系統(tǒng)中稱為數(shù)據(jù)字典的特殊文件中。結(jié)構(gòu)和存取方法定義處理程序接收用DDL表示的數(shù)據(jù)庫的結(jié)構(gòu)和存取方法定義,在設備上創(chuàng)建相關的數(shù)據(jù)庫文件,建立起物理數(shù)據(jù)庫。數(shù)據(jù)定義于語言也包括數(shù)據(jù)庫模式的刪除與修改功能。數(shù)據(jù)

子語言用來表示用戶對數(shù)據(jù)庫的操作請求。一般地,數(shù)據(jù)語言能夠表示如下的數(shù)據(jù)庫操作:查詢數(shù)據(jù)庫中的信息,向數(shù)據(jù)庫

新的信息,從數(shù)據(jù)庫刪除信息,修改數(shù)據(jù)庫中的信息。數(shù)據(jù)語言分為兩類:過程性語言和非過程性語言。過程性語言要求用戶既說明需要數(shù)據(jù)庫中的什么數(shù)據(jù),也說明怎樣搜索這些數(shù)據(jù)。非過程性語宣只要求用戶說明需要數(shù)據(jù)庫中的什么數(shù)據(jù);不需要說明怎樣搜索這些數(shù)據(jù)。非過程性語言比過程性語言容易學習和使用。但是,非過程性語言產(chǎn)生的處理程序代碼要比過程性語言產(chǎn)生的代碼效率低。這個問題可以通過各種查詢優(yōu)化技術來解決。數(shù)據(jù)語言的主要部分是查詢數(shù)據(jù)庫中的信息。我們稱這部分為數(shù)據(jù)查詢語言。人們常把數(shù)據(jù)語言稱為查詢語言。雖然這種叫法不確切,但是人們已經(jīng)于這種叫法。為了順應人們的,本書有時也把數(shù)據(jù)語言稱為數(shù)據(jù)查詢語言。Entwicklung

der

Technik

vonDatenbank同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen2-142.6

數(shù)據(jù)庫管理系統(tǒng)的結(jié)構(gòu)Aufbau

der

Datenbankverwaltungssysteme(

Database

Management

Systems)數(shù)據(jù)庫管理系統(tǒng)分為多個程序模塊。每個模塊實現(xiàn)數(shù)據(jù)庫系統(tǒng)的一種功能。一般情況下,數(shù)據(jù)庫系統(tǒng)建立在操作系統(tǒng)基礎上。數(shù)據(jù)庫的設計與實現(xiàn)必須考慮與操作系統(tǒng)接口的問題。圖2-8給出了數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)圖。圖2-8

數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)圖Entwicklung

der

Technik

vonDatenbank同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen2-152.7

數(shù)據(jù)庫技術的發(fā)展同濟大學CDHK機械工程系Entwicklung

der

Technik

vonDatenbankProf.

Dr.-Ing

Bin

Shen2-16Entwicklung

der

Technik

von

Datenbanksystem數(shù)據(jù)庫技術是計算機科學技術中發(fā)展最快的重要分支之一,它已經(jīng)成為計算機信息系統(tǒng)和應用系統(tǒng)的重要技術支柱,在短短的30年里,它從第一代的網(wǎng)狀、層次數(shù)據(jù)庫技術和第二代的關系數(shù)據(jù)庫技術,發(fā)展到第三代的面向新一代應用的數(shù)據(jù)庫象為技術。數(shù)據(jù)庫技術與網(wǎng)絡通信技術、人工智能技術、面程序設計技術、并行計算技術等互相滲透、有機地結(jié)

當代數(shù)據(jù)庫技術發(fā)展的重要特征。第一代數(shù)據(jù)庫系統(tǒng)第一代數(shù)據(jù)庫系統(tǒng)是70年代研制的層次和網(wǎng)狀數(shù)據(jù)庫系統(tǒng)。第二代數(shù)據(jù)庫系統(tǒng)第二代數(shù)據(jù)庫系統(tǒng)是關系數(shù)據(jù)庫系統(tǒng)。2.7.2

第三代數(shù)據(jù)庫系統(tǒng)第三代數(shù)據(jù)庫系統(tǒng)的特征是:面 象模型數(shù)據(jù)庫技術與其它學科的技術內(nèi)容互相結(jié)合分布式數(shù)據(jù)庫、工程數(shù)據(jù)庫、演繹數(shù)據(jù)庫、知識數(shù)據(jù)庫模糊數(shù)據(jù)庫、時態(tài)數(shù)據(jù)庫、統(tǒng)計數(shù)據(jù)庫、空間數(shù)據(jù)庫、多數(shù)據(jù)庫、并行數(shù)據(jù)庫等都是第三代數(shù)據(jù)庫的實例習題übungen1.試回答下列問題:(1)(2)(3)數(shù)據(jù)庫?數(shù)據(jù)庫管理系統(tǒng)`?數(shù)據(jù)庫系統(tǒng)?試述文件系統(tǒng)的缺點。試述數(shù)據(jù)庫系統(tǒng)的五個特點?試述數(shù)據(jù)庫系統(tǒng)的五類用戶及其職責?解釋下列概念:內(nèi)模式,概念模式,外模式,視圖抽象,概念抽象,物理抽象試述數(shù)據(jù)庫的物理獨立性和邏輯獨立性。試回答下列問題:(1)數(shù)據(jù)模型?實體。聯(lián)系模型的主要概念是什么?并給出解釋。面

象數(shù)據(jù)模型中的對象類和對象的區(qū)別是什么?關系數(shù)據(jù)模型、網(wǎng)絡數(shù)據(jù)模型和層次數(shù)據(jù)模型的區(qū)別是什么?數(shù)據(jù)庫模式與數(shù)據(jù)庫實例的區(qū)別是什么?數(shù)據(jù)庫語言一般都包括哪些子語言?每

語言的功能是什么?同濟大學CDHK機械工程系Entwicklung

der

Technik

vonDatenbankProf.

Dr.-Ing

Bin

Shen2-17Relational

Datebase

SystemProf.

Dr.-Ing

Bin

Shen3-1同濟大學CDHK3

Relational

Datebase

System1970年E.F.Gold

:A

Relational

Model

of

Datafor

Shared

Data

Base,從此開始了關系數(shù)據(jù)庫系統(tǒng)的研究。關系數(shù)據(jù)庫是已二維表形式`

組織數(shù)據(jù),應用數(shù)學方式處理數(shù)據(jù)庫組織的方法。關系模型的基本概念關系數(shù)據(jù)模型是關系數(shù)據(jù)庫系統(tǒng)的基礎。關系數(shù)據(jù)模型由數(shù)據(jù)結(jié)構(gòu)、完整性約束規(guī)則和關系運算三部分構(gòu)成?;拘g語:關系

一個關系就是一張二維表,每個關系有一個關系名。在計算機里,一個關系可以

為一個文件,如FoxPro中的.dbf文件

,SQL數(shù)據(jù)庫中為一個table。元組表中的行稱為元組。一行為一個元組,對應文件中的一個記錄值。屬性表中的列稱為屬性,每一列有一個屬性名。屬性值相當于記錄中的數(shù)據(jù)項或者字段值。域

屬性的取值范圍,即不同元組對同一個屬性的值所限定的范圍。例如,邏輯型屬性只能從邏輯真(如.T.)或邏輯假(如.F.)兩個值中取值。·關系模式對關系的描述稱為關系模式,格式為:關系名(屬性名1,屬性名2,,,.,屬性名n)一個關系模式對應一個關系文件的結(jié)構(gòu)。例如:R(S#,SNAME,SEX,BIRTHDAY,CLASS)機械工程系關鍵字(或碼)屬性或?qū)傩越M合,其值能夠唯一地標識一個元組。主關鍵字(或主碼)

在一個關系中可能有多個候選關鍵字,從中選擇一個作為主關鍵字。主關鍵字在關系中用來作為

、刪除、檢索元`

組的操作變量。外關鍵字(或外碼)如果一個關系中的屬性或?qū)傩越M并非該關系的關鍵字,但它們是另外一個關系的關鍵字,則稱其為該關系的外關鍵字。了解上述術語之后,又可以將關系定義為元組的集合。關系模式是命名的屬性集合。元組是屬性值的集合。一個具體的關系模型是若干個關系模式的集合。關系的數(shù)據(jù)結(jié)構(gòu)(數(shù)學定義)積設D1,D2,...,Dn為任意集合,定義D1,D2,...,Dn的笛卡爾積為:Dl×D2×…×Dn={(dl,d2,...,dn)

|

di∈Di,i=1,...,n}其中每一個元素(dl,d2,...,dn)叫做一個n元組。例如,Dn={0,1},D2={a,b,c}則:D1×D2={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}同濟大學CDHKProf.

Dr.-Ing

Bin

Shen3-2Relational

Datebase

System機械工程系3.2.2

關系積Dl×D2×…×Dn的任一個子集稱為Dl×D2×…×Dn上的一個n元關系。同樣可以把關系看成二維表,給表的每一列取一個名稱,關系是用集合代數(shù)的

積定義的,關系是元組的集合,因此,關系具有如下性質(zhì):列是同質(zhì)的,即每一列中的分量是同類型的數(shù)據(jù),來自同一域。不同的列可出自同一個域,每一列稱為屬性,要給予不同的屬性名。關系中沒有重復元組,任意一個元組在關系中都是唯一的。元組的順序無關緊要,即元組的次序可以任意交換。屬性的順序是非排序的,屬性一般是用它的名稱來標識,而不使用它的位置來標識。屬性必須有不同的屬性名,不同的屬性可來自同一個域。所有的屬性值都是原子,不允許屬性又是一個二維關系。`稱為屬性,n元關系有n個屬性,屬性的名稱要唯一,屬性的取值范圍Di(i=1,...,n)叫值域。例如,R1={(0,a),(0,b),(0,c)}R2={(1,a),(1,b),(1,c)}都是上例D1,D2上的一個關系。3.2.3

關系的性質(zhì)同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-3Relational

Datebase

SystemCourse—Teaching(年級,系,專業(yè),課程教師),,學期,年,Prerequist(課程 ,前序課程

)。Grade(學生 ,課程 ,成績)。關系與關系模式是關系數(shù)據(jù)庫中密切相關又有所不同的概念。關系模式描述了關系的數(shù)據(jù)結(jié)構(gòu)和語義約束,不是集合;而關系是一個數(shù)據(jù)集合。關系模式是相對穩(wěn)定的;而關系是隨時間而變化的,是某一時刻現(xiàn)實世界狀態(tài)的真實反映,是

關系模式在某一時刻的“當前值”。我們稱一個關系模式的,任何一個“當前值”為該關系模式的關系實例。以下,在不引起

的情況下,我們等價地使用“關系”和“關系模式”這兩個詞。關系可以用一個表來直觀地表示。表的每一列表示關系的一個屬性,每一行表示一個元組。表的每列的名字是一個屬性名。圖3-1給出了一個關系模式“儲蓄(

,城市,區(qū),街道,帳號)”的關系實例。例3.1我們可以使用關系數(shù)據(jù)模型表示圖2-5中的教學管理數(shù)據(jù)庫,其關系模式定義如下:Student(

,學生 ,年級,專業(yè),系),Course(課程名,課程,`學分,系),同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-4Relational

Datebase

System圖3-1

一個關系模式“儲蓄”的關系實例。3.2.4

關系的完整性規(guī)則關系的兩個完整性規(guī)則如下:實體完整性關系中主關鍵字的值不能為空或部分為空。參照完整性如果關系R2的外關鍵字X與關系

R1的主關鍵字相符,則外關鍵字X的每個值必須在關系R1中主關鍵字的值中找到,或者為空值。3.3

關系代數(shù)關系代數(shù)是施加于關系上的一組集合代數(shù)運算,每個運算都以一個或多個關系作為運算對象,并生成另外一個關系作為該關系運算的結(jié)果。同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-5Relational

Datebase

System傳統(tǒng)的集合運算:關系的并關系R和關系S的所有元組合并,再刪去重復的元組,組成一個新關系,稱為R和S的并,記為R

∪S。同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-6Relational

Datebase

System傳統(tǒng)的集合運算:同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-6Relational

Datebase

System關系的差關系R和關系S的差是由屬于R而不屬于S的所有元組組成的集合,即關系R中刪去與S關系中相`

同的元組,組成一個新關系,記為R-S。傳統(tǒng)的集合運算:關系的交關系R和關系S的交是由既屬于R又屬于S的元組組成的集合,即在兩個關系

R與S中取相同的元組,組成一個新關系,記為R∩S。同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-6Relational

Datebase

System傳統(tǒng)的集合運算:關系的除設有關系R(X,Y)與關系S(Z),其中,X、Y、Z為屬性集合。假

設Y和Z具有相同的屬性個數(shù),且對應屬性出自相同域。關系R(X,Y)除以S(Z)所得的商關系是關系R在屬性X上投影的一個子集,該子集和S(Z)的

積必須包含在R(X,Y)中。記為R÷S。同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-6Relational

Datebase

System`同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-7Relational

Datebase

System專門的集合運算:選擇從關系中找出滿足條件的所有元組稱為選擇。

經(jīng)過選擇運算得到的結(jié)果元組可以形成新的關系,其關系模式不變,但其中元組的數(shù)于或等于原來的關系中元組的個數(shù),它是原關系的一個子集。選擇運算記為σp(R),其中R為一個關系,p為布爾函數(shù),該函數(shù)中可以包含算術符(<,=,>,≤,≥,≠)和邏輯運算符(∧,∨,┑)。`投影從關系中挑選若干屬性組成新的關系稱為投影。

這是從列的角度進行的運算,相當于對關系進行垂直分解。經(jīng)過投影運算可以得到一個新關系,其關系所包含的屬性個數(shù)往往比原關系少,或者屬性的排列順序不同。如果新關系中包含重復元組,則要刪除重復元組。x投影運算記為∏(R),其中R為一個關系,x為一組屬性名或?qū)傩孕蛱柦M,屬性序號是對應屬性在關系中的順序。同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-8Relational

Datebase

System`連接連接是將兩個關系的屬性名拼接成一個更寬的關系,生成的新關系中包含滿足連接條件的元組。運算過程是通過連接條件來控制的,連接條件中將出現(xiàn)不同關系中的公共屬性名。連接是對關系的結(jié)合。連接記為R

S,其中R和S是兩個關系,X

θ

Y為連接條件,θ

為比較運算符,當θ

為“=”時,稱為等值連接。同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-8Relational

Datebase

System自然連接自然連接是除去重復屬性的等值連接,它是連接運算的一個特例,是最常用的連接運算。自然連接記為R*S,其中R和S是兩個關系,并且具有一個或多個同名屬性。在聯(lián)接運算`中,同名屬性一般都是外關鍵字,否則會出現(xiàn)重復數(shù)據(jù)。同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-8Relational

Datebase

System圖

3-3

關系及其專門的關系運算3.4

SQL語言SQL語言已成為關系數(shù)據(jù)庫的

語言,它具有以下特點:類似于英語自然語言,簡單易學。是一種非過程語言。是一種面向集合的語言。既可獨立使用,又可嵌入到宿主語言中使用。具有查詢、

、定義和控制的

功能。同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-9Relational

Datebase

System數(shù)據(jù)定義SQL語言的數(shù)據(jù)定義功能包括建立關系模式CREATETABLE)、修改關系模式(ALTER

TABLE)、刪除關系模式(DROP

TABLE)、建立索引(CREATEINDEX)、刪除索引(DROP

INDEX)等語句。`CREATETABLE語句用來建立一個新關系模式,定義關系模式的每個屬性的數(shù)據(jù)類型和長度。CREATETABLE語句的語法格式為:CREATE

TABLE(關系名>((列名><列類型>[NOTNULL],…,<列名><列類型>[NOTNULL]),其中,<關系名>是被建立的關系的名字,<列名>是被建立關系的屬性名,<列類型>是屬性的數(shù)據(jù)類型和長度定義,可選項NOT

NULL表示屬性不能取空值。例3-2

使用如下的CREATE

TABLE語句建立一個EMPLOYEE關系:CREATE

TABLE

EMPLOYEE(NAME

VARCHAR(15),/*具有最大15個字節(jié)的可變長字符串*/SSN

CHAR(9),:/*具有9個字節(jié)的固定長字符串*/BDATE

CHAR(9),/*具有9個字節(jié)的固定長字符串*/ADDRESS

VARCHAR(30),/*具有最大30個字節(jié)的可變長字符串*/SEX

CHAR(1),/*具有1個字節(jié)的固定長字符中*/SALARY

INTEGER,/*

4字節(jié)的整數(shù)*/SUPERSSN

CHAR(9),/*具有9個字節(jié)的固定長字符串*/DNO

INTEGER

/*

4字節(jié)的整數(shù)*/)。同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-10Relational

Datebase

SystemALTERTABlE語句用來在一個關系模式中增加一個屬性。每個關系元組新增屬性的值為空值。ALTERTABLE語句的語法格式是:AITERTASLE<關系名>ADD<列名)<列類型>。例3-3在EMPLOYEE關系模式中增加一個屬性JOB,相應的語句為:ALTER

TABLEEMPLOYEE

ADD

JOB

VARCHAR(12)。DROP

TABLE語句用來刪除一個關系。DROP

TABLE語句的語法格式是:DROP

TABLE<關系名>。我們可以使用語句DROP

TABLE

DEPENDENT刪除關系DEPENDENT。CREATEINDEX用來在一個指定關系的指定屬性上建立一個索引。CREATE

INDEX語句的語法格式是:CREATE[UNIQUE]INDEX(索引名>ON<關系名>(<列名)[ORDER],..,<列名)[ORDER])[CLUSTER],其中,<關系名)是被建立索引的關系的名字,<索引名>是建立的索引的名字,<列名)是索引屬性名。語句的可選項UNIQUE表示索引屬性或?qū)傩越M是鍵屬性,即不允許重復值出現(xiàn)。語句的可選項ORDER表示ASC和DESC之一。如果一個屬性<列名>被標記以ASC,則索引按照這個屬性值的遞增順序排序

。反之,如果一個屬性<列名)被標記以DESC,則索引按照這個屬性值的遞減順序排序

。ORDER的缺省值等價于ASC。語句中的可選項CLUSTER表示所建立的索引是否

索引。例3-4在EMPLOYEE關系上以SSN屬性為索引屬性,建立一個

索引,索引文件名字為SSN_INDEX,并說明SSN是鍵屬性,索引按照SSN的值遞增排序,相應的SQL語句為:CREATE

UNIQUE

INDEX

SSN_INDEX

ON

EMPLOYEE(NAMEASC)CLUSTER。同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-11Relational

Datebase

System索引可以

態(tài)地建立和刪除。DORP

INDEX語句用來刪除索引。DORP

INDEX語句的語法格式是:DROP

INDEX<索引名)。3.4.2

數(shù)據(jù)查詢SQL語言的數(shù)據(jù)查詢語句`

的語法格式是:SELECT[DISTINCT]<屬性表>FROM

Rl[<別名>]”…,Rn[<別名)]WHERE

Ψ[GROUP

BY<分組屬性表>[HAVING<分組選擇條件>]] [ORDER

BY<列名)[<ORDER)],…,<列名)[<ORDER>]],其中,Rl,…,Rn是n個不同的關系,(別名>是為FROM從句中的關系指定的簡化的別名,(屬性表>是結(jié)果關系的屬性表,Ψ是條件表達式,由邏輯運算符∧、∨、┑和算術比較符=、≠、≤、≥、<、>、常值和屬性名等構(gòu)成。可選項DISTINCT表示查詢結(jié)果集合中不出現(xiàn)重復元組??蛇x從句GROUPBY(分組屬性表>表示把結(jié)果關系按照<分組屬性表>中的屬性值分組??蛇x從句GROUPBY<分組屬性表>HAVING(分組選擇條件>表示把結(jié)果關系按照<分組屬性表)中的屬性值和<分組選擇條件>分組。ORDER

BY從句實現(xiàn)查詢結(jié)果的排序,<列名>為排序?qū)傩裕?ORDER>與建立索引語句中的<ORDER>意義相同。下邊用幾個查詢實例來說明SQL語言的查詢語句SELECT的功能和用法。同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-12Relational

Datebase

System例3-5(簡單查詢1)對于每個在“哈爾濱”進行的工程項目,列

出工程項目號、所屬部門號、該部門

的名字、生日和地址,相應的查詢語句為:SELECT

PNUMBER,DNUM,NAME,BDATE,ADDRESS

FROMPROJECT,DEPARTMENT,EMPLOYEEWHEREDNUM=DNUMBER

AND

`MGBSSN=SSN

AND

PLOCATION=“哈爾濱”。例3-6(簡單查詢2)列出每一個 及其直接 的名字,相應的查詢語句為:SELECT

E.NAME,S.NAME

FROM

EMPLOYEE

E

SWHERE

E.SUFERSSN=S.SSN在例3-6中,EMPLOYEE關系具有兩個別名E和S。我們可以認為E和S是EMPLOYEE關系的兩個不同的副本。例3-7

(包含集合操作的查詢)

對于每個工程項目,如果張平是這個項目的工作者或張平是管轄這個項目的部門的 ,則列出這個項目的 ,相應的查詢語句為:(SELECT

PNUMBERFROM

PROJECT,DEPARTMENT,EMPLOYEEWHEREDNUM=DNUMBER

AND

MGRSSN=SSN

AND

NAME;“張平”

)

UNION(SELECT

PNUMBER

FROMP

ROJECT,WORKS_ON,EMPLOYEEWHERE

PNUMBER=PNO

AND

ESSN=SSN

AND

NAME=“張平”

)同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-13Relational

Datebase

System`SQL語言允許嵌套查詢,即p允許在SELECT語句的

WHERE從句中出現(xiàn)另一個SELECT語句和集合比較操作。SQl語言嵌套查詢的嵌套級數(shù)可以很多。例3-8(嵌套查詢1)例3-7的查詢可以改寫為如下的嵌套查詢:SELECT

DISTINCT

PNUMBERFROM

PROJECTWHERE

PNUMBER

IN

(SELECT

PNUMBERFROM

DEPARTMENT,EMPLOYEEWHERE

DNUM=DNUMBER

AND

MGRSSN=

SSNAND

NAME=“張平”)ORPNUMBER

IN(SELECT

PNUMBER

FROM

WORKS_ON,EMPLOYEEWHERE

PNUMBER=PNO

AND

ESSN=SSN

AND

NAME=“張平”)3.4.3

數(shù)據(jù)SQL語言提供了三個數(shù)據(jù)

語句,實現(xiàn)關系元組的

、刪e除和修改。下邊是這三個語句的語法格式定義:元組語句的語法形式是INSERT

INTO<關系名>[(<列名>,...<列名>)](VALUES(<常值>”...,<常值>))|

SELEGT語句修改元組語句的語法形式是:UPDATE<關系名>

SET(列名)=<常值>”...,(列名)=<常值>[WHERE<條件表達式>]刪除元組語句的語法形式是:DELETE

FROM<關系名>[WHERE(條件表達式>]同濟大學CDHK機械工程系Prof.

Dr.-Ing

Bin

Shen3-14Relational

Datebase

System下邊我們給出幾個關系數(shù)據(jù)庫上的數(shù)據(jù)

實例。例3-9

為EMPLOYEE關系增加一個元組,相應的語句為:INSERT

INTO

EMPIOYEE

VALUES(“王明”,“655325678”,“1950年7月11日”,“哈爾濱市南崗區(qū)學府路24號”,“男”,“872”,“655678887”,“5”)。例3-10

建立新關系EMPLOYEE_LS`,并把EMPLOYEE關系中工資低于300元的

到這個新關系,相應的語句為:CREATETABLE

EMPLOYEE_LS(NAME

VARCHAR(10),SSN

INTEGER,SALARY

INTEGER)。INSERT

INTO

EMPLOYEE_LS(NAME,SSN,SALARY)SELECT

NAME,SSN,SALARY

FROM

EMPLOYEEWHERE

SALARY<300。例3-11

把PROJECT關系中的工程項目10的地址和所屬部門號分別修改為

”和5;相應的語句為:UPDATE

PROJECT SET

PLOCATION=“

”,DNUM=5WHERE

PNUMBER=10。的工資提高lO%,相應的語句為:例3-12把在研究部工作的所有UPDATE

EMPLOYEESET

SALARY=SALARY*1.1WHERE

DNO

IN(SELECT

DNUMSER

FROM

DEPARTMENT

WHEREDNA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論