![第1章數(shù)據(jù)庫基礎(chǔ)知識_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/74cd1a54-2bcb-4033-8c5a-afe1d9b02c8e/74cd1a54-2bcb-4033-8c5a-afe1d9b02c8e1.gif)
![第1章數(shù)據(jù)庫基礎(chǔ)知識_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/74cd1a54-2bcb-4033-8c5a-afe1d9b02c8e/74cd1a54-2bcb-4033-8c5a-afe1d9b02c8e2.gif)
![第1章數(shù)據(jù)庫基礎(chǔ)知識_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/74cd1a54-2bcb-4033-8c5a-afe1d9b02c8e/74cd1a54-2bcb-4033-8c5a-afe1d9b02c8e3.gif)
![第1章數(shù)據(jù)庫基礎(chǔ)知識_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/74cd1a54-2bcb-4033-8c5a-afe1d9b02c8e/74cd1a54-2bcb-4033-8c5a-afe1d9b02c8e4.gif)
![第1章數(shù)據(jù)庫基礎(chǔ)知識_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/74cd1a54-2bcb-4033-8c5a-afe1d9b02c8e/74cd1a54-2bcb-4033-8c5a-afe1d9b02c8e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Visual FoxPro程序設(shè)計教程程序設(shè)計教程(第(第3版)版)北京郵電大學(xué)出版社北京郵電大學(xué)出版社劉衛(wèi)國劉衛(wèi)國第1章 數(shù)據(jù)庫基礎(chǔ)知識本章要點:計算機(jī)數(shù)據(jù)管理技術(shù)。數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)模型。關(guān)系數(shù)據(jù)庫。數(shù)據(jù)庫的設(shè)計方法。21.1.1 數(shù)據(jù)與數(shù)據(jù)處理1數(shù)據(jù)和信息數(shù)據(jù)是人們用于記錄事物情況的物理符號。信息是數(shù)據(jù)中所包含的意義。信息是經(jīng)過加工處理并對人類社會實踐和生產(chǎn)活動產(chǎn)生決策影響的數(shù)據(jù)。數(shù)據(jù)是用來表示信息的,但并非任何數(shù)據(jù)都能表示信息;信息是加工處理后的數(shù)據(jù),是數(shù)據(jù)所表達(dá)的內(nèi)容。信息不隨表示它的數(shù)據(jù)形式而改變,它是反映客觀現(xiàn)實世界的知識;而數(shù)據(jù)則具有任意性,用不同的數(shù)據(jù)形式可以表示同樣的信息。1
2、.1 計算機(jī)數(shù)據(jù)管理技術(shù)32數(shù)據(jù)處理數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,它包括對數(shù)據(jù)的收集、存儲、分類、計算、加工、檢索和傳輸?shù)纫幌盗谢顒?。計算機(jī)是一個具有程序執(zhí)行能力的數(shù)據(jù)處理工具,如圖所示。41.1.2 計算機(jī)數(shù)據(jù)管理技術(shù)的發(fā)展1. 人工管理階段20世紀(jì)50年代中期以前,數(shù)據(jù)管理是以人工管理方式進(jìn)行的。數(shù)據(jù)管理的特點如下。(1)數(shù)據(jù)不保存(2)由應(yīng)用程序管理數(shù)據(jù)(3)數(shù)據(jù)有冗余,無法實現(xiàn)共享(4)數(shù)據(jù)對應(yīng)用程序不具有獨立性52. 文件管理階段20世紀(jì)50年代后期至60年代后期,計算機(jī)開始大量用于數(shù)據(jù)管理。數(shù)據(jù)處理應(yīng)用程序利用操作系統(tǒng)的文件管理功能,將相關(guān)數(shù)據(jù)按一定的規(guī)則構(gòu)成文件,通過文件系
3、統(tǒng)對文件中的數(shù)據(jù)進(jìn)行存取和管理,實現(xiàn)數(shù)據(jù)的文件管理方式。其特點可概括為如下兩點。數(shù)據(jù)可以長期保存數(shù)據(jù)對應(yīng)用程序有一定的獨立性6當(dāng)數(shù)據(jù)量增加、使用數(shù)據(jù)的用戶越來越多時,文件管理便不能適應(yīng)更有效地使用數(shù)據(jù)的需要了,其癥結(jié)表現(xiàn)在3個方面。(1)數(shù)據(jù)的共享性差、冗余度大,容易造成數(shù)據(jù)不一致(2)數(shù)據(jù)獨立性差(3)數(shù)據(jù)之間缺乏有機(jī)的聯(lián)系,缺乏對數(shù)據(jù)的統(tǒng)一控制和管理73.數(shù)據(jù)庫管理階段20世紀(jì)60年代后期,數(shù)據(jù)管理技術(shù)在文件管理的基礎(chǔ)上發(fā)展到數(shù)據(jù)庫管理。數(shù)據(jù)庫(Database,DB)是按一定的組織方式存儲起來的、相互關(guān)聯(lián)的數(shù)據(jù)集合。在數(shù)據(jù)庫管理階段,由一種叫做數(shù)據(jù)庫管理系統(tǒng)(Database Manag
4、ement System,DBMS)的系統(tǒng)軟件來對數(shù)據(jù)進(jìn)行統(tǒng)一的控制和管理。在應(yīng)用程序和數(shù)據(jù)庫之間保持較高的獨立性,數(shù)據(jù)具有完整性、一致性和安全性高等特點,并且具有充分的共享性,有效地減少了數(shù)據(jù)冗余。84. 新型數(shù)據(jù)管理技術(shù)數(shù)據(jù)庫技術(shù)的發(fā)展先后經(jīng)歷了層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫。層次數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫可以看作第1代數(shù)據(jù)庫系統(tǒng),關(guān)系數(shù)據(jù)庫可以看作第2代數(shù)據(jù)庫系統(tǒng)。實際應(yīng)用中涌現(xiàn)出的許多問題,促使數(shù)據(jù)庫技術(shù)不斷向前發(fā)展,出現(xiàn)了許多不同類型的新型數(shù)據(jù)管理技術(shù)。(1)分布式數(shù)據(jù)庫系統(tǒng)(2)面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(3)多媒體數(shù)據(jù)庫系統(tǒng)(4)數(shù)據(jù)倉庫技術(shù)(5)大數(shù)據(jù)技術(shù)91.2.1 數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)
5、庫系統(tǒng)是由計算機(jī)系統(tǒng)、數(shù)據(jù)庫及其描述機(jī)構(gòu)、數(shù)據(jù)庫管理系統(tǒng)和有關(guān)人員組成的具有高度組織性的整體。1計算機(jī)硬件計算機(jī)硬件是數(shù)據(jù)庫系統(tǒng)的物質(zhì)基礎(chǔ),是存儲數(shù)據(jù)庫及運(yùn)行數(shù)據(jù)庫管理系統(tǒng)的硬件資源,主要包括計算機(jī)主機(jī)、存儲設(shè)備、輸入輸出設(shè)備及計算機(jī)網(wǎng)絡(luò)環(huán)境。1.2 數(shù)據(jù)庫系統(tǒng)102計算機(jī)軟件數(shù)據(jù)庫系統(tǒng)中的軟件包括操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫應(yīng)用系統(tǒng)等。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心軟件之一,它提供數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫管理、數(shù)據(jù)庫建立和維護(hù)及通信等功能。數(shù)據(jù)庫管理系統(tǒng)必須運(yùn)行在相應(yīng)的系統(tǒng)平臺上,有操作系統(tǒng)和相關(guān)系統(tǒng)軟件的支持。數(shù)據(jù)庫應(yīng)用系統(tǒng)是指系統(tǒng)開發(fā)人員利用數(shù)據(jù)庫系統(tǒng)資源開發(fā)出來的、面向某一類實
6、際應(yīng)用的應(yīng)用軟件系統(tǒng)。113數(shù)據(jù)庫數(shù)據(jù)庫是指數(shù)據(jù)庫系統(tǒng)中按照一定的方式組織的、存儲在外部存儲設(shè)備上的、能為多個用戶共享的、與應(yīng)用程序相互獨立的相關(guān)數(shù)據(jù)集合。它不僅包括描述事物的數(shù)據(jù)本身,而且還包括相關(guān)事物之間的聯(lián)系。4數(shù)據(jù)庫系統(tǒng)的有關(guān)人員數(shù)據(jù)庫系統(tǒng)的有關(guān)人員主要有3類:最終用戶、數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)人員和數(shù)據(jù)庫管理員(Database Administrator,DBA)。121.2.2 數(shù)據(jù)庫的結(jié)構(gòu)體系數(shù)據(jù)庫領(lǐng)域公認(rèn)的標(biāo)準(zhǔn)結(jié)構(gòu)是三級模式結(jié)構(gòu)及二級映射,三級模式包括外模式、概念模式和內(nèi)模式,二級映射則分別是概念模式/內(nèi)模式的映射及外模式/概念模式的映射。這種三級模式與二級映射構(gòu)成了數(shù)據(jù)庫的結(jié)構(gòu)體
7、系,如圖所示。13141數(shù)據(jù)庫的三級模式(1)概念模式概念模式又稱邏輯模式,或簡稱為模式,對應(yīng)于概念級。它是由數(shù)據(jù)庫設(shè)計者綜合所有用戶的數(shù)據(jù),按照統(tǒng)一的觀點構(gòu)造的全局邏輯結(jié)構(gòu),是對數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖(全局視圖)。15(2)外模式外模式又稱子模式或用戶模式,對應(yīng)于用戶級。它是某個或某幾個用戶所看到的數(shù)據(jù)庫的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式是從概念模式導(dǎo)出的一個子集,包含概念模式中允許特定用戶使用的那部分?jǐn)?shù)據(jù)。16(3)內(nèi)模式內(nèi)模式又稱存儲模式或物理模式,對應(yīng)于物理級。它是數(shù)據(jù)庫中全體數(shù)據(jù)的內(nèi)部表示或底層描述,是數(shù)據(jù)庫最低一級的邏
8、輯描述,它描述了數(shù)據(jù)在存儲介質(zhì)上的存儲方式和物理結(jié)構(gòu),對應(yīng)著實際存儲在外存儲介質(zhì)上的數(shù)據(jù)庫。172三級模式間的二級映射為了實現(xiàn)這3個抽象級別的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫管理系統(tǒng)在三級模式之間提供了二級映射,正是這二級映射保證了數(shù)據(jù)庫中的數(shù)據(jù)具有較高的物理獨立性和邏輯獨立性。(1)概念模式/內(nèi)模式的映射(2)外模式/概念模式的映射181.2.3 數(shù)據(jù)庫系統(tǒng)的特點1數(shù)據(jù)結(jié)構(gòu)化在數(shù)據(jù)庫系統(tǒng)中,每一個數(shù)據(jù)庫都是為某一應(yīng)用領(lǐng)域服務(wù)的,這些應(yīng)用彼此之間都有著密切的聯(lián)系。因此,在數(shù)據(jù)庫系統(tǒng)中不僅要考慮某個應(yīng)用的數(shù)據(jù)結(jié)構(gòu),還要考慮整個組織(多個應(yīng)用)的數(shù)據(jù)結(jié)構(gòu)。這種數(shù)據(jù)組織方式使數(shù)據(jù)結(jié)構(gòu)化了,這就要求在描述數(shù)據(jù)時不僅
9、要描述數(shù)據(jù)本身,還要描述數(shù)據(jù)之間的聯(lián)系。192數(shù)據(jù)共享性高、冗余度低數(shù)據(jù)共享是指多個用戶或應(yīng)用程序可以訪問同一個數(shù)據(jù)庫中的數(shù)據(jù),而且數(shù)據(jù)庫管理系統(tǒng)提供并發(fā)和協(xié)調(diào)機(jī)制,保證在多個應(yīng)用程序同時訪問、存取和操作數(shù)據(jù)庫數(shù)據(jù)時,不產(chǎn)生任何沖突,從而保證數(shù)據(jù)不遭到破壞。數(shù)據(jù)冗余既浪費(fèi)存儲空間,又容易產(chǎn)生數(shù)據(jù)不一致等問題。203具有較高的數(shù)據(jù)獨立性數(shù)據(jù)獨立性是指應(yīng)用程序與數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)之間相互獨立。在數(shù)據(jù)庫系統(tǒng)中,因為采用了數(shù)據(jù)庫的三級模式結(jié)構(gòu),保證了數(shù)據(jù)庫中數(shù)據(jù)的獨立性。在數(shù)據(jù)存儲結(jié)構(gòu)改變時,不影響數(shù)據(jù)的全局邏輯結(jié)構(gòu),這樣保證了數(shù)據(jù)的物理獨立性。在全局邏輯結(jié)構(gòu)改變時,不影響用戶的局部邏輯結(jié)構(gòu)及應(yīng)用程序,
10、這樣就保證了數(shù)據(jù)的邏輯獨立性。214有統(tǒng)一的數(shù)據(jù)控制功能數(shù)據(jù)庫管理系統(tǒng)提供了一套有效的數(shù)據(jù)控制手段,包括數(shù)據(jù)安全性控制、數(shù)據(jù)完整性控制、數(shù)據(jù)庫的并發(fā)控制和數(shù)據(jù)庫的恢復(fù)等,增強(qiáng)了多用戶環(huán)境下數(shù)據(jù)的安全性和一致性保護(hù)。 221.3.1 數(shù)據(jù)模型的組成要素數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)的完整性約束也被稱為數(shù)據(jù)模型的3個組成要素。1數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)研究數(shù)據(jù)之間的組織形式(數(shù)據(jù)的邏輯結(jié)構(gòu))、數(shù)據(jù)的存儲形式(數(shù)據(jù)的物理結(jié)構(gòu))及數(shù)據(jù)對象的類型等。存儲在數(shù)據(jù)庫中的對象類型的集合是數(shù)據(jù)庫的組成部分。在數(shù)據(jù)庫系統(tǒng)中,通常按照其數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。例如,層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)和關(guān)系結(jié)構(gòu)的數(shù)據(jù)模型分別命名為層次模型、
11、網(wǎng)狀模型和關(guān)系模型。1.3 數(shù)據(jù)模型232數(shù)據(jù)操作數(shù)據(jù)操作用于描述系統(tǒng)的動態(tài)特性,是指對數(shù)據(jù)庫中的各種數(shù)據(jù)所允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。數(shù)據(jù)庫主要有查詢和更新(包括插入、刪除和修改等)兩大類操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī)則(如優(yōu)先級)及實現(xiàn)操作的語言。243數(shù)據(jù)的完整性約束數(shù)據(jù)的完整性約束是一組完整性規(guī)則的集合。數(shù)據(jù)模型應(yīng)該反映和規(guī)定數(shù)據(jù)必須遵守的、基本的、通用的完整性約束。此外,數(shù)據(jù)模型還應(yīng)該提供定義完整性約束條件的機(jī)制,以反映具體所涉及的數(shù)據(jù)必須遵守的、特定的語義約束條件。251.3.2 數(shù)據(jù)抽象的過程數(shù)據(jù)模型是對現(xiàn)實世界進(jìn)行抽象和轉(zhuǎn)換的結(jié)果
12、,這一過程如圖所示。261對現(xiàn)實世界的抽象計算機(jī)處理的對象是現(xiàn)實世界中的客觀事物,在對其實施處理的過程中,首先應(yīng)了解和熟悉現(xiàn)實世界,從對現(xiàn)實世界的調(diào)查和觀察中抽象出大量描述客觀事物的事實,再對這些事實進(jìn)行整理、分類和規(guī)范,進(jìn)而將規(guī)范化的事實數(shù)據(jù)化,最終實現(xiàn)由數(shù)據(jù)庫系統(tǒng)存儲和處理。272觀念世界中的概念模型概念模型的特征是按用戶需求觀點對數(shù)據(jù)進(jìn)行建模,表達(dá)了數(shù)據(jù)的全局邏輯結(jié)構(gòu),是系統(tǒng)用戶對整個應(yīng)用項目涉及的數(shù)據(jù)的全面描述。概念模型主要用于數(shù)據(jù)庫設(shè)計,它獨立于實現(xiàn)時的數(shù)據(jù)庫管理系統(tǒng)。概念模型的表示方法很多,目前較常用的是E-R模型。283機(jī)器世界中的邏輯模型和物理模型在選定數(shù)據(jù)庫管理系統(tǒng)后,就要將
13、E-R圖表示的概念模型轉(zhuǎn)換為具體的數(shù)據(jù)庫管理系統(tǒng)支持的邏輯模型。通常,也把數(shù)據(jù)的邏輯模型直接稱為數(shù)據(jù)模型。數(shù)據(jù)庫系統(tǒng)中主要的邏輯模型有層次模型、網(wǎng)狀模型和關(guān)系模型。物理模型是對數(shù)據(jù)最底層的抽象,用以描述數(shù)據(jù)在物理存儲介質(zhì)上的組織結(jié)構(gòu),與具體的數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)和硬件有關(guān)。291.3.3 概念模型1實體與實體集實體(Entity)是現(xiàn)實世界中任何可以相互區(qū)分和識別的事物,它可以是能觸及的客觀對象,還可以是抽象的事件。性質(zhì)相同的同類實體的集合稱為實體集(Entity Set)。2屬性每個實體都具有一定的特征或性質(zhì),這樣才能區(qū)分一個個實體。實體的特征稱為屬性(Attribute),一個實體可用
14、若干屬性來刻畫。能唯一標(biāo)識實體的屬性或?qū)傩约Q為實體標(biāo)識符。303類型與值屬性和實體都有類型(Type)和值(Value)之分。屬性類型就是屬性名及其取值類型,屬性值就是屬性所取的具體值。屬性類型是個變量,屬性值是變量所取的值,而值域是變量的取值范圍。實體類型就是實體的結(jié)構(gòu)描述,通常是實體名和屬性名的集合。具有相同屬性的實體,有相同的實體類型。實體值是一個具體的實體,是屬性值的集合。314實體間的聯(lián)系(1)一對一聯(lián)系如果對于實體集A中的每一個實體,實體集B中至多只有一個實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1 1。(2)一對多聯(lián)系如果對于實體集A中的每一個實體,實體
15、集B中可以有多個實體與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1 n。(3)多對多聯(lián)系如果對于實體集A中的每一個實體,實體集B中可以有多個實體與之聯(lián)系,而對于實體集B中的每一個實體,實體集A中也可以有多個實體與之聯(lián)系,則稱實體集A與實體集B之間有多對多聯(lián)系,記為m n。325E-R圖E-R圖是用一種直觀的圖形方式建立現(xiàn)實世界中實體及其聯(lián)系模型的工具,也是數(shù)據(jù)庫設(shè)計的一種基本工具。E-R圖用矩形框表示現(xiàn)實世界中的實體,用菱形框表示實體間的聯(lián)系,用橢圓形框表示實體和聯(lián)系的屬性。下圖用來表示讀者實體和圖書實體的多對多聯(lián)系模
16、型。33341.3.4 邏輯模型1層次模型層次模型(Hierarchical Model)用樹形結(jié)構(gòu)來表示實體及其之間的聯(lián)系。根據(jù)樹形結(jié)構(gòu)的特點,建立數(shù)據(jù)的層次模型需要滿足如下兩個條件。有一個結(jié)點沒有父結(jié)點,這個結(jié)點即根結(jié)點。其他結(jié)點有且僅有一個父結(jié)點。352網(wǎng)狀模型網(wǎng)狀模型(Network Model)用以實體類型為結(jié)點的有向圖來表示各實體及其之間的聯(lián)系。其特點如下??梢杂幸粋€以上的結(jié)點無父結(jié)點。至少有一個結(jié)點有多于一個的父結(jié)點。363關(guān)系模型關(guān)系模型(Relational Model)用二維表格來表示實體及其相互之間的聯(lián)系。在關(guān)系模型中,把實體集看成一個二維表,每一個二維表稱為一個關(guān)系。每
17、個關(guān)系均有一個名字,稱為關(guān)系名。教師關(guān)系371.4.1 關(guān)系模型的基本概念1關(guān)系通常將一個沒有重復(fù)行、重復(fù)列,并且每個行列的交叉點只有一個基本數(shù)據(jù)的二維表格看成一個關(guān)系。二維表格包括表頭和表中的內(nèi)容,相應(yīng)地,關(guān)系包括關(guān)系模式和記錄的值,表包括表結(jié)構(gòu)(記錄類型)和表的記錄,而滿足一定條件的規(guī)范化關(guān)系的集合,就構(gòu)成了關(guān)系模型。1.4 關(guān) 系 數(shù)據(jù)庫38關(guān)系是一種規(guī)范化了的二維表格。在關(guān)系模型中,對關(guān)系作了種種規(guī)范性限制,關(guān)系具有以下6條性質(zhì)。關(guān)系必須規(guī)范化,每一個屬性都必須是不可再分的數(shù)據(jù)項。每一列中的分量是同一類型的數(shù)據(jù),來自同一個域。在同一關(guān)系中不允許出現(xiàn)相同的屬性名。關(guān)系中不允許有完全相同的
18、元組。在同一關(guān)系中元組的次序無關(guān)緊要。在同一關(guān)系中屬性的次序無關(guān)緊要。392. 元組二維表格的每一行在關(guān)系中稱為元組(Tuple),相當(dāng)于表的一條記錄(Record)。二維表格的一行描述了現(xiàn)實世界中的一個實體。在關(guān)系數(shù)據(jù)庫中,行是不能重復(fù)的,即不允許兩行的全部元素完全對應(yīng)相同。403. 屬性二維表格的每一列在關(guān)系中稱為屬性(Attribute),相當(dāng)于記錄中的一個字段(Field)或數(shù)據(jù)項。每個屬性有一個屬性名,一個屬性在其每個元組上的值稱為屬性值,因此,一個屬性包括多個屬性值,只有在指定元組的情況下,屬性值才是確定的。同時,每個屬性有一定的取值范圍,稱為該屬性的值域。同樣,在關(guān)系數(shù)據(jù)庫中,列
19、是不能重復(fù)的,即關(guān)系的屬性不允許重復(fù)。屬性必須是不可再分的,即屬性是一個基本的數(shù)據(jù)項,不能是幾個數(shù)據(jù)的組合項。414.關(guān)鍵字關(guān)系中能唯一區(qū)分、確定不同元組的單個屬性或?qū)傩越M合,稱為該關(guān)系的一個關(guān)鍵字。關(guān)鍵字又稱為鍵或碼(Key)。單個屬性組成的關(guān)鍵字稱為單關(guān)鍵字,多個屬性組合的關(guān)鍵字稱為組合關(guān)鍵字。需要強(qiáng)調(diào)的是,關(guān)鍵字的屬性值不能取“空值”,因為“空值”無法唯一地區(qū)分、確定元組。所謂“空值”,就是“不知道”或“不確定”的值。關(guān)系中能夠作為關(guān)鍵字的屬性或?qū)傩越M合可能不是唯一的。凡在關(guān)系中能夠唯一區(qū)分、確定不同元組的屬性或?qū)傩越M合,稱為候選關(guān)鍵字(Candidate Key)。在候選關(guān)鍵字中選定一
20、個作為關(guān)鍵字,稱為該關(guān)系的主關(guān)鍵字或主鍵(Primary Key)。關(guān)系中主關(guān)鍵字是唯一的。425. 外部關(guān)鍵字如果關(guān)系中某個屬性或?qū)傩越M合是另一個關(guān)系的關(guān)鍵字,則稱這樣的屬性或?qū)傩越M合為本關(guān)系的外部關(guān)鍵字或外鍵(Foreign Key)。在關(guān)系數(shù)據(jù)庫中,用外部關(guān)鍵字表示兩個表之間的聯(lián)系。436. 關(guān)系模式關(guān)系模型是由若干個關(guān)系組成的,關(guān)系用關(guān)系模式(Relational Schema)來描述。關(guān)系模式就相當(dāng)于前面提到的實體類型,它代表了關(guān)系的結(jié)構(gòu),也就是二維表格的框架(表頭)。對于教師關(guān)系可以表示為:教師(編號,姓名,性別,出生日期,職稱,基本工資,研究方向) 441.4.2 關(guān)系運(yùn)算利用集
21、合論的觀點,關(guān)系是元組的集合,每個元組包含的屬性數(shù)目相同,其中屬性的個數(shù)稱為元組的維數(shù)。 將關(guān)系與二維表進(jìn)行比較可以看出兩者存在簡單的對應(yīng)關(guān)系,關(guān)系模式對應(yīng)一個二維表的表頭,而關(guān)系的一個元組就是二維表的一行。例如,職工關(guān)系R(E1,張一,女),(E2,王二,男),(E3,李三,男),(E3,成四,女),相應(yīng)的二維表格表示形式如表所示。職工關(guān)系R451傳統(tǒng)的關(guān)系運(yùn)算(1)并(Union)設(shè)R和S同為n元關(guān)系,且相應(yīng)的屬性取自同一個域,則R和S的并也是一個n元關(guān)系,記作RS。RS包含了所有分屬于R和S或同屬于R和S的元組。因為集合中不允許有重復(fù)元素,因此,同時屬于R和S的元組在RS中只出現(xiàn)一次。(
22、2)差(Difference)設(shè)R和S同為n元關(guān)系,且相應(yīng)的屬性取自同一個域,則R和S的差也是一個n元關(guān)系,記作R-S。R-S包含了所有屬于R但不屬于S的元組。46(3)交(Intersection)設(shè)R和S同為n元關(guān)系,且相應(yīng)的屬性取自同一個域,則R和S的交也是一個n元關(guān)系,記作RS。RS包含了所有同屬于R和S的元組。實際上,交運(yùn)算可以通過差運(yùn)算的組合來實現(xiàn),如ABA(AB)或B(BA)。47(4)廣義笛卡爾積設(shè)R是一個包含m個元組的j元關(guān)系,S是一個包含n個元組的k元關(guān)系,則R和S的廣義笛卡爾積是一個包含mn個元組的jk元關(guān)系,記作RS,并定義RS(r1,r2,rj,s1,s2,sk)|(
23、r1,r2,rj)R且s1,s2,skS即RS的每個元組的前j個分量是R中的一個元組,而后k個分量是S中的一個元組。48例1-1 設(shè)R(a1,b1,c1),(a1,b2,c2),(a2,b2,c1),S(a1,b2,c2),(a1,b3,c2),(a2,b2,c1),求RS,RS,RS,RS。根據(jù)運(yùn)算規(guī)則,有如下結(jié)果。RS(a1,b1,c1),(a1,b2,c2),(a2,b2,c1),(a1,b3,c2)RS(a1,b1,c1)RS(a1,b2,c2),(a2,b2,c1)RS(a1,b1,c1,a1,b2,c2),(a1,b1,c1,a1,b3,c2),(a1,b1,c1,a2,b2,c1
24、),(a1,b2,c2,a1,b2,c2),(a1,b2,c2,a1,b3,c2),(a1,b2,c2,a2,b2,c1),(a2,b2,c1,a1,b2,c2),(a2,b2,c1,a1,b3,c2),(a2,b2,c1,a2,b2,c1)RS是一個包含9個元組的6元關(guān)系。492專門的關(guān)系運(yùn)算(1)選擇(Selection)設(shè)R(a1,a2,an)是一個n元關(guān)系,F(xiàn)是關(guān)于(a1,a2,an)的一個條件,R中所有滿足F條件的元組組成的子關(guān)系稱為R的一個選擇,記作F(R),并定義F(R)(a1,a2,an)|(a1,a2,an)R且(a1,a2,an)滿足條件F簡言之,對R關(guān)系按一定規(guī)則篩選一個
25、子集的過程就是對R施加了一次選擇運(yùn)算。50)()(211miiiAAARR,miiiAAA,21miiiAAA,21)()(21RmiiiAAA,(2)投影(Projection)設(shè)RR(A1,A2,An)是一個n元關(guān)系,i1,i2,im是1,2,n的一個子集,并且i1i2im,定義即(R)是R中只保留屬性的新的關(guān)系,稱(R)是R在屬性上的一個投影,通常記作通俗地講,關(guān)系R上的投影是從R中選擇出若干屬性列組成新的關(guān)系。51(3)連接(Join)連接是從兩個關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組,記作其中A和B分別為R和S上維數(shù)相等且可比的屬性組,是比較運(yùn)算符。連接運(yùn)算從R和S的笛卡爾積R
26、S中選取(R關(guān)系)在A屬性組上的值與(S關(guān)系)在B屬性組上值滿足比較關(guān)系的元組。 RS52連接運(yùn)算中有兩種最為重要也最為常用的連接,一種是等值連接,另一種是自然連接。為“”的連接運(yùn)算稱為等值連接,它是從關(guān)系R與S的笛卡爾積中選取A和B屬性值相等的那些元組。自然連接是一種特殊的等值連接,它要求在結(jié)果中把重復(fù)的屬性去掉。一般的連接操作是從行的角度進(jìn)行運(yùn)算,但自然連接還需要取消重復(fù)列,所以是同時從行和列的角度進(jìn)行運(yùn)算。53例1-2 一個關(guān)系數(shù)據(jù)庫由職工關(guān)系E和工資關(guān)系W組成,關(guān)系模式如下。E(編號,姓名,性別)W(編號,基本工資,標(biāo)準(zhǔn)津貼,業(yè)績津貼)寫出實現(xiàn)以下功能的關(guān)系運(yùn)算表達(dá)式。查詢?nèi)w男職工的
27、信息。查詢?nèi)w男職工的編號和姓名。查詢?nèi)w職工的基本工資、標(biāo)準(zhǔn)津貼和業(yè)績津貼。541.4.3 關(guān)系的完整性約束在關(guān)系模型中,數(shù)據(jù)完整性包括實體完整性(Entity Integrity)、參照完整性(Referential Integrity)及用戶自定義完整性(User defined Integrity)3種。1實體完整性現(xiàn)實世界中的實體是可區(qū)分的,即它們具有某種唯一性標(biāo)識。相應(yīng)地,關(guān)系模型中以主關(guān)鍵字作為唯一性標(biāo)識。實體完整性就是指關(guān)系的主屬性不能取“空值”,并且不允許兩個元組的關(guān)鍵字值相同。也就是一個二維表中沒有兩個完全相同的行,因此實體完整性也稱為行完整性。552參照完整性設(shè)F是關(guān)系R
28、的一個或一組屬性,但不是關(guān)系R的關(guān)鍵字,如果F與關(guān)系S的主關(guān)鍵字Ks相對應(yīng),則稱F是關(guān)系R的外部關(guān)鍵字,并稱關(guān)系R為參照關(guān)系(Referencing Relation),關(guān)系S為被參照關(guān)系(Referenced Relation)或目標(biāo)關(guān)系(Target Relation)。參照完整性規(guī)則就是定義外部關(guān)鍵字與主關(guān)鍵字之間的引用規(guī)則,即對于R中每個元組在F上的值必須取“空值”或等于S中某個元組的主關(guān)鍵字值。563用戶自定義完整性實體完整性和參照完整性適用于任何關(guān)系數(shù)據(jù)庫系統(tǒng)。除此之外,不同的關(guān)系數(shù)據(jù)庫系統(tǒng)根據(jù)其應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件,用戶自定義完整性就是針對某一具體關(guān)系數(shù)據(jù)
29、庫的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求,如規(guī)定關(guān)系中某一屬性的取值范圍。571.5.1 數(shù)據(jù)庫設(shè)計的基本步驟考慮數(shù)據(jù)庫及其應(yīng)用系統(tǒng)開發(fā)全過程,可以將數(shù)據(jù)庫設(shè)計分為6個階段:需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、數(shù)據(jù)庫實施、數(shù)據(jù)庫運(yùn)行和維護(hù)。1需求分析階段需求分析的任務(wù)是通過詳細(xì)調(diào)查現(xiàn)實世界要處理的對象(組織、部門、行業(yè)等),充分了解用戶單位目前的工作狀況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。1.5 數(shù)據(jù)庫的設(shè)計方法582概念設(shè)計階段將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念設(shè)計,它是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。在需求分析階段所得到的應(yīng)用需求應(yīng)該首先抽象為概念模型,以便更好、更準(zhǔn)確地用某一數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)這些需求。概念模型是各種邏輯模型的共同基礎(chǔ),它比邏輯模型更獨立于機(jī)器、更抽象,從而更加穩(wěn)定。描述概念模型的有力工具是E-R圖。593邏輯設(shè)計階段數(shù)據(jù)庫邏輯設(shè)計是將概念模型轉(zhuǎn)換為邏輯模型,也就是被某個數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型,并對轉(zhuǎn)換結(jié)果進(jìn)行規(guī)范化處理。關(guān)系數(shù)據(jù)庫的邏輯
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年新能源汽車分時租賃企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年數(shù)據(jù)反饋儀行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年歷史講解機(jī)器人企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年復(fù)古雕花玻璃裝飾行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年基因治療安全性評估體系行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年地質(zhì)編錄數(shù)字化平臺企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年按摩椅智能健康提醒企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 買賣供貨合同范本
- 會展服務(wù)簡易合同范例
- 社區(qū)公關(guān)推廣合同(2篇)
- 光伏電纜橋架敷設(shè)施工方案
- 文山-硯山天然氣支線管道工程項目環(huán)境影響報告書
- 工人工資結(jié)清證明范本
- 腹腔引流管的護(hù)理常見并發(fā)癥的預(yù)防與處理規(guī)范
- 工地試驗室質(zhì)量手冊
- 江蘇省船舶行業(yè)智能化改造數(shù)字化轉(zhuǎn)型實施指南(第二版)
- 高一寒假學(xué)習(xí)計劃表格
- 河北省建筑工程資料管理規(guī)程DB13(J) T 145 201
- 2023年廣東廣州期貨交易所招聘筆試參考題庫附帶答案詳解
- CKDMBD慢性腎臟病礦物質(zhì)及骨代謝異常
- 蘇教版科學(xué)(2017)六年級下冊1-2《各種各樣的能量》表格式教案
評論
0/150
提交評論