數(shù)據(jù)庫第1次課-數(shù)據(jù)庫系統(tǒng)概論2011-6-27.ppt_第1頁
數(shù)據(jù)庫第1次課-數(shù)據(jù)庫系統(tǒng)概論2011-6-27.ppt_第2頁
數(shù)據(jù)庫第1次課-數(shù)據(jù)庫系統(tǒng)概論2011-6-27.ppt_第3頁
數(shù)據(jù)庫第1次課-數(shù)據(jù)庫系統(tǒng)概論2011-6-27.ppt_第4頁
數(shù)據(jù)庫第1次課-數(shù)據(jù)庫系統(tǒng)概論2011-6-27.ppt_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

An Introduction to Database Systems,數(shù)據(jù)庫技術(shù)與應(yīng)用,主講教師: 袁 立 自動化學(xué)院控制科學(xué)與工程系,我們身邊的數(shù)據(jù)庫?,應(yīng)用舉例,學(xué)校師資、教學(xué)、學(xué)生學(xué)籍管理; 圖書館管理; 銀行財(cái)務(wù)管理; 鐵路、民航飛機(jī)票預(yù)定系統(tǒng); 賓館房間預(yù)定系統(tǒng); 醫(yī)院病房、病歷管理; 電子商務(wù),課程學(xué)習(xí)目的,如何科學(xué)地組織數(shù)據(jù)和存儲數(shù)據(jù)的理論和方法; 如何高效地檢索數(shù)據(jù)和處理數(shù)據(jù); 如何既減少數(shù)據(jù)冗余,又能保證數(shù)據(jù)安全,實(shí)現(xiàn)數(shù)據(jù)共享的計(jì)算機(jī)應(yīng)用技術(shù)。,參考書: 數(shù)據(jù)庫應(yīng)用教程VB+SQL Server,清華大學(xué)出版社,2008年 薩師煊,王珊編,數(shù)據(jù)庫系統(tǒng)概論,高等教育出版社,2001年,第4版 數(shù)據(jù)庫技術(shù)與應(yīng)用SQL Server 劉衛(wèi)國、嚴(yán)暉主編,清華大學(xué)出版社 講授:18學(xué)時(最后一次課考試) 上機(jī):14學(xué)時(2周周五晚6點(diǎn)至9點(diǎn),3周周五晚5點(diǎn)半至9點(diǎn),4周周三晚5點(diǎn)半至9點(diǎn)) 成績:出勤10%+上機(jī)作業(yè)20%+考試70%,教學(xué)計(jì)劃,第一部分 理論篇數(shù)據(jù)庫設(shè)計(jì)技術(shù)(6學(xué)時) 第1章 數(shù)據(jù)庫系統(tǒng)概論 第2章 關(guān)系數(shù)據(jù)庫基本原理與數(shù)據(jù)庫設(shè)計(jì) 第二部分 SQL Server篇(12學(xué)時) 第3章-第14章 用T-SQL創(chuàng)建數(shù)據(jù)庫、表、查詢、索引與視圖、數(shù)據(jù)完整性、數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)等,內(nèi)容安排,第1章 數(shù)據(jù)庫系統(tǒng)概論,1.1 數(shù)據(jù)管理技術(shù)的發(fā)展 1.2 數(shù)據(jù)模型 1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu),1.1 數(shù)據(jù)管理技術(shù)的發(fā)展,1.1.1 基本概念 數(shù)據(jù)(Data) 數(shù)據(jù)庫(DB-Data Base) 數(shù)據(jù)庫管理系統(tǒng)( DBMS,Database Management System) 數(shù)據(jù)庫系統(tǒng)(Database System,DBS),(1)數(shù)據(jù),數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象 數(shù)據(jù)的定義 : 描述事物的符號記錄 數(shù)據(jù)的符號種類: 數(shù)字、字符串、日期、邏輯值、文本、圖形、圖象、聲音 數(shù)據(jù)的特點(diǎn): 數(shù)據(jù)與其語義是不可分的,數(shù)據(jù)舉例,學(xué)生檔案中的學(xué)生記錄 (李明, ,男,1986,江蘇,自動化系,2005) 數(shù)據(jù)的形式不能完全表達(dá)其內(nèi)容 數(shù)據(jù)的解釋 語義:學(xué)生姓名、照片、性別、出生年月、籍貫、所在系別、入學(xué)時間 解釋:李明是個大學(xué)生,1986年出生,江蘇人,2005年考入自動化系,數(shù)據(jù)庫(DB-Data Base),數(shù)據(jù)庫是長期儲存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)集合;以文件方式存儲。,硬件,存放數(shù)據(jù)庫的介質(zhì),常見數(shù)據(jù)庫文件擴(kuò)展名: MDF-SQL Server; MDB-Access; DBC-VFP(Visual FoxPro),(2)數(shù)據(jù)庫,(2)數(shù)據(jù)庫,數(shù)據(jù)庫的特征 數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存 可為各種用戶共享 數(shù)據(jù)獨(dú)立性較高 冗余度較小,易擴(kuò)展,數(shù)據(jù)庫管理系統(tǒng)(Database Management System,簡稱DBMS) 管理數(shù)據(jù)庫的系統(tǒng)軟件,是數(shù)據(jù)庫系統(tǒng)的核心。 位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。,(3)數(shù)據(jù)庫管理系統(tǒng),相關(guān) 人員,數(shù),據(jù),庫,用,應(yīng),系,統(tǒng),D B M S,OS,硬件,DBMS主要功能,數(shù)據(jù)定義功能 提供數(shù)據(jù)定義語言(DDL) 定義數(shù)據(jù)庫中的數(shù)據(jù)對象 數(shù)據(jù)操縱功能: 提供數(shù)據(jù)操縱語言(DML) 操縱數(shù)據(jù)實(shí)現(xiàn)對數(shù)據(jù)庫的基本操作(查詢、插入、刪除和修改),數(shù)據(jù)庫的建立和維護(hù)功能、運(yùn)行管理 保證數(shù)據(jù)的安全性、完整性 多用戶對數(shù)據(jù)的并發(fā)使用 發(fā)生故障后的系統(tǒng)恢復(fù),常見的大型商業(yè)數(shù)據(jù)庫系統(tǒng),Oracle 支持各種操作系統(tǒng) Sybase 支持各種操作系統(tǒng) Microsoft SQL Server 僅支持Windows操作系統(tǒng) DB2 專用于IBM的大型機(jī)用于并行存儲與計(jì)算 支持各種操作系統(tǒng),數(shù)據(jù)庫系統(tǒng)(Database SystemDBS)是指實(shí)際可運(yùn)行的、具有管理和控制數(shù)據(jù)庫功能并向應(yīng)用程序提供數(shù)據(jù)或信息支持的系統(tǒng)。 數(shù)據(jù)庫系統(tǒng)的構(gòu)成 計(jì)算機(jī)支持系統(tǒng):硬件支持系統(tǒng),軟件支持系統(tǒng) 數(shù)據(jù)庫 數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫應(yīng)用程序 人員,(4)數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)構(gòu)成,數(shù)據(jù)庫管理系統(tǒng)(DBMS),為了使用數(shù)據(jù)庫中的數(shù)據(jù),必須有一個對這些數(shù)據(jù)進(jìn)行訪問和控制的機(jī)構(gòu),這個機(jī)構(gòu)就是數(shù)據(jù)庫管理系統(tǒng),它是基于某種數(shù)據(jù)模型對數(shù)據(jù)庫進(jìn)行管理的系統(tǒng)軟件,是數(shù)據(jù)庫系統(tǒng)的核心。數(shù)據(jù)庫系統(tǒng)的一切操作,包括按數(shù)據(jù)模式來創(chuàng)建數(shù)據(jù)庫對象、用戶或應(yīng)用程序?qū)?shù)據(jù)對象的操作(如檢索、插入、修改、刪除等)以及數(shù)據(jù)管理和控制等,都是通過DBMS進(jìn)行的。,數(shù)據(jù)庫應(yīng)用程序,數(shù)據(jù)庫應(yīng)用程序是為了完成特定的功能而由編程人員編寫的,它與一般的計(jì)算機(jī)系統(tǒng)中的用戶程序基本相同。數(shù)據(jù)庫應(yīng)用程序可以由高級程序設(shè)計(jì)語句編寫,如使用C語言、Visual Basic等編寫。,人員,(1)數(shù)據(jù)庫管理員(Database Management Administrator),數(shù)據(jù)庫管理員是指一組熟悉計(jì)算機(jī)數(shù)據(jù)處理業(yè)務(wù)、負(fù)責(zé)設(shè)計(jì)和維護(hù)數(shù)據(jù)庫的技術(shù)人員。這些專業(yè)人員在數(shù)據(jù)庫的整個生命周期中處于十分重要的地位,也是數(shù)據(jù)庫系統(tǒng)中不可缺少的一部分。,(2)系統(tǒng)分析設(shè)計(jì)和開發(fā)人員,系統(tǒng)分析設(shè)計(jì)和開發(fā)人員的主要任務(wù)是設(shè)計(jì)和開發(fā)數(shù)據(jù)庫系統(tǒng)。他們根據(jù)用戶需求與DBA一起確定系統(tǒng)硬、軟件配置,參與概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì),并在此基礎(chǔ)上編寫應(yīng)用程序,進(jìn)行調(diào)試和安裝系統(tǒng)。,(3)用戶,用戶是指數(shù)據(jù)庫系統(tǒng)的最終用戶。不同層次的用戶按其業(yè)務(wù)工作的要求,通過應(yīng)用程序的操作界面使用數(shù)據(jù)庫,分別完成日常業(yè)務(wù)、管理和決策的工作。如超市的收銀員就是一種數(shù)據(jù)庫系統(tǒng)的用戶。,1.1.2 數(shù)據(jù)處理與數(shù)據(jù)管理,1數(shù)據(jù)處理,從已有的數(shù)據(jù)出發(fā),根據(jù)事物之間的聯(lián)系,經(jīng)過一定的處理步驟,就可以產(chǎn)生出新的數(shù)據(jù)。這新的數(shù)據(jù)又表示了新的信息,通常用來作為決策的依據(jù),這種從已知的、原始的或雜亂無章中的數(shù)據(jù)中推導(dǎo)出對人們有用的數(shù)據(jù)或信息的過程稱為數(shù)據(jù)處理。,2數(shù)據(jù)處理核心,數(shù)據(jù)處理核心不是數(shù)據(jù)計(jì)算,而是數(shù)據(jù)管理。,3數(shù)據(jù)管理,數(shù)據(jù)管理是指數(shù)據(jù)的收集、整理、組織、存儲、查詢與維護(hù)等各種操作,是數(shù)據(jù)處理的基本環(huán)節(jié),是任何數(shù)據(jù)處理任務(wù)的共性部分。數(shù)據(jù)庫技術(shù)就是一門數(shù)據(jù)管理技術(shù)。,1.1.3 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展,數(shù)據(jù)管理技術(shù)的發(fā)展過程 人工管理階段(20世紀(jì)40年代中-50年代中) 文件系統(tǒng)階段(20世紀(jì)50年代末-60年代中) 數(shù)據(jù)庫系統(tǒng)階段(20世紀(jì)60年代末-現(xiàn)在),(1)人工管理階段,時期 20世紀(jì)40年代中-50年代中 產(chǎn)生的背景 硬件水平 紙帶、磁帶、無存儲設(shè)備 軟件水平 沒有操作系統(tǒng),只有匯編語言,程序與數(shù)據(jù)是一個整體,程序和數(shù)據(jù)組基本上是綁在一起的 。一個程序中的數(shù)據(jù)無法被其他程序使用,因此程序與程序之間存在大量的重復(fù)數(shù)據(jù)。 特點(diǎn): 數(shù)據(jù)無法長期保存 數(shù)據(jù)由應(yīng)用程序管理 數(shù)據(jù)不具有獨(dú)立性和共享性;,人工管理階段(續(xù)),(2)文件系統(tǒng)階段,時期 20世紀(jì)50年代末-60年代中 產(chǎn)生的背景 硬件水平:磁盤、磁鼓 軟件水平:操作系統(tǒng)和文件系統(tǒng),文件系統(tǒng)階段(續(xù)),1特點(diǎn),輔助存儲器成為計(jì)算機(jī)系統(tǒng)不可缺少的組成部分,用來存放數(shù)據(jù)文件 。,由文件系統(tǒng)對駐留在外存儲器上的數(shù)據(jù)文件實(shí)施統(tǒng)一管理。,2優(yōu)點(diǎn):實(shí)現(xiàn)了數(shù)據(jù)的文件級共享,數(shù)據(jù)冗余無法避免,面向應(yīng)用,文件結(jié)構(gòu)難以擴(kuò)展,帶來了潛在的不一致性,(3)數(shù)據(jù)庫系統(tǒng)階段,時期 20世紀(jì)60年代末以來 產(chǎn)生的背景 應(yīng)用背景 大規(guī)模管理 硬件背景 大容量磁盤、磁盤陣列 軟件背景 有數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫系統(tǒng)特點(diǎn)(續(xù)),1數(shù)據(jù)庫技術(shù)的目標(biāo),一是克服程序和文件的相互依存 。,二是重在表現(xiàn)數(shù)據(jù)之間的聯(lián)系。,三是盡量克服數(shù)據(jù)冗余,解決數(shù)據(jù)的安全性和完整性保護(hù)問題。,2與文件系統(tǒng)的根本區(qū)別,文件系統(tǒng)是面向具體應(yīng)用 數(shù)據(jù)庫系統(tǒng)面向整個系統(tǒng)。即數(shù)據(jù)庫把一個機(jī)構(gòu)中公用的數(shù)據(jù)綜合在一起,放在一個公用的數(shù)據(jù)庫中,并將數(shù)據(jù)按照一定的邏輯結(jié)構(gòu)聯(lián)系在一起,使數(shù)據(jù)不僅存在于數(shù)據(jù)庫中,而且還能反映出各類數(shù)據(jù)之間的復(fù)雜關(guān)系。,數(shù)據(jù)庫應(yīng)用程序和數(shù)據(jù)的關(guān)系,數(shù)據(jù)庫系統(tǒng)階段(續(xù)),3數(shù)據(jù)庫系統(tǒng)階段的主要特點(diǎn),(1)數(shù)據(jù)的結(jié)構(gòu)化,數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)面向整個機(jī)構(gòu)的全局應(yīng)用; 采用一定的數(shù)據(jù)模型來進(jìn)行描述和定義,數(shù)據(jù)具有整體結(jié)構(gòu)化的特征。 在描述數(shù)據(jù)結(jié)構(gòu)的同時,不但要描述數(shù)據(jù)的本身,同時還要描述數(shù)據(jù)之間的聯(lián)系。,3數(shù)據(jù)庫系統(tǒng)階段的主要特點(diǎn),由于是從全局分析和描述數(shù)據(jù),從而可以使數(shù)據(jù)可以被機(jī)構(gòu)內(nèi)的多個用戶、多個應(yīng)用所共享。 由此可以顯著地減少數(shù)據(jù)冗余,節(jié)省存儲空間。 由于數(shù)據(jù)沒有其它副本,故不會出現(xiàn)數(shù)據(jù)的不一致性。,(2)數(shù)據(jù)共享性,除了共享的數(shù)據(jù)外,各部門還可以有自己的私有數(shù)據(jù),這些數(shù)據(jù)也可以存放在數(shù)據(jù)庫中,但它只是私有于某個部門,為了防止其它部門對它進(jìn)行訪問,可加上各種保密限制,禁止非法獲得這些數(shù)據(jù)。,3數(shù)據(jù)庫系統(tǒng)階段的主要特點(diǎn),(3)數(shù)據(jù)與程序具有獨(dú)立性,數(shù)據(jù)獨(dú)立性是指數(shù)據(jù)發(fā)生變化而應(yīng)用程序可以不變。 數(shù)據(jù)的獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和邏輯獨(dú)立性 。,物理獨(dú)立性:指用戶的應(yīng)用程序與數(shù)據(jù)庫的存儲結(jié)構(gòu)相互獨(dú)立,數(shù)據(jù)的存儲結(jié)構(gòu)發(fā)生變化,應(yīng)用程序可以不變。,邏輯獨(dú)立性:指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)相互獨(dú)立,數(shù)據(jù)的邏輯結(jié)構(gòu)發(fā)生變化,應(yīng)用程序可以不變。,數(shù)據(jù)獨(dú)立性的實(shí)現(xiàn)方法:兩層映射。,(4)便于對數(shù)據(jù)實(shí)現(xiàn)集中統(tǒng)一的管理與控制,安全性控制,完整性控制,并發(fā)控制,故障恢復(fù),3數(shù)據(jù)庫系統(tǒng)階段的主要特點(diǎn),安全性控制: 保護(hù)數(shù)據(jù)以防止不合法的使用所造成的數(shù)據(jù)泄密或破壞。 系統(tǒng)一般用檢查口令或其它手段來驗(yàn)證用戶身份,只有合法用戶才能進(jìn)入數(shù)據(jù)庫系統(tǒng); 可以通過定義保密級別和數(shù)據(jù)存取權(quán)限來控制進(jìn)入系統(tǒng)的用戶只能使用允許他使用的數(shù)據(jù)。,完整性控制 : 數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性。 數(shù)據(jù)庫中的數(shù)據(jù)是對客觀世界中事物性質(zhì)的反映,必須要符合一定的語義。 數(shù)據(jù)庫系統(tǒng)應(yīng)提供必要的功能,保證數(shù)據(jù)庫中的數(shù)據(jù)在輸入、修改過程中始終符合原來的含義或規(guī)定。,并發(fā)控制: 當(dāng)多個用戶的應(yīng)用程序同時存取、修改數(shù)據(jù)庫時,可能會發(fā)生相互干擾而得到錯誤的結(jié)果,并使數(shù)據(jù)庫的完整性受到破壞,因此必須對多用戶的并發(fā)存取操作加以控制和協(xié)調(diào)。,故障恢復(fù): 故障出現(xiàn)時,可能會影響到數(shù)據(jù)庫中數(shù)據(jù)的正確性與有效性,甚至?xí)茐恼麄€數(shù)據(jù)庫,使數(shù)據(jù)庫中的數(shù)據(jù)部分或全部丟失。 當(dāng)發(fā)生這種情況時,系統(tǒng)應(yīng)該能夠根據(jù)故障類型把數(shù)據(jù)庫恢復(fù)到正確狀態(tài)。,第1章 數(shù)據(jù)庫系統(tǒng)概論,1.1 數(shù)據(jù)管理技術(shù)的發(fā)展及各階段的特點(diǎn) 1.2 數(shù)據(jù)模型 1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu),1. 3個世界,要把現(xiàn)實(shí)世界中客觀存在的事物及其聯(lián)系最終反映到計(jì)算機(jī)的數(shù)據(jù)世界,要經(jīng)歷三個領(lǐng)域的演變,這三個領(lǐng)域分別是:現(xiàn)實(shí)世界、信息世界和數(shù)據(jù)世界。,根據(jù)數(shù)據(jù)模型抽象的層次不同,可以把數(shù)據(jù)模型分成兩大類:概念數(shù)據(jù)模型和實(shí)施數(shù)據(jù)模型。 通過概念數(shù)據(jù)模型,可以把現(xiàn)實(shí)世界抽象成人腦中的信息世界,實(shí)現(xiàn)數(shù)據(jù)的第一次抽象。 通過實(shí)施數(shù)據(jù)模型把以把信息世界抽象成計(jì)算機(jī)能夠處理的數(shù)據(jù)世界,實(shí)現(xiàn)數(shù)據(jù)的第二次抽象 。,2. 兩大類數(shù)據(jù)模型,3. 兩大類數(shù)據(jù)模型概念模型,概念數(shù)據(jù)模型(簡稱概念模型) 按用戶的觀點(diǎn)來對數(shù)據(jù)和信息建模,不涉及信息在計(jì)算機(jī)中的表示和實(shí)現(xiàn),強(qiáng)調(diào)語義表達(dá)能力。 數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言,(1)實(shí)體 客觀存在并相互區(qū)別的事物??梢允菍?shí)際存在的對象、抽象概念或事件。如機(jī)房里的一臺電腦、計(jì)算機(jī)應(yīng)用專業(yè)的一名學(xué)生、信用卡上的一筆存款、某次考勤對某人的一次記錄等都是實(shí)體。 (2)屬性 實(shí)體所具有的特征。一個實(shí)體可以由若干屬性來刻畫。如某學(xué)生的特征可由學(xué)號、姓名、出生日期、性別、年級、主修專業(yè)、籍貫等屬性組成。這些屬性中的每一個屬性取某一個具體值就是某一個具體的學(xué)生描述 。,3. 概念模型中的基本語義單位,(4)關(guān)鍵字(Key): 實(shí)體集中的實(shí)體是可以相互區(qū)分開來的,因此實(shí)體集中一定存在這樣的屬性或?qū)傩越M,它(它們)的值能夠惟一標(biāo)識實(shí)體集中的每一個實(shí)體,該屬性或?qū)傩缘慕M合就稱為該實(shí)體集的關(guān)鍵字(或鍵)。通常情況下,一個實(shí)體集的關(guān)鍵字有很多,可選出一個作為主關(guān)鍵字。,3.概念模型中的基本語義單位,(3) 實(shí)體集(Entity Set):同一類型實(shí)體的集合。 在一個單位中,具有共性的一類實(shí)體可以組合成一個實(shí)體集。如在一所院校中,所有教師組成一個教師實(shí)體集,所有學(xué)生組成一個學(xué)生實(shí)體集,所有的課程組成一個課程實(shí)體集,所有的班級組成班級實(shí)體集。,3.概念模型中的基本語義單位,(5) 實(shí)體型(Entity Type)與實(shí)體值 實(shí)體型是實(shí)體的結(jié)構(gòu)描述,用實(shí)體名及其屬性名集合來描述同一類實(shí)體。 實(shí)體值是一個具體的實(shí)體,是屬性值的集合。,(6)值域(Domain):屬性的取值范圍,3.概念模型中的基本語義單位,(7) 聯(lián)系(Relationship) 現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。,兩個實(shí)體型之間的聯(lián)系,一對一聯(lián)系(1:1) 實(shí)例 一個班級只有一個正班長 一個班長只在一個班中任職 定義: 如果對于實(shí)體集A中的每一個實(shí)體,實(shí)體集B中至多有一個(也可以沒有)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對一聯(lián)系,記為1:1,兩個實(shí)體型之間的聯(lián)系 (續(xù)),一對多聯(lián)系(1:n) 實(shí)例 一個班級中有若干名學(xué)生, 每個學(xué)生只在一個班級中學(xué)習(xí) 定義: 如果對于實(shí)體集A中的每一個實(shí)體,實(shí)體集B中 有n個實(shí)體(n0)與之聯(lián)系,反之,對于實(shí)體 集B中的每一個實(shí)體,實(shí)體集A中至多只有一個 實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B有一對 多聯(lián)系,記為1:n,兩個實(shí)體型之間的聯(lián)系 (續(xù)),多對多聯(lián)系(m:n) 實(shí)例 課程與學(xué)生之間的聯(lián)系: 一門課程同時有若干個學(xué)生選修 一個學(xué)生可以同時選修多門課程 定義: 如果對于實(shí)體集A中的每一個實(shí)體,實(shí)體集B中 有n個實(shí)體(n0)與之聯(lián)系,反之,對于實(shí) 體集B中的每一個實(shí)體,實(shí)體集A中也有m個實(shí) 體(m0)與之聯(lián)系,則稱實(shí)體集A與實(shí)體B 具有多對多聯(lián)系,記為m:n,概念模型的一種表示方法,實(shí)體聯(lián)系方法(E-R方法) 用E-R圖來描述現(xiàn)實(shí)世界的概念模型 E-R圖提供了表示實(shí)體、屬性和實(shí)體間聯(lián)系的方法,實(shí)體:用矩形框表示,框內(nèi)寫入實(shí)體名。 屬性:用橢圓形表示,屬性的名稱記入橢圓形內(nèi)。 聯(lián)系:用菱形框表示實(shí)體間的相互關(guān)系,框內(nèi)注明聯(lián)系的名稱。,學(xué)生,學(xué)號,學(xué)生與課程間的聯(lián)系,聯(lián)系的屬性,聯(lián)系的屬性: 聯(lián)系本身也是一種實(shí)體,也 可以有屬性。如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來,E-R模型示例,4. 兩大類數(shù)據(jù)模型數(shù)據(jù)模型,實(shí)施數(shù)據(jù)模型(簡稱數(shù)據(jù)模型) 按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)建模,從信息世界到機(jī)器世界的轉(zhuǎn)換。包括邏輯模型和物理模型 邏輯模型主要包括網(wǎng)狀模型、層次模型、關(guān)系模型、面向?qū)ο竽P偷龋从?jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)建模,用于DBMS實(shí)現(xiàn)。 物理模型是對數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。,最常用的數(shù)據(jù)模型,非關(guān)系模型 層次模型(Hierarchical Model) 網(wǎng)狀模型(Network Model) 關(guān)系模型(Relational Model) 面向?qū)ο竽P?Object Oriented Model),(1) 層 次 模 型,層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型 層次數(shù)據(jù)庫系統(tǒng)的典型代表是IBM公司的IMS(Information Management System)數(shù)據(jù)庫管理系統(tǒng) 層次模型用樹形結(jié)構(gòu)來表示各類實(shí)體以及實(shí)體間的聯(lián)系,樹葉,樹 枝,根,層次數(shù)據(jù)模型(續(xù)),非根,根,有且僅有一個根結(jié)點(diǎn); 每個非根結(jié)點(diǎn)有且僅有一個父(直接上層)結(jié)點(diǎn)。 它最適合表示實(shí)體的一對多聯(lián)系。,層次數(shù)據(jù)模型特點(diǎn),層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),層次模型的優(yōu)點(diǎn)是層次分明,結(jié)構(gòu)清晰,適用于描述客觀存在的事物中有主細(xì)目之分的層次結(jié)構(gòu)聯(lián)系,比如部門的組織結(jié)構(gòu)圖。,(2) 網(wǎng)狀模型,網(wǎng)狀數(shù)據(jù)庫系統(tǒng)采用網(wǎng)狀模型作為數(shù)據(jù)的組織方式 通過網(wǎng)狀結(jié)構(gòu)表示實(shí)體及聯(lián)系。“網(wǎng)”中每個結(jié)點(diǎn)表示一個實(shí)體(型),結(jié)點(diǎn)之間箭頭表示實(shí)體(型)間的聯(lián)系。 特點(diǎn): 網(wǎng)狀數(shù)據(jù)模型可能有多個根結(jié)點(diǎn), 某些非根結(jié)點(diǎn)可能有多個父結(jié)點(diǎn), 適合表示實(shí)體的多對多聯(lián)系。,根,多個父結(jié)點(diǎn),網(wǎng)狀數(shù)據(jù)模型(續(xù)),網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),例如:一個學(xué)生可以選修若干門課程,某一課程可以被多個學(xué)生選修,學(xué)生與課程之間是多對多聯(lián)系 引進(jìn)一個學(xué)生選課的聯(lián)結(jié)記錄,由3個數(shù)據(jù)項(xiàng)組成 學(xué)號、課程號、成績 表示某個學(xué)生選修某一門課程及其成績,(3) 關(guān)系模型,關(guān)系數(shù)據(jù)模型是三大經(jīng)典模型(層次、網(wǎng)狀、關(guān)系)中最晚發(fā)展起來的一種,是相對建模能力最強(qiáng)的一種,也是目前使用得最多的一種模型。 它的產(chǎn)生是與科迪的努力分不開的。1970年,科迪(E.F.Codd)首次描述了關(guān)系數(shù)據(jù)模型,后來他與戴特(C.J.Date)一起將關(guān)系數(shù)據(jù)模型建立在嚴(yán)格的數(shù)學(xué)基礎(chǔ)(笛卡爾積與關(guān)系代數(shù))上,為關(guān)系數(shù)據(jù)庫的誕生奠定了理論基礎(chǔ)。,關(guān)系模型是以人們?nèi)粘I钪兴究找姂T的二維表的形式表示實(shí)體集與實(shí)體集之間的聯(lián)系,非常直觀,同時又由于其理論嚴(yán)格、使用方便等特點(diǎn),所以被廣泛地接受和使用。,(1)關(guān)系中元組的個數(shù)是有限的; (2)關(guān)系中不允許有相同的元組; (3)關(guān)系中不允許有相同的屬性名; (4)關(guān)系的每一屬性的數(shù)據(jù)類型必須相同,且取自于同一個域; (5)關(guān)系的行的順序和列的順序可以任意交換; (6)關(guān)系的任何一個屬性都必須是不可再分的元素; (7)關(guān)系的結(jié)構(gòu)相對固定,但元組的值與數(shù)目是隨時間的推移而經(jīng)常變化的。,關(guān)系的性質(zhì),數(shù)據(jù)模型通常由下列三個部分組成:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的完整性約束規(guī)則。,1數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)是所研究對象的類型的集合,這些對象是數(shù)據(jù)庫的組成成分。 一般可以分為兩類: 一類是與數(shù)據(jù)類型、內(nèi)容有關(guān)的對象,如關(guān)系模型中的關(guān)系,對應(yīng)于信息世界中的實(shí)體。 另一類是與數(shù)據(jù)之間聯(lián)系有關(guān)的對象。 在數(shù)據(jù)庫系統(tǒng)中,通常按照數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型,如層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)和關(guān)系結(jié)構(gòu)的模型分別命名為層次模型、網(wǎng)狀模型和關(guān)系模型。,5. 數(shù)據(jù)模型的組成要素,2數(shù)據(jù)操作,數(shù)據(jù)操作是指對數(shù)據(jù)模型中各種對象的值所允許執(zhí)行的操作,包括操作及有關(guān)的操作規(guī)則。 數(shù)據(jù)庫中主要有查詢和更新(包括插入、刪除、修改)兩大類操作。 數(shù)據(jù)模型要定義這些操作的確切含義、操作符號、操作規(guī)則(如操作優(yōu)先級別)以及實(shí)現(xiàn)操作的語句。 數(shù)據(jù)結(jié)構(gòu)是對系統(tǒng)靜態(tài)特性的描述,數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述。,3數(shù)據(jù)的完整性約束規(guī)則,對數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所制定的制約和依存規(guī)則。 這些規(guī)則以保證數(shù)據(jù)庫中數(shù)據(jù)的正確性和有效性 。,第1章 數(shù)據(jù)庫系統(tǒng)概論,1.1 數(shù)據(jù)管理技術(shù)的發(fā)展及各階段的特點(diǎn) 1.2 數(shù)據(jù)模型 1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu),1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu),從數(shù)據(jù)庫管理系統(tǒng)角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構(gòu),是數(shù)據(jù)庫系統(tǒng)內(nèi)部的系統(tǒng)結(jié)構(gòu) 從數(shù)據(jù)庫最終用戶角度看(數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu)) ,數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)分為: 單用戶結(jié)構(gòu) 主從式結(jié)構(gòu) 分布式結(jié)構(gòu) 客戶服務(wù)器 瀏覽器應(yīng)用服務(wù)器數(shù)據(jù)庫服務(wù)器多層結(jié)構(gòu)等,數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)(續(xù)),1.3.1 數(shù)據(jù)庫系統(tǒng)模式的概念 1.3.2 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 1.3.3 數(shù)據(jù)庫的兩級映像,1.3.2 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),1975年,美國國家標(biāo)準(zhǔn)委員會(ANSI)所屬的標(biāo)準(zhǔn)計(jì)劃和要求委員會(Standards Planning And Requirements Committee)公布了一個關(guān)于數(shù)據(jù)庫標(biāo)準(zhǔn)的報告,提出了數(shù)據(jù)庫的三級結(jié)構(gòu)組織,這就是有名的SPARC結(jié)構(gòu)。,一、模式(Schema),模式(也稱邏輯模式) 數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述 所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求,又稱DBA(數(shù)據(jù)庫管理員)視圖 與數(shù)據(jù)的物理存儲細(xì)節(jié)和硬件環(huán)境無關(guān) 與具體的應(yīng)用程序、開發(fā)工具及高級程序設(shè)計(jì)語言無關(guān) 一個數(shù)據(jù)庫只有一個模式,模式的定義 數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項(xiàng)的名字、類型、取值范圍等) 數(shù)據(jù)之間的聯(lián)系 數(shù)據(jù)有關(guān)的安全性、完整性要求,(2)外模式(External Schema),外模式 外模式又稱子模式或用戶模式,它面向用戶,是用戶眼中的數(shù)據(jù)庫。 數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述 數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示,外模式(續(xù)),外模式的地位:介于模式與應(yīng)用之間 模式與外模式的關(guān)系:一對多 外模式通常是模式的子集 一個數(shù)據(jù)庫可以有多個外模式。反映了不同的用戶的應(yīng)用需求、看待數(shù)據(jù)的方式、對數(shù)據(jù)保密的要求 對模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類型、長度、保密級別等都可以不同 外模式與應(yīng)用的關(guān)系:一對多 同一外模式也可以為某一用戶的多個應(yīng)用系統(tǒng)所使用 但一個應(yīng)用程序只能使用一個外模式,外模式(續(xù)),外模式的用途 保證數(shù)據(jù)庫安全性的一個有力措施 每個用戶只能看見和訪問所對應(yīng)的外模式中的數(shù)據(jù),(3)內(nèi)模式(Internal Schema),內(nèi)模式(也稱物理模式或存儲模式) 它具體地描述了數(shù)據(jù)如何組織并存放在外部存儲器上,即給出了數(shù)據(jù)庫的物理存儲結(jié)構(gòu)和物理存取方法。 內(nèi)模式是由系統(tǒng)程序員選擇一定的文件結(jié)構(gòu)組織起來的,也是由他們編制存取程序?qū)崿F(xiàn)數(shù)據(jù)存取的,故內(nèi)模式又稱系統(tǒng)程序員視圖。 一個數(shù)據(jù)庫只有一個內(nèi)模式,內(nèi)模式(續(xù)),例如學(xué)生記錄,如果按堆存儲,則插入一條新記錄總是放在學(xué)生記錄存儲的最后,如右圖所示,內(nèi)模式(續(xù)),如果按學(xué)號升序存儲,則插入一條記錄就要找到它應(yīng)在的位置插入,如圖(b)所示 如果按照學(xué)生年齡聚簇存放,假如新插入的S3是16歲,則應(yīng)插入的位置如圖(c)所示,記錄不同的存儲方式示意圖,數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),用戶級,用戶視圖,概念級,全局視圖,物理級,存儲視圖,三級模式中:模式是內(nèi)模式的邏輯表示;內(nèi)模式是概念模式的物理實(shí)現(xiàn);外模式則是概念模式的部分抽取。,三級模式結(jié)構(gòu)的一個具體實(shí)例,外模式,模式,內(nèi)模式,1.3.3 數(shù)據(jù)庫的兩級映像,三級模式是對數(shù)據(jù)的三個抽象級別 二級映象在DBMS內(nèi)部實(shí)現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換 外模式模式映像 模式內(nèi)模式映像,(1)外模式模式映象,模式:描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu) 外模式:描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu) 同一個模式可以有任意多個外模式 每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式模式映象,定義外模式與模式之間的對應(yīng)關(guān)系 映象定義通常包含在各自外模式的描述中,外模式模式映象(續(xù)),保證數(shù)據(jù)的邏輯獨(dú)立性 當(dāng)模式改變時,數(shù)據(jù)庫管理員修改有關(guān)的外模式模式映象,使外模式保持不變 應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡稱數(shù)據(jù)的邏輯獨(dú)立性。,(2)模式內(nèi)模式映象,模式內(nèi)模式映象定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。 例如,說明邏輯記錄和字段在內(nèi)部是如何表示的 數(shù)據(jù)庫中模式內(nèi)模式映象是唯一的 該映象定義通常包含在模式描述中,模式內(nèi)模式映象(續(xù)),保證數(shù)據(jù)的物理獨(dú)立性 當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了(例如選用了另一種存儲結(jié)構(gòu)),數(shù)據(jù)庫管理員修改模式內(nèi)模式映象,使模式保持不變 應(yīng)用程序不受影響。保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡稱數(shù)據(jù)的物理獨(dú)立性。,1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu),1.3.1數(shù)據(jù)庫系統(tǒng)內(nèi)部的模式結(jié)構(gòu) 從數(shù)據(jù)庫管理系統(tǒng)角度看 1.3.2數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu) 從數(shù)據(jù)庫最終用戶角度看,1.3.2 數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu),單用戶結(jié)構(gòu) 主從式結(jié)構(gòu) 分布式結(jié)構(gòu) 客戶/服務(wù)器結(jié)構(gòu) 瀏覽器/應(yīng)用服務(wù)器/數(shù)據(jù)庫服務(wù)器結(jié)構(gòu),1. 單用戶數(shù)據(jù)庫系統(tǒng),整個數(shù)據(jù)庫系統(tǒng)(應(yīng)用程序、DBMS、數(shù)據(jù))裝在一臺計(jì)算機(jī)上,為一個用戶獨(dú)占,不同機(jī)器之間不能共享數(shù)據(jù)。 早期的最簡單的數(shù)據(jù)庫系統(tǒng):例如一個企業(yè)的各個部門都使用本部門的機(jī)器來管理本部門的數(shù)據(jù),各個部門的機(jī)器是獨(dú)立的。由于不同部門之間不能共享數(shù)據(jù),因此企業(yè)內(nèi)部存在大量的冗余數(shù)據(jù)。例如人事部門、會計(jì)部門、技術(shù)部門必須重復(fù)存放每一名職工的一些基本信息(職工號、姓名等)。,2. 主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng),一個主機(jī)帶多個終端的多用戶結(jié)構(gòu) 數(shù)據(jù)庫系統(tǒng),包括應(yīng)用程序、DBMS、數(shù)據(jù),都集中存放在主機(jī)上,所有處理任務(wù)都由主機(jī)來完成 各個用戶通過主機(jī)的終端并發(fā)地存取數(shù)據(jù)庫,共享數(shù)據(jù)資源,主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng),主機(jī),終端,主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)(續(xù)),優(yōu)點(diǎn) 易于管理、控制與維護(hù)。 缺點(diǎn) 當(dāng)終端用戶數(shù)目增加到一定程度后,主機(jī)的任務(wù)會過分繁重,成為瓶頸,從而使系統(tǒng)性能下降。 系統(tǒng)的可靠性依賴主機(jī),當(dāng)主機(jī)出現(xiàn)故障時,整個系統(tǒng)都不能使用。,3. 分布式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫中的數(shù)據(jù)在邏輯上是一個整體,但物理地分布在計(jì)算機(jī)網(wǎng)絡(luò)的不同結(jié)點(diǎn)上。 網(wǎng)絡(luò)中的每個結(jié)點(diǎn)都可以獨(dú)立處理本地?cái)?shù)據(jù)庫中的數(shù)據(jù),執(zhí)行局部應(yīng)用 同時也可以同時存取和處理多個異地?cái)?shù)據(jù)庫中的數(shù)據(jù),執(zhí)行全局應(yīng)用,分布式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)(續(xù)),優(yōu)點(diǎn) 適應(yīng)了地理上分散的公司、團(tuán)體和組織對于數(shù)據(jù)庫應(yīng)用的需求。 缺點(diǎn) 數(shù)據(jù)的分布存放給數(shù)據(jù)的處理、管理與維護(hù)帶來困難。 當(dāng)用戶需要經(jīng)常訪問遠(yuǎn)程數(shù)據(jù)時,系統(tǒng)效率會明顯地受到網(wǎng)絡(luò)傳輸?shù)闹萍s。,4客戶服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng),把DBMS功能和應(yīng)用分開 網(wǎng)絡(luò)中某個(

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論