數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用-基于達夢8 課件全套 第1-15章 數(shù)據(jù)庫系統(tǒng)概述 -DM JDBC 編程與應(yīng)用_第1頁
數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用-基于達夢8 課件全套 第1-15章 數(shù)據(jù)庫系統(tǒng)概述 -DM JDBC 編程與應(yīng)用_第2頁
數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用-基于達夢8 課件全套 第1-15章 數(shù)據(jù)庫系統(tǒng)概述 -DM JDBC 編程與應(yīng)用_第3頁
數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用-基于達夢8 課件全套 第1-15章 數(shù)據(jù)庫系統(tǒng)概述 -DM JDBC 編程與應(yīng)用_第4頁
數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用-基于達夢8 課件全套 第1-15章 數(shù)據(jù)庫系統(tǒng)概述 -DM JDBC 編程與應(yīng)用_第5頁
已閱讀5頁,還剩1083頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

主講教師:時間:2

0

2

x.xx.xx第1章數(shù)據(jù)庫系統(tǒng)概述0

1數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)0

2數(shù)據(jù)管理技術(shù)的發(fā)展歷程目錄CONTNETS0

50

6知識點小結(jié)0

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

3數(shù)據(jù)模型常見數(shù)據(jù)庫管理系統(tǒng)0

03

從1946年至今,電子計算機經(jīng)歷了60多年的飛速發(fā)展,其應(yīng)用也從最初的科學(xué)計算滲透到了社會的方方面面。

隨著信息時代的到來,各種信息展現(xiàn)出了前所未有的社會價值,信息處理也就成為計算機應(yīng)用最多、最廣的一個領(lǐng)域。

與信息、信息處理密不可分的就是數(shù)據(jù)與數(shù)據(jù)的管理工作了。

本章將介紹數(shù)據(jù)庫系統(tǒng)及數(shù)據(jù)庫管理系統(tǒng)的知識。0

1數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)0

2數(shù)據(jù)管理技術(shù)的發(fā)展歷程目錄CONTNETS0

50

6知識點小結(jié)0

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

3數(shù)據(jù)模型常見數(shù)據(jù)庫管理系統(tǒng)0

15數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)從每天必需的食堂消費,到手機中的電話簿,甚至是圖書館中的圖書借閱、學(xué)校的教學(xué)管理、電子商務(wù)平臺的商品以及銷售數(shù)據(jù)等,人們在日常生活和工作中隨時隨地接觸到大量數(shù)據(jù)。從大量的數(shù)據(jù)中提取出來的有用信息可以被視為人類社會中一種極其重要的資源。在當(dāng)前的大數(shù)據(jù)時代,數(shù)據(jù)之所以有價值,是因為有用的數(shù)據(jù)能夠表現(xiàn)信息,是載荷信息的物理符號。換言之,信息是對現(xiàn)實世界的描述,它反映了客觀事物的物理狀態(tài)。例如,某高校的每年本科生招生人數(shù)是

5000人,這個5000是一個數(shù)據(jù),而它又表示了這所高校的本科生招生規(guī)模這一信息。0

1PART

ONE數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)

數(shù)據(jù)庫基本概念

數(shù)據(jù)庫管理系統(tǒng)

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

1數(shù)據(jù)庫基本概念7

從每天必需的食堂消費,到手機中的電話簿,甚至是圖書館中的圖書借閱、學(xué)校的教學(xué)管理、電子商務(wù)平臺的商品以及銷售數(shù)據(jù)等,人們在日常生活和工作中隨時隨地接觸到大量數(shù)據(jù)。從大量的數(shù)據(jù)中提取出來的有用信息可以被視為人類社會中一種極其重要的資源。在當(dāng)前的大數(shù)據(jù)時代,數(shù)據(jù)之所以有價值,是因為有用的數(shù)據(jù)能夠表現(xiàn)信息,是載荷信息的物理符號。換言之,信息是對現(xiàn)實世界的描述,它反映了客觀事物的物理狀態(tài)。例如,某高校的每年本科生招生人數(shù)是

5

0

0

0人,這個5

0

0

0是一個數(shù)據(jù),而它又表示了這所高校的本科生招生規(guī)模這一信息。數(shù)據(jù)庫基本概念有:數(shù)據(jù)信息數(shù)據(jù)處理數(shù)據(jù)庫0

1數(shù)據(jù)8

引入數(shù)據(jù)庫技術(shù)的目的就是為了高效地管理及共享大量的信息,而信息與數(shù)據(jù)是分不開的。

數(shù)據(jù):

定義:描述事物的符號記錄,也是數(shù)據(jù)庫中存儲、用戶操縱的基本對象。

類型:數(shù)據(jù)不僅是數(shù)值,而且可以是文字、圖形、動畫、聲音、視頻等。

數(shù)據(jù)是信息的符號表示。0

1數(shù)據(jù)(續(xù))9

數(shù)據(jù)的特性:

數(shù)據(jù)是有“型”和“值”之分。數(shù)據(jù)的型是指數(shù)據(jù)的結(jié)構(gòu),數(shù)據(jù)的值是指數(shù)據(jù)的具體取值。

數(shù)據(jù)有定性表示和定量表示之分。

數(shù)據(jù)受數(shù)據(jù)類型和取值范圍的約束。數(shù)據(jù)類型是針對不同的應(yīng)用場合設(shè)計的數(shù)據(jù)約束。數(shù)據(jù)類型不同,則數(shù)據(jù)的表示形式、存儲方式以及能進行的操作運算也是各不相同。

數(shù)據(jù)具有載體和多種表現(xiàn)形式。0

1信息10

定義:信息是有一定含義的,經(jīng)過加工處理的,對決策有價值的數(shù)據(jù)。

信息是對現(xiàn)實世界中存在的客觀實體、現(xiàn)象、聯(lián)系進行描述的有特定語義的數(shù)據(jù),它是人類共享的一切知識及客觀加工提煉出的各種消息的總和。

信息和數(shù)據(jù)既有聯(lián)系,又有區(qū)別。在數(shù)據(jù)庫領(lǐng)域,通常處理的是像學(xué)

生記錄這樣的數(shù)據(jù),它是有結(jié)構(gòu)的,稱之為結(jié)構(gòu)化數(shù)據(jù)。正因為如此,通常對數(shù)據(jù)和信息不作嚴(yán)格區(qū)分。

信息與數(shù)據(jù)的關(guān)系可以歸納為:數(shù)據(jù)是信息的載體,信息是數(shù)據(jù)的內(nèi)涵。即數(shù)據(jù)是信息的符號表示,而信息通過數(shù)據(jù)描述,又是數(shù)據(jù)語義的解釋。0

1數(shù)據(jù)處理11

定義:又稱為信息處理,是指對各種形式的數(shù)據(jù)進行收集、存儲、傳播和加工直至產(chǎn)生新信息輸出的全過程。

目的:

一是借助計算機科學(xué)地保存和管理大量復(fù)雜的數(shù)據(jù),以方便而充分地利用這些寶貴的信息資源;

二是從大量已知的表示某些信息的原始數(shù)據(jù)出發(fā),抽取、導(dǎo)出對人們有價值的、新的信息。0

1數(shù)據(jù)處理例如,為了統(tǒng)計每個班的男生和女生的人數(shù),首先要獲取所有學(xué)生的基本數(shù)據(jù),如圖1-1左表所示,通過數(shù)據(jù)處理,產(chǎn)生如圖1-1右表所示的匯總信息,從中可以看到,1701和1703兩個班的男生人數(shù)均為兩人,女生人數(shù)均為一人。12

0

1數(shù)據(jù)庫13

起源:起源于20世紀(jì)中葉,當(dāng)時美軍為作戰(zhàn)指揮需要建立起了一個高級軍事情報基地,把收集到的各種情報存儲在計算機中,并稱之為“數(shù)據(jù)庫”。

定義:數(shù)據(jù)庫(DataBase,DB)是按照一定結(jié)構(gòu)組織并長期存儲在計算機內(nèi)的、可共享的大量數(shù)據(jù)的集合。概括起來說,數(shù)據(jù)庫具有永久存儲、有組織和可共享三個基本特點。0

1PART

ONE數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)

數(shù)據(jù)庫基本概念

數(shù)據(jù)庫管理系統(tǒng)

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

1數(shù)據(jù)庫管理系統(tǒng)15

數(shù)據(jù)庫管理系統(tǒng)(DataBase

Management

System,DBMS)是對數(shù)據(jù)庫中的數(shù)據(jù)資源進行統(tǒng)一管理和控制的大型軟件系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的重要組成部分,是數(shù)據(jù)處理的核心機構(gòu)。

數(shù)據(jù)庫管理系統(tǒng)是用戶與數(shù)據(jù)庫之間的接口,用戶通過它來實現(xiàn)對數(shù)據(jù)庫的各種操作

在計算機軟件系統(tǒng)的層次結(jié)構(gòu)中,它位于用戶和操作系統(tǒng)之間,需要

在操作系統(tǒng)的支持下運行。數(shù)據(jù)庫管理系統(tǒng)也屬于計算機的基礎(chǔ)軟件。

