數(shù)據(jù)庫系統(tǒng)概論-第1章.ppt_第1頁
數(shù)據(jù)庫系統(tǒng)概論-第1章.ppt_第2頁
數(shù)據(jù)庫系統(tǒng)概論-第1章.ppt_第3頁
數(shù)據(jù)庫系統(tǒng)概論-第1章.ppt_第4頁
數(shù)據(jù)庫系統(tǒng)概論-第1章.ppt_第5頁
免費預覽已結束,剩余58頁可下載查看

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫系統(tǒng)概論 楊 健,【課程說明】,課程性質:專業(yè)必修課。計算機科學技術中發(fā)展最快的、應用最廣的技術,已成為計算機信息系統(tǒng)與應用系統(tǒng)的核心技術和重要基礎。 內容:系統(tǒng)地闡述數(shù)據(jù)庫系統(tǒng)的理論、技術和方法。 先行課:數(shù)據(jù)結構。 建議教材:薩師煊 王珊數(shù)據(jù)庫系統(tǒng)概論高等教育出版社 參考教材: C. J. Date An Introduction to Database Systems 機械工業(yè)出版社 R. Elmasri, S. B. Navathe Fundamentals of Database Systems (third edition)人民郵電出版社 R. Ramakrishnan, J

2、. Gehrke Database Management Systems (third edition)清華大學出版社,【課程安排】,學分:3學分 課時:54學時 成績計算方法 考勤:占總成績10(抽查35次考勤) 平時作業(yè):占總成績10 實驗:占總成績20 期末筆試:占總成績60,【各章節(jié)課時安排】,課程講授 第1章 緒論8學時 第2章 關系數(shù)據(jù)庫4學時 第3章 關系數(shù)據(jù)庫標準語言SQL12學時 第4章 數(shù)據(jù)庫安全性2學時 第5章 數(shù)據(jù)庫完整性4學時 第6章 關系數(shù)據(jù)理論8學時 第7章 數(shù)據(jù)庫設計10學時 第8章 數(shù)據(jù)庫編程2學時 第9章 數(shù)據(jù)庫恢復技術2學時 第10章并發(fā)控制2學時 實驗環(huán)

3、節(jié): 跟據(jù)實際情況安排SQL SERVER環(huán)境下的實驗,第1章 緒論,1.1 數(shù)據(jù)庫系統(tǒng)概述 1.2 數(shù)據(jù)模型 1.3 數(shù)據(jù)庫系統(tǒng)結構 1.4 數(shù)據(jù)庫系統(tǒng)的組成 1.5 小結,數(shù)據(jù)庫的應用,學校教學管理系統(tǒng) 圖書管理系統(tǒng) 超市業(yè)務系統(tǒng) 銀行業(yè)務系統(tǒng) 數(shù)據(jù)處理是指對各種形式的數(shù)據(jù)進行收集、儲存、加工和傳播的一系列活動的總和。其目的是從大量的原始數(shù)據(jù)中提取、推導出對人們有價值的信息以作為行動和決策的依據(jù);是為了借助計算機科學地保存和管理復雜的大量數(shù)據(jù),以便于人們能方便而充分地利用這些寶貴的信息資源。 數(shù)據(jù)庫技術所研究的問題就是如何科學地組織和儲存數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。數(shù)據(jù)庫技術是數(shù)據(jù)管理

4、的技術。數(shù)據(jù)庫系統(tǒng)是當代計算機系統(tǒng)的重要組成部分,什么是數(shù)據(jù)管理技術,狹義:數(shù)據(jù)庫技術 廣義:對數(shù)據(jù)進行管理、利用的所有技術 數(shù)據(jù)庫技術 數(shù)據(jù)模型、數(shù)據(jù)存儲結構和索引、查詢處理和查詢優(yōu)化、事務與并發(fā)、開發(fā)工具等 數(shù)據(jù)倉庫技術 數(shù)據(jù)挖掘技術 數(shù)據(jù)集成技術 信息檢索技術 ,數(shù)據(jù)管理技術與圖靈獎,圖靈獎歷史上的三位數(shù)據(jù)庫專家: 1973年, 查理士巴赫曼(Charles W. Bachman): “網狀數(shù)據(jù)庫之父”或“DBTG之父” 1981年,埃德加科德(Edgar F. Codd): “關系數(shù)據(jù)庫之父” 1998年,詹姆斯尼古拉格雷(James Gray):數(shù)據(jù)庫與事務處理,1.1 數(shù)據(jù)庫系統(tǒng)概

