版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、西安交通大學(xué)西安交通大學(xué) 姚普選姚普選 (AccessAccess) 2 數(shù)據(jù)庫技術(shù)概論數(shù)據(jù)庫技術(shù)概論 關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫 Access用戶界面用戶界面 數(shù)據(jù)庫設(shè)計與創(chuàng)建數(shù)據(jù)庫設(shè)計與創(chuàng)建 查詢設(shè)計與使用查詢設(shè)計與使用 窗體設(shè)計窗體設(shè)計 VBAVBA程序設(shè)計程序設(shè)計 模塊設(shè)計模塊設(shè)計 報表和數(shù)據(jù)訪問頁報表和數(shù)據(jù)訪問頁 內(nèi)容內(nèi)容 3 數(shù)據(jù)處理技術(shù)的發(fā)展數(shù)據(jù)處理技術(shù)的發(fā)展 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)及數(shù)據(jù)間的聯(lián)系數(shù)據(jù)及數(shù)據(jù)間的聯(lián)系 數(shù)據(jù)模型數(shù)據(jù)模型 1 數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念 數(shù)據(jù)處理數(shù)據(jù)處理:計算機應(yīng)用的一個重要方面。計算機應(yīng)用的一個重要方面。 數(shù)據(jù)處理涉及數(shù)據(jù)處理涉及內(nèi)容是非數(shù)值型的離散
2、問題,只能內(nèi)容是非數(shù)值型的離散問題,只能采用采用 諸如表、樹和圖等非數(shù)值型的數(shù)據(jù)結(jié)構(gòu)來描述。諸如表、樹和圖等非數(shù)值型的數(shù)據(jù)結(jié)構(gòu)來描述。 數(shù)據(jù)庫技術(shù)數(shù)據(jù)庫技術(shù):數(shù)據(jù)處理的一種方法。起源于數(shù)據(jù)處理的一種方法。起源于6060年代末。年代末。 已成為已成為MISMIS、OAOA、CAMCAM等領(lǐng)域的主要工具。等領(lǐng)域的主要工具。 1.1 1.1 數(shù)據(jù)庫技術(shù)的發(fā)展數(shù)據(jù)庫技術(shù)的發(fā)展 數(shù)據(jù)處理技術(shù)經(jīng)歷了數(shù)據(jù)處理技術(shù)經(jīng)歷了四個階段四個階段: 手工管理階段:數(shù)據(jù)在程序中手工管理階段:數(shù)據(jù)在程序中 文件系統(tǒng)階段:數(shù)據(jù)文件文件系統(tǒng)階段:數(shù)據(jù)文件 數(shù)據(jù)庫系統(tǒng)階段:數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)階段:數(shù)據(jù)庫 分布式數(shù)據(jù)庫系統(tǒng)階段:網(wǎng)上
3、共享數(shù)據(jù)分布式數(shù)據(jù)庫系統(tǒng)階段:網(wǎng)上共享數(shù)據(jù) 早期早期(46-50(46-50年代中期年代中期) ) 計算機數(shù)據(jù)處理方法計算機數(shù)據(jù)處理方法: : 程序自帶數(shù)據(jù)程序自帶數(shù)據(jù)。在引用數(shù)。在引用數(shù)據(jù)據(jù) 時,直接按內(nèi)存單元地址時,直接按內(nèi)存單元地址 或外部設(shè)備的物理位置加或外部設(shè)備的物理位置加 內(nèi)存單元地址存取。內(nèi)存單元地址存取。 應(yīng)用程序應(yīng)用程序1 1數(shù)據(jù)組數(shù)據(jù)組1 1 應(yīng)用程序應(yīng)用程序n n數(shù)據(jù)組數(shù)據(jù)組n n 1. 1. 手工處理階段手工處理階段 特點特點: 數(shù)據(jù)的物理存儲結(jié)構(gòu)和邏輯結(jié) 數(shù)據(jù)的物理存儲結(jié)構(gòu)和邏輯結(jié) 構(gòu)一致,編程者自行設(shè)計數(shù)據(jù)構(gòu)一致,編程者自行設(shè)計數(shù)據(jù) 格式,并將數(shù)據(jù)嵌入程序中。格式,
4、并將數(shù)據(jù)嵌入程序中。 數(shù)據(jù)與處理它的程序合為一體, 數(shù)據(jù)與處理它的程序合為一體, 多個程序不能共享數(shù)據(jù)。多個程序不能共享數(shù)據(jù)。 一批數(shù)據(jù) 一批數(shù)據(jù)在多個對其進行不同在多個對其進行不同 處理的程序中重復(fù)存儲。處理的程序中重復(fù)存儲。 文件系統(tǒng)管理下的數(shù)據(jù)文件:文件系統(tǒng)管理下的數(shù)據(jù)文件: 若干相關(guān)的數(shù)據(jù)元素組成若干相關(guān)的數(shù)據(jù)元素組成“記記 錄錄”,若干記錄構(gòu)成文件。,若干記錄構(gòu)成文件。數(shù)據(jù)數(shù)據(jù) 文件存放于外存儲器上,由文件文件存放于外存儲器上,由文件 系統(tǒng)統(tǒng)一管理,通過程序來操縱系統(tǒng)統(tǒng)一管理,通過程序來操縱 數(shù)據(jù)。數(shù)據(jù)。每個用戶都可建立、維護每個用戶都可建立、維護 和處理一個或幾個文件。和處理一個或
5、幾個文件。 文件系統(tǒng)階段文件系統(tǒng)階段:50-6050-60年代,現(xiàn)年代,現(xiàn) 在,在,文件文件( (管理管理) )系統(tǒng)是操作系統(tǒng)系統(tǒng)是操作系統(tǒng) 的一部分。的一部分。 2. 2. 文件系統(tǒng)階段文件系統(tǒng)階段 . . . 應(yīng)用程序應(yīng)用程序1 1 數(shù)據(jù)文件數(shù)據(jù)文件1 1 應(yīng)用程序應(yīng)用程序n n 數(shù)據(jù)文件數(shù)據(jù)文件n n 文件文件 系統(tǒng)系統(tǒng) 優(yōu)點:優(yōu)點:數(shù)據(jù)以文件形式保存,數(shù)據(jù)以文件形式保存, 與程序獨立,且可多次存取。與程序獨立,且可多次存取。 缺點:缺點: 數(shù)據(jù)文件是數(shù)據(jù)文件是無結(jié)構(gòu)的數(shù)據(jù)集合無結(jié)構(gòu)的數(shù)據(jù)集合,只能反映客觀事物的,只能反映客觀事物的 存在,不能反映各事物間的聯(lián)系。存在,不能反映各事物間的
6、聯(lián)系。 數(shù)據(jù)和應(yīng)用程序互相依賴數(shù)據(jù)和應(yīng)用程序互相依賴,數(shù)據(jù)文件由程序生成,數(shù),數(shù)據(jù)文件由程序生成,數(shù) 據(jù)存取由程序完成,離開所依賴的程序則失去據(jù)存取由程序完成,離開所依賴的程序則失去意義。意義。 服務(wù)與不同程序的服務(wù)與不同程序的數(shù)據(jù)文件互相獨立數(shù)據(jù)文件互相獨立,無法實現(xiàn)數(shù)據(jù),無法實現(xiàn)數(shù)據(jù) 共享。一個應(yīng)用程序所對應(yīng)的數(shù)據(jù)文件不能為另共享。一個應(yīng)用程序所對應(yīng)的數(shù)據(jù)文件不能為另一個一個 程序使用。數(shù)據(jù)冗余大。程序使用。數(shù)據(jù)冗余大。 應(yīng)用程序編制較繁煩,缺乏對數(shù)據(jù)正確性、安全性、應(yīng)用程序編制較繁煩,缺乏對數(shù)據(jù)正確性、安全性、 保密性的有效控制手段。保密性的有效控制手段。 學(xué)校各方面的數(shù)據(jù)分散存放在幾個
7、文件系統(tǒng)中,學(xué)校各方面的數(shù)據(jù)分散存放在幾個文件系統(tǒng)中, 各系統(tǒng)互相獨立工作各系統(tǒng)互相獨立工作 例例7-1:一所大學(xué)的數(shù)據(jù)文件系統(tǒng):一所大學(xué)的數(shù)據(jù)文件系統(tǒng) l若一部門數(shù)據(jù)處理時用到的某些數(shù)據(jù)保存在另一部若一部門數(shù)據(jù)處理時用到的某些數(shù)據(jù)保存在另一部 門的文件系統(tǒng)中,數(shù)據(jù)提取困難門的文件系統(tǒng)中,數(shù)據(jù)提取困難 l數(shù)據(jù)分散存放還會引起數(shù)據(jù)的不一致數(shù)據(jù)分散存放還會引起數(shù)據(jù)的不一致 解決:解決:將數(shù)據(jù)和使用數(shù)據(jù)的程序隔離開來,數(shù)據(jù)按將數(shù)據(jù)和使用數(shù)據(jù)的程序隔離開來,數(shù)據(jù)按 統(tǒng)一格式組織在一起,相關(guān)程序都能操縱統(tǒng)一格式組織在一起,相關(guān)程序都能操縱 例:例:教務(wù)部門登記學(xué)生課程申請時,需了解該生是否教務(wù)部門登記學(xué)
8、生課程申請時,需了解該生是否 學(xué)過先修課程,須征得保存了學(xué)過先修課程,須征得保存了“成績成績”文件的學(xué)籍文件的學(xué)籍 管理部門協(xié)助,然后編程序提取數(shù)據(jù)管理部門協(xié)助,然后編程序提取數(shù)據(jù) 例:例:人事、學(xué)術(shù)評議兩部門的文件系統(tǒng)都包含教師數(shù)人事、學(xué)術(shù)評議兩部門的文件系統(tǒng)都包含教師數(shù) 據(jù),若一教師電話有變,人事部門修改了而學(xué)術(shù)評據(jù),若一教師電話有變,人事部門修改了而學(xué)術(shù)評 議部門未能進行相應(yīng)修改。即為數(shù)據(jù)不一致錯誤議部門未能進行相應(yīng)修改。即為數(shù)據(jù)不一致錯誤 問題:問題: 數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段:6060年代至今年代至今 數(shù)據(jù)庫數(shù)據(jù)庫是存儲在一起的相關(guān)數(shù)據(jù)的集合。數(shù)據(jù)庫獨立于是存儲在一起的相關(guān)數(shù)據(jù)的
9、集合。數(shù)據(jù)庫獨立于 使用它的程序;為多種應(yīng)用服務(wù);對數(shù)據(jù)庫的修改、使用它的程序;為多種應(yīng)用服務(wù);對數(shù)據(jù)庫的修改、 檢索檢索等均可按公用的可控制方式進行。等均可按公用的可控制方式進行。 特點特點: 數(shù)據(jù)的性質(zhì)數(shù)據(jù)的性質(zhì)由其依賴的數(shù)據(jù)模型由其依賴的數(shù)據(jù)模型 來決定。來決定。數(shù)據(jù)模型數(shù)據(jù)模型規(guī)范了數(shù)據(jù)庫規(guī)范了數(shù)據(jù)庫 中數(shù)據(jù)的組織形式,表示了數(shù)據(jù)中數(shù)據(jù)的組織形式,表示了數(shù)據(jù) 之間的聯(lián)系。有層次模型、網(wǎng)狀之間的聯(lián)系。有層次模型、網(wǎng)狀 模型和關(guān)系模型等。模型和關(guān)系模型等。 如果依照關(guān)系模型來設(shè)計庫中數(shù)如果依照關(guān)系模型來設(shè)計庫中數(shù) 據(jù)結(jié)構(gòu),則為據(jù)結(jié)構(gòu),則為關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫。 3. 3. 數(shù)據(jù)庫系統(tǒng)階段數(shù)
10、據(jù)庫系統(tǒng)階段 應(yīng)用應(yīng)用 程序程序1 1 數(shù)據(jù)庫數(shù)據(jù)庫 DBMSDBMS 應(yīng)用應(yīng)用 程序程序n n 由由數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMSDBMS)來實現(xiàn)對數(shù)據(jù)庫的定義、)來實現(xiàn)對數(shù)據(jù)庫的定義、 管理和操作。管理和操作。DBMSDBMS是用戶和數(shù)據(jù)的接口。是用戶和數(shù)據(jù)的接口。 目前,流行目前,流行DBMSDBMS軟件大多采用關(guān)系模型。軟件大多采用關(guān)系模型。 常見常見DBMSDBMS:Oracle, IBM DB2, Informix, Sybase,Oracle, IBM DB2, Informix, Sybase, FoxPro, SQL Server, Access FoxPro, SQ
11、L Server, Access等。等。 數(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ù)完整性措施。 可以采用交互式或程序方式操作??梢圆捎媒换ナ交虺绦蚍绞讲僮?。 與文件系統(tǒng)比較與文件系統(tǒng)比較:原來各部門分管的數(shù)據(jù)統(tǒng)一存放在原來各部門分管的數(shù)據(jù)統(tǒng)一存放在 數(shù)據(jù)庫中,各部門共享數(shù)據(jù)庫數(shù)據(jù)庫中,各部門共享數(shù)據(jù)庫 特點特點:數(shù)據(jù)結(jié)構(gòu)化、:數(shù)據(jù)結(jié)
12、構(gòu)化、減少了數(shù)據(jù)冗余;對數(shù)據(jù)庫的操減少了數(shù)據(jù)冗余;對數(shù)據(jù)庫的操 作在同一數(shù)據(jù)庫中進行,無數(shù)據(jù)不一致現(xiàn)象作在同一數(shù)據(jù)庫中進行,無數(shù)據(jù)不一致現(xiàn)象 例例7-2 :一所大學(xué)的數(shù)據(jù)庫系統(tǒng):一所大學(xué)的數(shù)據(jù)庫系統(tǒng) 1.2 1.2 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng) 三級模式、二級映射:三級模式、二級映射: 外模式外模式、概念模式概念模式、內(nèi)模式;內(nèi)模式; 外模式與概念模式外模式與概念模式、 概念模式與內(nèi)模式映射概念模式與內(nèi)模式映射 1. 1. 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu) 子模式子模式(外模式):局部邏輯數(shù)(外模式):局部邏輯數(shù) 據(jù)視圖,表示某用戶所理解的據(jù)視圖,表示某用戶所理解的 實體、實體的屬性及其關(guān)系。實體、實
13、體的屬性及其關(guān)系。 內(nèi)模式內(nèi)模式(物理模式):存儲器中物理模式):存儲器中 數(shù)據(jù)的物理存儲方式。數(shù)據(jù)的物理存儲方式。 概念模式概念模式( (簡稱模式簡稱模式) ):將所有:將所有 用戶的數(shù)據(jù)綜合、抽象用戶的數(shù)據(jù)綜合、抽象成統(tǒng)成統(tǒng) 一的數(shù)據(jù)視圖,是數(shù)據(jù)庫的一的數(shù)據(jù)視圖,是數(shù)據(jù)庫的 整個邏輯描述,即數(shù)據(jù)庫所整個邏輯描述,即數(shù)據(jù)庫所 采用的數(shù)據(jù)模型。它由數(shù)據(jù)采用的數(shù)據(jù)模型。它由數(shù)據(jù) 庫管理員庫管理員(DBA) (DBA)統(tǒng)一組織管 統(tǒng)一組織管 理,故又稱為理,故又稱為DBA DBA視圖。 視圖。 用戶級數(shù)據(jù)庫 (用戶視圖) 應(yīng)用程序應(yīng)用程序應(yīng)用程序應(yīng)用程序 外模式外模式 B B 應(yīng)用程序應(yīng)用程序 外
14、模式外模式 A A 概念模式概念模式 外概念 映射 內(nèi)內(nèi)模模式式 概念內(nèi) 映射 物理級數(shù)據(jù)庫 (系統(tǒng)程序員視圖) 概念級數(shù)據(jù)庫 ( DBA視圖 ) 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu): DBMSDBMS 數(shù)據(jù)庫系統(tǒng)的三個層次數(shù)據(jù)庫系統(tǒng)的三個層次: 整個數(shù)據(jù)庫分為外層、概念層和內(nèi)層。整個數(shù)據(jù)庫分為外層、概念層和內(nèi)層。 用戶只能看到外層用戶只能看到外層,外層中的子模式可有多個;而概念,外層中的子模式可有多個;而概念 層中的概念模式和內(nèi)層中的物理模式都只有一個。層中的概念模式和內(nèi)層中的物理模式都只有一個。 無論哪一級模式都只是處理數(shù)據(jù)的一個框架,按這些框無論哪一級模式都只是處理數(shù)據(jù)的一個框架,按這些框
15、 架填入的數(shù)據(jù)才是數(shù)據(jù)庫的內(nèi)容。架填入的數(shù)據(jù)才是數(shù)據(jù)庫的內(nèi)容。 以子模式為框架的數(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ù)庫的一個子集,是一個用戶要用到的數(shù)據(jù)庫概念數(shù)據(jù)庫的一個子集,是一個用戶要用到的數(shù)據(jù)庫 中數(shù)據(jù)子集的中數(shù)據(jù)子集的邏輯描述邏輯描述。是用戶與數(shù)據(jù)庫之間的一個。是用戶與數(shù)據(jù)庫之間的一個 接口接口 數(shù)據(jù)存取機制:數(shù)據(jù)存取機
16、制: 用戶根據(jù)子模式操縱數(shù)據(jù)庫時,數(shù)據(jù)庫系統(tǒng)通過用戶根據(jù)子模式操縱數(shù)據(jù)庫時,數(shù)據(jù)庫系統(tǒng)通過子模子模 式式/ /模式映射模式映射使用戶數(shù)據(jù)庫與概念數(shù)據(jù)庫相聯(lián)系,又通使用戶數(shù)據(jù)庫與概念數(shù)據(jù)庫相聯(lián)系,又通 過過模式模式/ /物理模式映射物理模式映射與物理數(shù)據(jù)庫相聯(lián)系,從而使與物理數(shù)據(jù)庫相聯(lián)系,從而使 用戶實際使用物理數(shù)據(jù)庫中的數(shù)據(jù)。用戶實際使用物理數(shù)據(jù)庫中的數(shù)據(jù)。 【映射映射】對應(yīng)規(guī)則,指出映射雙方如何進行數(shù)據(jù)轉(zhuǎn)換對應(yīng)規(guī)則,指出映射雙方如何進行數(shù)據(jù)轉(zhuǎn)換 。數(shù)據(jù)轉(zhuǎn)換由數(shù)據(jù)庫管理系統(tǒng)來管理。數(shù)據(jù)轉(zhuǎn)換由數(shù)據(jù)庫管理系統(tǒng)來管理。 三種數(shù)據(jù)庫的關(guān)系三種數(shù)據(jù)庫的關(guān)系: 用戶數(shù)據(jù)庫是概念數(shù)據(jù)庫的部分抽取用戶數(shù)據(jù)庫是
17、概念數(shù)據(jù)庫的部分抽取; 概念數(shù)據(jù)庫是物理數(shù)據(jù)庫的抽象表示概念數(shù)據(jù)庫是物理數(shù)據(jù)庫的抽象表示; 物理數(shù)據(jù)庫是概念數(shù)據(jù)庫的具體實現(xiàn)物理數(shù)據(jù)庫是概念數(shù)據(jù)庫的具體實現(xiàn)。 數(shù)據(jù)庫數(shù)據(jù)庫:聯(lián)機存儲的有序數(shù)據(jù)的集合。:聯(lián)機存儲的有序數(shù)據(jù)的集合。 數(shù)據(jù)庫系統(tǒng)必有可少的數(shù)據(jù)源。數(shù)據(jù)庫系統(tǒng)必有可少的數(shù)據(jù)源。 硬件硬件:運行數(shù)據(jù)庫系統(tǒng)的硬件資源。:運行數(shù)據(jù)庫系統(tǒng)的硬件資源。 例:例:SQL Server7.0SQL Server7.0至少:至少: 3232位位CPUCPU;32MB32MB內(nèi)存、內(nèi)存、80MB80MB硬盤空間。硬盤空間。 軟件軟件:包括系統(tǒng)軟件和應(yīng)用軟件兩大類。:包括系統(tǒng)軟件和應(yīng)用軟件兩大類。 系統(tǒng)軟
18、件系統(tǒng)軟件:數(shù)據(jù)庫系統(tǒng)操作平臺,包括操作系統(tǒng):數(shù)據(jù)庫系統(tǒng)操作平臺,包括操作系統(tǒng)、 DBMSDBMS、開發(fā)工具(編程語言)等。、開發(fā)工具(編程語言)等。 應(yīng)用軟件應(yīng)用軟件:在系統(tǒng)軟件支持下,:在系統(tǒng)軟件支持下, 按實際需要開發(fā)的應(yīng)用程序。按實際需要開發(fā)的應(yīng)用程序。 用戶用戶:包括數(shù)據(jù)庫管理員(:包括數(shù)據(jù)庫管理員(DBADBA)、應(yīng)用程序員和)、應(yīng)用程序員和 用戶(批處理用戶和終端用戶);用戶(批處理用戶和終端用戶); 2. 2. 數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)的組成 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫系統(tǒng)核心軟件。:數(shù)據(jù)庫系統(tǒng)核心軟件。幫助用戶在計幫助用戶在計 算機上建立、使用、管理和維護數(shù)據(jù)庫的
19、軟件系統(tǒng)。算機上建立、使用、管理和維護數(shù)據(jù)庫的軟件系統(tǒng)。 數(shù)據(jù)庫管理系統(tǒng)的功能數(shù)據(jù)庫管理系統(tǒng)的功能: 數(shù)據(jù)庫定義功能數(shù)據(jù)庫定義功能:數(shù)據(jù)庫描述??蓮挠脩舻摹⒏拍畹暮停簲?shù)據(jù)庫描述??蓮挠脩舻摹⒏拍畹暮?物理的三個不同層次出發(fā)定義數(shù)據(jù)庫,并創(chuàng)建數(shù)據(jù)庫。物理的三個不同層次出發(fā)定義數(shù)據(jù)庫,并創(chuàng)建數(shù)據(jù)庫。 數(shù)據(jù)庫操縱功能數(shù)據(jù)庫操縱功能:接收、分析和執(zhí)行用戶對數(shù)據(jù)庫提出:接收、分析和執(zhí)行用戶對數(shù)據(jù)庫提出 的各種數(shù)據(jù)操作要求(檢索、插入、刪除、更新等)。的各種數(shù)據(jù)操作要求(檢索、插入、刪除、更新等)。 數(shù)據(jù)庫運行控制功能數(shù)據(jù)庫運行控制功能:包括執(zhí)行訪問數(shù)據(jù)庫時的安全性:包括執(zhí)行訪問數(shù)據(jù)庫時的安全性 、完整性
20、檢查,以及數(shù)據(jù)共享的并發(fā)控制等,目的是保、完整性檢查,以及數(shù)據(jù)共享的并發(fā)控制等,目的是保 證數(shù)據(jù)庫的可用性和可靠性。證數(shù)據(jù)庫的可用性和可靠性。 數(shù)據(jù)字典數(shù)據(jù)字典: 對數(shù)據(jù)庫的使用和操作都要通過查閱數(shù)據(jù)字典來進行。對數(shù)據(jù)庫的使用和操作都要通過查閱數(shù)據(jù)字典來進行。 3. 3. 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng)的組成數(shù)據(jù)庫管理系統(tǒng)的組成: 數(shù)據(jù)定義數(shù)據(jù)定義語言及其翻譯程序語言及其翻譯程序 : DDL(data description language):定義數(shù)據(jù)庫的模式、:定義數(shù)據(jù)庫的模式、 存儲模式、外模式、以及各模式間的映射,有關(guān)的約束存儲模式、外模式、以及各模式間的映射,有關(guān)的約束
21、 條件等。條件等。DDL定義的稱為源模式、源存儲模式和源外模定義的稱為源模式、源存儲模式和源外模 式,各種模式翻譯程序?qū)⑵浞g成相應(yīng)的內(nèi)部表示。式,各種模式翻譯程序?qū)⑵浞g成相應(yīng)的內(nèi)部表示。 數(shù)據(jù)操縱數(shù)據(jù)操縱語言及其翻譯程序語言及其翻譯程序 : DML(data manipulation language):執(zhí)行對數(shù)據(jù)庫的存:執(zhí)行對數(shù)據(jù)庫的存 取、檢索、修改、添加等操作。取、檢索、修改、添加等操作。DML有宿主型(嵌入有宿主型(嵌入 高級語言中使用)和自含型兩種。高級語言中使用)和自含型兩種。 數(shù)據(jù)庫運行控制程序數(shù)據(jù)庫運行控制程序 :負責(zé)數(shù)據(jù)庫運行過程中的控制:負責(zé)數(shù)據(jù)庫運行過程中的控制 和管
22、理,如系統(tǒng)初啟、文件讀寫與維護程序等。和管理,如系統(tǒng)初啟、文件讀寫與維護程序等。 實用程序?qū)嵱贸绦?:包括數(shù)據(jù)初始裝入、數(shù)據(jù)轉(zhuǎn)儲、數(shù)據(jù)庫恢:包括數(shù)據(jù)初始裝入、數(shù)據(jù)轉(zhuǎn)儲、數(shù)據(jù)庫恢 復(fù)等程序。復(fù)等程序。 單機使用單機使用:數(shù)據(jù)庫、:數(shù)據(jù)庫、DBMSDBMS和應(yīng)和應(yīng) 用程序在一個機用程序在一個機 器中,程器中,程 序通過序通過DBMSDBMS使用數(shù)據(jù)庫。使用數(shù)據(jù)庫。 局域網(wǎng)上使用局域網(wǎng)上使用:實時方式:數(shù):實時方式:數(shù) 據(jù)庫存儲在服務(wù)據(jù)庫存儲在服務(wù) 器上,多器上,多 個用戶利用數(shù)據(jù)庫管理系統(tǒng)個用戶利用數(shù)據(jù)庫管理系統(tǒng) DBMSDBMS或或?qū)iT的數(shù)據(jù)庫應(yīng)用程專門的數(shù)據(jù)庫應(yīng)用程 序,通過網(wǎng)絡(luò)訪問服務(wù)序,通
23、過網(wǎng)絡(luò)訪問服務(wù)器上器上 的數(shù)據(jù)庫。的數(shù)據(jù)庫。 遠程數(shù)據(jù)庫遠程數(shù)據(jù)庫:非實時方式:用:非實時方式:用 戶用戶用通信線路訪問服務(wù)器上通信線路訪問服務(wù)器上 的數(shù)據(jù)庫。的數(shù)據(jù)庫。 4. 4. 數(shù)據(jù)庫系統(tǒng)的使用數(shù)據(jù)庫系統(tǒng)的使用 應(yīng)用應(yīng)用 程序程序1 應(yīng)用應(yīng)用 程序程序n 數(shù)據(jù)庫數(shù)據(jù)庫 DBMSDBMS DBMSDBMS 計算機計算機 數(shù)據(jù)庫數(shù)據(jù)庫 計算機計算機計算機計算機 實時方式 本講首頁本講首頁 分布式數(shù)據(jù)庫系統(tǒng)階段分布式數(shù)據(jù)庫系統(tǒng)階段:8080年代中期開始年代中期開始 數(shù)據(jù)庫技術(shù),以及網(wǎng)絡(luò)和通信技術(shù)的發(fā)展,使異機、數(shù)據(jù)庫技術(shù),以及網(wǎng)絡(luò)和通信技術(shù)的發(fā)展,使異機、 異地間的數(shù)據(jù)共享成為現(xiàn)實。異地間的數(shù)
24、據(jù)共享成為現(xiàn)實。 分布式數(shù)據(jù)庫分布式數(shù)據(jù)庫:數(shù)據(jù)庫和網(wǎng)絡(luò)、通信系統(tǒng)的結(jié)合體。:數(shù)據(jù)庫和網(wǎng)絡(luò)、通信系統(tǒng)的結(jié)合體。 處理的處理的數(shù)據(jù)分散在各結(jié)點上數(shù)據(jù)分散在各結(jié)點上,每個結(jié)點的數(shù)據(jù)由本地,每個結(jié)點的數(shù)據(jù)由本地 DBMSDBMS管理,各結(jié)點間通過網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)共享;管理,各結(jié)點間通過網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)共享; 分布式數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫系統(tǒng) DDBMS 計算機DBMS1DBMS1 DB1 計算機DBMSnDBMSn DBn 2.3 2.3 數(shù)據(jù)及數(shù)據(jù)間的聯(lián)系數(shù)據(jù)及數(shù)據(jù)間的聯(lián)系 實體實體:可相互區(qū)別、與某一應(yīng)用有關(guān)的事物。:可相互區(qū)別、與某一應(yīng)用有關(guān)的事物。 如一個學(xué)生、一份合同、一種材料等。如一個學(xué)生、一份
25、合同、一種材料等。 實體集實體集:性質(zhì)相同的同型實體的集合。如一班學(xué)生。:性質(zhì)相同的同型實體的集合。如一班學(xué)生。 屬性屬性:描述實體集某一方面的特性。:描述實體集某一方面的特性。 一個實體集常由多個屬性來描述。一個實體集常由多個屬性來描述。 記錄記錄:表示一個實體的一組屬性:表示一個實體的一組屬性 1. 1. 實體及其描述實體及其描述 學(xué)號姓名 性別 出生年月 入學(xué)總分 班級 21001 張金 男02-03-83 673自控21 21002 王銀 女08-12-83 678自控21 聯(lián)系聯(lián)系:事物的聯(lián)系可分為兩類:事物的聯(lián)系可分為兩類: 一類是實體集內(nèi)部的聯(lián)系,表現(xiàn)在屬性之間。一類是實體集內(nèi)部
26、的聯(lián)系,表現(xiàn)在屬性之間。 另一類是實體集間的聯(lián)系??煞纸鉃槎鄠€實體間的聯(lián)另一類是實體集間的聯(lián)系??煞纸鉃槎鄠€實體間的聯(lián) 系。最基本的是兩個實體間的聯(lián)系。系。最基本的是兩個實體間的聯(lián)系。 兩個實體間兩個實體間聯(lián)系的類型聯(lián)系的類型: 1:11:1 實體集實體集A A中每個實體至多只與實體集中每個實體至多只與實體集B B中一個實體相中一個實體相 聯(lián)系。反之亦然。聯(lián)系。反之亦然。 1:n1:n 實體集實體集A A中每個實體與實體集中每個實體與實體集B B中多個實體相聯(lián)系,中多個實體相聯(lián)系, 而而B B中每個實體至多只與中每個實體至多只與A A中一個實體相聯(lián)系。中一個實體相聯(lián)系。 m:nm:n 實體集實
27、體集A A中每個實體與實體集中每個實體與實體集B B中多個實體相聯(lián)系,中多個實體相聯(lián)系, 反之,反之,B B中每個實體也與中每個實體也與A A中多個實體相聯(lián)系。中多個實體相聯(lián)系。 實體型之間的一對一、一對多、多對多聯(lián)系也存在于實體型之間的一對一、一對多、多對多聯(lián)系也存在于 兩個以上實體型之間。兩個以上實體型之間。 2. 2. 數(shù)據(jù)間的聯(lián)系數(shù)據(jù)間的聯(lián)系 實體實體- -聯(lián)系數(shù)據(jù)模型,用聯(lián)系數(shù)據(jù)模型,用E-RE-R圖圖表示表示。 實體實體(型型):矩形框,框內(nèi)為實體名稱。矩形框,框內(nèi)為實體名稱。 屬性屬性:矩形框,以線與實體連接。屬性較多時也可以將矩形框,以線與實體連接。屬性較多時也可以將 實體及其
28、屬性單獨列表。實體及其屬性單獨列表。 實體間的聯(lián)系:實體間的聯(lián)系:菱形框,框內(nèi)為聯(lián)系的名稱。用線將菱菱形框,框內(nèi)為聯(lián)系的名稱。用線將菱 形框與實體相連,線上標注聯(lián)系類型。形框與實體相連,線上標注聯(lián)系類型。 3. E-R 3. E-R數(shù)據(jù)模型數(shù)據(jù)模型 m 1 n 課程課程 講授講授 參考書參考書教師教師 n 1 學(xué)生 組成組成 班級 m n 學(xué)生 選修選修 課程 成績 1 1 班級 管理管理 班主任 例:用例:用E-RE-R圖圖表示實體及其聯(lián)系表示實體及其聯(lián)系。 學(xué)生學(xué)生:學(xué)號、姓名、性別、入學(xué)分學(xué)號、姓名、性別、入學(xué)分 班級班級:班級號、所屬院班級號、所屬院 課程課程:課程號、課程名、學(xué)分課程
29、號、課程名、學(xué)分 教師教師:教工號、姓名、職稱教工號、姓名、職稱 參考書參考書:書:書號、書名、內(nèi)容提要、價格號、書名、內(nèi)容提要、價格 學(xué)生學(xué)生 學(xué)號姓名性別入學(xué)分 班級班級 所屬院班級號 教師教師 職稱教工號姓名 課程課程 學(xué)分課程號課程名 參考書參考書 內(nèi)容提要書號書名價格 m 1 n 課程 講授講授 參考書教師 選修選修 n 1 學(xué)生 班級 組成組成 成績 m n 本講首頁本講首頁 學(xué)號 姓名 性別 入學(xué)分 所屬院班級號 教師教師 職稱教工號 姓名 學(xué)分課程號 課程名 書號 書名價格 m 1 n 課程 講授講授 n 1 班級 組成組成 成績 mn 學(xué)生 參考書 內(nèi)容提要 選修選修 2.4
30、 2.4 數(shù)據(jù)模型數(shù)據(jù)模型 表示數(shù)據(jù)表示數(shù)據(jù):什么實體:什么實體 ( (命名命名) )、哪些屬性、哪些屬性( (屬屬 性名性名) ) 、屬性排列、屬性排列 指出數(shù)據(jù)間聯(lián)系指出數(shù)據(jù)間聯(lián)系: 主要是實體間的聯(lián)系主要是實體間的聯(lián)系 1. 1. 數(shù)據(jù)模型的任務(wù)數(shù)據(jù)模型的任務(wù) 21001 張金 男02-03-83 673自控21 學(xué)號姓名 性別 出生年月 入學(xué)總分 班級 21002 王銀 女08-12-83 678自控21 AB C D AC BC CD 四個實體集 及其聯(lián)系構(gòu) 成數(shù)據(jù)模型。 三種數(shù)據(jù)模型:層次模型、網(wǎng)狀模型、關(guān)系模型三種數(shù)據(jù)模型:層次模型、網(wǎng)狀模型、關(guān)系模型 數(shù)據(jù)化 結(jié)點結(jié)點( (記錄
31、記錄) )是實體,樹枝是聯(lián)系。結(jié)點間是一對多聯(lián)系。是實體,樹枝是聯(lián)系。結(jié)點間是一對多聯(lián)系。 特點特點: 有且僅有且僅有一個根結(jié)點,其記錄值與下屬結(jié)點有一個根結(jié)點,其記錄值與下屬結(jié)點1:n1:n聯(lián)系。聯(lián)系。 其它結(jié)點與一個父結(jié)點、多個子結(jié)點相聯(lián)系。其它結(jié)點與一個父結(jié)點、多個子結(jié)點相聯(lián)系。 查詢、訪問從根結(jié)點開始,按父子關(guān)系依次訪問。查詢、訪問從根結(jié)點開始,按父子關(guān)系依次訪問。 2. 2. 層次數(shù)據(jù)模型(樹形)層次數(shù)據(jù)模型(樹形) 電話電話地址地址校長校長校名校名 室號室號處長處長處名處名 系主任系主任系名系名系號系號 院主任院主任院名院名院號院號 室號室號科長科長科名科名 職務(wù)職務(wù)姓名姓名工號工
32、號室主任室主任室名室名室號室號 職稱職稱姓名姓名工號工號 班主任班主任班長班長編號編號 入學(xué)分入學(xué)分姓名姓名學(xué)號學(xué)號 學(xué)校行政 機構(gòu)的層 次模型 任何兩個實體間可有任意的基本聯(lián)系。特別是任何兩個實體間可有任意的基本聯(lián)系。特別是 ,任何實體向上可與幾個實體相聯(lián)系;,任何實體向上可與幾個實體相聯(lián)系; 一般地,每一聯(lián)系都是一對多的聯(lián)系。若為多一般地,每一聯(lián)系都是一對多的聯(lián)系。若為多 對多的聯(lián)系,常要演變成一對多的聯(lián)系。對多的聯(lián)系,常要演變成一對多的聯(lián)系。 3. 3. 網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型 特點特點: 可有可有0 0個或多個結(jié)點無雙親個或多個結(jié)點無雙親 允許結(jié)點有多個雙親允許結(jié)點有多個雙親 允許結(jié)
33、點間有允許結(jié)點間有2 2種以上的聯(lián)系種以上的聯(lián)系 存取、訪問須從指定點出發(fā),存取、訪問須從指定點出發(fā), 按指定路徑進行。按指定路徑進行。 學(xué)分學(xué)分時數(shù)時數(shù)課名課名課號課號 職稱職稱性別性別姓名姓名工號工號 班級班級性別性別姓名姓名學(xué)號學(xué)號 分數(shù)分數(shù)課名課名學(xué)號學(xué)號 關(guān)系模型:關(guān)系模型:以數(shù)學(xué)理論為基礎(chǔ)構(gòu)造的數(shù)據(jù)模型以數(shù)學(xué)理論為基礎(chǔ)構(gòu)造的數(shù)據(jù)模型 ,將每個實體集看成二維表(關(guān)系)。,將每個實體集看成二維表(關(guān)系)。 一個一個關(guān)系關(guān)系定義一個實體集,定義一個實體集,聯(lián)系聯(lián)系也用關(guān)系表示也用關(guān)系表示 。不同關(guān)系間聯(lián)系還可通過共同屬性表現(xiàn)。不同關(guān)系間聯(lián)系還可通過共同屬性表現(xiàn)。 4. 4. 關(guān)系數(shù)據(jù)模型
34、關(guān)系數(shù)據(jù)模型 本講首頁本講首頁 典型典型RDBMSRDBMS( (關(guān)系數(shù)據(jù)庫管理系統(tǒng)關(guān)系數(shù)據(jù)庫管理系統(tǒng)) ) : VFPVFP、OracleOracle、SybaseSybase、DB/2DB/2、 InformixInformix、A ccessA ccess等。等。 廠號廠號 廠名廠名 狀態(tài)狀態(tài) 廠址廠址 S1S1YLYL2020咸陽咸陽 S2S2XQXQ1010西安西安 S3S3XTXT3030西安西安 零件號零件號零件名零件名 顏色顏色 重量重量 存放存放 點點 P1P1螺帽螺帽紅紅1212咸陽咸陽 P2P2螺栓螺栓綠綠1717西安西安 P3P3螺釘螺釘黑黑1010寶雞寶雞 P4P4螺
35、釘螺釘藍藍1414咸陽咸陽 廠號廠號 零件號零件號 存量存量 S1S1P1P1300300 S1S1P2P2200200 S1S1P3P3400400 S2S2P1P1300300 S2S2P2P2400400 S3S3P2P2200200 關(guān)系關(guān)系S S 關(guān)系關(guān)系P P 關(guān)系關(guān)系SPSP 31 關(guān)系關(guān)系 關(guān)系運算關(guān)系運算 SQLSQL語言語言 函數(shù)依賴函數(shù)依賴 關(guān)系規(guī)范化方法關(guān)系規(guī)范化方法 2 數(shù)據(jù)庫基本概念數(shù)據(jù)庫基本概念 2.1 2.1 關(guān)系的概念關(guān)系的概念 1. 1. 基本術(shù)語基本術(shù)語 編號編號 姓名姓名所屬部門所屬部門 職務(wù)職務(wù)性別性別 工資號工資號 1 1張金張金銷售部銷售部經(jīng)理經(jīng)理
36、 男男 B001 B001 2 2王銀王銀銷售部銷售部副經(jīng)理副經(jīng)理 女女 B007 B007 3 3李玉李玉辦公室辦公室主任主任 女女 A005 A005 4 4劉銅劉銅生產(chǎn)一廠生產(chǎn)一廠 廠長廠長 男男 C001 C001 5 5陳鐵陳鐵生產(chǎn)二廠生產(chǎn)二廠 廠長廠長 男男 D001 D001 關(guān)系關(guān)系:二維表:二維表 行行:元組:元組 列列:屬性:屬性 域域:屬性取值:屬性取值 范圍范圍 關(guān)鍵字關(guān)鍵字: 唯一確定一唯一確定一 個元組個元組 笛卡爾積笛卡爾積: 給定一組域給定一組域 D1,D2,Dn,則,則 D 1 D 2 D n =(d 1 ,d 2 ,d n ) |d i D i , i=1,
37、2,n 稱為稱為D1,D2,Dn的的笛卡爾積笛卡爾積,每個,每個(d(d1 1,d,d2 2, ,d,dn n) )稱為稱為 一個一個n n元組元組,其中每個,其中每個d di i為為D Di i域中一個值域中一個值( (一個分量一個分量) )。例:域例:域 D1=張金張金,王銀王銀,李玉李玉, D2=20,21,22 則笛卡爾積則笛卡爾積 D1 D2 = (張金張金,20), (張金張金,21), (張金張金,22), (王銀王銀,20), (王銀王銀,21), (王銀王銀,22), (李玉李玉,20), (李玉李玉,21), (李玉李玉,22) 2. 2. 關(guān)系的數(shù)學(xué)定義關(guān)系的數(shù)學(xué)定義 關(guān)
38、系:關(guān)系: D1 D2 Dn的子集叫做在域的子集叫做在域 D1,D2,Dn上的關(guān)系上的關(guān)系 ,用,用 R(D1,D2,Dn) 表示。其中,表示。其中,R為關(guān)系名,為關(guān)系名,n為關(guān)系的度。為關(guān)系的度。 取笛卡爾積的取笛卡爾積的 一個有意義的一個有意義的 子集作為關(guān)系:子集作為關(guān)系: R R(D1,D2) 關(guān)鍵字(碼):關(guān)鍵字(碼): 若關(guān)系中某一屬性組的值能惟一地標識若關(guān)系中某一屬性組的值能惟一地標識 一個元組,而其真子集不行,則稱其為一個元組,而其真子集不行,則稱其為 候選關(guān)鍵字候選關(guān)鍵字。 候選關(guān)鍵字中各屬性稱為候選關(guān)鍵字中各屬性稱為主屬性主屬性。 若一個關(guān)系有多個候選關(guān)鍵字,則選定若一個關(guān)
39、系有多個候選關(guān)鍵字,則選定 其中一個為其中一個為主關(guān)鍵字主關(guān)鍵字。 簡單:簡單:候選關(guān)鍵字只含一個屬性候選關(guān)鍵字只含一個屬性 極端極端:候選關(guān)鍵字包含所有屬性組:候選關(guān)鍵字包含所有屬性組 任何一個關(guān)系都具備以下特性:任何一個關(guān)系都具備以下特性: 關(guān)系的每一個分量都必須是不可分的數(shù)據(jù)項;關(guān)系的每一個分量都必須是不可分的數(shù)據(jù)項; 每列都是同類型的數(shù)據(jù),來自同一個域;每列都是同類型的數(shù)據(jù),來自同一個域; 不同的列給予不同的屬性名;不同的列給予不同的屬性名; 任意兩個元組不能完全相同。任意兩個元組不能完全相同。 行、列的次序可以任意交換。行、列的次序可以任意交換。 編號編號 工程名稱工程名稱 費用(萬
40、元)費用(萬元) 人工費人工費 設(shè)備費設(shè)備費 A01 商貿(mào)大樓商貿(mào)大樓 335.6735 B10 住宅住宅10366.7123 關(guān)系模型要求關(guān)系必須是規(guī)范關(guān)系模型要求關(guān)系必須是規(guī)范 化的,即要求關(guān)系模式必須化的,即要求關(guān)系模式必須 滿足一定的規(guī)范條件。規(guī)范滿足一定的規(guī)范條件。規(guī)范 條件中最基本的是:條件中最基本的是: 關(guān)系的每一個分量都是不可關(guān)系的每一個分量都是不可 分的數(shù)據(jù)項;分的數(shù)據(jù)項; 非規(guī)范非規(guī)范 關(guān)系關(guān)系 3. 3. 關(guān)系的性質(zhì)關(guān)系的性質(zhì) 關(guān)系代數(shù):關(guān)系代數(shù):抽象查詢語言,抽象查詢語言, 關(guān)系數(shù)據(jù)操縱的傳統(tǒng)表達關(guān)系數(shù)據(jù)操縱的傳統(tǒng)表達 方式,用對關(guān)系的運算表方式,用對關(guān)系的運算表 達查
41、詢達查詢 運算對象:運算對象:關(guān)系關(guān)系 運算結(jié)果:運算結(jié)果:關(guān)系關(guān)系 運算符:運算符: 集合運算符、集合運算符、 專門的專門的關(guān)系運算符、關(guān)系運算符、 算術(shù)比較符、算術(shù)比較符、 邏輯運算符邏輯運算符 二元二元 二元二元 按列按列 輔助專門的關(guān)系運算輔助專門的關(guān)系運算 按行按行 按行運算按行運算 說明說明 不等于不等于 小于等于小于等于 大于等于大于等于 等于等于 小于小于 或或 與與 除除 連接連接 投影投影 廣義笛卡爾積廣義笛卡爾積 交交 差差 大于大于 比較運比較運 算符算符 集合運集合運 算符算符 并并 非非 邏輯運邏輯運 算符算符 選擇選擇 專門的專門的 關(guān)系運關(guān)系運 算符算符 含義含
42、義運算符運算符 1. 1. 關(guān)系代數(shù)關(guān)系代數(shù) 2.2 2.2 關(guān)系運算關(guān)系運算 傳統(tǒng)的集合運算:傳統(tǒng)的集合運算: 其運算是按元組進行的。其運算是按元組進行的。 設(shè)設(shè)R1和和R2為兩個度為為兩個度為n的關(guān)系且相對應(yīng)的屬性值取自同一的關(guān)系且相對應(yīng)的屬性值取自同一 個域,則可定義三種傳統(tǒng)的集合運算:個域,則可定義三種傳統(tǒng)的集合運算: 并運算:并運算:R1R , 結(jié)果:度為結(jié)果:度為n,元組屬于,元組屬于R1或或R2 差運算:差運算:R1-R , 結(jié)果:度為結(jié)果:度為n,元組屬于,元組屬于R1 交運算:交運算:R1R , 結(jié)果:度為結(jié)果:度為n, 其中元組既屬于其中元組既屬于R1又屬于又屬于R2 專門
43、的關(guān)系運算:專門的關(guān)系運算: 選擇運算:選擇運算:按條件從給定關(guān)系中取若干元組組按條件從給定關(guān)系中取若干元組組 成新關(guān)系,新關(guān)系是原關(guān)系子集:成新關(guān)系,新關(guān)系是原關(guān)系子集:F F(R)(R) 例:例:取取S(S(供應(yīng)廠供應(yīng)廠) )表中指定廠址的供應(yīng)廠信息表中指定廠址的供應(yīng)廠信息: 廠址 廠址“咸陽咸陽”( (S) ) 投影運算:投影運算:從給定關(guān)系中選擇一些屬性組成新從給定關(guān)系中選擇一些屬性組成新 關(guān)系,新關(guān)系是原關(guān)系子集關(guān)系,新關(guān)系是原關(guān)系子集:T (R) 例:例:P表在零件名和重量兩個屬性上投影表在零件名和重量兩個屬性上投影: 零件名,重量 零件名,重量(P) 連接運算:連接運算:從兩個關(guān)
44、系的廣義笛卡爾積中取滿從兩個關(guān)系的廣義笛卡爾積中取滿 足條件的元組形成新關(guān)系足條件的元組形成新關(guān)系: 等連接:等連接:取兩關(guān)系笛卡爾積中取兩關(guān)系笛卡爾積中A、B屬性值相等屬性值相等 的元組。的元組。 自然連接:自然連接:A、B為相同屬性組的等連接。為相同屬性組的等連接。 R S A B R S R S A=B A,BA,B分別分別 為兩關(guān)系為兩關(guān)系 中屬性組,中屬性組, 為比較為比較 運算符運算符 除法運算:除法運算:R/S T 運算的條件:運算的條件: S S的屬性全包含的屬性全包含R R中;中; R R一些屬性不含在一些屬性不含在S S中。中。 T中屬性由中屬性由R中除去中除去S中屬性之外
45、的全中屬性之外的全 部屬性組成,部屬性組成,T中元組由中元組由R中與中與S在在 所有相同屬性上等值的元組組成。所有相同屬性上等值的元組組成。 關(guān)系演算關(guān)系演算:以數(shù)理邏輯中的謂詞演算為基礎(chǔ),按謂詞變以數(shù)理邏輯中的謂詞演算為基礎(chǔ),按謂詞變 元不同分為元組關(guān)系演算和域關(guān)系演算。元不同分為元組關(guān)系演算和域關(guān)系演算。 元組關(guān)系演算:元組關(guān)系演算:以元組變量作為謂詞變元基本對象。如以元組變量作為謂詞變元基本對象。如 ALPHA語言語句:語言語句: 操作語句操作語句 工作空間名工作空間名( (表達式表表達式表):):公式公式 例:查找零件表中重量大于例:查找零件表中重量大于15的零件名和顏色:的零件名和顏
46、色: GET W(S.零件名零件名,S.顏色顏色):S.重量重量15 域關(guān)系演算:域關(guān)系演算:以域變量(元組變量的分量)作為謂詞變以域變量(元組變量的分量)作為謂詞變 元基本對象。元基本對象。 2. 2. 關(guān)系演算關(guān)系演算 Page 41 2.4 SQL語言語言 SQL(Structured Query Language, l 結(jié)構(gòu)化查詢語言)結(jié)構(gòu)化查詢語言) ISO命名為國際標準數(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ù)庫生
47、命周期中的全部活動數(shù)據(jù)庫生命周期中的全部活動 用戶可用戶可直接鍵入直接鍵入SQL命令來操縱數(shù)據(jù)庫,命令來操縱數(shù)據(jù)庫, 也可將其也可將其嵌入嵌入高級語言(高級語言(C、Pascal、Java等)等) 程序中使用程序中使用 目前流行的各種目前流行的各種RDBMS一般都支持一般都支持SQL或提供或提供 SQL接口。其影響已超出數(shù)據(jù)庫領(lǐng)域,擴展到了接口。其影響已超出數(shù)據(jù)庫領(lǐng)域,擴展到了 其他領(lǐng)域其他領(lǐng)域 SQL對關(guān)系數(shù)據(jù)庫的支持對關(guān)系數(shù)據(jù)庫的支持 SQL 視圖視圖1視圖視圖2 基表基表1基表基表2基表基表3基表基表4 存儲文件存儲文件1存儲文件存儲文件2 外模式外模式 模模 式式 內(nèi)模式內(nèi)模式 從從D
48、BMS的角度看,數(shù)據(jù)庫系統(tǒng)有一個嚴謹?shù)捏w系的角度看,數(shù)據(jù)庫系統(tǒng)有一個嚴謹?shù)捏w系 結(jié)構(gòu),從而保證其功能得以實現(xiàn)結(jié)構(gòu),從而保證其功能得以實現(xiàn) SQL語言支持三級模式結(jié)構(gòu)語言支持三級模式結(jié)構(gòu) 說明:說明: 由由基表基表構(gòu)成關(guān)系數(shù)據(jù)庫的構(gòu)成關(guān)系數(shù)據(jù)庫的“模式模式” 基表是實際的表,一個基對應(yīng)一個關(guān)系;基表是實際的表,一個基對應(yīng)一個關(guān)系; 一個或多個表對應(yīng)一個存儲文件;一個或多個表對應(yīng)一個存儲文件; 存儲文件的邏輯結(jié)構(gòu)組成關(guān)系數(shù)據(jù)庫內(nèi)模式;存儲文件的邏輯結(jié)構(gòu)組成關(guān)系數(shù)據(jù)庫內(nèi)模式; 視圖是從一個或多個表中導(dǎo)出的表,為虛表,視圖是從一個或多個表中導(dǎo)出的表,為虛表, 數(shù)據(jù)庫只存放其定義而數(shù)據(jù)仍在原表中數(shù)據(jù)庫只
49、存放其定義而數(shù)據(jù)仍在原表中 視圖和基表都是關(guān)系視圖和基表都是關(guān)系 用戶使用用戶使用SQL語言對基表和視圖進行查詢、語言對基表和視圖進行查詢、 更新等各種操作更新等各種操作 Page 44 7.2.2 關(guān)系模型設(shè)計舉例 SCGSCG關(guān)系關(guān)系 例例7-4 關(guān)系規(guī)范化關(guān)系規(guī)范化 Page 45 IDStu Inst Addr 分析:某些屬性可以惟一確定 其他屬性的值 關(guān)鍵字關(guān)鍵字 IDStu IDCour Inst Addr NameCour NameStu Grade Page 46 數(shù)據(jù)冗余度大:數(shù)據(jù)冗余度大:多個屬性值有重復(fù),修改時不易維護數(shù)多個屬性值有重復(fù),修改時不易維護數(shù) 據(jù)的一致性。據(jù)的
50、一致性。 刪除異常刪除異常:若一門課只有一個學(xué)生選,后又不選了,則若一門課只有一個學(xué)生選,后又不選了,則 應(yīng)刪去。整個元組,包括該門課惟有的一些信息也跟應(yīng)刪去。整個元組,包括該門課惟有的一些信息也跟 著刪除了著刪除了 插入異常:插入異常:插入一個元組時,必須給定關(guān)鍵字,即具備插入一個元組時,必須給定關(guān)鍵字,即具備 IDStu和和IDCour兩個屬性的內(nèi)容。則對于剛?cè)雽W(xué)還未兩個屬性的內(nèi)容。則對于剛?cè)雽W(xué)還未 選課的學(xué)生的固有信息無法插入選課的學(xué)生的固有信息無法插入 關(guān)系SCG存在 的問題: 原因:原因:SCG關(guān)系中,僅屬性關(guān)系中,僅屬性Grade是由整個關(guān)鍵字確定是由整個關(guān)鍵字確定 的,其它屬性對
51、都是由關(guān)鍵字中的部分屬性確定的的,其它屬性對都是由關(guān)鍵字中的部分屬性確定的 Page 47 解決:SCG投影分解為三個關(guān)系, 使非主碼的屬性都完全(函數(shù)) 依賴于關(guān)鍵字 Page 48 函數(shù)依賴情況: Page 49 分析:S關(guān)系仍有數(shù)據(jù)冗余、 插入異常和刪除異常問 題 解決:S再投影分解為兩個關(guān)系 使非主碼的屬性都直 接依賴于關(guān)鍵字 Page 50 2. 數(shù)據(jù)庫設(shè)計_定義基本表 可視化操作可視化操作 Page 51 SQL語言的數(shù)據(jù)定義 例例7-5 :創(chuàng)建:創(chuàng)建SC表,表, 包括學(xué)號、課程號和成績?nèi)齻€屬性,包括學(xué)號、課程號和成績?nèi)齻€屬性, 屬性組(學(xué)號,課程號)為主鍵屬性組(學(xué)號,課程號)為
52、主鍵 CREATE TABLE SC ( 學(xué)號學(xué)號 CHAR(8) NOT NULL, 課程號課程號 CHAR(6) NOT NULL, 成績成績 SMALLINT, PRIMARY KEY(學(xué)號學(xué)號,課程號課程號) ); Page 52 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計_定義基本表定義基本表_2_2 S表的結(jié)構(gòu)表的結(jié)構(gòu) I表的結(jié)構(gòu)表的結(jié)構(gòu) C表的結(jié)構(gòu)表的結(jié)構(gòu) Page 53 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計_定義基本表定義基本表_3_3 創(chuàng)建表與表之間的聯(lián)系創(chuàng)建表與表之間的聯(lián)系 Page 54 3. 3. 數(shù)據(jù)查詢數(shù)據(jù)查詢 例例7-6 :選擇表中若干列:選擇表中若干列 查詢?nèi)w學(xué)生的詳細記錄查詢?nèi)w學(xué)生的詳細記錄
53、SELECT * l FROM S; 查詢?nèi)w學(xué)生的學(xué)號與姓名查詢?nèi)w學(xué)生的學(xué)號與姓名 l SELECT IDStu, NameStu l FROM S; 查詢?nèi)w學(xué)生的姓名及其出生年份查詢?nèi)w學(xué)生的姓名及其出生年份 l SELECT 姓名姓名, Year(出生年份出生年份) l FROM S; Page 55 SQL查詢語句例查詢語句例_2 例例7-8 :選擇表中若干元組:選擇表中若干元組 查詢信息查詢信息51班學(xué)生的情況班學(xué)生的情況 l SELECT * l FROM S l WHERE 班級班級=信息信息51; 查詢信息查詢信息51班選修了課程的女生的學(xué)號班選修了課程的女生的學(xué)號 l S
54、ELECT DISTINCT 學(xué)號學(xué)號 l FROM SC l WHERE 班級班級=信息信息51 AND 性別性別=女女; 其中,其中,DISTINCT限定學(xué)號相同的記錄只顯示限定學(xué)號相同的記錄只顯示 一個,一個,AND是邏輯與運算符是邏輯與運算符 Page 56 SQL查詢語句例查詢語句例_3 查詢年齡在查詢年齡在2023歲之間的學(xué)生的姓名、歲之間的學(xué)生的姓名、 班級和年齡班級和年齡 l SELECT 姓名姓名, 班級班級, 年齡年齡 l FROM S l WHERE 年齡年齡 BETWEEN 20 AND 23; 查詢選修查詢選修050012號課程的學(xué)生的學(xué)號和成績,號課程的學(xué)生的學(xué)號和
55、成績, 查詢結(jié)果按成績降序排列查詢結(jié)果按成績降序排列 l SELECT 學(xué)號學(xué)號, 成績成績 l FROM SC l WHERE 課程號課程號=050012 l ORDER BY 成績成績 DESC; 2.4 2.4 函數(shù)依賴函數(shù)依賴 1. 1. 數(shù)據(jù)依賴對關(guān)系模式的影響數(shù)據(jù)依賴對關(guān)系模式的影響 數(shù)據(jù)依賴數(shù)據(jù)依賴:通過一個關(guān)系的屬性之間值的相等與否體現(xiàn):通過一個關(guān)系的屬性之間值的相等與否體現(xiàn) 出來的數(shù)據(jù)之間的相互關(guān)系。有多種類型,最重要的出來的數(shù)據(jù)之間的相互關(guān)系。有多種類型,最重要的 是函數(shù)依賴和多值依賴。是函數(shù)依賴和多值依賴。 函數(shù)依賴函數(shù)依賴:一個或一組屬性值可以決定其他屬性值。:一個或一
56、組屬性值可以決定其他屬性值。 設(shè)設(shè)X、Y為關(guān)系模式為關(guān)系模式R(A1, A2, ,An)的兩個屬性組。若的兩個屬性組。若R 中不存在這樣兩個元組:它們在中不存在這樣兩個元組:它們在X上的屬性值相同,而上的屬性值相同,而 在在Y上的屬性值不同,則稱上的屬性值不同,則稱X X函數(shù)決定函數(shù)決定Y Y或或Y Y函數(shù)依賴于函數(shù)依賴于X X ,記為,記為 R:XY。 若若Y不不函數(shù)依賴于函數(shù)依賴于X X,則記作:,則記作:XY。 非平凡函數(shù)依賴非平凡函數(shù)依賴:在在關(guān)系模式關(guān)系模式 R(A1, A2, ,An)中,若中,若 XY,但,但Y X,則稱,則稱XY為為非平凡函數(shù)依賴非平凡函數(shù)依賴。若。若 Y X,
57、則稱,則稱XY為為平凡函數(shù)依賴平凡函數(shù)依賴。 對于任一關(guān)系模式,平凡函數(shù)依賴總是成立的,它不對于任一關(guān)系模式,平凡函數(shù)依賴總是成立的,它不 反映新的語義。因此,只討論非平凡函數(shù)依賴。反映新的語義。因此,只討論非平凡函數(shù)依賴。 完全函數(shù)依賴完全函數(shù)依賴:在在關(guān)系模式關(guān)系模式 R(A1, A2, ,An)中,中, 若若XY,且對,且對X的任一真子集的任一真子集X,都有,都有XY,則稱,則稱 Y完全函數(shù)依賴于完全函數(shù)依賴于X。若。若XY,但,但Y不完全函數(shù)依賴不完全函數(shù)依賴 于于X,則稱,則稱Y部分函數(shù)依賴于部分函數(shù)依賴于X。 傳遞函數(shù)依賴傳遞函數(shù)依賴:在在關(guān)系模式關(guān)系模式R(A1, A2, ,An
58、)中,中, 若若XY,YZ,且,且Y X,Z Y,YX, 則稱則稱Z傳遞函數(shù)依賴于傳遞函數(shù)依賴于X。 關(guān)鍵字關(guān)鍵字:候選關(guān)鍵字能惟一標識關(guān)系的元組。主關(guān)鍵字候選關(guān)鍵字能惟一標識關(guān)系的元組。主關(guān)鍵字 和外關(guān)鍵字提供了表示關(guān)系間聯(lián)系的手段。和外關(guān)鍵字提供了表示關(guān)系間聯(lián)系的手段。 IDStu Inst Addr 關(guān)鍵字關(guān)鍵字 IDStu IDCour Inst Addr NameCour NameStu Grade 2. 2. 函數(shù)依賴的例子函數(shù)依賴的例子 SICSIC關(guān)系關(guān)系 關(guān)系關(guān)系SIC存在的問題:存在的問題: 數(shù)據(jù)冗余度大:數(shù)據(jù)冗余度大:多個屬性值有重復(fù),修改時不易維多個屬性值有重復(fù),修改時
59、不易維 護數(shù)據(jù)的一致性。護數(shù)據(jù)的一致性。 刪除異常刪除異常:若一門課只有一個學(xué)生選,后又不選了若一門課只有一個學(xué)生選,后又不選了 ,則應(yīng)刪去。整個元組,包括該門課惟有的一些,則應(yīng)刪去。整個元組,包括該門課惟有的一些 信息也跟著刪除了。信息也跟著刪除了。 插入異常:插入異常:插入一個元組時,必須給定關(guān)鍵字,即插入一個元組時,必須給定關(guān)鍵字,即 具備具備IDStu和和IDCour兩個屬性的內(nèi)容。則對于剛兩個屬性的內(nèi)容。則對于剛 入學(xué)還未選課的學(xué)生的固有信息無法插入。入學(xué)還未選課的學(xué)生的固有信息無法插入。 在該關(guān)系中,只有屬性在該關(guān)系中,只有屬性Grade對主關(guān)鍵字是完全函數(shù)對主關(guān)鍵字是完全函數(shù) 依
60、賴,其它屬性對主關(guān)鍵字只是部分函數(shù)依賴。依賴,其它屬性對主關(guān)鍵字只是部分函數(shù)依賴。 這就是產(chǎn)生問題的原因。這就是產(chǎn)生問題的原因。 本講首頁本講首頁 3. 3. 函數(shù)依賴對關(guān)系的影響函數(shù)依賴對關(guān)系的影響 2.5 2.5 關(guān)系規(guī)范化關(guān)系規(guī)范化 1. 1. 范式范式 范式范式:符合某種級別的關(guān):符合某種級別的關(guān) 系模式的集合。系模式的集合。 關(guān)系數(shù)據(jù)庫中的關(guān)系須滿關(guān)系數(shù)據(jù)庫中的關(guān)系須滿 足一定要求,滿足不同足一定要求,滿足不同 程度要求的為不同范式程度要求的為不同范式 。滿足最低要求的為第。滿足最低要求的為第 一范式一范式(1NF)(1NF),其上為第,其上為第 二范式二范式(2NF)(2NF),。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度水上娛樂項目合作合同范本3篇
- 2024版物業(yè)公司委托開發(fā)商環(huán)境污染治理合同
- 盤錦職業(yè)技術(shù)學(xué)院《微積分BⅡ》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度物聯(lián)網(wǎng)股份分紅與智慧城市合同3篇
- 湖北工程學(xué)院《應(yīng)用數(shù)學(xué)綜合實踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024項目股權(quán)融資及新能源儲能技術(shù)合作協(xié)議書3篇
- 2024版成都二手房買賣合同交易尾款支付條款協(xié)議3篇
- 二零二五年度原油期貨交易合同條款研究及市場前景3篇
- 《班組管理交流材料》課件
- 內(nèi)蒙古鴻德文理學(xué)院《高等數(shù)學(xué)精講》2023-2024學(xué)年第一學(xué)期期末試卷
- 2023年全國統(tǒng)一建筑工程預(yù)算工程量計算規(guī)則完整版
- 大學(xué)《工程力學(xué)》期末考試試題庫含詳細答案
- cn.7a一種醬香型大曲酒固態(tài)發(fā)酵的生態(tài)控制方法
- TLFSA 003-2020 危害分析與關(guān)鍵控制點(HACCP)體系調(diào)味面制品生產(chǎn)企業(yè)要求
- LY/T 2244.3-2014自然保護區(qū)保護成效評估技術(shù)導(dǎo)則第3部分:景觀保護
- GB/T 8491-2009高硅耐蝕鑄鐵件
- 供水安全與搶修
- DB31 595-2021 冷庫單位產(chǎn)品能源消耗指標
- 第三章果蔬采后生理課件
- 【英語手寫體】26英文字母手寫體描紅書寫字帖
- 實習(xí)護生壓瘡相關(guān)知識掌握情況及預(yù)防態(tài)度的調(diào)查問卷
評論
0/150
提交評論