從一個數(shù)據(jù)庫管理系統(tǒng)想要更好地發(fā)揮其作用,必須為用戶提供某種工具來完成建立數(shù)據(jù)庫,以及對數(shù)據(jù)進行檢索、修改、刪除和插入等操作。而這個工具就是數(shù)據(jù)庫語言。

數(shù)據(jù)庫語言是用戶與DBMS之間的媒介。通常,數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)庫語言包括數(shù)據(jù)描述語言和數(shù)據(jù)操縱語言兩大類,前者負(fù)責(zé)描述和定義數(shù)據(jù)庫,后者負(fù)責(zé)說明對數(shù)據(jù)要進行的各種操作。0

1數(shù)據(jù)庫管理系統(tǒng)的功能16

(1)數(shù)據(jù)定義功能。

DBMS提供數(shù)據(jù)定義語言(Da

ta

De

finition

La

ng

ua

g

e,簡稱DDL),用戶通過它可以方便地對數(shù)據(jù)庫中的數(shù)據(jù)對象進行定義,比如數(shù)據(jù)庫表結(jié)構(gòu)的定義。

(2)數(shù)據(jù)操縱功能。

DBMS還提供數(shù)據(jù)操縱語言(Da

ta

Ma

nipula

t

ionLa

ng

ua

g

e,簡稱DML),用戶可以使用DML操縱以數(shù)據(jù)以實現(xiàn)對數(shù)據(jù)庫的基本操作,如查詢、插入、刪除和修改等。0

1數(shù)據(jù)庫管理系統(tǒng)的功能(續(xù))17

(3)數(shù)據(jù)庫的運行管理。

數(shù)據(jù)庫在建立、運用和維護時由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理、統(tǒng)一控制,以保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復(fù)。(4)數(shù)據(jù)庫的建立和維護功能。數(shù)據(jù)庫的建立是指對數(shù)據(jù)庫各種數(shù)據(jù)的組織、存儲、輸入、轉(zhuǎn)換等,包括以何種文件結(jié)構(gòu)和存儲方式組織數(shù)據(jù),如何實現(xiàn)數(shù)據(jù)之間的聯(lián)系等。

數(shù)據(jù)庫的維護是指通過對數(shù)據(jù)的并發(fā)控制、完整性控制和安全性保護等策略,以保證數(shù)據(jù)的安全性和完整性,并且在系統(tǒng)發(fā)生故障后能及時回復(fù)到正確的狀態(tài)。0

1PART

ONE數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)

數(shù)據(jù)庫基本概念

數(shù)據(jù)庫管理系統(tǒng)

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

1數(shù)據(jù)庫系統(tǒng)19

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

ta

Ba

s

e

Sys

te

m,DBS):

定義:指計算機引入數(shù)據(jù)庫后的系統(tǒng)

作用:能夠有組織地、動態(tài)地存儲大量的數(shù)據(jù),提供數(shù)據(jù)處理和數(shù)據(jù)共享機制

組成:一般由硬件系統(tǒng)、軟件系統(tǒng)、數(shù)據(jù)庫和人員組成

由于數(shù)據(jù)庫的建立、使用和維護等工作只能靠一個DBMS是不夠的,還需要專門的專業(yè)人員協(xié)助完成

簡化表示:DB

S=計算機系統(tǒng)(硬件、軟件平臺、人)+

DBM

S

+

DB0

1數(shù)據(jù)庫系統(tǒng)-數(shù)據(jù)庫系統(tǒng)的組成

數(shù)據(jù)庫系統(tǒng)包含了數(shù)據(jù)庫、DBMS、軟件平臺與硬件支撐環(huán)境及各類人員;

DBMS在操作系統(tǒng)(Operating

System,OS)的支持下,對數(shù)據(jù)庫進行管理與維護,并提供用戶對數(shù)據(jù)庫的操作接口。

DB、DBMS、DBS之間的關(guān)系如右圖所示。20

0

1數(shù)據(jù)庫系統(tǒng)-數(shù)據(jù)庫在整個計算機系統(tǒng)中的地位21

0

1數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)0

2數(shù)據(jù)管理技術(shù)的發(fā)展歷程目錄CONTNETS0

50

6知識點小結(jié)0

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

3數(shù)據(jù)模型常見數(shù)據(jù)庫管理系統(tǒng)0

2PART

ONE數(shù)據(jù)管理技術(shù)的發(fā)展歷程

人工管理方式階段

文件系統(tǒng)管理方式階段

數(shù)據(jù)庫系統(tǒng)管理方式階段0

2人工管理方式階段24

是計算機數(shù)據(jù)管理的初級階段

時期:20世紀(jì)50年代中之前

產(chǎn)生背景:

應(yīng)用需求:科學(xué)計算

硬件水平:無直接存取存儲設(shè)備

軟件水平:沒有操作系統(tǒng)

處理方式:批處理0

2人工管理方式階段25

特點:

數(shù)據(jù)的管理者:應(yīng)用程序,數(shù)據(jù)不保存

數(shù)據(jù)面向的對象:某一應(yīng)用程序

數(shù)據(jù)的共享程度:無共享、冗余度極大

數(shù)據(jù)的獨立性:不獨立,完全依賴于程序

數(shù)據(jù)的結(jié)構(gòu)化:無結(jié)構(gòu)

數(shù)據(jù)控制能力:應(yīng)用程序自己控制0

2人工管理階段程序與數(shù)據(jù)之間的對應(yīng)關(guān)系26

0

2PART

ONE數(shù)據(jù)管理技術(shù)的發(fā)展歷程

人工管理方式階段

文件系統(tǒng)管理方式階段

數(shù)據(jù)庫系統(tǒng)管理方式階段0

22

8文件系統(tǒng)管理方式階段

時期:20世紀(jì)50年代末--60年代中

產(chǎn)生背景:

應(yīng)用需求:科學(xué)計算、數(shù)據(jù)管理

硬件水平:磁盤、磁鼓

軟件水平:有文件系統(tǒng)

處理方式:聯(lián)機實時處理、批處理0

22

9文件系統(tǒng)管理方式階段

特點:煉數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長期保存煉數(shù)據(jù)面向的對象:某一應(yīng)用程序煉數(shù)據(jù)的共享程度:共享性差、冗余度大煉數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu)煉數(shù)據(jù)的獨立性:獨立性差,數(shù)據(jù)的邏輯結(jié)構(gòu)改變必須修改應(yīng)用程序煉數(shù)據(jù)控制能力:應(yīng)用程序自己控制0

23

0文件系統(tǒng)階段程序與數(shù)據(jù)之間的對應(yīng)關(guān)系0

2PART

ONE數(shù)據(jù)管理技術(shù)的發(fā)展歷程

人工管理方式階段

文件系統(tǒng)管理方式階段

數(shù)據(jù)庫系統(tǒng)管理方式階段0

2數(shù)據(jù)庫系統(tǒng)管理方式階段32

時期:20世紀(jì)60年代末以來

產(chǎn)生背景:

應(yīng)用背景:大規(guī)模管理

硬件背景:大容量磁盤、磁盤陣列

軟件背景:有數(shù)據(jù)庫管理系統(tǒng)

處理方式:聯(lián)機實時處理,分布處理,批處理

文件系統(tǒng)到數(shù)據(jù)庫系統(tǒng),標(biāo)志著數(shù)據(jù)管理技術(shù)的飛躍0

2數(shù)據(jù)庫系統(tǒng)管理方式階段

程序和數(shù)據(jù)之間的關(guān)系:

數(shù)據(jù)庫管理系統(tǒng)(DBMS)操縱數(shù)據(jù)庫中的數(shù)據(jù),對數(shù)據(jù)庫進行統(tǒng)一控制33

0

2數(shù)據(jù)管理3個階段的比較34

0

2數(shù)據(jù)管理3個階段的比較(續(xù))35

0

2數(shù)據(jù)庫系統(tǒng)的特點36

數(shù)據(jù)結(jié)構(gòu)化

數(shù)據(jù)的共享性高,冗余度低且易擴充

數(shù)據(jù)獨立性高

數(shù)據(jù)由DBMS統(tǒng)一管理和控制0

2數(shù)據(jù)結(jié)構(gòu)化37

數(shù)據(jù)的整體結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一

整體結(jié)構(gòu)化

不再僅僅針對某一個應(yīng)用,而是面向全組織

不僅數(shù)據(jù)內(nèi)部結(jié)構(gòu)化,整體是結(jié)構(gòu)化的,數(shù)據(jù)之間具有聯(lián)系

數(shù)據(jù)記錄可以變長

數(shù)據(jù)的最小存取單位是數(shù)據(jù)項

數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)模型描述,無需應(yīng)用程序定義0

2數(shù)據(jù)的共享性高,冗余度低且易擴充38

數(shù)據(jù)庫系統(tǒng)從整體角度看待和描述數(shù)據(jù)

數(shù)據(jù)面向整個系統(tǒng),可以被多個用戶、多個應(yīng)用共享使用。

數(shù)據(jù)共享的好處

減少數(shù)據(jù)冗余,節(jié)約存儲空間