5、述,1.1.1 數(shù)據(jù)庫的地位 1.1.2 四個基本概念 1.1.3 數(shù)據(jù)管理技術的產生與發(fā)展,1.1.1 數(shù)據(jù)庫的地位,數(shù)據(jù)庫技術產生于六十年代末,是數(shù)據(jù)管理的最新技術,是計算機科學的重要分支 數(shù)據(jù)庫技術是信息系統(tǒng)的核心和基礎,它的出現(xiàn)極大地促進了計算機應用向各行各業(yè)的滲透 數(shù)據(jù)庫的建設規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志,1.1.2 四個基本概念,數(shù)據(jù)(Data) 數(shù)據(jù)庫(Database) 數(shù)據(jù)庫管理系統(tǒng)(DBMS) 數(shù)據(jù)庫系統(tǒng)(DBS),一、數(shù)據(jù),數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象 數(shù)據(jù)的定義:對客觀事物的性質、狀態(tài)以及相互關系等進行記載的物理符

6、號或是這些物理符號的組合。 數(shù)據(jù)的表現(xiàn)形式:數(shù)值數(shù)據(jù)、圖形數(shù)據(jù)、聲音數(shù)據(jù)、視覺數(shù)據(jù)、模糊數(shù)據(jù) 數(shù)據(jù)的特點:數(shù)據(jù)與其語義是不可分的,數(shù)據(jù)舉例,數(shù)據(jù):學生檔案中的學生記錄 (李明,男,1972,江蘇,計算機系,1990) 數(shù)據(jù)的解釋 語義:學生姓名、性別、出生年月、籍貫、所在系別、入學時間 解釋:李明是個大學生,1972年出生,江蘇人,1990年考入計算機系 請給出另一個解釋和語義 結論:數(shù)據(jù)的形式不能完全表達其內容,數(shù)據(jù)與其語義是不可分的,二、數(shù)據(jù)庫(舉例),人們收集并抽取出一個應用所需要的大量數(shù)據(jù)之后,應將其保存起來以供進一步加工處理,進一步抽取有用信息,數(shù)據(jù)庫的定義:數(shù)據(jù)庫(Database

7、,簡稱DB)是長期儲存在計算機內、有組織的、可共享的大量數(shù)據(jù)集合 數(shù)據(jù)庫的特征: 數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存; 可為各種用戶共享; 冗余度較??; 數(shù)據(jù)獨立性較高; 易擴展,三、數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫管理系統(tǒng)DBMS是為數(shù)據(jù)庫DB的建立、使用和維護而配置的軟件。它建立在操作系統(tǒng)的基礎之上,對DB進行統(tǒng)一的管理與控制。用戶使用的各種DB命令以及應用程序的執(zhí)行,都必須通過DBMS。DBMS還承擔了DB的維護工作,保證DB的安全性和完整性。 DBMS的主要功能包括: 1.數(shù)據(jù)庫定義功能 DBMS提供數(shù)據(jù)定義語言(DDL)對數(shù)據(jù)庫進行描述,而不是數(shù)據(jù)本身。用以刻畫數(shù)據(jù)庫的框架;保存在數(shù)據(jù)字典中

8、;是DBMS存取和管理數(shù)據(jù)的基本依據(jù)。 2.數(shù)據(jù)組織、存儲和管理,3.數(shù)據(jù)操縱功能 DBMS提供數(shù)據(jù)操縱語言(DML)實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的基本操作:檢索、插入、修改和刪除。 4.數(shù)據(jù)庫事物管理和運行管理 這是DBMS運行時的核心部分,包括數(shù)據(jù)的完整性控制、數(shù)據(jù)的安全性控制和數(shù)據(jù)庫的恢復等。所有DB的操作都要在這些控制程序的統(tǒng)一管理下進行,以保證事務的正確運行,保證DB的正確有效。 5.數(shù)據(jù)庫的建立和維護功能 大都由各應用程序來完成。 6.其它功能 此外,特別值得一提的是數(shù)據(jù)字典(DD)。在數(shù)據(jù)字典中存放著對數(shù)據(jù)庫各級模式所作的定義,是對數(shù)據(jù)庫結構的描述。這些數(shù)據(jù)是數(shù)據(jù)庫系統(tǒng)相關的信息,稱為元數(shù)據(jù)

