




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
總課時:90(54+36)課程性質(zhì):考試數(shù)據(jù)庫原理與應(yīng)用1數(shù)據(jù)庫原理與應(yīng)用
教學(xué)內(nèi)容及目的本課的內(nèi)容是將數(shù)據(jù)庫基本原理和具體數(shù)據(jù)庫管理系統(tǒng)的介紹合二為一。
在數(shù)據(jù)庫基本原理部分,重點介紹關(guān)系數(shù)據(jù)庫理論和數(shù)據(jù)庫設(shè)計;
在實際數(shù)據(jù)庫管理系統(tǒng)部分,介紹VFP6.0的操作及其應(yīng)用程序設(shè)計。本課程的目的是掌握數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)所需的數(shù)據(jù)庫理論知識,又能使用一個實際的數(shù)據(jù)庫管理系統(tǒng)進行小型數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)。
別忘了你們的任務(wù)啊!2課程的學(xué)習(xí)方法勤于思考,善于消化
掌握教材中重要的例題和習(xí)題重視上機實習(xí)環(huán)境重視數(shù)據(jù)庫設(shè)計3本課程教學(xué)參考書1、《數(shù)據(jù)庫系統(tǒng)概論》薩師煊,王珊主編高等教育出版社2、《數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用》苗雷蘭等編著
機械工業(yè)出版社3、《VFP程序設(shè)計教程》劉瑞新等編著機械工業(yè)出版社結(jié)束4目錄
第1章數(shù)據(jù)庫系統(tǒng)概述
第2章關(guān)系模型
第3章關(guān)系數(shù)據(jù)庫標準語言
第4章關(guān)系數(shù)據(jù)庫理論
第5章數(shù)據(jù)庫安全保護
第6章數(shù)據(jù)庫設(shè)計
第7章數(shù)據(jù)表單的設(shè)計
第8章數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)
5
第1章
數(shù)據(jù)庫系統(tǒng)概述6本章概要在本章中,首先介紹數(shù)據(jù)庫中有關(guān)的主要概念,然后回顧數(shù)據(jù)管理技術(shù)的三個發(fā)展階段。要求了解數(shù)據(jù)庫的三個發(fā)展階段及各階段的主要特點,掌握數(shù)據(jù)庫中的有關(guān)的基本概念、數(shù)據(jù)庫系統(tǒng)的組成及各部分的主要功能。重點掌握實體、屬性定義和實體型之間的聯(lián)系類型及特點。了解三種數(shù)據(jù)模型的特點及區(qū)別,為后面各章的學(xué)習(xí)打下基礎(chǔ)。了解面向?qū)ο髷?shù)據(jù)模型的基本特征。71.1信息、數(shù)據(jù)與數(shù)據(jù)處理1.1.1數(shù)據(jù)與信息1.1.1.1信息(Information)信息的定義信息:向人們(或機器)提供關(guān)于現(xiàn)實世界新的事物的知識。或者說信息是關(guān)于現(xiàn)實世界事物的存在方式或運動狀態(tài)的反映的綜合。說明:具體說信息是一種被加工為特定形式的數(shù)據(jù)。
如“2000年碩士研究生將擴招30%”,對接受者有意義,使接受者據(jù)此作出決策。82.信息的特征信息源于物質(zhì)和能量如,一個人的存在,同時就有關(guān)于這個人的信息的存在。如信息可以通過報紙、電臺、電視、計算機網(wǎng)絡(luò)進行傳遞。信息是可以感知的如報紙上刊登的信息通過視覺器官感知,電臺中廣播的信息通過聽覺器官感知。信息是可存儲、加工、傳遞和再生的。91.1.1.2數(shù)據(jù)(Data)1.
數(shù)據(jù)的定義數(shù)據(jù):是用于載荷信息的物理符號。或者說
數(shù)據(jù)是用來記錄信息的可識別的符號,是信息的具體表現(xiàn)形式。2.
數(shù)據(jù)的表現(xiàn)形式數(shù)據(jù)形式:數(shù)字、文字、圖形、圖象和聲音等。
說明:可用多種不同的數(shù)據(jù)表示同一信息,而信息不隨數(shù)據(jù)形式的不同而改變。
如“2000年碩士研究生將擴招30%”,其中的數(shù)據(jù)可改為漢字形式“兩千年”、“百分之三十”。10
1.1.1.3數(shù)據(jù)與信息的聯(lián)系數(shù)據(jù)是信息的符號表示或載體,信息則是數(shù)據(jù)的內(nèi)涵,是對數(shù)據(jù)的語義解釋。如上例中的數(shù)據(jù)2000、30%被賦予了特定的語義,它們就具有了傳遞信息的功能。
1.1.2數(shù)據(jù)處理數(shù)據(jù)處理:是將數(shù)據(jù)轉(zhuǎn)換成信息的過程,包括對數(shù)據(jù)的收集、存儲、加工、檢索、傳輸?shù)纫幌盗谢顒印?/p>
信息、數(shù)據(jù)與數(shù)據(jù)處理的關(guān)系:
信息=數(shù)據(jù)+數(shù)據(jù)處理111.2數(shù)據(jù)庫技術(shù)的產(chǎn)生、發(fā)展與研究領(lǐng)域
1.2.1數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展
1.2.1.1人工管理階段
時間:50年代中期以前
應(yīng)用范圍:主要用于科學(xué)計算。硬件:外存只有卡片、紙帶、磁帶,沒有磁盤等直接存取設(shè)備。軟件:匯編語言,沒有操作系統(tǒng)和管理數(shù)據(jù)的軟件。數(shù)據(jù)處理的方式:基本上是批處理。12人工管理階段的特點:1.數(shù)據(jù)不保存2.系統(tǒng)沒有專用的軟件對數(shù)據(jù)進行管理3.數(shù)據(jù)不共享4.數(shù)據(jù)不具有獨立性在人工管理階段,程序與數(shù)據(jù)之間的關(guān)系應(yīng)用程序1數(shù)據(jù)集1應(yīng)用程序2數(shù)據(jù)集2數(shù)據(jù)集3應(yīng)用程序313
1.2.1.2文件系統(tǒng)階段
時間:50年代后期至60年代中期應(yīng)用范圍:計算機不僅用于科學(xué)計算,還大量用于信息管理。需求:大量的數(shù)據(jù)存儲、檢索和維護成為緊迫的需求。硬件:有了磁盤、磁鼓等直接存儲設(shè)備。軟件:出現(xiàn)了高級語言和操作系統(tǒng);操作系統(tǒng)中有了專門管理數(shù)據(jù)的軟件,一般稱為文件系統(tǒng)。處理方式:有批處理,也有聯(lián)機處理。14文件管理數(shù)據(jù)的特點:1.數(shù)據(jù)以文件形式可長期保存下來2.文件系統(tǒng)可對數(shù)據(jù)的存取進行管理3.文件形式多樣化4.程序與數(shù)據(jù)間有一定獨立性15在文件系統(tǒng)階段,程序與數(shù)據(jù)之間的關(guān)系:文件n應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n文件1文件2文件系統(tǒng)……程序A程序B程序C文件A文件B文件C16存在的問題主要表現(xiàn)在以下三方面:
1.數(shù)據(jù)冗余度大各數(shù)據(jù)文件之間沒有有機的聯(lián)系,一個文件基本上對應(yīng)于一個應(yīng)用程序,數(shù)據(jù)不能共享。
2.數(shù)據(jù)獨立性低數(shù)據(jù)和程序相互依賴,一旦改變數(shù)據(jù)的邏輯結(jié)構(gòu),必須修改相應(yīng)的應(yīng)用程序。而應(yīng)用程序發(fā)生變化,如改用另一種程序設(shè)計語言來編寫程序,也需修改數(shù)據(jù)結(jié)構(gòu)。
3.數(shù)據(jù)一致性差由于相同數(shù)據(jù)的重復(fù)存儲、各自管理,在進行更新操作時,容易造成數(shù)據(jù)的不一致性。17
1.2.1.3數(shù)據(jù)庫系統(tǒng)階段
時間:60年代末開始應(yīng)用范圍:計算機應(yīng)用于管理的規(guī)模更加龐大,數(shù)據(jù)量急劇增加;硬件:出現(xiàn)了大容量磁盤,使計算機聯(lián)機存取大量數(shù)據(jù)成為可能;軟件:為解決多用戶、多個應(yīng)用程序共享數(shù)據(jù)的需求,出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng),即數(shù)據(jù)庫管理系統(tǒng)。18數(shù)據(jù)庫系統(tǒng)管理數(shù)據(jù)的特點:
1.數(shù)據(jù)共享性高、冗余少
2.數(shù)據(jù)結(jié)構(gòu)化
例:要建立學(xué)生成績管理系統(tǒng),系統(tǒng)包含三個文件:學(xué)生(學(xué)號、姓名、性別、年齡、系別)課程(課號、課程名、課時)成績(學(xué)號、課號、成績)等數(shù)據(jù)19學(xué)生學(xué)號姓名性別年齡系別S1趙亦女17計算機S2錢爾男18信息S3孫珊女20信息S4李思男21自動化S5周武男19計算機S6吳麗女20自動化課號課程名課時C1程序設(shè)計60C2微機原理80C3數(shù)字邏輯60C4數(shù)據(jù)結(jié)構(gòu)80C5數(shù)據(jù)庫60C6編譯原理60C7操作系統(tǒng)60課程學(xué)號課號成績S1C190S1C285S2C557S2C680S2C7
S2C570S3C10S3C270S3C485S4C193S4C285S4C383S5C289選課20
3.數(shù)據(jù)獨立性高
數(shù)據(jù)的獨立性:是指邏輯獨立性和物理獨立性。邏輯獨立性:是指當數(shù)據(jù)的總體邏輯結(jié)構(gòu)改變時,數(shù)據(jù)的局部邏輯結(jié)構(gòu)不變。物理獨立性:是指當數(shù)據(jù)的存儲結(jié)構(gòu)改變時,數(shù)據(jù)的邏輯結(jié)構(gòu)不變,從而應(yīng)用程序也不必改變。21
4.有統(tǒng)一的數(shù)據(jù)控制功能(1)數(shù)據(jù)的安全性(security)控制
防止不合法使用數(shù)據(jù)造成數(shù)據(jù)的泄露和破壞,保證數(shù)據(jù)的安全和機密;(2)數(shù)據(jù)的完整性(integrity)控制
系統(tǒng)通過設(shè)置一些完整性規(guī)則以確保數(shù)據(jù)的正確性、有效性和相容性。
正確性:是指數(shù)據(jù)的合法性,如年齡屬于數(shù)值型數(shù)據(jù),只能含0,1,…9,不能含字母或特殊符號;
有效性:是指數(shù)據(jù)是否在其定義的有效范圍,如月份只能用1~12之間的正整數(shù)表示;
相容性:是指表示同一事實的兩個數(shù)據(jù)應(yīng)相同,否則就不相容,如一個人不能有兩個性別。22(3)并發(fā)(concurrency)控制
多用戶同時存取或修改數(shù)據(jù)庫時,防止相互干擾而提供給用戶不正確的數(shù)據(jù)。(4)數(shù)據(jù)恢復(fù)(recovery)數(shù)據(jù)庫系統(tǒng)階段,程序與數(shù)據(jù)之間的關(guān)系。應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)23文件系統(tǒng)管理與數(shù)據(jù)庫系統(tǒng)管理比較:在文件系統(tǒng)階段,人們關(guān)注的是系統(tǒng)功能的設(shè)計,因此程序設(shè)計處于主導(dǎo)地位,數(shù)據(jù)服從于程序設(shè)計;而在數(shù)據(jù)庫系統(tǒng)階段,數(shù)據(jù)的結(jié)構(gòu)設(shè)計成為信息系統(tǒng)首先關(guān)心的問題。24
1.2.2數(shù)據(jù)庫技術(shù)的研究領(lǐng)域數(shù)據(jù)庫學(xué)科的研究范圍主要包括以下三個領(lǐng)域:1.數(shù)據(jù)庫管理系統(tǒng)軟件的研制
2.數(shù)據(jù)庫設(shè)計
3.數(shù)據(jù)庫理論251.3數(shù)據(jù)庫系統(tǒng)的組成和結(jié)構(gòu)
1.3.1數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)(DBS):
是指帶有數(shù)據(jù)庫并利用數(shù)據(jù)庫技術(shù)進行數(shù)據(jù)管理的計算機系統(tǒng)。數(shù)據(jù)庫系統(tǒng)(DBS)的組成:由數(shù)據(jù)庫(DB)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)及支持數(shù)據(jù)庫運行的軟硬件環(huán)境,應(yīng)用程序和數(shù)據(jù)庫管理人員等組成。
261.3.1.1數(shù)據(jù)庫數(shù)據(jù)庫:是長期存儲在計算機內(nèi)有組織的共享的數(shù)據(jù)的集合。數(shù)據(jù)庫特點:
1.集成性
2.共享性27
1.3.1.2用戶用戶:是指使用數(shù)據(jù)庫的人,即對數(shù)據(jù)庫的存儲、維護和檢索等操作。用戶分類:
1.第一類用戶,終端用戶(EndUser)
2.第二類用戶,應(yīng)用程序員(ApplicationProgrammer)
3.第三類用戶,數(shù)據(jù)庫管理員(DadabaseAdministrator,簡稱DBA)28
DBA職責:(1)DBA應(yīng)參與數(shù)據(jù)庫和應(yīng)用系統(tǒng)的設(shè)計(2)DBA應(yīng)參與決定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存取策略的工作(3)DBA要負責定義數(shù)據(jù)的安全性要求和完整性條件(4)監(jiān)督和控制數(shù)據(jù)庫系統(tǒng)的使用和運行(5)改進與重組數(shù)據(jù)庫系統(tǒng)
29
1.3.1.3數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫管理系統(tǒng):是應(yīng)用程序(用戶)與數(shù)據(jù)庫的接口軟件。作用:類似于倉庫系統(tǒng)中的管理機構(gòu)。功能:數(shù)據(jù)庫定義、數(shù)據(jù)裝入、數(shù)據(jù)操縱、數(shù)據(jù)控制和數(shù)據(jù)庫維護。
1.3.1.4硬件和軟件支持數(shù)據(jù)庫運行的軟、硬件環(huán)境1.3.1.5應(yīng)用程序
應(yīng)用程序:是用戶按照自己的業(yè)務(wù)編寫使用數(shù)據(jù)庫中的數(shù)據(jù)程序。30編譯系統(tǒng)OS硬件應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具DBMS數(shù)據(jù)庫系統(tǒng)層次結(jié)構(gòu)圖:31
1.3.2數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)從不同的角度考查數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu):從數(shù)據(jù)庫管理系統(tǒng)的角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構(gòu),這是數(shù)據(jù)庫系統(tǒng)內(nèi)部的體系結(jié)構(gòu);從數(shù)據(jù)庫最終用戶的角度看,數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)分為集中式結(jié)構(gòu)、分布式結(jié)構(gòu)和客戶/服務(wù)器結(jié)構(gòu),這是數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu)。1.3.2.1數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)模式(Schema):是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。或者說是用數(shù)據(jù)描述語言給出精確描述的數(shù)據(jù)庫的框架。例如:學(xué)生記錄定義為(學(xué)號、姓名、性別、系別、年齡),稱為記錄型,而(001101,張立,男,計算機,20)則是該記錄型的一個記錄值。模式只是對記錄型的描述,而與具體的值無關(guān)。三級模式的組成:由內(nèi)模式、模式和外模式組成。32應(yīng)用1應(yīng)用2應(yīng)用n……子模式1……子模式m子模式/模式映象模式模式/內(nèi)模式映象內(nèi)模式數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)33
1.模式模式:是數(shù)據(jù)庫中全部數(shù)據(jù)的一個邏輯表示。和內(nèi)模式的區(qū)別是:不涉及數(shù)據(jù)的物理存儲細節(jié)。和外模式的區(qū)別是:與具體的應(yīng)用程序及使用的高級程序設(shè)計語言無關(guān)。模式的定義描述:用數(shù)據(jù)庫系統(tǒng)提供的數(shù)據(jù)模式描述語言(DDL)來定義。
特點:對數(shù)據(jù)庫結(jié)構(gòu)的描述,它是裝填數(shù)據(jù)的框架。反映數(shù)據(jù)庫的總體觀。
2.內(nèi)模式內(nèi)模式(存儲模式):具體描述數(shù)據(jù)在外存儲器上如何組織存儲。
定義:用內(nèi)模式DDL來定義。
特點:反映數(shù)據(jù)庫的存儲觀。343、外模式
外模式:是個別用戶的數(shù)據(jù)視圖,與某一應(yīng)用有關(guān)的數(shù)據(jù)邏輯表示。
說明:外模式是模式的一個子集,稱為外模式是子模式。
定義:用外模式DDL定義。
說明:外模式DDL和用戶適用的程序設(shè)計語言具有相容的語法。
特點:反映了數(shù)據(jù)庫的用戶觀。
4、三者的關(guān)系
模式是內(nèi)模式的邏輯表示,內(nèi)模式是模式的物理實現(xiàn);外模式則是模式的部分抽取。35
5.三級結(jié)構(gòu)的優(yōu)點
(1)保證數(shù)據(jù)的獨立性。將模式和內(nèi)模式分開,保證了數(shù)據(jù)的物理獨立性;將外模式和模式分開,保證了數(shù)據(jù)的邏輯獨立性。
(2)簡化了用戶接口。按照外模式編寫應(yīng)用程序或敲入命令,而不需了解數(shù)據(jù)庫內(nèi)部的存儲結(jié)構(gòu),方便用戶使用系統(tǒng)。
(3)有利于數(shù)據(jù)共享。在不同的外模式下可有多個用戶共享系統(tǒng)中數(shù)據(jù),減少了數(shù)據(jù)冗余。
(4)利于數(shù)據(jù)的安全保密。在外模式下根據(jù)要求進行操作,不能對限定的數(shù)據(jù)操作,保證了其他數(shù)據(jù)的安全。361.3.2.2數(shù)據(jù)庫系統(tǒng)的二級映象模式/外模式映射:是定義某個外模式和模式的對應(yīng)關(guān)系,當模式發(fā)生變化時,只要改變其映射就可以使外模式保持不變(這是DBA的責任)。模式/內(nèi)模式:定義數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系,數(shù)據(jù)的存儲結(jié)構(gòu)發(fā)生變化時,改變模式/內(nèi)模式映射,就能使模式不變。371.4數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫管理系統(tǒng):
是提供建立、管理、維護和控制數(shù)據(jù)庫功能的一組計算機軟件。數(shù)據(jù)庫管理系統(tǒng)通常由三個部分組成:
數(shù)據(jù)描述語言(DDL)及其編譯程序、數(shù)據(jù)操縱語言(DML)或查詢語言及其編譯或解釋程序、數(shù)據(jù)庫管理例行程序。38
1.4.1DBMS的主要功能
1.數(shù)據(jù)定義
DBMS提供數(shù)據(jù)定義語言DDL(DataDefineLanguage),定義數(shù)據(jù)的模式、外模式和內(nèi)模式三級模式結(jié)構(gòu),定義模式/內(nèi)模式和外模式/模式二級映象,定義有關(guān)的約束條件。
例如,為保證數(shù)據(jù)庫安全而定義的用戶口令和存取權(quán)限,為保證正確語義而定義完整性規(guī)則。
2.數(shù)據(jù)操縱
DBMS提供數(shù)據(jù)操縱語言DML(DataManipulationLanguage)實現(xiàn)對數(shù)據(jù)庫的基本操作,包括檢索、插入、修改、刪除等。SQL語言就是DML的一種。39
3.數(shù)據(jù)庫運行管理DBMS對數(shù)據(jù)庫的控制主要通過四個方面實現(xiàn):數(shù)據(jù)的安全性控制數(shù)據(jù)的完整性控制多用戶環(huán)境下的并發(fā)控制數(shù)據(jù)庫的恢復(fù)以確保數(shù)據(jù)正確有效和數(shù)據(jù)庫系統(tǒng)的正常運行。404.數(shù)據(jù)庫的建立和維護功能包括數(shù)據(jù)庫的初始數(shù)據(jù)的裝入,數(shù)據(jù)庫的轉(zhuǎn)儲、恢復(fù)、重組織,系統(tǒng)性能監(jiān)視、分析等功能。5.數(shù)據(jù)通信DBMS提供與其他軟件系統(tǒng)進行通信的功能。實現(xiàn)用戶程序與DBMS之間的通信,通常與操作系統(tǒng)協(xié)調(diào)完成。411.4.2DBMS的組成1.語言編譯處理程序(1)數(shù)據(jù)定義語言DDL及其編譯程序模式轉(zhuǎn)換為目標模式的過程:三種目標模式外模式模式內(nèi)模式模式翻譯程序數(shù)據(jù)字典42(2)數(shù)據(jù)操縱語言DML及其編譯程序,實現(xiàn)對數(shù)據(jù)庫的基本操作。
DML的兩種形式:
(1)宿主型DML
宿主型DML:只能嵌入在其他高級語言中使用,而不能單獨使用。
主語言:被DDL嵌入的計算機語言稱為主語言。如:C、FORTRAN或COBOL等。分工:DML語句只完成有關(guān)數(shù)據(jù)庫存取操作功能,而其他功能由主語言完成。
(2)自主型DML
自主型DML:可以嵌入到主語言中使用,也可以單獨使用。工作方法:作為交互式命令與用戶對話,執(zhí)行其獨立的單條語句功能。43DML的語言處理有兩種方法:
(1)預(yù)編譯方法:預(yù)編譯方法采用分兩步編譯處理的方法處理應(yīng)用程序,即在對程序編譯時,先對源程序掃描,發(fā)現(xiàn)DML語句時將其轉(zhuǎn)換為相應(yīng)的主語言語句,最后使用主語言的編譯程序進行統(tǒng)一的編譯處理。預(yù)編譯處理過程:源程序(主語言+DML)源程序(標準主語言)目標代碼預(yù)編譯程序主語言編譯程(2)增強編譯方法:擴展主語言編譯程序,對其進行補充,使它能夠編譯數(shù)據(jù)庫DML44
2.系統(tǒng)運行控制程序主要包括以下幾部分:系統(tǒng)總控程序:是DBMS運行程序的核心,用于控制和協(xié)調(diào)各程序的活動;安全性控制程序:防止未被授權(quán)的用戶存取數(shù)據(jù)庫中的數(shù)據(jù);完整性控制程序:檢查完整性約束條件,確保進入數(shù)據(jù)庫中的數(shù)據(jù)的正確性、有效性和相容性;并發(fā)控制程序:協(xié)調(diào)多用戶、多任務(wù)環(huán)境下各應(yīng)用程序?qū)?shù)據(jù)庫的并行操作,保證數(shù)據(jù)的一致性;數(shù)據(jù)存取和更新程序:實施對數(shù)據(jù)庫數(shù)據(jù)的檢索、插入、修改、刪除等操作;通信控制程序:實現(xiàn)用戶程序與DBMS間的通信。
45
3.系統(tǒng)建立、維護程序主要包括以下幾部分:
裝配程序:完成初始數(shù)據(jù)庫的數(shù)據(jù)裝入;
重組程序:當數(shù)據(jù)庫系統(tǒng)性能變壞時(如查詢速度變慢),需要重新組織數(shù)據(jù)庫,重新裝入數(shù)據(jù);
系統(tǒng)恢復(fù)程序:當數(shù)據(jù)庫系統(tǒng)受到破壞時,將數(shù)據(jù)庫系統(tǒng)恢復(fù)到以前某個正確的狀態(tài)。
4.數(shù)據(jù)字典(DataDictionary,簡稱DD)
用來描述數(shù)據(jù)庫中有關(guān)信息的數(shù)據(jù)目錄;
包括數(shù)據(jù)庫的三級模式、數(shù)據(jù)類型、用戶名、用戶權(quán)限等有關(guān)數(shù)據(jù)庫系統(tǒng)的信息;
起著系統(tǒng)狀態(tài)的目錄表的作用;
幫助用戶,DBA,DBMS本身使用和管理數(shù)據(jù)庫。461.4.3DBMS的數(shù)據(jù)存取的過程
DBMS對數(shù)據(jù)的存取通常需要以下四步:
1.用戶使用某種特定的數(shù)據(jù)操作語言向DBMS發(fā)出存取請求;
2.DBMS接受請求并解釋;
3.DBMS依次檢查外模式、外模式/模式映象、模式、模式/內(nèi)模式映象及存儲結(jié)構(gòu)定義;
4.DBMS對存儲數(shù)據(jù)庫執(zhí)行必要的存取操作;471.5數(shù)據(jù)模型1.5.1數(shù)據(jù)模型的組成要素
數(shù)據(jù)模型:是模型的一種,是現(xiàn)實世界數(shù)據(jù)特征的抽象。或者說是表示實體類型及實體間聯(lián)系的模型。數(shù)據(jù)模型組成:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的約束條件三個要素組成。
1.數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu):是描述系統(tǒng)存儲數(shù)據(jù)的框架(靜態(tài))。數(shù)據(jù)結(jié)構(gòu)的類型:層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)和關(guān)系結(jié)構(gòu)。
2.數(shù)據(jù)操作數(shù)據(jù)操作:對數(shù)據(jù)進行處理(動態(tài)特性)。如數(shù)據(jù)的檢索、插入、刪除和修改等。說明:數(shù)據(jù)模型必須定義這些操作的確切含義、操作規(guī)則以及實現(xiàn)操作的語言。48
3.數(shù)據(jù)的約束條件數(shù)據(jù)的約束條件:是一組完整性規(guī)則的集合。完整性規(guī)則:是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。說明:數(shù)據(jù)模型還應(yīng)該提供定義完整性約束條件的機制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。例如,在學(xué)生數(shù)據(jù)庫中,學(xué)生的年齡不得超過40歲。491.5.2數(shù)據(jù)之間的聯(lián)系1.5.2.1三個世界的劃分現(xiàn)實世界:是存在于人們頭腦之外的客觀世界,事物及其相互聯(lián)系用概念模型描述。
信息世界:是現(xiàn)實世界在人們頭腦中的反映,客觀事物在信息世界中稱為實體。
數(shù)據(jù)世界(計算機世界):數(shù)據(jù)是信息世界中信息的數(shù)據(jù)化。現(xiàn)實世界中的事物及聯(lián)系在這里用數(shù)據(jù)模型描述。50數(shù)據(jù)處理的抽象和轉(zhuǎn)換過程現(xiàn)實世界信息世界認識抽象計算機世界511.5.1.2信息世界中的基本概念
1.實體(Entity)客觀存在并且可以相互區(qū)別的“事物”稱為實體。實體可以是可觸及的對象,如一個學(xué)生,一本書,一輛汽車;也可以是抽象的事件,如一堂課,一次比賽等。
2.屬性(Attributes)實體所具有的特性稱為屬性。如學(xué)生實體有學(xué)號、姓名、年齡、性別、系等方面的屬性。屬性有"型"和“值”之分,"型"即為屬性名,如姓名、年齡、性別是屬性的型;“值”即為屬性的具體內(nèi)容,如(990001,張立,20,男,計算機)這些屬性值的集合表示了一個學(xué)生實體。523.實體型(EntityType)若干個屬性型組成的集合可以表示一個實體的類型,簡稱實體型。如學(xué)生(學(xué)號,姓名,年齡,性別,系)就是一個實體型。4.實體集(EntitySet)同型實體的集合稱為實體集。如所有的學(xué)生、所有的課程等。5.鍵(Key)能唯一標識一個實體的屬性或?qū)傩约Q為實體的鍵。如學(xué)生的學(xué)號,學(xué)生的姓名可能有重名,不能作為學(xué)生實體的鍵。536.域(Domain)屬性值的取值范圍稱為該屬性的域。如學(xué)號的域為6位整數(shù),姓名的域為字符串集合,年齡的域為小于40的整數(shù),性別的域為(男,女)。7.聯(lián)系(Relationship)
聯(lián)系:是實體之間的相互聯(lián)系。
聯(lián)系的元素:與一個聯(lián)系有關(guān)的實體集個數(shù)。
聯(lián)系種類:在信息世界中將被抽象為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系;實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。反映實體型及其聯(lián)系的結(jié)構(gòu)形式稱為實體模型,也稱作信息模型,它是現(xiàn)實世界及其聯(lián)系的抽象表示。54(1)一對一聯(lián)系(1:1)定義:實體集A中的一個實體至多與實體集B中的一個實體相對應(yīng),反之亦然,則稱實體集A與實體集B為一對一的聯(lián)系。記作1:1。如:班級與班長,觀眾與座位,病人與床位。一對一對應(yīng)關(guān)系圖一對多對應(yīng)關(guān)系圖兩個實體型之間的聯(lián)系有如下三種類型:(2)一對多聯(lián)系(1:n)定義:實體集A中的一個實體與實體集B中的多個實體相對應(yīng),反之,實體集B中的一個實體至多與實體集A中的一個實體相對應(yīng)。記作1:n。如:班級與學(xué)生、公司與職員、省與市。55(3)多對多(m:n)定義:實體集A中的一個實體與實體集B中的多個實體相對應(yīng),反之,實體集B中的一個實體與實體集A中的多個實體相對應(yīng)。記作(m:n)。如:教師與學(xué)生,學(xué)生與課程,工廠與產(chǎn)品。多對多對應(yīng)關(guān)系圖:561.5.1.3計算機世界中的基本概念信息世界中的實體抽象為計算機世界中的數(shù)據(jù),存儲在計算機中。
1.字段(Field)對應(yīng)于屬性的數(shù)據(jù)稱為字段,也稱為數(shù)據(jù)項。字段的命名往往和屬性名相同。如學(xué)生有學(xué)號、姓名、年齡、性別、系等字段。
2.記錄(Record)對應(yīng)于每個實體的數(shù)據(jù)稱為記錄。如一個學(xué)生(990001,張立,20,男,計算機)為一個記錄。
3.文件(File)對應(yīng)于實體集的數(shù)據(jù)稱為文件。如所有學(xué)生的記錄組成了一個學(xué)生文件。57實體聯(lián)系類型:實體間的聯(lián)系和實體內(nèi)部的聯(lián)系。
實體型內(nèi)部的聯(lián)系抽象為同一記錄內(nèi)部各字段間的聯(lián)系,實體型之間的聯(lián)系抽象為記錄與記錄之間的聯(lián)系。
實體模型和數(shù)據(jù)模型是現(xiàn)實世界事物及其聯(lián)系的兩級抽象。而數(shù)據(jù)模型是實現(xiàn)數(shù)據(jù)庫系統(tǒng)的根據(jù)。
三個世界術(shù)語對照:
現(xiàn)實世界信息世界計算機世界 事物總體實體集文件 事物個體實體記錄 特征屬性字段 事物間聯(lián)系實體模型數(shù)據(jù)模型581.5.3數(shù)據(jù)模型的分類
數(shù)據(jù)模型分類:層次模型、網(wǎng)狀模型和關(guān)系模型。
三種數(shù)據(jù)模型的根區(qū)別:在于數(shù)據(jù)結(jié)構(gòu)不同,即數(shù)據(jù)之間聯(lián)系的表示方式不同。層次模型用“樹結(jié)構(gòu)”來表示數(shù)據(jù)之間的聯(lián)系;網(wǎng)狀模型是用“圖結(jié)構(gòu)”來表示數(shù)據(jù)之間的聯(lián)系;關(guān)系模型是用“二維表”來表示數(shù)據(jù)之間的聯(lián)系。591.5.3.1層次模型
層次模型中實體及其聯(lián)系:表現(xiàn)為樹結(jié)構(gòu)。如:家族關(guān)系,行政機構(gòu)等。層次模型用一棵“有向樹”的數(shù)據(jù)結(jié)構(gòu)來表示各類實體以及實體間的聯(lián)系。60層次模型結(jié)構(gòu):ABCDEF1.層次模型的特點
(1)有且僅有一個結(jié)點無雙親,該結(jié)點稱根;
(2)其他結(jié)點有且僅有一個雙親結(jié)點。(3)任何一個給定的記錄值只有按其路徑查看時,才能顯出它的全部意義。61例如:TS數(shù)據(jù)庫模型記錄型R(教研室):R#(教研室編號)、RN(教研室名)記錄型S(學(xué)生):S#(學(xué)號)、SN(姓名)、SS(成績)記錄型T(教師):T#(職工號)、TN(姓名)、TD(研究方向)記錄型D(系):D#(系編號)、DN(系名)、DL(系地點)D#DNDLR#RNS#SNSST#TNTDTS教研室R學(xué)生S系D教師T62對應(yīng)上述數(shù)據(jù)模型的一個值:該值是D02系(計算機系)記錄值及其所有后代記錄值組成的一棵樹,D02系有3個教研室子記錄值:R01、R02、R03和3個學(xué)生記錄值:S63871、S63874、S63876,教研室R01有3個教師記錄值:T2101、T17090、T3501.632.層次模型的數(shù)據(jù)操縱與數(shù)據(jù)完整性約束
層次模型的數(shù)據(jù)操縱主要有查詢、插入、刪除和修改,
進行插入、刪除和修改操作時要滿足層次模型的完整性約束條件。
進行插入操作時,如果沒有相應(yīng)的雙親結(jié)點值就不能插入子女結(jié)點值;進行刪除操作時,如果刪除雙親結(jié)點值,則相應(yīng)的子女結(jié)點值也被同時刪除;
修改操作時,應(yīng)修改所有相應(yīng)的記錄,以保證數(shù)據(jù)的一致性。643.層次模型的優(yōu)缺點優(yōu)點:
(1)比較簡單,只需很少幾條命令就能操縱數(shù)據(jù)庫,比較容易使用。(2)結(jié)構(gòu)清晰,結(jié)點間聯(lián)系簡單,只要知道每個結(jié)點的雙親結(jié)點,就可知道整個模型結(jié)構(gòu)。
如表示行政層次,家族關(guān)系很方便。(3)它提供了良好的數(shù)據(jù)完整性支持。缺點:
(1)不能直接表示兩個以上的實體型間的復(fù)雜的聯(lián)系和實體型間的多對多聯(lián)系。(2)對數(shù)據(jù)的插入和刪除的操作限制太多。(3)查詢子女結(jié)點必須通過雙親結(jié)點。651.5.3.2網(wǎng)狀模型網(wǎng)狀模型:用“圖結(jié)構(gòu)”來表示數(shù)據(jù)之間的聯(lián)系。
1.特點
1)有一個以上結(jié)點無雙親;
2)至少有一個結(jié)點有多于一個的雙親。N1N2N3N4網(wǎng)狀模型圖例66如:學(xué)生和課程間的關(guān)系。一個學(xué)生可以選修多門課程,一門課程可以由多個學(xué)生選修。學(xué)生課程672.網(wǎng)狀模型的數(shù)據(jù)操縱與完整性約束網(wǎng)狀模型的數(shù)據(jù)操縱主要包括查詢、插入、刪除和修改數(shù)據(jù)。插入數(shù)據(jù)時,允許插入尚未確定雙親結(jié)點值的子女結(jié)點值,如可增加一名尚未分配到某個教研室的新教師,也可增加一些剛來報到,還未分配宿舍的學(xué)生。刪除數(shù)據(jù)時,允許只刪除雙親結(jié)點值,如可刪除一個教研室,而該教研室所有教師的信息仍保留在數(shù)據(jù)庫中。修改數(shù)據(jù)時,可直接表示非樹形結(jié)構(gòu),而無需像層次模型那樣增加冗余結(jié)點,因此,修改操作時只需更新指定記錄即可。68
3.網(wǎng)狀模型的優(yōu)缺點優(yōu)點:
(1)能更為直接地描述客觀世界,可表示實體間的多種復(fù)雜聯(lián)系。(2)具有良好的性能和存儲效率缺點:
(1)結(jié)構(gòu)復(fù)雜,其DDL語言極其復(fù)雜。(2)數(shù)據(jù)獨立性差,由于實體間的聯(lián)系本質(zhì)上是通過存取路徑表示的,因此應(yīng)用程序在訪問數(shù)據(jù)時要指定存取路徑。691.5.3.3關(guān)系模型
1.關(guān)系模型的基本概念關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是一個“二維表框架”組成的集合,每個二維表又可稱為關(guān)系,所以關(guān)系模型是“關(guān)系框架”的集合。關(guān)系模型與層次模型、網(wǎng)狀模型不同,它是建立在嚴格的數(shù)學(xué)概念之上的。工號姓名職稱840307李朝講師820502王依林副教授教師表70有關(guān)關(guān)系模型的術(shù)語:關(guān)系:一個關(guān)系對應(yīng)一張二維表;
元組:表中的一行稱為一個元組;屬性:表中的一列稱為一個屬性;屬性名:每一列的名稱;域:屬性的取值范圍;
關(guān)鍵字:能夠唯一地標識一個元組的屬性或最小屬性組;分量:元組中的一個屬性值;
關(guān)系模式:對關(guān)系的描述;關(guān)系模式的表示:關(guān)系名(屬性名1、屬性名2、
……、屬性名N)71用關(guān)系模式表示實體與實體間的聯(lián)系對應(yīng)關(guān)系:實體——關(guān)系實體名——關(guān)系名實體屬性——關(guān)系屬性
舉例:用關(guān)系表示教師和學(xué)生實體
教師實體:教師(工號、姓名、職稱)學(xué)生實體:學(xué)生(學(xué)號、姓名、性別、年齡)教師表工號姓名職稱840307李朝講師820502王依林副教授學(xué)生表學(xué)號姓名性別年齡99035趙剛男1998733張江男2098756武志遠男1800554侗亮女2172用關(guān)系模式表示教師—學(xué)生實體間的聯(lián)系關(guān)系模式:教師—學(xué)生(工號,學(xué)號)
關(guān)系表示:工號學(xué)號840307990358
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- pg面試試題及答案
- 2025雙方協(xié)商解除勞動合同協(xié)議范本
- 代持投資協(xié)議范本(股權(quán)激勵)
- 房地產(chǎn)企業(yè)財務(wù)外包與稅務(wù)籌劃合同
- 嵌入式開發(fā)行業(yè)信息統(tǒng)計試題及答案
- JAVA編程錯誤分類與解決方案試題及答案
- 云環(huán)境下構(gòu)建高效測試平臺的策略與注意事項試題及答案
- 工業(yè)園項目總體規(guī)劃
- 數(shù)據(jù)庫中的表設(shè)計試題及答案
- 縣域供水體系提升改造項目安全保障方案
- 2024年全國中小學(xué)生《學(xué)游泳、防溺水、懂自救》教育知識試題庫與答案
- 順豐快遞管理規(guī)章制度
- 肌骨超聲臨床應(yīng)用病例分析
- 兒童顱內(nèi)腫瘤的護理
- 機械銷售合同范例英語
- 過敏性休克課件護理
- 【MOOC】分子生物學(xué)-華中農(nóng)業(yè)大學(xué) 中國大學(xué)慕課MOOC答案
- 物業(yè)保潔常用藥劑MSDS
- 【MOOC】無機及分析化學(xué)(上)-華中農(nóng)業(yè)大學(xué) 中國大學(xué)慕課MOOC答案
- 醫(yī)療糾紛防范及法律責任課件
- 電動自行車車棚設(shè)計施工規(guī)劃方案
評論
0/150
提交評論