避免數(shù)據(jù)之間的不相容性與不一致性

使系統(tǒng)易于擴充0

2數(shù)據(jù)獨立性高39

物理獨立性

指用戶的應(yīng)用程序與數(shù)據(jù)庫中數(shù)據(jù)的物理存儲是相互獨立的。當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。

邏輯獨立性

指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。數(shù)據(jù)獨立性由數(shù)據(jù)庫管理系統(tǒng)的二級映像功能來保證0

2數(shù)據(jù)由DBMS統(tǒng)一管理和控制40

數(shù)據(jù)由DBMS統(tǒng)一管理和控制,用戶和應(yīng)用程序通過DBMS訪問和使用數(shù)據(jù)庫。數(shù)據(jù)庫的共享是并發(fā)的共享,即多個用戶可以同時存取數(shù)據(jù)庫中的數(shù)據(jù),甚至可以同時存取數(shù)據(jù)庫中的同一個數(shù)據(jù)。0

2數(shù)據(jù)由DBMS統(tǒng)一管理和控制(續(xù))41

DBMS提供的數(shù)據(jù)控制功能(1)數(shù)據(jù)的安全性(Security)保護保護數(shù)據(jù),以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。(2)數(shù)據(jù)的完整性(Integrity)檢查保證數(shù)據(jù)的正確性、有效性和相容性。

(3)并發(fā)(Concurrency)控制對多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯誤的結(jié)果(4)數(shù)據(jù)庫恢復(fù)(Recovery)將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)0

2數(shù)據(jù)由DBMS統(tǒng)一管理和控制(續(xù))數(shù)據(jù)庫管理階段應(yīng)用程序與數(shù)據(jù)之間的對應(yīng)關(guān)系42

0

1數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)0

2數(shù)據(jù)管理技術(shù)的發(fā)展歷程目錄CONTNETS0

50

6知識點小結(jié)0

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

3數(shù)據(jù)模型常見數(shù)據(jù)庫管理系統(tǒng)0

3PART

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

數(shù)據(jù)模型的概念和種類

概念數(shù)據(jù)模型

關(guān)系數(shù)據(jù)模型0

34

5數(shù)據(jù)模型的概念和種類模型是對現(xiàn)實世界特征的模擬和抽象,數(shù)據(jù)模型也是一種模型,用數(shù)據(jù)模型對現(xiàn)實世界數(shù)據(jù)特征進行抽象,來描述數(shù)據(jù)庫的結(jié)構(gòu)與語義。目前廣泛使用的數(shù)據(jù)模型有兩種:概念數(shù)據(jù)模型、結(jié)構(gòu)數(shù)據(jù)模型和物理模型。概念數(shù)據(jù)模型概念數(shù)據(jù)模型簡稱為概念模型,它表示實體類型及實體間的聯(lián)系,是獨立于計算機系統(tǒng)的模型。概念模型用于建立信息世界的數(shù)據(jù)模型,強調(diào)其語義表達功能,是現(xiàn)實世界的第一層抽象,是用戶和數(shù)據(jù)庫設(shè)計人員之間進行交流的工具。結(jié)構(gòu)(邏輯)數(shù)據(jù)模型結(jié)構(gòu)數(shù)據(jù)模型簡稱為數(shù)據(jù)模型,它是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),是現(xiàn)實世界的第二層抽象。物理模型物理模型是對數(shù)據(jù)最底層的抽象,它描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法是面向計算機系統(tǒng)的,由數(shù)據(jù)庫管理系統(tǒng)具體實現(xiàn)。0

3PART

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

數(shù)據(jù)模型的概念和種類

概念數(shù)據(jù)模型

關(guān)系數(shù)據(jù)模型0

3概念數(shù)據(jù)模型47

概念模型是對信息世界的建模,它應(yīng)當(dāng)能夠全面、準(zhǔn)確地描述出信息世界,是信息世界的基本概念。概念模型的表示方法很多,其中著名和使用為廣泛的是P.P.Chen于1976年提出的E-R(Entity-

Relationship)模型。E-R模型是直接從現(xiàn)實世界中抽象出實體類型及實體間的聯(lián)系,是對現(xiàn)實世界的一種抽象,它的主要成分是實體、聯(lián)系和屬性。

E-R模型的圖形表示稱為E-R圖。設(shè)計E-R圖的方法稱為E-R方法。利用E-R模型進行數(shù)據(jù)庫的概念設(shè)計,可以分為3步:首先設(shè)計局部E-R模型;然后把各個局部E-R模型綜合成一個全局E-R模型;最后對全局E-R模型進行優(yōu)化,得到最終的E-R模型。0

3概念數(shù)據(jù)模型48

E-R圖通用的表示方式如下。用矩形框表示實體型,在框內(nèi)寫上實體名。用橢圓形框表示實體的屬性,并用無向邊把實體和屬性連接起來。用菱形框表示實體間的聯(lián)系,在菱形框內(nèi)寫上聯(lián)系名,用無向邊分別把菱形框與有關(guān)實體連接起來,在無向邊旁注明聯(lián)系的類型。如果實體間的聯(lián)系也有屬性,則把屬性和菱形框也用無向邊連接起來。0

3概念數(shù)據(jù)模型49

1.E-R模型設(shè)計原則屬性應(yīng)該存在于且只存在于某一個地方(實體或者關(guān)聯(lián))。該原則確保了數(shù)據(jù)庫中的某個數(shù)據(jù)只存儲于某個數(shù)據(jù)庫表中(避免同一數(shù)據(jù)存儲于多個數(shù)據(jù)庫表),避免了數(shù)據(jù)冗余。實體是一個單獨的個體,不能存在于另一個實體的屬性中。該原則確保了一個數(shù)據(jù)庫表中不能包含另一個數(shù)據(jù)庫表,即不能出現(xiàn)“表中套表”的現(xiàn)象。同一個實體在同一個E-R圖內(nèi)僅出現(xiàn)一次。例如:同一個

E-R圖,兩個實體間存在多種關(guān)系時,為了表示實體間的多種關(guān)系,盡量不要讓同一個實體出現(xiàn)多次。比如客服人員與客戶,存在“服務(wù)—被服務(wù)”、“評價—被評價”的關(guān)系。0

3概念數(shù)據(jù)模型50

2.E-R模型設(shè)計步驟①劃分和確定實體。②劃分和確定聯(lián)系。③確定屬性。作為屬性的“事物”與實體之間的聯(lián)系,必須是一對多的關(guān)系,作為屬性的“事物”不能再有需要描述的性質(zhì)或與其他事物具有聯(lián)系。為了簡化E-R模型,能夠作為屬性的

“事物”盡量作為屬性處理。④畫出E-R模型。重復(fù)過程①~③,以找出所有實體集、關(guān)系集、屬性和屬值集,然后繪制E-R圖。設(shè)計E-R分圖,即用戶視圖的設(shè)計,在此基礎(chǔ)上綜合各E-R分圖,形成E-R總圖。⑤優(yōu)化E-R模型。利用數(shù)據(jù)流程圖,對E-R總圖進行優(yōu)化,消除數(shù)據(jù)實體間冗余的聯(lián)系及屬性,形成基本的E-R模型。0

3概念數(shù)據(jù)模型下面是學(xué)生與課程之間的E-R圖E-R模型有兩個明顯的優(yōu)點:接近于人的思維,容易理解;與計算機無關(guān),用戶容易接受。E-R方法是抽象和描述現(xiàn)實世界的有力工具。用E-R圖表示的概念模型與數(shù)據(jù)模型相互獨立,是各種數(shù)據(jù)模型的共同基礎(chǔ),因而比數(shù)據(jù)模型更一般、更抽象、更接近現(xiàn)實世界。51

0

3PART

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

數(shù)據(jù)模型的概念和種類

概念數(shù)據(jù)模型

關(guān)系數(shù)據(jù)模型0

35

3關(guān)系數(shù)據(jù)模型關(guān)系模型由以下3部分組成。數(shù)據(jù)結(jié)構(gòu)。模型所操作的對象、類型的集合,是對系統(tǒng)靜態(tài)特性的描述。數(shù)據(jù)操作。對模型對象所允許執(zhí)行的操作方式,是對系統(tǒng)動態(tài)特性的描述。完整性規(guī)則。保證數(shù)據(jù)有效、正確的約束條件,也就是說,對于具體的應(yīng)用,數(shù)據(jù)必須遵循特定的語義約束條件,以保證數(shù)據(jù)的正確、有效和相容。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu):在關(guān)系模型中,顯示世界的實體以及實體間的各種聯(lián)系均可用關(guān)系來表示。從用戶角度看,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,由行和列組成。0

35

4關(guān)系模型中的基本術(shù)語關(guān)系模型中的基本術(shù)語

1)關(guān)系關(guān)系(Relation)是一個屬性數(shù)目相同的元組的集合,是一個由行和列組成的二維表格。2)元組表中的一行即為一個元組。