9、,四、數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)(Database System,簡稱DBS)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構成。 在不引起混淆的情況下常常把數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫。 數(shù)據(jù)庫系統(tǒng)的構成:由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應用系統(tǒng)、數(shù)據(jù)庫管理員(和用戶)構成。 數(shù)據(jù)庫系統(tǒng)構成如右圖:,1.1.3 數(shù)據(jù)管理技術的產生與發(fā)展,數(shù)據(jù)處理的中心問題是數(shù)據(jù)管理。數(shù)據(jù)管理指的是對數(shù)據(jù)的分類、組織、編碼、儲存、檢索和維護。數(shù)據(jù)管理隨著計算機硬、軟件的發(fā)展而不斷發(fā)展,至今已經經歷了以下幾個階段: 1人工管理階段(50年代中期以前) 背景:計算機主要用于科學計算;硬件上用磁帶、卡片和紙帶作外存;軟件上無

10、OS,無管理數(shù)據(jù)的軟件。 特點: 1)數(shù)據(jù)不保存 2)沒有軟件系統(tǒng)對數(shù)據(jù)進行管理 3)基本上沒有文件概念,數(shù)據(jù)組織的方式必須由程序員自行設計,數(shù)據(jù)不具有獨立性,4)數(shù)據(jù)不共享,一組數(shù)據(jù)對應一個程序。數(shù)據(jù)是面向應用的。即使兩個應用程序涉及某些相同的數(shù)據(jù),也必須各自定義,無法相互利用,相互參照,所以程序間有大量重復數(shù)據(jù)。,2 文件系統(tǒng)階段(50年代后期到60年代中期) 背景:計算機應用于科學計算、管理;硬件上,外存有磁盤等直接存取的存儲設備;軟件上,有了OS,有了管理數(shù)據(jù)軟件(稱為文件系統(tǒng));處理方式上,有了文件批處理,而且能聯(lián)機實時處理。 特點: 1)數(shù)據(jù)長期保留在外存上反復處理。 2)由于有文

11、件系統(tǒng)進行數(shù)據(jù)管理,從而使程序與數(shù)據(jù)有了一定的獨立性。 3)文件多樣化。,4)數(shù)據(jù)存取基本上以記錄為單位。 5)數(shù)據(jù)共享性差,冗余大;數(shù)據(jù)和程序缺乏獨立性。,3數(shù)據(jù)庫系統(tǒng)階段(60年代后期開始) 背景:計算機用于管理規(guī)模更加龐大;硬件上,有了大容量的磁盤;軟件上,有了DBMS;聯(lián)機實時處理、分布式處理。 特點: 1)數(shù)據(jù)的結構化(要求在描述數(shù)據(jù)時不僅描述數(shù)據(jù)本身,而且還要描述數(shù)據(jù)間的聯(lián)系)。 2)數(shù)據(jù)共享性高,冗余度小,易擴充。 3)具有較高的數(shù)據(jù)和程序獨立性。,4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制,具有統(tǒng)一的數(shù)據(jù)控制功能:安全性、完整性、并發(fā)控制。 5)數(shù)據(jù)的最小存取單位是數(shù)據(jù)項。,數(shù)據(jù)高共享性

12、的好處:降低數(shù)據(jù)的冗余度,節(jié)省存儲空間;避免數(shù)據(jù)間的不一致性;使系統(tǒng)易于擴充 數(shù)據(jù)獨立性:物理獨立性(用戶的應用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。當數(shù)據(jù)的物理存儲改變了,應用程序不用改變)和邏輯獨立性(用戶的應用程序與數(shù)據(jù)庫的邏輯結構是相互獨立的。數(shù)據(jù)的邏輯結構改變了,用戶程序也可以不變) 數(shù)據(jù)結構化:整體數(shù)據(jù)的結構化是數(shù)據(jù)庫的主要特征之一。數(shù)據(jù)庫中實現(xiàn)的是數(shù)據(jù)的真正結構化:數(shù)據(jù)的結構用數(shù)據(jù)模型描述,無需程序定義和解釋;數(shù)據(jù)可以變長;數(shù)據(jù)的最小存取單位是數(shù)據(jù)項。,DBMS對數(shù)據(jù)的控制功能: 1數(shù)據(jù)的安全性(Security)保護:使每個用戶只能按指定方式使用和處理指定數(shù)據(jù),保護數(shù)據(jù)