3)屬性表中的一列即為一個屬性,給每個屬性起一個名稱即屬性名。表中有6個屬性(學(xué)號,姓名,性別,出生年月,所在系,入學(xué)年份)。學(xué)號姓名性別出生年月所在系202101001夢欣怡女2004.05大數(shù)據(jù)2021202101002達樂男2003.05大數(shù)據(jù)2021202102001鑫創(chuàng)男2005.05人工智能2021??????0

3關(guān)系模型中的基本術(shù)語55

4)碼所謂碼(Key)就是能唯一確定表中的一個元組的屬性,它是整個關(guān)系的性質(zhì),而不是單個元組的性質(zhì),它包括超碼、候選碼和主碼。超碼是一個或多個屬性的集合,在關(guān)系中能唯一標(biāo)識元組。候選碼是最小的超碼,它們的任意真子集都不能成為超碼。若一個關(guān)系中有多個候選碼時,通常選定其中的一個候選碼為主

碼(Primary

Key)。如學(xué)生關(guān)系表中的學(xué)號可以唯一確定一個學(xué)生,則學(xué)號或包含學(xué)號的屬性組都是超碼,而只有學(xué)生的“學(xué)號”才是候選碼;如學(xué)生關(guān)系中的姓名不重復(fù),則候選碼為“學(xué)號”與“姓名”兩個,此時一般選擇“學(xué)號”屬性為主碼。0

3關(guān)系模型中的基本術(shù)語56

全碼若關(guān)系的候選碼中只包含一個屬性,則稱它為單屬性碼;若候選碼是由多個屬性構(gòu)成的,則稱它為多屬性碼,若關(guān)系中只有一個候選碼,且這個候選碼中包括全部屬性,則這種候選碼為全碼。設(shè)有以下關(guān)系:學(xué)生(學(xué)號,姓名,性別,出生日期);選課(學(xué)號,課程號,分?jǐn)?shù));借書(學(xué)號,書號,日期)。其中,學(xué)生關(guān)系的碼為“學(xué)號”,它為單屬性碼;選課關(guān)系的碼為“學(xué)號”和“課程號”合在一起,它是多屬性碼;借書表中的碼為

“學(xué)號、書號、日期”,它的碼為全碼。域域(Domain)即:屬性的取值范圍,如,如表1-3中的性別屬性的域是(男,女),大學(xué)生年齡屬性域可以設(shè)置為(10~30)。0

3關(guān)系模型中的基本術(shù)語57

分量分量就是元組中的一個屬性值,如表1-3中的“達樂”、“男”等都是分量。主屬性和非主屬性關(guān)系中,包含在任何一個候選碼中的屬性稱為主屬性(PrimeAttribute),不包含在任何一個候選碼中的屬性稱為非主屬性

(Non-Key

Attribute)。例如,在學(xué)生關(guān)系中,學(xué)號為主屬性,而姓名、性別、出生日期為非主屬性。0

3關(guān)系的性質(zhì)58

關(guān)系數(shù)據(jù)庫中的基本表具有以下6個性質(zhì)。1)同一屬性的數(shù)據(jù)具有同質(zhì)性(Homoge

neous)。

2)屬性名具有不重復(fù)性。列位置具有順序無關(guān)性。關(guān)系具有元組無重復(fù)性。元組位置具有順序無關(guān)性。關(guān)系中每一個分量必須取原子值。0

3關(guān)系模式59

關(guān)系模式一般表示為:關(guān)系名(屬性1,屬性2,?,屬性n),用英文表示為:R(A1,A2,?,An)或

R(U)。其中,R是關(guān)系名,Ai表示R中的一個屬性名,U表示屬性的集合。如果某個屬性名或?qū)傩越M為主碼,用下劃線表明,但有時也不標(biāo)出。例如,上面的關(guān)系可描述為:學(xué)生(學(xué)號,姓名,性別,出生日期,年級)在關(guān)系模型中,實體以及實體間的聯(lián)系都是用關(guān)系來表示的。例如,學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系在關(guān)系模型中可以如下所示(其中加下劃線的屬性為主碼):學(xué)生(學(xué)號,姓名,性別,出生日期,年級)課程(課程號,課程名,學(xué)分)選修(學(xué)生,課程號,成績)0

3關(guān)系模型的“型”和“值”60

在數(shù)據(jù)模型中有“型”(type)和“值”(value)的概念。型是指對某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明,值是型的一個具體賦值。例如,學(xué)生記錄定義為(學(xué)號,姓名,性別,出生日期,年級)這樣的記錄型,而(

202101001,夢欣怡,女,2004-09-21,2021)則是該記錄型的一個記錄值。關(guān)系模式是對關(guān)系數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,它僅僅涉及型的描述,不涉及具體的值。關(guān)系模式的一個具體值稱為模式的一個實例(Instance)。同一個模式可以有很多實例。模式是相對穩(wěn)定的,而實例是變動的,因為數(shù)據(jù)庫中的數(shù)據(jù)是在不斷更新的。模式反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系,而實例反映的是數(shù)據(jù)庫某一時刻的狀態(tài)。0

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

關(guān)系數(shù)據(jù)庫是相互關(guān)聯(lián)的表或者關(guān)系的集合。一張表存放的是某一應(yīng)用領(lǐng)域的實體集或?qū)嶓w間聯(lián)系的集合,例如,一張學(xué)生表(Stude

nts)存放的是所有學(xué)生的集合,一張課程表(Course

s)存放的是所有課程的集合。當(dāng)學(xué)生選課時,學(xué)生實體與課程實體發(fā)生了聯(lián)系,一旦發(fā)生聯(lián)系,就可能產(chǎn)生一些聯(lián)系屬性。例如,學(xué)生實體與課程實體發(fā)生聯(lián)系時,就有了成績這一屬性,可以用選修表(SC)來存放這種聯(lián)系和聯(lián)系本身的屬性,選修表(SC)存放了學(xué)號、課程號和成績。因此關(guān)系數(shù)據(jù)存放的是某一應(yīng)用領(lǐng)域所有的實體集和實體間聯(lián)系的集合。此外,關(guān)系數(shù)據(jù)庫還存放著許多管理用戶的表等系統(tǒng)表。0

3關(guān)系模型的優(yōu)缺點62

關(guān)系模型的優(yōu)點主要有以下幾個。關(guān)系模型與非關(guān)系模型不同,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的。關(guān)系模型的結(jié)構(gòu)單一。無論是實體還是實體之間的聯(lián)系都用關(guān)系來表示,數(shù)據(jù)的檢索結(jié)果也是關(guān)系(表),所以其數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用。關(guān)系模型的存取路徑對用戶透明,從而具有更高的數(shù)據(jù)獨立性、更好的安全保密性,也簡化了程序員的工作和數(shù)據(jù)庫開發(fā)工作。關(guān)系模型的主要缺點是,由于存取路徑對用戶透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型。因此為了提高性能,必須對用戶的查詢請求進行優(yōu)化,這樣就增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度。0

3關(guān)系模型的操作63

關(guān)系模型與其他數(shù)據(jù)模型相比,最具特色的是關(guān)系操作語言。關(guān)系操作語言靈活、方便,表達能力和功能都非常強大。1.關(guān)系操作的基本內(nèi)容關(guān)系操作包括數(shù)據(jù)查詢、數(shù)據(jù)維護和數(shù)據(jù)控制三大功能。數(shù)據(jù)查詢指數(shù)據(jù)檢索、統(tǒng)計、排序、分組以及用戶對信息的需求等功能。數(shù)據(jù)維護指數(shù)據(jù)添加、刪除、修改等數(shù)據(jù)自身更新的功能。(3)數(shù)據(jù)控制是為了保證數(shù)據(jù)的安全性和完整性而采用的數(shù)據(jù)存取控制及并發(fā)控制等功能。關(guān)系操作的數(shù)據(jù)查詢和數(shù)據(jù)維護功能使用關(guān)系代數(shù)中的8種操作來表示,即并(Union)、差(Diffe

rence)、交(Interse

ction)、廣義的笛卡兒積(Exte

nded

Carte

sian

Product)、選擇(Se

lect)、投影

(Proje

ct)、連接(Join)和除(Divide)。0

3關(guān)系操作語言的種類64

在關(guān)系模型中,關(guān)系數(shù)據(jù)庫操作通常是用代數(shù)方法或邏輯方法實現(xiàn),分別稱為關(guān)系代數(shù)和關(guān)系演算。關(guān)系操作語言可以分為3類。關(guān)系代數(shù)語言,是關(guān)系運算來表達查詢要求的語言。ISBL(Information

System

BaseLanguage)是關(guān)系代數(shù)語言的代表,是由IBM

Unite

d

Kingdom研究中心研制的。關(guān)系演算語言,是用查詢得到的元組應(yīng)滿足的謂詞條件來表達查詢要求的語言??梢苑譃樵M關(guān)系演算語言和域關(guān)系演算語言兩種。具有關(guān)系代數(shù)和關(guān)系演算雙重特點的語言。結(jié)構(gòu)化查詢語言(Structure

Que

ry

Language,SQL)是介于關(guān)系代數(shù)和關(guān)系演算之間的語言,它包括數(shù)據(jù)定義、數(shù)據(jù)操作和數(shù)據(jù)控制3種功能。0