13、以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞 2數(shù)據(jù)的完整性(Integrity)檢查:將數(shù)據(jù)控制在有效的范圍內,或保證數(shù)據(jù)之間滿足一定的關系 3并發(fā)(Concurrency)控制:對多用戶的并發(fā)操作加以控制和協(xié)調,防止相互干擾而得到錯誤的結果 4數(shù)據(jù)庫恢復(Recovery):將數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài),1.2 數(shù)據(jù)模型,1.2.1 數(shù)據(jù)模型的三要素 1.2.2 概念模型 1.2.3 三種主要的數(shù)據(jù)模型,數(shù)據(jù)庫是某個企業(yè)、組織或部門所涉及的數(shù)據(jù)的綜合。它不僅反映數(shù)據(jù)本身地內容,而且反映數(shù)據(jù)之間的聯(lián)系。那么,如何抽象、表示處理現(xiàn)實世界中的數(shù)據(jù)和信息呢?在數(shù)據(jù)庫中是用數(shù)據(jù)模型這個工具

14、來對現(xiàn)實世界進行抽象的。 數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)中用于提供信息表示和操作手段的形式構架。 不同的數(shù)據(jù)模型是提供給我們模型化數(shù)據(jù)和信息的不同工具。根據(jù)模型應用的不同目的,可以將模型分為兩類:一是概念模型(也稱信息模型),一是數(shù)據(jù)模型(如網狀、層次、關系模型)。前者是按用戶的觀點來對數(shù)據(jù)和信息建模;后者按計算機系統(tǒng)的觀點來對數(shù)據(jù)建模。,1.2.1 數(shù)據(jù)模型的三要素,一般地講,數(shù)據(jù)模型是嚴格定義的概念的集合。這些概念精確描述系統(tǒng)的靜態(tài)特征、動態(tài)特征和完整性約束條件。因此,數(shù)據(jù)模型通常由數(shù)據(jù)結構、數(shù)據(jù)操作和完整性約束三部分組成。 1數(shù)據(jù)結構 數(shù)據(jù)結構是所研究的對象類型的集合。這些對象是數(shù)據(jù)庫的組成成分。

15、一般可分為兩類:一是與數(shù)據(jù)類型、內容、性質相關的對象;一是與數(shù)據(jù)之間聯(lián)系有關的對象。 2數(shù)據(jù)操作 數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象(型)和實例(值)允許執(zhí)行的操作的集合。它包括操作及有關的操作規(guī)則。主要由檢索和更新兩大類操作。,數(shù)據(jù)結構是對系統(tǒng)靜態(tài)特性的描述;數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述。 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ù)模型的這三個方面內容完整地描述了一個數(shù)據(jù)模型,而模型地結構是刻畫模型性質地最重要方面。,1.2.2 概念模型

16、,數(shù)據(jù)模型是DBS的核心和基礎。為了把現(xiàn)實世界中的具體事物抽象、組織為DBMS支持的數(shù)據(jù)模型,人們常常首先將現(xiàn)實世界抽象為信息世界,然后將信息世界轉換為機器世界。也就是說:,首先把現(xiàn)實世界的客觀對象抽象成某一種信息結構。這種信息結構并不依賴于具體的計算機系統(tǒng),不是某一個DBMS支持的數(shù)據(jù)模型,而是概念級的模型。然后,再把概念模型轉換成計算機上某一DBMS支持的數(shù)據(jù)模型。因此,概念模型是現(xiàn)實世界到機器世界的一個中間層次。,信息世界涉及的主要概念有: 1實體(Entity) 客觀存在并可相互區(qū)分的事務叫做實體。實體可以是人、物、實際的對象、某些概念、事物間的聯(lián)系。 2屬性(Attribute) 屬

17、性是實體所具有的某一特性。一個實體可以由若干個屬性來刻畫。例如,學生實體可以由學號、姓名、年齡、性別、系、年級等屬性組成。這些屬性值組合起來表征一個學生。 3碼(Key) 與實體一一對應的唯一標識實體的最小屬性集合成為碼。例如,學號就是學生實體的碼。,4域(Domain) 某個(些)屬性的取值范圍稱為域。例如,性別的域就是(男,女) 5實體型(Entity type) 具有相同屬性的實體具有共同的特征和性質。用實體名及其屬性名集合來描述刻畫同類實體,稱為實體型。例如 學生(學號,姓名,年齡,性別,系,年級) 6實體集(Entity Set) 同型實體的集合成為實體集。例如,全體學生即是一個實體

18、集。,7聯(lián)系 現(xiàn)實世界的事物之間是有聯(lián)系的。這種聯(lián)系必然要在信息世界中加以反映。一般存在兩類聯(lián)系:一是實體內部的聯(lián)系;一是實體間的聯(lián)系。 兩個實體型之間的聯(lián)系可分成三類: (1)一對一聯(lián)系(1:1) 若對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯(lián)系,反之亦然,則稱實體集A和B具有一對一聯(lián)系。記為1:1. 例如,一個部門有一個經理,而一個經理只在一個部門任職,則部門和經理間具有一對一聯(lián)系。,(2)一對多聯(lián)系(1:n) 若對于實體集A中的每一個實體,實體集B中有n個實體(n0)與之聯(lián)系;反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A和B具有一對多聯(lián)

19、系,記為1:n。 例如,一個部門有若干個員工,而每一個員工只在一個部門工作,則部門和員工間具有一對多的聯(lián)系。 (3)多對多聯(lián)系(m:n) 若對于實體集A中的每一個實體,實體集B中有n個實體(n0)與之聯(lián)系;反過來,對于實體集B中的每一個實體,實體集A中也有m個實體(m0)與之聯(lián)系,則稱實體集A與B具有多對多聯(lián)系,記為m:n。 例如,一個項目有多個職工參加,而一個職工可以參加若干項目的工作,則項目和職工之間具有多對多的聯(lián)系,一般地,兩個以上實體型間也存在一對一、一對多和多對多的聯(lián)系。若實體集E1,E2, ,EN存在聯(lián)系,對于實體集Ej(j=1,2, ,I-1,I+1,n)中的給定實體,最多只和E

20、i中的一個實體相聯(lián)系,則我們說Ei與E1,E2, ,Ei-1, Ei+1,, EN之間的聯(lián)系是一對多的。至于兩個以上實體型間一對一、多對多聯(lián)系在此不在贅述。 另外,同一實體集內的各實體可以有某種聯(lián)系。例如,職工實體集內部具有領導和被領導的聯(lián)系,即某一職工領導若干職工,而一個職工僅被另一個職工所領導,因此是一對多的聯(lián)系。,概念模型的表示方法最常用的是實體聯(lián)系方法。此方法是用E-R圖描述某一組織的概念模型。 在E-R圖中, 用長方形表示實體型。在框內寫上實體名 用橢圓形表示實體的屬性,并用無向邊把實體與某屬性連接起來。例如:,用菱形表示實體間的聯(lián)系,菱形框內寫上聯(lián)系名,用無向邊把菱形分別與有關的實

21、體相連,在無向邊旁邊標上聯(lián)系的類型。若實體之間聯(lián)系也有屬性,則把屬性和菱形也用無向邊連接上。例如:下頁 如果某個部門的概念模型中涉及的實體和實體的屬性多,可以把實體及其屬性在另一幅圖中畫出。 E-R方法是抽象和描述現(xiàn)實世界的有力工具。用E-R圖表示的概念與具體的DBMS所支持的數(shù)據(jù)模型相獨立,是多種數(shù)據(jù)模型的共同基礎,因而比數(shù)據(jù)模型更一般,更抽象,更接近現(xiàn)實世界。,例:用E-R圖來表示某個工廠的物資管理的概念模型。 物資管理涉及的實體有: 倉庫:屬性有倉庫號、倉庫面積、電話號碼 零件:屬性有零件號、名稱、規(guī)格、單價、描述 供應商:屬性有供應商號、姓名、地址、電話號碼、帳號 項目:屬性有項目號、