3關(guān)系模型的數(shù)據(jù)完整性65

關(guān)系模型的數(shù)據(jù)完整性指的是完整性規(guī)則。完整性規(guī)則是為了保證關(guān)系(表)中數(shù)據(jù)的正確、一致、有效的規(guī)則,防止對數(shù)據(jù)的意外破壞。關(guān)系模型的完整性規(guī)則共分為3類:實體完整性、參照完整性(也稱為引用完整性)、用戶定義完整性。0

3實體完整性規(guī)則(Ent

it

y

In

t

e

g

r

it

y

Ru

le)66

實體完整性規(guī)則理論這條規(guī)則要求關(guān)系中元組在組成主碼的屬性上不能有空值,如果出現(xiàn)空值,那么主碼值就起不了唯一標(biāo)識元組的作用?,F(xiàn)實世界中的實體是可區(qū)分的,即它們具有某種唯一性標(biāo)識,相應(yīng)地,關(guān)系模型中以主碼作為唯一性標(biāo)識。違約處理所謂違約處理,是指在更新數(shù)據(jù)庫時,寫入的數(shù)據(jù)違反了數(shù)據(jù)庫完整性,DBMS所采取的措施。達夢8.0中的實體完整性達夢8.0中的主碼對應(yīng)的是主鍵,在某個字段上定義了主鍵后,就用這個主鍵來標(biāo)識一條記錄,該字段不能取空值。0

3參照完整性規(guī)則(Re

f

e

re

n

ce

In

t

e

g

r

it

y

Ru

le)67

1)參照完整性規(guī)則理論定義:設(shè)F是基本關(guān)系R的一個或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對應(yīng),則稱F是R的外碼,并稱R為參照關(guān)系,S為被參照關(guān)系或目標(biāo)關(guān)系。取值規(guī)則:若屬性或?qū)傩越MF是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對應(yīng),則對于R中的每個元組在F上的取值必須為:(1)或者取空值(F的每個屬性均為空值)。

(2)或者等于S中某個元組的主碼值。0

3參照完整性規(guī)則(Re

f

e

re

n

ce

In

t

e

g

r

it

y

Ru

le)2)違約處理參照完整性的違約處理不像實體完整性那么簡單,具體規(guī)則如下。參照表中增加元組,在被參照表中找不到對應(yīng)的值,則拒絕執(zhí)行。修改參照表中元組,修改后被參照表中沒有對應(yīng)的值,則拒絕執(zhí)行。被參照表中刪除一個元組,參照表中的值沒有了對應(yīng)的值,則拒絕執(zhí)行、或級聯(lián)刪除、或置為空值(參照表的外碼值可為空)、或置為默認(rèn)值(被參照表的外碼具有默認(rèn)值定義,且默認(rèn)值在參

照表中有對應(yīng)的值)。在被參照表中修改一個元組,參照表中的值沒有了對應(yīng)的值,則拒絕執(zhí)行、或級聯(lián)修改、或置為空值、或置為默認(rèn)值。68

0

3參照完整性規(guī)則(Re

f

e

re

n

ce

In

t

e

g

r

it

y

Ru

le)3)達夢8.0中的參照完整性達夢8.0中的主碼與外碼對應(yīng)的是主鍵與外鍵。如果要增加或修改從表中的外鍵值,則必須在主表中有對應(yīng)的主鍵值,否則拒絕執(zhí)行。如果修改主表中的主鍵值,則采用拒絕執(zhí)行、或級聯(lián)修改、或置為空值、或置為默認(rèn)值。如果要刪除主表中的主鍵值,則采用拒絕執(zhí)行、或級聯(lián)刪除、或置為空值、或置為默認(rèn)值。69

0

3用戶定義的完整性規(guī)則70

用戶定義的完整性規(guī)則理論在建立關(guān)系模式時,對屬性定義了數(shù)據(jù)類型,即使這樣可能還滿足不了用戶的需求。此時,用戶可以針對具體的數(shù)據(jù)約束,設(shè)置完整性規(guī)則,由系統(tǒng)來檢驗實施,以使用統(tǒng)一的方法處理它們,不再由應(yīng)用程序承擔(dān)這項工作。例如選修課程的成績定義為3位整數(shù),范圍還太大,可以如下規(guī)則把成績限制在0~100之間:CHECK(Grade

BETWEEN

0

AND

100)違約處理違反用戶定義的完整性時,采取的措施只有一個,就是拒絕執(zhí)行,這點和實體完整性類似。0

3用戶定義的完整性規(guī)則71

關(guān)系數(shù)據(jù)庫DBMS可以為用戶實現(xiàn)如下自定義完整性約束:定義域的數(shù)據(jù)類型和取值范圍。定義屬性的數(shù)據(jù)類型和取值范圍。定義屬性的缺省值。定義屬性是否允許空值。定義屬性取值唯一性。定義屬性間的數(shù)據(jù)依賴性。0

1數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)0

2數(shù)據(jù)管理技術(shù)的發(fā)展歷程目錄CONTNETS0

50

6知識點小結(jié)0

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

3數(shù)據(jù)模型常見數(shù)據(jù)庫管理系統(tǒng)0

4PART

ONE表空間管理

數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)

數(shù)據(jù)庫的二級映像與數(shù)據(jù)的獨立性

兩級數(shù)據(jù)獨立性0

47

4數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)

從數(shù)據(jù)庫管理系統(tǒng)角度來看,數(shù)據(jù)庫系統(tǒng)內(nèi)部的體系結(jié)構(gòu)通常采用三級模式結(jié)構(gòu),即由子模式、模式和內(nèi)模式組成。

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

47

5模式

定義:模式(也稱概念模式或邏輯模式)是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)特征的描述,是所有用戶的公用數(shù)據(jù)庫結(jié)構(gòu)。

概念模式描述:

所有實體、實體的屬性和實體間的聯(lián)系。

數(shù)據(jù)的約束。

數(shù)據(jù)的語義信息。

安全性和完整性信息0

4模式(續(xù))76

特性:一個數(shù)據(jù)庫只有一個模式。模式與具體應(yīng)用程序無關(guān),它只是裝配數(shù)據(jù)的一個框架。模式用語言描述和定義,需定義數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)有關(guān)的安全性等。0

4子模式77

定義:子模式(也稱外模式或用戶模式)是數(shù)據(jù)庫用戶所見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是用戶所用的數(shù)據(jù)庫結(jié)構(gòu)。

子模式是模式的子集,它主要描述用戶視圖的各記錄的組成、相互聯(lián)系、數(shù)據(jù)項的特征等。

特性:一個數(shù)據(jù)庫可以有多個子模式;每個用戶至少使用一個子模式。同一個用戶可使用不同的子模式,而每個子模式可為多個不同的用戶所用。模式是對全體用戶數(shù)據(jù)及其關(guān)系的綜合與抽象,子模式是根據(jù)所需對模式的抽取。0

4內(nèi)模式78

定義:內(nèi)模式(也稱存儲模式)是數(shù)據(jù)物理結(jié)構(gòu)和存儲方法的描述。它是整個數(shù)據(jù)庫的最低層結(jié)構(gòu)的表示。

內(nèi)模式定義的是存儲記錄的類型,存儲域的表示,存儲記錄的物理順序、索引和存取路徑等數(shù)據(jù)的存儲組織。

特性:一個數(shù)據(jù)庫只有一個內(nèi)模式。內(nèi)模式對用戶透明。一個數(shù)據(jù)庫由多種文件組成,如用戶數(shù)據(jù)文件、索引文件及系統(tǒng)文件等。內(nèi)模式設(shè)計直接影響數(shù)據(jù)庫的性能。0

4PART

ONE表空間管理

數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)

數(shù)據(jù)庫的二級映像與數(shù)據(jù)的獨立性

兩級數(shù)據(jù)獨立性0

4數(shù)據(jù)庫的二級映像與數(shù)據(jù)的獨立性80

定義:數(shù)據(jù)獨立性是指數(shù)據(jù)與程序間的互不依賴性。一般分為物理獨立性與邏輯獨立性。

物理獨立性是指數(shù)據(jù)庫物理結(jié)構(gòu)的改變不影響邏輯結(jié)構(gòu)及應(yīng)用程序。即數(shù)據(jù)的存儲結(jié)構(gòu)的改變,如存儲設(shè)備的更換、存儲數(shù)據(jù)的位移、存取方式的改變等都不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不會引起應(yīng)用程序的變化,這就是數(shù)據(jù)的物理獨立性。

邏輯獨立性是指數(shù)據(jù)庫邏輯結(jié)構(gòu)的改變不影響應(yīng)用程序。即數(shù)據(jù)庫總體邏輯結(jié)構(gòu)的改變,如修改數(shù)據(jù)結(jié)構(gòu)定義、增加新的數(shù)據(jù)類型、改變數(shù)據(jù)間聯(lián)系等,不需要相應(yīng)修改應(yīng)用程序,這就是數(shù)據(jù)的邏輯獨立性。0

4數(shù)據(jù)庫的二級映像與數(shù)據(jù)的獨立性