22、預算、開工日期 職工:屬性有職工號、姓名、年齡、職稱 這些實體之間的聯(lián)系如下: 一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中,因此倉庫和零件之間具有多對多的聯(lián)系。用庫存量來描述某種零件在某個倉庫中的數(shù)量。 一個倉庫有多個職工,一個職工只能在一個倉庫中工作。 職工之間具有領導和被領導的關系。 供應商、項目和零件之間具有多對多聯(lián)系。,思考并完成 1學校中有若干個系。每個系有若干班級和教研室。每個教研室有若干教員,其中有的教授和副教授每個人各帶若干研究生。每個班有若干學生。每個學生選修若干門課程。每門課可由多個學生選修。試用E-R圖畫出該學校的概念模型。 2某工廠中生產若干產品。每種產品由

23、不同的零件組成。有的零件可以用在不同的產品上。這些零件由不同的原材料制成,但不同的零件所用的原材料可以相同。這些零件按照所屬的不同產品放在倉庫中,而原材料按類別放在若干倉庫中。請用E-R圖畫出此工廠產品、零件、原材料和倉庫的概念模型。,1.2.3 三種主要的數(shù)據(jù)模型,當前,世紀DBS中所支持的主要數(shù)據(jù)模型是: 1.層次模型 層次模型是最早的數(shù)據(jù)模型。它用樹型結構表示實體及其之間的聯(lián)系。 (1)有且僅有一個結點無雙親,稱為根結點。 (2)其他結點有且僅有一個雙親。 2.網狀模型 網狀模型用網狀結構表示實體及其之間的聯(lián)系。 (1)有一個以上的結點無雙親。 (2)結點可以有多于一個的雙親。 3.關系

24、模型,3關系模型 關系模型對數(shù)據(jù)庫的理論和實踐產生很大的影響。它比層次和網狀模型有明顯的優(yōu)點,已成為當今計算機技術的主流模型。 主要術語 如:下頁 關系:一個關系對應于平常說的一張表。 元組:表中的一行稱為一個元組。 屬性:表中的一列稱為屬性,給每一列起一個名即屬性名。 主碼或稱為關鍵字:表中唯一標識一個元組的某個屬性組。 候選碼:表中能唯一標識一個元組的屬性組。一個表可能有多個候選碼。 域:屬性的取值范圍。 分量:元組中的一個屬性值。 關系模式:對關系的描述,用以下形式表示 關系名(屬性名1,屬性名2,屬性名n),主碼,整數(shù),字符串,1,2,3,4,域,屬性名,關系,元組(行),學生登記表,

25、關系名,屬性(列),關系模型的特點 關系模型的概念單一 無論是實體還是實體間的聯(lián)系都用關系來表示。例: 職工(職工號,姓名,年齡,職稱) 領導(領導職工號,被領導職工號) 關系模型中,在用戶觀點里數(shù)據(jù)的邏輯結構就是表。也只有表,這樣概念單一、清晰。 關系必須是規(guī)范化的關系 所謂規(guī)范化是指關系模型中,每一個關系模式要滿足一定的要求或稱為規(guī)范條件。規(guī)范條件很多,但最基本的要求是每個分量是一個不可分的數(shù)據(jù)項,亦即不允許表中再有表。 在關系模型中,用戶對數(shù)據(jù)的檢索操作不過是從原來表中得到一張新的表。,關系模型的數(shù)據(jù)操縱 包括查詢、插入、刪除、更新 數(shù)據(jù)操作是集合操作,操作對象和操作結果都是關系,即若干

26、元組的集合 存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細說明“怎么干” 關系模型的完整性約束 包括實體完整性、參照完整性和用戶自定義完整性 關系模型的存儲結構 表以文件形式存儲;有的DBMS一個表對應一個操作系統(tǒng)文件;有的DBMS自己設計文件結構。,關系模型的優(yōu)缺點 優(yōu)點: 建立在嚴格的數(shù)學概念的基礎上 概念單一。數(shù)據(jù)結構簡單清晰,用戶易懂易用 實體和各類聯(lián)系都用關系來表示。 對數(shù)據(jù)的檢索結果也是關系。 關系模型的存取路徑對用戶透明 具有更高的數(shù)據(jù)獨立性,更好的安全保密性 簡化程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作 缺點:存取路徑對用戶透明導致查詢效率往往不如非關系數(shù)據(jù)模型,為提高性能,必

27、須對用戶的查詢請求進行優(yōu)化,這增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度,1.3 數(shù)據(jù)庫系統(tǒng)結構,1.3.1 數(shù)據(jù)庫系統(tǒng)內部的模式結構 1.3.2 數(shù)據(jù)庫系統(tǒng)外部的體系結構,1.3.1 數(shù)據(jù)庫系統(tǒng)的模式結構,一、數(shù)據(jù)庫系統(tǒng)模式的概念 1.“型” 和“值” 的概念 型(Type)對某一類數(shù)據(jù)的結構和屬性的說明 值(Value)是型的一個具體賦值 例如:學生記錄 記錄型:(學號,姓名,性別,系別,年齡,籍貫) 該記錄型的一個記錄值: (900201,李明,男,計算機,22,江蘇) 2.模式(Schema) 數(shù)據(jù)庫邏輯結構和特征的描述 是型的描述 反映的是數(shù)據(jù)的結構及其聯(lián)系 模式是相對穩(wěn)定的,3.模式的一個實例

28、 模式的一個具體值 反映數(shù)據(jù)庫某一時刻的狀態(tài) 同一個模式可以有很多實例 實例隨數(shù)據(jù)庫中的數(shù)據(jù)的更新而變動,二、數(shù)據(jù)庫系統(tǒng)的三級模式結構 每個數(shù)據(jù)庫系統(tǒng)都具有三級模式,即模式、外模式和內模式;與之對應的是數(shù)據(jù)庫的三級結構:全局邏輯結構、局部邏輯結構和物理存儲結構。,1模式(Schema) 模式是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述,是數(shù)據(jù)庫全體數(shù)據(jù)在邏輯上的視圖。它與具體的數(shù)據(jù)值無關,也與具體的應用程序、高級語言以及開發(fā)工具無關。 數(shù)據(jù)庫的模式是唯一的,是以數(shù)據(jù)模型為基礎的。它綜合考慮所有用戶的需求,并將其結合成有機邏輯整體。 定義模式時既要考慮數(shù)據(jù)庫的邏輯結構。例如表中記錄的字段、字段類型等

29、,又要定義數(shù)據(jù)間的關系,考慮數(shù)據(jù)的安全性和完整性。 【例1-3-1】為一個醫(yī)院建立患者檔案管理系統(tǒng),即在其數(shù)據(jù)庫表中包含患者資料,并可以提供所有患者信息的查詢、修改等功能。其中,數(shù)據(jù)的邏輯結構、數(shù)據(jù)間的關系、安全性和完整性的定義就是這個數(shù)據(jù)庫的模式,即全局邏輯結構。 全局邏輯結構是為所有患者建立的各個表的集合,相對而言,全局邏輯結構的信息最全面。,2外模式(External Schema) 外模式也被稱為用戶模式。它是用戶和程序員最后看到并使用的局部數(shù)據(jù)邏輯結構和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。 在例1-3-1中,心血管病人的數(shù)據(jù)不同于全局的。對于心血管病