為實現(xiàn)數(shù)據(jù)獨立性,數(shù)據(jù)庫系統(tǒng)在三級模式之間提供了兩級映像:外模式/概念模式映像和概念模式/內(nèi)模式映像。

映像是一種對應(yīng)規(guī)則,它指出了映像雙方是如何進行轉(zhuǎn)換的。81

0

4二級映像功能82

子模式/模式映像:

子模式/模式映像是指由模式生成子模式的規(guī)則。它定義了各個子模式和模式之間的對應(yīng)關(guān)系。

模式/內(nèi)模式映像:

模式/內(nèi)模式映像是說明模式在物理設(shè)備中的存儲結(jié)構(gòu)。它定義了模式和內(nèi)模式之間的對應(yīng)關(guān)系。

特性:

模式/內(nèi)模式映像是唯一的。

子模式/模式映像不唯一。0

4二級映像功能83

三級模式結(jié)構(gòu)和它們之間的兩層映像,保證了數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。

有效地實現(xiàn)三級模式之間的轉(zhuǎn)換是DBMS職能。

注意模式與數(shù)據(jù)庫概念的區(qū)別:

模式是數(shù)據(jù)庫結(jié)構(gòu)的定義和描述,只是建立一個數(shù)據(jù)庫的框架,它本身不涉及具體的數(shù)據(jù);

數(shù)據(jù)庫是按照模式的框架裝入數(shù)據(jù)而建成的,它是模式的一個“實例”。數(shù)據(jù)庫中的數(shù)據(jù)是經(jīng)常變化的,而模式一般是不變或很少變化的。0

4PART

ONE表空間管理

數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)

數(shù)據(jù)庫的二級映像與數(shù)據(jù)的獨立性

兩級數(shù)據(jù)獨立性0

4兩級數(shù)據(jù)獨立性85

數(shù)據(jù)獨立性是指數(shù)據(jù)與程序間的互不依賴性。一般分為物理獨立性與邏輯獨立性。

物理獨立性是指數(shù)據(jù)庫物理結(jié)構(gòu)的改變不影響邏輯結(jié)構(gòu)及應(yīng)用程序。即數(shù)據(jù)的存儲結(jié)構(gòu)的改變,如存儲設(shè)備的更換、存儲數(shù)據(jù)的位移、存取方式的改變等都不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不會引起應(yīng)用程序的變化,這就是數(shù)據(jù)的物理獨立性。

邏輯獨立性是指數(shù)據(jù)庫邏輯結(jié)構(gòu)的改變不影響應(yīng)用程序。即數(shù)據(jù)庫總體邏輯結(jié)構(gòu)的改變,如:修改數(shù)據(jù)結(jié)構(gòu)定義、增加新的數(shù)據(jù)類型、改變數(shù)據(jù)間聯(lián)系等,不需要相應(yīng)修改應(yīng)用程序,這就是數(shù)據(jù)的邏輯獨立性。0

4三級模式結(jié)構(gòu)與兩層映像的優(yōu)點86

數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)與兩層映像的優(yōu)點:

(1)保證數(shù)據(jù)的獨立性。(2)方便用戶使用,簡化用戶接口。(3)保證數(shù)據(jù)庫安全性的一個有力措施。

(4)有利于數(shù)據(jù)的共享性。(5)有利于從宏觀上通俗地理解數(shù)據(jù)庫系統(tǒng)的內(nèi)部結(jié)構(gòu)。0

1數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)0

2數(shù)據(jù)管理技術(shù)的發(fā)展歷程目錄CONTNETS0

50

6知識點小結(jié)0

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

3數(shù)據(jù)模型常見數(shù)據(jù)庫管理系統(tǒng)0

58

8Or

acl

eOr

acl

e數(shù)據(jù)庫是由美國的甲骨文(Or

acl

e)公司開發(fā)的世界上第一款支持SQL語言的關(guān)系型數(shù)據(jù)庫。DB2DB2是I

BM公司著名的關(guān)系型數(shù)據(jù)庫產(chǎn)品。DB2無論穩(wěn)定性,安全性,恢復(fù)性等等都無可挑剔,但是用起來非常煩瑣,比較適合大型的分布式應(yīng)用系統(tǒng)。SQL

Ser

verSQLSer

ver是由Mi

cr

os

of

t開發(fā)和推廣的關(guān)系型數(shù)據(jù)庫,SQLSer

ver的功能比較全面、效率高,可以作為中型企業(yè)或單位的數(shù)據(jù)庫平臺。SQLSer

ver可以與Wi

ndows操作系統(tǒng)緊密繼承,無論是應(yīng)用程序開發(fā)速度還是系統(tǒng)事務(wù)處理運行速度,都能得到大幅度提升。但是,SQLSer

ver只能在Wi

ndows系統(tǒng)下運行,毫無開放性可言。MySQLMySQL是一種開放源代碼的輕量級關(guān)系型數(shù)據(jù)庫,MySQL數(shù)據(jù)庫使用最常用的結(jié)構(gòu)化查詢語言(SQL)對數(shù)據(jù)庫進行管理。由于MySQL是開放源代碼的,因此任何人都可以在Ge

ner

alPubl

i

c

Li

cens

e的許可下下載并根據(jù)個人需要對其缺陷進行修改。由于MySQL數(shù)據(jù)庫體積小、速度快、成本低、開放源碼等優(yōu)點,現(xiàn)已被廣泛應(yīng)用于互聯(lián)網(wǎng)上的中小型網(wǎng)站中,并且大型網(wǎng)站也開始使用MySQL數(shù)據(jù)庫,如網(wǎng)易、新浪等。Pos

t

gr

e

SQLPos

t

gr

e

SQL是一個開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它是加州大學(xué)伯克利分校計算機系開發(fā)的POSTGRES基礎(chǔ)上發(fā)展起來的。常見數(shù)據(jù)庫管理系統(tǒng)-國外數(shù)據(jù)庫管理系統(tǒng)0

58

9達夢數(shù)據(jù)庫管理系統(tǒng)(簡稱DM)是由達夢公司推出的、我國具有完全自主知識產(chǎn)權(quán)的、比較具有代表性的高性能數(shù)據(jù)庫管理系統(tǒng)。達夢數(shù)據(jù)庫管理系統(tǒng)的最新版本是8.0版本,簡稱DM8。DM8是達夢數(shù)據(jù)庫有限公司推出的新一代高性能數(shù)據(jù)庫產(chǎn)品。它具有開放的、可擴展的體系結(jié)構(gòu),易于使用的事務(wù)處理系統(tǒng),以及低廉的維護成本,是達夢公司完全自主開發(fā)的產(chǎn)品。DM8以RDBMS為核心,以SQL為標(biāo)準(zhǔn),是一個能跨越多種軟硬件平臺且具有大型數(shù)據(jù)綜合管理能力的、高效穩(wěn)定的通用數(shù)據(jù)庫管理系統(tǒng)。國產(chǎn)數(shù)據(jù)庫管理系統(tǒng)--達夢數(shù)據(jù)庫0

1數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)0

2數(shù)據(jù)管理技術(shù)的發(fā)展歷程目錄CONTNETS0

50

6知識點小結(jié)0

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

3數(shù)據(jù)模型常見數(shù)據(jù)庫管理系統(tǒng)0

69

1知識點小結(jié)本章首先介紹了數(shù)據(jù)庫領(lǐng)域使用的幾個術(shù)語,接著講解了數(shù)據(jù)庫管理統(tǒng)的概念,數(shù)據(jù)庫具有的功能(數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運行管理功能、數(shù)據(jù)庫的建立和維護功能);還回顧了數(shù)據(jù)管理技術(shù)發(fā)展的3個階段;隨后介紹數(shù)據(jù)庫系統(tǒng)的概念和特點(數(shù)據(jù)結(jié)構(gòu)化、數(shù)據(jù)獨立性高、數(shù)據(jù)共享性高、冗余度小、數(shù)據(jù)交給DBMS統(tǒng)一管理和控制);并對數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)和二級映像功能;最后對數(shù)據(jù)模型的要素、種類以及概念模型向邏輯模型轉(zhuǎn)換的規(guī)則。最后介紹了常見的數(shù)據(jù)庫管理系統(tǒng)。THANKS主講教師:時間:2

0

2

x.xx.xx第2章關(guān)系代數(shù)與關(guān)系數(shù)據(jù)庫理論0

1關(guān)系代數(shù)及其運算0

2關(guān)系數(shù)據(jù)庫理論目錄CONTNETS0

5知識點小結(jié)0

4關(guān)系模式的分解0

3關(guān)系模式的范式及規(guī)范化0

09

5

本章首先主要討論關(guān)系數(shù)據(jù)庫規(guī)范化理論,然后討論如何判斷一個關(guān)系模式是否是“好”的模式,如果不是,如何將其轉(zhuǎn)換成“好”的關(guān)系模式,并能保證所得到的關(guān)系模式仍能表達原來的語義。規(guī)范化理論雖然是以關(guān)系模型為背景,但是它對于一般的數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計同樣具有理論上的意義。