30、人信息的查詢只需要使用心血管病人的表即可。在此,心血管病人的這部分數(shù)據(jù)表是局部的,這種結構也被稱為局部邏輯結構。 1)外模式的地位:介于模式與應用之間 模式與外模式的關系:一對多 外模式通常是模式的子集;一個數(shù)據(jù)庫可以有多個外模式(反映了不同的用戶的應用需求、看待數(shù)據(jù)的方式、對數(shù)據(jù)保密的要求);對模式中同一數(shù)據(jù),在外模式中的結構、類型、長度、保密級別等都可以不同,外模式與應用的關系:一對多 同一外模式也可以為某一用戶的多個應用系統(tǒng)所使用 但一個應用程序只能使用一個外模式 2)外模式的用途 保證數(shù)據(jù)庫安全性的一個有力措施。 每個用戶只能看見和訪問所對應的外模式中的數(shù)據(jù),3內模式(Internal

31、 Schema) 內模式也就是存儲模式。它是數(shù)據(jù)物理結構和存儲方式的描述,是數(shù)據(jù)在存儲介質上的保存方式。例如,數(shù)據(jù)保存在磁盤、磁帶或其他的存儲介質上,是什么形式,是不是被壓縮等。內模式是物理的存儲結構。一個數(shù)據(jù)庫只有一個內模式。,三、模式之間的關系 數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽象級別,它把數(shù)據(jù)的具體組織留給DBMS管理,使用戶能邏輯地抽象地處理數(shù)據(jù),而不必關心數(shù)據(jù)在計算機中的具體表示方式與存儲方式。 為了能夠在內部實現(xiàn)這三種抽象層次的聯(lián)系和轉換,數(shù)據(jù)庫管理系統(tǒng)在這三級模式之間提供了兩層映射: 外模式/模式映象 定義了外模式與模式之間的對應關系(每一個外模式都對應一個外模式模式映象映象定

32、義通常包含在各自外模式的描述中)。當模式改變時(例如增加新的關系、新的屬性等),由數(shù)據(jù)庫管理員對各個外模式/模式的映象作相應的改變,可以是外模式保持不變。應用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。,模式/內模式映象 數(shù)據(jù)庫中只有一個模式,也只有一個內模式,所以模式/內模式映象是唯一的。它定義了數(shù)據(jù)庫全局邏輯結構與存儲結構之間的對應關系。當數(shù)據(jù)庫的存儲結構改變了(例如選用了另外一種存儲結構),由數(shù)據(jù)庫管理員對模式/內模式映象作相應的改變,可以使模式保持不變,從而應用程序也不必改變。保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性

33、。 在數(shù)據(jù)庫的三級模式結構中,數(shù)據(jù)庫模式即全局邏輯結構是數(shù)據(jù)庫的中心和關鍵,它獨立于數(shù)據(jù)庫的其他層次。因此設計數(shù)據(jù)庫模式結構時應首先確定數(shù)據(jù)庫的邏輯模式。 數(shù)據(jù)庫的內模式依賴于它的全局邏輯結構,但獨立于數(shù)據(jù)庫的用戶視圖即外模式,也獨立于具體的存儲設備。 數(shù)據(jù)庫的外模式面向具體的應用程序。它定義在邏輯模式上,但獨立于存儲模式和存儲設備。,四、小結 1.模式 是數(shù)據(jù)庫的中心與關鍵 獨立于數(shù)據(jù)庫的其它層次 設計數(shù)據(jù)庫模式結構時應首先確定數(shù)據(jù)庫的邏輯模式 2.內模式 依賴于全局邏輯結構,但獨立于數(shù)據(jù)庫的用戶視圖即外模式,也獨立于具體的存儲設備。 它將全局邏輯結構中所定義的數(shù)據(jù)結構及其聯(lián)系按照一定的物理

34、存儲策略進行組織,以達到較好的時間與空間效率。,3.外模式 面向具體的應用程序,定義在邏輯模式之上,但獨立于存儲模式和存儲設備 設計外模式時應充分考慮到應用的擴充性。當應用需求發(fā)生較大變化,相應外模式不能滿足其視圖要求時,該外模式就得做相應改動 4.應用程序 在外模式描述的數(shù)據(jù)結構上編制的,它依賴于特定的外模式,與數(shù)據(jù)庫的模式和存儲結構獨立。 不同的應用程序有時可以共用同一個外模式。 5.二級映象 保證了數(shù)據(jù)庫外模式的穩(wěn)定性,從而從底層保證了應用程序的穩(wěn)定性,除非應用需求本身發(fā)生變化,否則應用程序一般不需要修改。 數(shù)據(jù)與程序之間的獨立性,使得數(shù)據(jù)的定義和描述可以從應用程序中分離出去。,1.3.2 數(shù)據(jù)庫系統(tǒng)外部的體系結構,數(shù)據(jù)庫系統(tǒng)外部的體系結構主要有:單用戶結構、主從式結構、分布式結構、客戶/服務

溫馨提示

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

評論

0/150

提交評論