本章主要介紹關(guān)系數(shù)據(jù)庫規(guī)范化理論。首先由關(guān)系數(shù)據(jù)庫邏輯設(shè)計可能出現(xiàn)的問題引入關(guān)系模式規(guī)范化的必要性,接著描述函數(shù)依賴的概念與關(guān)系模式的無損分解的方法,最后介紹關(guān)系模式的范式。0

1關(guān)系代數(shù)及其運算0

2關(guān)系數(shù)據(jù)庫理論目錄CONTNETS0

5知識點小結(jié)0

4關(guān)系模式的分解0

3關(guān)系模式的范式及規(guī)范化0

19

7

關(guān)系代數(shù)是一種抽象的查詢語言。

是關(guān)系數(shù)據(jù)操作語言的一種傳統(tǒng)表達方式,它是用對關(guān)系的運算來表達查詢的。

關(guān)系代數(shù)是建立在集合代數(shù)的基礎(chǔ)上。系代

及其0

1PART

ONE關(guān)系代數(shù)及其運算

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

關(guān)系代數(shù)概述

傳統(tǒng)的集合運算

專門的關(guān)系運算0

19

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

關(guān)系數(shù)據(jù)結(jié)構(gòu)的形式化定義:域(Domain)笛卡爾積(CartesianProduct)關(guān)系(Relation)0

11

0

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

域(Domain)

域是一組具有相同數(shù)據(jù)類型值的集合。

在關(guān)系模型中,使用域來表示實體屬性的取值范圍。

通常用Di表示某個域。

例如:煉整數(shù)煉實數(shù)煉介于某個取值范圍的整數(shù)

煉長度指定長度的字符串集合煉{‘男’,‘女’}煉??0

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

笛卡兒積(CartesianProduct)

給定一組域D1,D2,?,Dn,這些域中可以有相同的。D1,D2,?,Dn的笛卡爾積為:

D1×D2×?×Dn={(d1,d2,?,dn)|di

Di,i=1,2,?,n}煉所有域的所有取值的一個組合煉不能重復(fù)0

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

元組(Tuple)煉笛卡爾積中每一個元素(d1,d2,?,dn)叫作一個n元組(n-tuple),或簡稱元組(Tuple)。煉(張清玫,計算機專業(yè),李勇)、(張清玫,計算機專業(yè),劉晨)等都是元組。

分量(Component)煉笛卡爾積元素(d1,d2,?,dn)中的每一個值di叫作一個分量。煉張清玫、計算機專業(yè)、李勇、劉晨等都是分量。0

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

基數(shù)(Cardinal

number)煉若Di(i=1,2,?,n)為有限集,其基數(shù)為mi(i=1,2,?,n}煉則D1×D2×?×Dn的基數(shù)M為:

笛卡爾積的表示方法煉笛卡爾積可表示為一個二維表。煉表中的每行對應(yīng)一個元組,表中的每列對應(yīng)一個域。0

1笛卡爾積實例104

給出3個域:姓名集合:D1={史丹妮,周冬元,李曉輝}性別集合:D2={男,女}專業(yè)集合:D3={會計,商務(wù)}

笛卡爾積的結(jié)果:D1×D2×D3={(史丹妮,男,會計),(史丹妮,男,商務(wù)),(史丹妮,女,會計),(史丹妮,女,商務(wù)),(周冬元,男,會計),(周冬元,男,商

務(wù)),(周冬元,女,會計),(周冬元,女,商

務(wù)),(李曉輝,男,會計),(李曉輝,男,商務(wù)),(李曉輝,女,會計),(李曉輝,女,商務(wù))}0

1笛卡爾積實例(續(xù))

笛卡爾積結(jié)果表:105

0

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

關(guān)系

關(guān)系為多個域的笛卡爾乘積的有限子集!是一張二維表。

D1×D2×?×Dn的子集叫作在域D1,D2,?,Dn上的關(guān)系,表示為:R(D1,D2,?,Dn)

R:關(guān)系名n:關(guān)系的目或度(Degree)煉當(dāng)n=1時,稱該關(guān)系為單目關(guān)系(Unary

relation);煉當(dāng)n=2時,稱該關(guān)系為二目關(guān)系(Binary

relation)。0

1關(guān)系實例

從上述D1,D2,D3的笛卡兒積中取出一個子集來構(gòu)造一個學(xué)生關(guān)系。

由于一個學(xué)生只有一個專業(yè)和性別,所以笛卡兒積中的許多元組在實際中是無意義的,僅僅挑出有實際意義的元組構(gòu)建一個關(guān)系,該關(guān)系名為

Student,字段名取域名:姓名,性別和專業(yè)。107

0

1PART

ONE關(guān)系代數(shù)及其運算

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

關(guān)系代數(shù)概述

傳統(tǒng)的集合運算

專門的關(guān)系運算0

1關(guān)系代數(shù)概述109

運算的三要素:運算對象、運算符、運算結(jié)果。

關(guān)系代數(shù)的運算對象是關(guān)系,運算結(jié)果亦為關(guān)系。關(guān)系代數(shù)中使用的運算符包括4類:集合運算符、專門的關(guān)系運算符、比較運算符和邏輯運算符。

關(guān)系代數(shù)的運算按運算符的不同可分為:

傳統(tǒng)的集合運算:將關(guān)系看成元組的集合,其運算是從關(guān)系的“水平”方向即行的角度進行的。專門的關(guān)系運算:不僅涉及行而且涉及列。比較運算符和邏輯運算符是用來輔助專門的關(guān)系運算進行操作的。0

1關(guān)系代數(shù)運算符110

0

1PART

ONE關(guān)系代數(shù)及其運算

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

關(guān)系代數(shù)概述

傳統(tǒng)的集合運算

專門的關(guān)系運算0

1傳統(tǒng)的集合運算112

傳統(tǒng)的集合運算是二目運算,包括并、交、差、廣義笛卡兒積4種運算。

設(shè)關(guān)系R和關(guān)系S具有相同的目n(即兩個關(guān)系都具有n個屬性),且相應(yīng)的屬性取自同一個域,則可以定義并、差、交、廣義笛卡兒積運算如下:1.并(Union)關(guān)系R與關(guān)系S的并記作:

R∪S={t│t∈R∨t∈S},t是元組變量其結(jié)果關(guān)系仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成。0

1傳統(tǒng)的集合運算113

2.差(Difference)關(guān)系R與關(guān)系S的差記作:R-S={t│t∈R∧t頁S},t是元組變量其結(jié)果關(guān)系仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成。3.交(Intersection)關(guān)系R與關(guān)系S的交記作:

R∩S={t│t∈R∧t∈S},t是元組變量其結(jié)果關(guān)系仍為n目關(guān)系,由既屬于R又屬于S的元組組成。關(guān)系的交可以用差來表示,即R∩S=R-(R-S)0

1傳統(tǒng)的集合運算114

4.廣義笛卡兒積(ExtendedCartesianProduct)兩個分別為n目和m目的關(guān)系R和S的廣義笛卡兒積是一個(n+m)列的元組的集合。元組的前n列是關(guān)系R的一個元組,后m列是關(guān)系S的一個元組。若R有k1個元組,S有k2個元組,則關(guān)系R和關(guān)系S的廣義笛卡兒積有kl×k2個元組。記作:R×S={tr⌒ts│Tr∈R∧Ts∈S}0

1傳統(tǒng)的集合運算(舉例)

R和S

具有相同的目n(即兩個關(guān)系都有n個屬性)

相應(yīng)的屬性取自同一個域115

0

1傳統(tǒng)的集合運算(舉例)116

0

1PART

ONE關(guān)系代數(shù)及其運算

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

關(guān)系代數(shù)概述

傳統(tǒng)的集合運算

專門的關(guān)系運算0

1專門的關(guān)系運算118

專門的關(guān)系運算包括選擇、投影、連接、除等。

為了敘述上的方便,先引入幾個記號:設(shè)關(guān)系模式為R(A1,A2,?,An),它的一個關(guān)系設(shè)為R,t∈R表示t是R的一個元組,t[Ai]表示元組t中相應(yīng)于屬性Ai上的一個分量。若A={Ai1,Ai2,?,Aik},其中Ai1,Ai2,?,Aik是A1,A2,?,An中的一部分,則A稱為字段名或域列。t[A]=(t[Ai1],t[Ai2],?,

t[Aik])表示元組t在字段名A上諸分量的集合。A伸表示{A1,A2,?,An)中去掉{Ai1,Ai2,?,Aik}后剩余的屬性組。0

1專門的關(guān)系運算119

R為n目關(guān)系,S為m目關(guān)系。tr∈R,ts∈S,tr⌒ts稱為元組的連接,它是一個n+m列的元組,前n個分量為R中的一個n元組,后m個分量為S中的一個m元組。給定一個關(guān)系R(X,Z),X和Z為屬性組。定義當(dāng)t[X]=x時,x在R中的象集為:Zx={t[Z]|t∈R,t[X]=x}它表示R中屬性組X上值為x的諸元組在Z上分量的集合。0

1專門的關(guān)系運算

象集舉例:

x1在R中的象集Zx1={Z1,Z2,Z3}

x2在R中的象集Zx2

={Z2,Z3}

x3在R中的象集Zx3={Z1,Z3}120

0

1專門的關(guān)系運算

選擇(Selection)

選擇又稱為限制(Restriction)

選擇運算符的含義煉在關(guān)系R中選擇滿足給定條件的諸元組煉F表示選擇條件,它是一個邏輯表達式,取邏輯值

“真”或“假”煉F的基本形式為:

選擇運算是從關(guān)系R中選取使邏輯表達式F為真的元組,是從行的角度進行的運算:σ121

0

1選擇運算舉例122

設(shè)有一個學(xué)生-課程數(shù)據(jù)庫見下表,它包括以下內(nèi)容:

學(xué)生關(guān)系Student(說明:Sno表示學(xué)號,Sname表示姓名,

Ssex表示性別,Sage表示年齡,Sdept表示所在系)

課程關(guān)系Course(說明:Cno表示課程號,Cname表示課程名)

選修關(guān)系Score(說明:Sno表示學(xué)號,Cno表示課程號,

Degree表示成績)

其關(guān)系模式如下:

Student(Sno,Sname,Ssex,Sage,Sdept)

Course(Cno,Cname)

Score(Sno,Cno,Degree)0

1選擇運算舉例(續(xù))

Student表123

0

1選擇運算舉例(續(xù))

Course表124

0

1選擇運算舉例(續(xù))

Score表125

0

1選擇運算舉例(續(xù))

例1:查詢數(shù)學(xué)系學(xué)生的信息。

σSdept='數(shù)學(xué)系'(Student)或σ5='數(shù)學(xué)系'(Student)

查詢結(jié)果:126

0

1選擇運算舉例(續(xù))

例2:查詢年齡小于20歲的學(xué)生的信息。σSage<20(Student)或σ4<20(Student)

查詢結(jié)果:127

0

1專門的關(guān)系運算

投影(Projection)

投影運算符的含義煉從R中選擇出若干屬性列組成新的關(guān)系πA(R)={t[A]|

t∈R}A:R中的屬性列

投影操作主要是從列的角度進行運算

投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行)π128

0

1選擇運算舉例(續(xù))

例1:查詢學(xué)生的學(xué)號和姓名。πSno,Sname(Student)或π1,2(Student)

查詢結(jié)果:129

0

1專門的關(guān)系運算130

連接(Join)

連接也稱為θ連接

連接運算的含義:煉從兩個關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組煉A和B:分別為R和S上度數(shù)相等且可比的屬性組煉θ:比較運算符

從R和S的笛卡爾積R×S中選取R關(guān)系在A屬性組上的值與S關(guān)系在B屬性組上的值滿足比較關(guān)系θ的元組。0

1專門的關(guān)系運算

兩類最常用也最重要的連接:

等值連接煉θ為“=”的連接運算稱為等值連接煉從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組

自然連接煉一種特殊的等值連接煉要求兩個關(guān)系中進行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的字段名去掉煉若R和S具有相同的屬性組B,則記作:131

0

1專門的關(guān)系運算煉自然連接還需要取消重復(fù)列,所以是同時從行和列的角度進行運算。AθB132

S

一般連接與自然連接的區(qū)別:煉一般的連接操作是從行的角度進行運算。R0

1專門的關(guān)系運算133

外連接:煉如果把舍棄的元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(Null),這種連接就叫做外連接(OUTER

JOIN)

左外連接:煉如果只把左邊關(guān)系R中要舍棄的元組保留就叫做左外連接(LEFTOUTERJOIN或LEFTJOIN)

右外連接:煉如果只把右邊關(guān)系S中要舍棄的元組保留就叫做右外連接(RIGHTOUTERJOIN或RIGHTJOIN)。0

1專門的關(guān)系運算

例:關(guān)系R和關(guān)系S如下所示:R

╳AS:R.BCS.BEa

1b15b13a

1b15b27a

1b15b310a

1b15b32a

1b15b52a

1b26b13a

1b26b27a

1b26b310a

1b26b32a

1b26b52??134

0

1專門的關(guān)系運算

一般連接:135

0

1專門的關(guān)系運算

等值連接:136

0

1專門的關(guān)系運算

自然連接:137

0

1專門的關(guān)系運算

外連接:138

0

1專門的關(guān)系運算

左外連接和右外連接:139

0

1專門的關(guān)系運算

除(Division)

給定關(guān)系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的字段名,但必須出自相同的域集。R與S的除運算得到一個新的關(guān)系P(X),P是R中滿足下列條件的元組在X字段名上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。

其中Yx為x在R中的象集,x=tr[X]。140

0

1專門的關(guān)系運算

除操作是同時從行和列角度進行運算的。141

0

1專門的關(guān)系運算142

關(guān)系除法運算分下面4步進行:將被除關(guān)系的屬性分為象集屬性和結(jié)果屬性:與除關(guān)系相同的屬性屬于象集屬性,不相同的屬性屬于結(jié)果屬性。在除關(guān)系中,對與被除關(guān)系相同的屬性(象集屬性)進行投影,得到除目標(biāo)數(shù)據(jù)集。將被除關(guān)系分組,原則是,結(jié)果屬性值一樣的元組分為一組。逐一考察每個組,如果它的象集屬性值中包括除目標(biāo)數(shù)據(jù)集,則對應(yīng)的結(jié)果屬性值應(yīng)屬于該除法運算結(jié)果集。0

1專門的關(guān)系運算

例:設(shè)關(guān)系R、S分別為下圖的(a)和(b),R÷S的結(jié)果為圖(c)143

0

1專門的關(guān)系運算144

在關(guān)系R中,A可以取四個值{a1,a2,a3,a4}

a1的象集為{(b1,c2),(b2,c3),(b2,c1)}

a2的象集為{(b3,c7),(b2,c3)}a3的象集為{(b4,c6)}

a4的象集為{(b6,c6)}

S在(B,C)上的投影為{(b1,c2),(b2,c1),(b2,c3)

}

只有a1的象集包含了S在(B,C)屬性組上的投影所以:R÷S={a1}0

1專門的關(guān)系運算145

綜合實例:設(shè)學(xué)生-課程數(shù)據(jù)庫中有3個關(guān)系:S、C和SC,利用關(guān)系代數(shù)進行查詢。學(xué)生關(guān)系:S(Sno,Sname,SSex,Sage)課程關(guān)系:C(Cno,Cname,Teacher)學(xué)習(xí)關(guān)系:SC(Sno,Cno,Degree)0

1專門的關(guān)系運算查詢學(xué)習(xí)課程號為C3號課程的學(xué)生學(xué)號和成績。 πSno,Degree(σCno='C3'(SC))查詢學(xué)習(xí)課程號為C4課程的學(xué)生學(xué)號和姓名。πSno,Sname(σCno='C4'

(S∞SC))查詢學(xué)習(xí)課程名為maths的學(xué)生學(xué)號和姓名。查詢學(xué)習(xí)課程號為C1或C3課程的學(xué)生學(xué)號 。πSno(σCno='C1'∪Cno='C3'(SC))查詢不學(xué)習(xí)課程號為C2的學(xué)生的姓名和年齡。146

0

1關(guān)系代數(shù)及其運算0

2關(guān)系數(shù)據(jù)庫理論目錄CONTNETS0

5知識點小結(jié)0

4關(guān)系模式的分解0

3關(guān)系模式的范式及規(guī)范化0

2PART

ONEDM數(shù)據(jù)庫管理

問題的提出

函數(shù)依賴0

2數(shù)據(jù)庫設(shè)計的規(guī)范化149

關(guān)系數(shù)據(jù)庫的設(shè)計主要是關(guān)系模式的設(shè)計,關(guān)系模式設(shè)計的好壞將直接影響到數(shù)據(jù)庫設(shè)計的成敗。

設(shè)計數(shù)據(jù)庫要考慮減少冗余數(shù)據(jù)和避免數(shù)據(jù)經(jīng)常發(fā)生變化,減少額外的維護。

規(guī)范化的核心思想就是表中每個決定因子都必須是候選鍵。若不滿足,可以將表分解成兩個或多個滿足條件的表。0

2問題的提出150

回顧關(guān)系模型的形式化定義:關(guān)系模式的完整表示是一個五元組:R(U,D,Dom,F(xiàn))其中:R:關(guān)系名,代表一個關(guān)系模式;U:關(guān)系模式R的屬性集合(屬性組);D:屬性集合U的數(shù)據(jù)域;Dom:屬性到域的映射關(guān)系;F:屬性集合U上的一組數(shù)據(jù)依賴的集合。

三元組:R(U,F(xiàn)),數(shù)據(jù)依賴是關(guān)系模式的重要因素。0

2問題的提出151

用一個實例說明如果一個關(guān)系沒有經(jīng)過規(guī)范化可能會出現(xiàn)的問題:

例如,要設(shè)計一個教學(xué)管理數(shù)據(jù)庫,希望從該數(shù)據(jù)庫中得到學(xué)生學(xué)號、姓名、年齡、性別、系別、

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論