計算機技術(shù)基礎(chǔ)(C語言)引言.ppt
《計算機技術(shù)基礎(chǔ)(C語言)引言.ppt》由會員分享,可在線閱讀,更多相關(guān)《計算機技術(shù)基礎(chǔ)(C語言)引言.ppt(216頁珍藏版)》請在裝配圖網(wǎng)上搜索。
,,1,數(shù)據(jù)庫系統(tǒng)概論,邢躍林 ISE @ Shandong University 2016,2,About the Course,課程名稱:《數(shù)據(jù)庫系統(tǒng)概論》 課程代碼:sd01232410 課程概要:本課程以Microsoft SQL Server 2008為例,C語言為媒介,介紹計算機技術(shù)的基本知識,學(xué)習(xí)如何通過編程來操作計算機。 上課教室:興隆山群樓A-210d 任課教師:邢躍林 博士 課時安排:周一12節(jié)(4-14周) + 周三34節(jié)(5,7,9,11,13周) 上機安排:待定 課程QQ群號:493085807,,3,About me,主講教師 邢躍林 理學(xué)博士 副教授 山東大學(xué)信息科學(xué)與工程學(xué)院 Super_v 產(chǎn)品總設(shè)計師和團隊負責(zé)人 http://www.super- 興趣方向 多媒體通信理論和技術(shù) / 多媒體教育支撐系統(tǒng) 視頻和音頻編碼技術(shù)/ 視頻和音頻傳輸技術(shù) / p2p技術(shù)和應(yīng)用 移動終端應(yīng)用開發(fā) ios/ Java/ html5,,4,引言,關(guān)于課程最重要的幾個問題。,,5,Q1-什么是計算機?,通俗講,計算機是能夠按照人類的意志或意愿自動工作以幫助人們完成某些工作任務(wù)的一種數(shù)字電子設(shè)備或機器。 形而上學(xué)的角度講,計算機是人們在認識世界、改造世界的實踐活動中發(fā)明、創(chuàng)造的一種工具。 人類發(fā)明創(chuàng)造任何一種的工具的目的,都是希望它們能---增強或拓展---人類身體器官某些方面的機能或功能。顯微鏡、望遠鏡 彌補人類視覺功能方面的不足。 發(fā)明計算機的目的,簡單說,希望它能夠進一步增強人類大腦的計算與思維能力。 計算機正成為人類的一種生存方式,在利用計算機的同時,希望你能避免被它俘虜。 你平時見到的計算機有哪些?,,6,Q2-計算機有什么特點?,運算速度快、精度高 具有邏輯判斷能力 工作可靠 自動化程度高 通用性強 存儲容量大 具有多媒體處理功能,,7,Q3-計算機有哪些應(yīng)用?,科學(xué)計算(數(shù)值計算)- 指用于完成科學(xué)研究和工程技術(shù)中提出的數(shù)學(xué)問題的計算。 數(shù)據(jù)處理 - 指對大量的數(shù)據(jù)進行加工處理,如分析、合并、分類、統(tǒng)計等。 過程控制(實時控制)- 指用計算機及時采集數(shù)據(jù)后,按最佳值迅速地對控制對象進行反饋控制。 計算機輔助系統(tǒng)-主要包括計算機輔助設(shè)計CAD、計算機輔助制造CAM、計算機輔助教學(xué)CAI等… 人工智能-是指模擬人腦進行演繹推理和采取決策的思維過程。 電子商務(wù)(E-Business)-是指通過計算機網(wǎng)絡(luò)進行商務(wù)活動。,,8,Q4-如何使用計算機?,通過操作系統(tǒng)直接使用計算機 圖形接口 命令行接口 使用應(yīng)用程序 Office 程序 瀏覽器(ie,safari, Chrome)… 通過編程直接與計算機對話 機器語言,匯編,c,c++,java…,,9,Q5-為什么要學(xué)習(xí)程序設(shè)計?,計算機的本質(zhì)是“程序的機器”,程序和指令的思想是計算機系統(tǒng)中最基本的概念; 只有懂得程序設(shè)計,才能進一步懂得計算機,真正了解計算機是怎樣工作的; 通過學(xué)習(xí)程序設(shè)計,可以更好的理解和應(yīng)用計算機,掌握計算機處理問題的方法; 培養(yǎng)學(xué)生利用計算機技術(shù)分析問題和解決問題的能力…,,10,Q6-如何適應(yīng)大學(xué)學(xué)習(xí)?,大學(xué)學(xué)習(xí)與中學(xué)的不同點 填鴨教學(xué) vs.自主學(xué)習(xí); 重復(fù)訓(xùn)練 vs.快速掌握; 學(xué)習(xí)知識 vs.訓(xùn)練思維; 掌握技能 vs.解決問題。 大學(xué)學(xué)習(xí)對你提出的新挑戰(zhàn) 調(diào)整學(xué)習(xí)的目標和學(xué)習(xí)動機; 自我約束,自我管理; 主動學(xué)習(xí),目標管理; 熟悉環(huán)境,善用資源。,,11,本課程的目的,了解計算機的基本概念和基本原理 掌握C語言的基礎(chǔ)知識 掌握程序設(shè)計中常用的算法 能夠用C語言編寫簡單的程序 學(xué)以致用!,,12,本課程的主要內(nèi)容,程序設(shè)計與C 語言概述 算法及其表示方法 數(shù)據(jù)類型、運算符和表達式 編寫程序(順序、選擇、循環(huán)結(jié)構(gòu)程序設(shè)計) 數(shù)組,批量處理數(shù)據(jù) 函數(shù),實現(xiàn)模塊化程序設(shè)計 指針(難點),直接操縱計算機內(nèi)存 文件與輸入輸出,,13,本課程的學(xué)習(xí)方法和紀律要求,記筆記的目的是什么? 自主學(xué)習(xí): 由于C語言牽涉到的概念與你以前基礎(chǔ)的差別大,規(guī)則繁多,不容易理解,容易出錯,同學(xué)們在學(xué)習(xí)中要認真、刻苦。 預(yù)習(xí):請在課前通讀教材,給自己提問題,并嘗試解答; 復(fù)習(xí):課后編寫并運行所有事例代碼! 重視實踐:學(xué)會上機調(diào)試程序,養(yǎng)成獨立思維的能力,應(yīng)掌握常用的編程算法,每次上機程序應(yīng)保存。 紀律要求:按時上課,上機,完成作業(yè) 上機要求:時間和機會寶貴,不允許玩游戲。,,14,Textbooks,譚浩強《C程序設(shè)計》(第四版) 清華大學(xué)出版社 參考書目: 譚浩強《 C程序設(shè)計(第四版)學(xué)習(xí)輔導(dǎo) 》 清華大學(xué)出版社 計算機科學(xué)概論(第9版)Chapter 1 Computer Science: An Overview J.Glenn Brookshear,,數(shù)據(jù)庫系統(tǒng)概論 An Introduction to Database System,教材及參考書,? 教材 薩師煊,王珊:數(shù)據(jù)庫系統(tǒng)概論(第四版) , 高等教育出版社,2000 中國人民大學(xué),教材及參考書(2),? 參考書 施伯樂,丁寶康:數(shù)據(jù)庫系統(tǒng)教程,高教出版社,2003,內(nèi)容安排(1),? 基礎(chǔ)篇 第一章:緒論 第二章:關(guān)系數(shù)據(jù)庫 第三章:關(guān)系數(shù)據(jù)庫標準語言SQL 第四章:關(guān)系系統(tǒng)及其查詢優(yōu)化 第五章:關(guān)系數(shù)據(jù)理論 ? 設(shè)計篇 第六章:數(shù)據(jù)庫設(shè)計,內(nèi)容安排(2),? 系統(tǒng)篇 第七章:數(shù)據(jù)庫恢復(fù)技術(shù) 第八章:并發(fā)控制 第九章:數(shù)據(jù)庫安全性 第十章:數(shù)據(jù)庫完整性,數(shù)據(jù)庫系統(tǒng)概論 An Introduction to Database System 第一章 緒論,第一章 緒論,1.1 數(shù)據(jù)庫系統(tǒng)概述 1.2 數(shù)據(jù)模型 1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 1.4 數(shù)據(jù)庫系統(tǒng)的組成 1.5 數(shù)據(jù)庫技術(shù)的研究領(lǐng)域 1.6 小結(jié),1.1 數(shù)據(jù)庫系統(tǒng)概述,1.1.1 數(shù)據(jù)庫的地位 1.1.2 四個基本概念 1.1.3 數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展,數(shù)據(jù)庫的地位,數(shù)據(jù)庫技術(shù)產(chǎn)生于六十年代末,是數(shù)據(jù)管理的最新技術(shù),是計算機科學(xué)的重要分支 數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的核心和基礎(chǔ),它的出現(xiàn)極大地促進了計算機應(yīng)用向各行各業(yè)的滲透 數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志,1.1 數(shù)據(jù)庫系統(tǒng)概述,1.1.1 數(shù)據(jù)庫的地位 1.1.2 四個基本概念 1.1.3 數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展,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ù)的定義 描述事物的符號記錄 數(shù)據(jù)的種類 文字、圖形、圖象、聲音 數(shù)據(jù)的特點 數(shù)據(jù)與其語義是不可分的,數(shù)據(jù)舉例,學(xué)生檔案中的學(xué)生記錄 (李明,男,1972,江蘇,計算機系,1990) 數(shù)據(jù)的形式不能完全表達其內(nèi)容 數(shù)據(jù)的解釋 語義:學(xué)生姓名、性別、出生年月、籍貫、所在系別、入學(xué)時間 解釋:李明是個大學(xué)生,1972年出生,江蘇人,1990年考入計算機系 請給出另一個解釋和語義,二、數(shù)據(jù)庫(舉例),,二、數(shù)據(jù)庫(續(xù)),人們收集并抽取出一個應(yīng)用所需要的大量數(shù)據(jù)之后,應(yīng)將其保存起來以供進一步加工處理,進一步抽取有用信息 數(shù)據(jù)庫的定義 數(shù)據(jù)庫(Database,簡稱DB)是長期儲存在計算機內(nèi)、有組織的、可共享的大量數(shù)據(jù)集合,二、數(shù)據(jù)庫(續(xù)),數(shù)據(jù)庫的特征 數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存 可為各種用戶共享 冗余度較小 數(shù)據(jù)獨立性較高 易擴展,三、數(shù)據(jù)庫管理系統(tǒng),什么是DBMS 數(shù)據(jù)庫管理系統(tǒng)(Database Management System,簡稱DBMS)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。 DBMS的用途 科學(xué)地組織和存儲數(shù)據(jù)、高效地獲取和維護數(shù)據(jù),DBMS的主要功能,數(shù)據(jù)定義功能 提供數(shù)據(jù)定義語言(DDL) 定義數(shù)據(jù)庫中的數(shù)據(jù)對象 數(shù)據(jù)操縱功能:提供數(shù)據(jù)操縱語言(DML) 操縱數(shù)據(jù)實現(xiàn)對數(shù)據(jù)庫的基本操作 (查詢、插入、刪除和修改),DBMS的主要功能,數(shù)據(jù)庫的運行管理 保證數(shù)據(jù)的安全性、完整性、 多用戶對數(shù)據(jù)的并發(fā)使用 發(fā)生故障后的系統(tǒng)恢復(fù) 數(shù)據(jù)庫的建立和維護功能(實用程序) 數(shù)據(jù)庫數(shù)據(jù)批量裝載 數(shù)據(jù)庫轉(zhuǎn)儲 介質(zhì)故障恢復(fù) 數(shù)據(jù)庫的重組織 性能監(jiān)視等,四、數(shù)據(jù)庫系統(tǒng),什么是數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫系統(tǒng)(Database System,簡稱DBS)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成。 在不引起混淆的情況下常常把數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫。 數(shù)據(jù)庫系統(tǒng)的構(gòu)成 由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員(和用戶)構(gòu)成。,數(shù)據(jù)庫系統(tǒng)(續(xù)),數(shù)據(jù)庫系統(tǒng)構(gòu)成圖示 參看教材page_5 圖1.1 數(shù)據(jù)庫系統(tǒng)在計算機系統(tǒng)中的位置圖示 參看教材page_ 5 圖1.2,1.1 數(shù)據(jù)庫系統(tǒng)概述,1.1.1 數(shù)據(jù)庫的地位 1.1.2 四個基本概念 1.1.3 數(shù)據(jù)管理技術(shù)的產(chǎn)生與發(fā)展,1.1.3 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展,什么是數(shù)據(jù)管理 對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護,是數(shù)據(jù)處理的中心問題 數(shù)據(jù)管理技術(shù)的發(fā)展過程 人工管理階段(40年代中--50年代中) 文件系統(tǒng)階段(50年代末--60年代中) 數(shù)據(jù)庫系統(tǒng)階段(60年代末--現(xiàn)在),數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展(續(xù)),數(shù)據(jù)管理技術(shù)的發(fā)展動力 應(yīng)用需求的推動 計算機硬件的發(fā)展 計算機軟件的發(fā)展,一、人工管理,時期 40年代中--50年代中 產(chǎn)生的背景 應(yīng)用需求 科學(xué)計算 硬件水平 無直接存取存儲設(shè)備 軟件水平 沒有操作系統(tǒng) 處理方式 批處理,人工管理(續(xù)),特點 數(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)用程序自己控制,,,應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(人工管理),,,二、文件系統(tǒng),時期 50年代末--60年代中 產(chǎn)生的背景 應(yīng)用需求 科學(xué)計算、管理 硬件水平 磁盤、磁鼓 軟件水平 有文件系統(tǒng) 處理方式 聯(lián)機實時處理、批處理,文件系統(tǒng)(續(xù)),特點 數(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)用程序自己控制,,,,應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(文件系統(tǒng)),,文件系統(tǒng)中數(shù)據(jù)的結(jié)構(gòu),記錄內(nèi)有結(jié)構(gòu)。 數(shù)據(jù)的結(jié)構(gòu)是靠程序定義和解釋的。 數(shù)據(jù)只能是定長的。 可以間接實現(xiàn)數(shù)據(jù)變長要求,但訪問相應(yīng)數(shù)據(jù)的應(yīng)用程序復(fù)雜了。 文件間是獨立的,因此數(shù)據(jù)整體無結(jié)構(gòu)。 可以間接實現(xiàn)數(shù)據(jù)整體的有結(jié)構(gòu),但必須在應(yīng)用程序中對描述數(shù)據(jù)間的聯(lián)系。 數(shù)據(jù)的最小存取單位是記錄。,三、數(shù)據(jù)庫系統(tǒng),時期 60年代末以來 產(chǎn)生的背景 應(yīng)用背景 大規(guī)模管理 硬件背景 大容量磁盤 軟件背景 有數(shù)據(jù)庫管理系統(tǒng) 處理方式 聯(lián)機實時處理,分布處理,批處理,數(shù)據(jù)管理技術(shù)進入數(shù)據(jù)庫階段的標志是20世紀60年代末的三件大事: 1968年美國IBM公司推出層次模型的IMS系統(tǒng) 。 1969年美國CODASYL組織發(fā)布了DBTG報告,總結(jié)了當時各式各樣的數(shù)據(jù)庫,提出網(wǎng)狀模型。 1970年美國IBM公司的E.F.Codd 連續(xù)發(fā)表論文,提出關(guān)系模型,奠定了關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)。,數(shù)據(jù)庫系統(tǒng)(續(xù)),特點 數(shù)據(jù)的管理者:DBMS 數(shù)據(jù)面向的對象:現(xiàn)實世界 數(shù)據(jù)的共享程度:共享性高 數(shù)據(jù)的獨立性:高度的物理獨立性和一定的 邏輯獨立性 數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化 數(shù)據(jù)控制能力:由DBMS統(tǒng)一管理和控制,,,,,,,應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(數(shù)據(jù)庫系統(tǒng)),,數(shù)據(jù)的高共享性的好處,降低數(shù)據(jù)的冗余度,節(jié)省存儲空間 避免數(shù)據(jù)間的不一致性 使系統(tǒng)易于擴充,,數(shù)據(jù)獨立性,物理獨立性 指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。當數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。 邏輯獨立性 指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。,,數(shù)據(jù)結(jié)構(gòu)化,整體數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一。 數(shù)據(jù)庫中實現(xiàn)的是數(shù)據(jù)的真正結(jié)構(gòu)化 數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)模型描述,無需程序定義和解釋。 數(shù)據(jù)可以變長。 數(shù)據(jù)的最小存取單位是數(shù)據(jù)項。,,DBMS對數(shù)據(jù)的控制功能,數(shù)據(jù)的安全性(Security)保護 使每個用戶只能按指定方式使用和處理指定數(shù)據(jù),保護數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。 數(shù)據(jù)的完整性(Integrity)檢查 將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。,DBMS對數(shù)據(jù)的控制功能,并發(fā)(Concurrency)控制 對多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯誤的結(jié)果。 數(shù)據(jù)庫恢復(fù)(Recovery) 將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。,,程序和數(shù)據(jù)間的聯(lián)系 文件系統(tǒng)階段信息處理的傳統(tǒng)方式,,,,,數(shù)據(jù)庫階段信息處理方式的演變,第一章 緒論,1.1 數(shù)據(jù)庫系統(tǒng)概述 1.2 數(shù)據(jù)模型 1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 1.4 數(shù)據(jù)庫系統(tǒng)的組成 1.5 數(shù)據(jù)庫技術(shù)的研究領(lǐng)域 1.6 小結(jié),數(shù)據(jù)模型,在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。通俗地講數(shù)據(jù)模型就是現(xiàn)實世界的模擬 數(shù)據(jù)模型應(yīng)滿足三方面要求 能比較真實地模擬現(xiàn)實世界 容易為人所理解 便于在計算機上實現(xiàn),數(shù)據(jù)模型(續(xù)),數(shù)據(jù)模型分成兩個不同的層次 (1) 概念模型 也稱信息模型,它是按用戶的觀點來對數(shù)據(jù)和信息建模。 (2) 數(shù)據(jù)模型 主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,它是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模。,數(shù)據(jù)模型(續(xù)),客觀對象的抽象過程---兩步抽象 現(xiàn)實世界中的客觀對象抽象為概念模型; 把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。 概念模型是現(xiàn)實世界到機器世界的一個中間層次。,1.2 數(shù)據(jù)模型,1.2.1 數(shù)據(jù)模型的組成要素 1.2.2 概念模型 1.2.3 常用邏輯數(shù)據(jù)模型 1.2.4 層次模型 1.2.5 網(wǎng)狀模型 1.2.6 關(guān)系模型,1.2.1 數(shù)據(jù)模型的組成要素,數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)操作 數(shù)據(jù)的約束條件,1. 數(shù)據(jù)結(jié)構(gòu),什么是數(shù)據(jù)結(jié)構(gòu) 對象類型的集合 兩類對象 與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對象 與數(shù)據(jù)之間聯(lián)系有關(guān)的對象 數(shù)據(jù)結(jié)構(gòu)是對系統(tǒng)靜態(tài)特性的描述,2.數(shù)據(jù)操作,數(shù)據(jù)操作 對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作及有關(guān)的操作規(guī)則 數(shù)據(jù)操作的類型 檢索 更新(包括插入、刪除、修改),數(shù)據(jù)操作(續(xù)),數(shù)據(jù)模型對操作的定義 操作的確切含義 操作符號 操作規(guī)則(如優(yōu)先級) 實現(xiàn)操作的語言 數(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ù)的約束條件(續(xù)),數(shù)據(jù)模型對約束條件的定義 反映和規(guī)定本數(shù)據(jù)模型必須遵守的基本的通用的完整性約束條件。例如在關(guān)系模型中,任何關(guān)系必須滿足實體完整性和參照完整性兩個條件。 提供定義完整性約束條件的機制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。,1.2.2 概念模型,1. 概念模型 2. 信息世界中的基本概念 3. 概念模型的表示方法,1. 概念模型,概念模型的用途 概念模型用于信息世界的建模 是現(xiàn)實世界到機器世界的一個中間層次 是數(shù)據(jù)庫設(shè)計的有力工具 數(shù)據(jù)庫設(shè)計人員和用戶之間進行交流的語言 對概念模型的基本要求 較強的語義表達能力,能夠方便、直接地表達應(yīng)用中的各種語義知識 簡單、清晰、易于用戶理解。,2. 信息世界中的基本概念,(1) 實體(Entity) 客觀存在并可相互區(qū)別的事物稱為實體。 可以是具體的人、事、物或抽象的概念。 (2) 屬性(Attribute) 實體所具有的某一特性稱為屬性。 一個實體可以由若干個屬性來刻畫。 (3) 碼(Key) 唯一標識實體的屬性集稱為碼。,信息世界中的基本概念(續(xù)),(4) 域(Domain) 屬性的取值范圍稱為該屬性的域。 (5) 實體型(Entity Type) 用實體名及其屬性名集合來抽象和刻畫 同類實體稱為實體型 (6) 實體集(Entity Set) 同型實體的集合稱為實體集,信息世界中的基本概念(續(xù)),(7) 聯(lián)系(Relationship) 現(xiàn)實世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界 中反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系 實體型間聯(lián)系 兩個實體型 一對一聯(lián)系(1:1) 三個實體型 一對多聯(lián)系(1:n) 一個實體型 多對多聯(lián)系(m:n),,,兩個實體型間的聯(lián)系,數(shù)據(jù)聯(lián)系的描述,,,,,,,,,,,圖1.10 多對多聯(lián)系,兩個實體型間的聯(lián)系,一對一聯(lián)系 如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系。記為1:1。 實例 班級與班長之間的聯(lián)系: 一個班級只有一個正班長 一個班長只在一個班中任職,,兩個實體型間的聯(lián)系 (續(xù)),一對多聯(lián)系 如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系 記為1:n 實例 班級與學(xué)生之間的聯(lián)系: 一個班級中有若干名學(xué)生, 每個學(xué)生只在一個班級中學(xué)習(xí),,兩個實體型間的聯(lián)系 (續(xù)),多對多聯(lián)系(m:n) 如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系。記為m:n 實例 課程與學(xué)生之間的聯(lián)系: 一門課程同時有若干個學(xué)生選修 一個學(xué)生可以同時選修多門課程,,多個實體型間的聯(lián)系(續(xù)),多個實體型間的一對多聯(lián)系 若實體集E1,E2,.,En存在聯(lián)系,對于實體集Ej(j=1,2,.,i-1,i+1,.,n)中的給定實體,最多只和Ei中的一個實體相聯(lián)系,則我們說Ei與E1,E2,.,Ei-1,Ei+1,.,En之間的聯(lián)系是一對多的。,多個實體型間的聯(lián)系(續(xù)),實例 課程、教師與參考書三個實體型 如果一門課程可以有若干個教師講授,使用若干 本參考書,每一個教師只講授一門課程,每一本 參考書只供一門課程使用 課程與教師、參考書之間的聯(lián)系是一對多的 多個實體型間的一對一聯(lián)系 多個實體型間的多對多聯(lián)系,,同一實體集內(nèi)各實體間的聯(lián)系,一對多聯(lián)系 實例 職工實體集內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系 某一職工(干部)“領(lǐng)導(dǎo)”若干名職工 一個職工僅被另外一個職工直接領(lǐng)導(dǎo) 這是一對多的聯(lián)系 一對一聯(lián)系 多對多聯(lián)系,,三元聯(lián)系,一元聯(lián)系,3. 概念模型的表示方法,概念模型的表示方法很多 實體-聯(lián)系方法(E-R方法) 用E-R圖來描述現(xiàn)實世界的概念模型 E-R方法也稱為E-R模型,E-R圖,實體型 用矩形表示,矩形框內(nèi)寫明實體名。,學(xué)生,教師,E-R圖(續(xù)),屬性 用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來,E-R圖(續(xù)),聯(lián)系 聯(lián)系本身:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1:1、1:n或m:n) 聯(lián)系的屬性:聯(lián)系本身也是一種實體型,也可以有屬性。如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來,,,,聯(lián)系的表示方法,,聯(lián)系的表示方法(續(xù)),聯(lián)系的表示方法示例,,,,聯(lián)系的表示方法示例(續(xù)),,,,聯(lián)系屬性的表示方法,,實體聯(lián)系模型(實例),為倉庫管理設(shè)計一個ER模型。倉庫主要管理零件的采購和供應(yīng)等事項。倉庫根據(jù)需要向外面供應(yīng)商訂購零件,而許多工程項目需要倉庫提供零件。,,首先確定實體類型。本問題有三個實體類型:零件PART,工程項目PROJECT,零件供應(yīng)商SUPPLIER。 確定聯(lián)系類型。PROJECT和PART之間是M:N聯(lián)系,PART和SUPPLIER之間也是M:N聯(lián)系,分別命名為P_P和P_S. 把實體類型和聯(lián)系類型組合成ER圖。 確定實體類型和聯(lián)系類型的屬性。 確定實體類型的鍵,在ER圖中屬于碼的屬性名下畫一條橫線。,,,圖1.14 ER圖實例,,1.2.3 常用數(shù)據(jù)模型,非關(guān)系模型 層次模型(Hierarchical Model) 網(wǎng)狀模型(Network Model ) 數(shù)據(jù)結(jié)構(gòu):以基本層次聯(lián)系為基本單位 基本層次聯(lián)系:兩個記錄以及它們之間的一對多(包括一對一)的聯(lián)系,常用數(shù)據(jù)模型(續(xù)),關(guān)系模型(Relational Model) 數(shù)據(jù)結(jié)構(gòu):表 面向?qū)ο竽P?Object Oriented Model) 數(shù)據(jù)結(jié)構(gòu):對象,1.2 數(shù)據(jù)模型,1.2.1 數(shù)據(jù)模型的組成要素 1.2.2 概念模型 1.2.3 常用數(shù)據(jù)模型 1.2.4 層次模型 1.2.5 網(wǎng)狀模型 1.2.6 關(guān)系模型,1.2.4 層次模型,1. 層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 2. 層次數(shù)據(jù)模型的數(shù)據(jù)操縱 3. 層次數(shù)據(jù)模型的與完整性約束 4. 層次數(shù)據(jù)模型的存儲結(jié)構(gòu) 5. 層次數(shù)據(jù)模型的優(yōu)缺點 6. 典型的層次數(shù)據(jù)庫系統(tǒng),1. 層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu),層次模型 滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型。 1. 有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根 結(jié)點 2. 根以外的其它結(jié)點有且只有一個雙親結(jié)點 層次模型中的幾個術(shù)語 根結(jié)點,雙親結(jié)點,兄弟結(jié)點,葉結(jié)點,層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),,層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),表示方法 實體型:用記錄類型描述。 每個結(jié)點表示一個記錄類型。 屬性:用字段描述。每個記錄類型可包含若干個字段。 聯(lián)系:用結(jié)點之間的連線表示記錄(類)型之間的 一對多的聯(lián)系 實例:教員-學(xué)生數(shù)據(jù)模型(P23),層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),特點 結(jié)點的雙親是唯一的 只能直接處理一對多的實體聯(lián)系 每個記錄類型定義一個排序字段,也稱為碼字段 任何記錄值只有按其路徑查看時,才能顯出它的全部意義 沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在,層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),多對多聯(lián)系在層次模型中的表示 用層次模型間接表示多對多聯(lián)系 方法 將多對多聯(lián)系分解成一對多聯(lián)系 分解方法 冗余結(jié)點法 虛擬結(jié)點法,2. 層次模型的數(shù)據(jù)操縱,查詢 插入 刪除 更新,3. 層次模型的完整性約束,無相應(yīng)的雙親結(jié)點值就不能插入子女結(jié)點值 如果刪除雙親結(jié)點值,則相應(yīng)的子女結(jié)點值也被同時刪除 更新操作時,應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性,4.層次數(shù)據(jù)模型的存儲結(jié)構(gòu),鄰接法 按照層次樹前序遍歷的順序把所有記錄值依次鄰接存 放,即通過物理空間的位置相鄰來實現(xiàn)層次順序 鏈接法 用指引元來反映數(shù)據(jù)之間的層次聯(lián)系 子女-兄弟鏈接法 P26 層次序列鏈接法 P26,5. 層次模型的優(yōu)缺點,優(yōu)點 層次數(shù)據(jù)模型簡單,對具有一對多的層次關(guān)系的部門描述自然、直觀,容易理解 性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型 層次數(shù)據(jù)模型提供了良好的完整性支持 缺點 多對多聯(lián)系表示不自然 對插入和刪除操作的限制多 查詢子女結(jié)點必須通過雙親結(jié)點 層次命令趨于程序化,6. 典型的層次數(shù)據(jù)庫系統(tǒng),IMS數(shù)據(jù)庫管理系統(tǒng) 第一個大型商用DBMS 1968年推出 IBM公司研制,第一章 緒論,1.1 數(shù)據(jù)庫系統(tǒng)概述 1.2 數(shù)據(jù)模型 1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 1.4 數(shù)據(jù)庫系統(tǒng)的組成 1.5 數(shù)據(jù)庫技術(shù)的研究領(lǐng)域 1.6 小結(jié),1.2 數(shù)據(jù)模型,1.2.1 概念模型 1.2.2 數(shù)據(jù)模型的組成要素 1.2.3 最常用的數(shù)據(jù)模型 1.2.4 層次模型 1.2.5 網(wǎng)狀模型 1.2.6 關(guān)系模型,1.2.5 網(wǎng)狀模型,1. 網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 2. 網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)操縱 3. 網(wǎng)狀數(shù)據(jù)模型的完整性約束 4. 網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu) 5. 網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點 6. 典型的網(wǎng)狀數(shù)據(jù)庫系統(tǒng),1.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu),網(wǎng)狀模型 滿足下面兩個條件的基本層次聯(lián)系的集合為網(wǎng)狀模型。 1. 允許一個以上的結(jié)點無雙親; 2. 一個結(jié)點可以有多于一個的雙親。,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu),,,,,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),表示方法(與層次數(shù)據(jù)模型相同) 實體型:用記錄類型描述。 每個結(jié)點表示一個記錄類型。 屬性:用字段描述。 每個記錄類型可包含若干個字段。 聯(lián)系:用結(jié)點之間的連線表示記錄(類)型之 間的一對多的父子聯(lián)系。,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),特點 只能直接處理一對多的實體聯(lián)系 每個記錄類型定義一個排序字段,也稱為碼字段 任何記錄值只有按其路徑查看時,才能顯出它的全部意義,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),網(wǎng)狀模型與層次模型的區(qū)別 網(wǎng)狀模型允許多個結(jié)點沒有雙親結(jié)點 網(wǎng)狀模型允許結(jié)點有多個雙親結(jié)點 網(wǎng)狀模型允許兩個結(jié)點之間有多種聯(lián)系(復(fù)合聯(lián)系) 網(wǎng)狀模型可以更直接地去描述現(xiàn)實世界 層次模型實際上是網(wǎng)狀模型的一個特例,,,,,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),,,,,,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),,,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),多對多聯(lián)系在網(wǎng)狀模型中的表示 用網(wǎng)狀模型間接表示多對多聯(lián)系 方法 將多對多聯(lián)系直接分解成一對多聯(lián)系,2. 網(wǎng)狀模型的數(shù)據(jù)操縱,查詢 插入 刪除 更新,3.網(wǎng)狀數(shù)據(jù)模型的完整性約束,網(wǎng)狀數(shù)據(jù)庫系統(tǒng)(如DBTG)對數(shù)據(jù)操縱加 了一些限制,提供了一定的完整性約束 碼 雙親結(jié)點與子女結(jié)點之間是一對多聯(lián)系 屬籍類別 加入類別(自動的,手工的) 移出類別(固定的,必須 的,隨意的),3. 網(wǎng)狀數(shù)據(jù)模型的完整性約束,完整性約束條件 允許插入尚未確定雙親結(jié)點值的子女結(jié)點值 允許只刪除雙親結(jié)點值,4.網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu),關(guān)鍵 實現(xiàn)記錄之間的聯(lián)系 常用方法 單向鏈接 雙向鏈接 環(huán)狀鏈接 向首鏈接 例:P29,5.網(wǎng)狀模型的優(yōu)缺點,優(yōu)點 能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親 具有良好的性能,存取效率較高 缺點 結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握 DDL、DML語言復(fù)雜,用戶不容易使用,6. 典型的網(wǎng)狀數(shù)據(jù)庫系統(tǒng),DBTG系統(tǒng),亦稱CODASYL系統(tǒng) 由DBTG提出的一個系統(tǒng)方案 奠定了數(shù)據(jù)庫系統(tǒng)的基本概念、方法和技術(shù) 70年代推出 實際系統(tǒng) Cullinet Software Inc.公司的 IDMS Univac公司的 DMS1100 Honeywell公司的IDS/2 HP公司的IMAGE,1.2 數(shù)據(jù)模型,1.2.1 概念模型 1.2.2 數(shù)據(jù)模型的組成要素 1.2.3 最常用的數(shù)據(jù)模型 1.2.4 層次模型 1.2.5 網(wǎng)狀模型 1.2.6 關(guān)系模型,1.2.6 關(guān)系模型,1. 關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 2. 關(guān)系數(shù)據(jù)模型的操縱 3. 關(guān)系數(shù)據(jù)模型的完整性約束 4. 關(guān)系數(shù)據(jù)模型的存儲結(jié)構(gòu) 5. 關(guān)系數(shù)據(jù)模型的優(yōu)缺點 6. 典型的關(guān)系數(shù)據(jù)庫系統(tǒng),關(guān)系模型,最重要的一種數(shù)據(jù)模型。也是目前主要采用的數(shù)據(jù)模型 1970年由美國IBM公司San Jose研究室的研究員E.F.Codd提出 本課程的重點,關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu),在用戶觀點下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。,關(guān)系模型的基本概念,關(guān)系(Relation) 一個關(guān)系對應(yīng)通常說的一張表。 元組(Tuple) 表中的一行即為一個元組。 屬性(Attribute) 表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名。,關(guān)系模型的基本概念,主碼(Key) 表中的某個屬性組,它可以唯一確定一個元組。 域(Domain) 屬性的取值范圍。 分量 元組中的一個屬性值。 關(guān)系模式 對關(guān)系的描述 關(guān)系名(屬性1,屬性2,…,屬性n) 學(xué)生(學(xué)號,姓名,年齡,性別,系,年級),關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),實體及實體間的聯(lián)系的表示方法 實體型:直接用關(guān)系(表)表示。 屬性:用屬性名表示。 一對一聯(lián)系:隱含在實體對應(yīng)的關(guān)系中。 一對多聯(lián)系:隱含在實體對應(yīng)的關(guān)系中。 多對多聯(lián)系:直接用關(guān)系表示。,關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),例1 學(xué)生、系、系與學(xué)生之間的一對多聯(lián)系: 學(xué)生(學(xué)號,姓名,年齡,性別,系號,年級) 系 (系號,系名,辦公地點) 例2 系、系主任、系與系主任間的一對一聯(lián)系,關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),例3 學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系: 學(xué)生(學(xué)號,姓名,年齡,性別,系號,年級) 課程(課程號,課程名,學(xué)分) 選修(學(xué)號,課程號,成績),關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)),關(guān)系必須是規(guī)范化的,滿足一定的規(guī)范條件 最基本的規(guī)范條件:關(guān)系的每一個分量必須是一個不 可分的數(shù)據(jù)項。,2.關(guān)系模型的數(shù)據(jù)操縱,查詢、插入、刪除、更新 數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系,即若干元組的集合 存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細說明“怎么干”,3.關(guān)系模型的完整性約束,實體完整性 參照完整性 用戶定義的完整性,4.關(guān)系數(shù)據(jù)模型的存儲結(jié)構(gòu),表以文件形式存儲 有的DBMS一個表對應(yīng)一個操作系統(tǒng)文件 有的DBMS自己設(shè)計文件結(jié)構(gòu),,,圖 關(guān)系模型的例子,PART模式 (P#,PNAME,COLOR,WEIGHT) PROJECT模式 (J#,JNAME,DATE) SUPPLIER模式 (S#,SNAME,SADDR) P_P模式 (J#,P#,TOTAL) P_S模式 (P#,S#,QUANTITY),,100,S2,P4,BEIJING,FADC,S2,300,S2,P3,SHANGHAI,PICC,S1,150,S1,P2,SADDR,SNAME,S#,200,S2,P2,SUPPLIER,關(guān)系,100,S1,P1,91,-,3,JC,J3,QUANTITY,S#,P#,90.5,JB,J2,P_S,關(guān)系,89.1,JA,J1,18,P3,J1,DATE,JNAME,J#,25,P3,J2,PROJECT,關(guān)系,65,P2,J1,19,RED,SCREW,P4,6,P3,J3,12,RED,NUT,P3,15,P2,J2,17,GREEN,BOLT,P2,50,P1,J1,14,BLUE,SCREW,P1,TOTAL,P#,J#,WEIGHT,COLOR,PNAME,P#,P_P,關(guān)系,PART,關(guān)系,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,S2,P4,BEIJING,FADC,S2,300,S2,P3,SHANGHAI,PICC,S1,150,S1,P2,SADDR,SNAME,S#,200,S2,P2,SUPPLIER,關(guān)系,100,S1,P1,91,-,3,JC,J3,QUANTITY,S#,P#,90.5,JB,J2,P_S,關(guān)系,89.1,JA,J1,18,P3,J1,DATE,JNAME,J#,25,P3,J2,PROJECT,關(guān)系,65,P2,J1,19,RED,SCREW,P4,6,P3,J3,12,RED,NUT,P3,15,P2,J2,17,GREEN,BOLT,P2,50,P1,J1,14,BLUE,SCREW,P1,TOTAL,P#,J#,WEIGHT,COLOR,PNAME,P#,P_P,關(guān)系,PART,關(guān)系,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5.關(guān)系模型的優(yōu)缺點,優(yōu)點 建立在嚴格的數(shù)學(xué)概念的基礎(chǔ)上 概念單一。數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用 實體和各類聯(lián)系都用關(guān)系來表示。 對數(shù)據(jù)的檢索結(jié)果也是關(guān)系。 關(guān)系模型的存取路徑對用戶透明 具有更高的數(shù)據(jù)獨立性,更好的安全保密性 簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作,關(guān)系模型的優(yōu)缺點(續(xù)),缺點 存取路徑對用戶透明導(dǎo)致查詢效率往往不如非 關(guān)系數(shù)據(jù)模型 為提高性能,必須對用戶的查詢請求進行優(yōu)化 增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度,6. 典型的關(guān)系數(shù)據(jù)庫系統(tǒng),ORACLE SYBASE INFORMIX DB/2 COBASE PBASE EasyBase DM/2 OpenBase,對象模型,對象(object)是現(xiàn)實世界中實體的模型化,與實體概念相仿,但遠比實體復(fù)雜。 將屬性集和方法集相同的所有對象組合在一起,構(gòu)成了一個類(class)。,,圖 四種邏輯數(shù)據(jù)模型的比較,第一章 緒論,1.1 數(shù)據(jù)庫系統(tǒng)概述 1.2 數(shù)據(jù)模型 1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 1.4 數(shù)據(jù)庫系統(tǒng)的組成 1.5 數(shù)據(jù)庫技術(shù)的研究領(lǐng)域 1.6 小結(jié),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.1 數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)模式的概念 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 數(shù)據(jù)庫的二級映象功能與數(shù)據(jù)獨立性 小結(jié),數(shù)據(jù)庫系統(tǒng)模式的概念,“型” 和“值” 的概念 型(Type) 對某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明 值(Value) 是型的一個具體賦值 例如:學(xué)生記錄 記錄型: (學(xué)號,姓名,性別,系別,年齡,籍貫) 該記錄型的一個記錄值: (900201,李明,男,計算機,22,江蘇),數(shù)據(jù)庫系統(tǒng)模式的概念(續(xù)),模式(Schema)-型 數(shù)據(jù)庫邏輯結(jié)構(gòu)和特征的描述 是型的描述 反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系 模式是相對穩(wěn)定的 模式的一個實例(Instance)-值 模式的一個具體值 反映數(shù)據(jù)庫某一時刻的狀態(tài) 同一個模式可以有很多實例 實例隨數(shù)據(jù)庫中的數(shù)據(jù)的更新而變動,1.3.1 數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)模式的概念 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 數(shù)據(jù)庫的二級映象功能與數(shù)據(jù)獨立性 小結(jié),數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),講解,1、何為模式、外模式、內(nèi)模式? 2、處在什么樣的地位? 3、他有什么樣的作用? 4、什么描述語言?,1.模式(Schema),模式(也稱邏輯模式) 數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述 所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求 一個數(shù)據(jù)庫只有一個模式 模式的地位:是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層 與數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境無關(guān) 與具體的應(yīng)用程序、開發(fā)工具及高級程序設(shè)計語言無關(guān),,模式的定義-內(nèi)容 數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項的名字、類型、取值范圍等) 數(shù)據(jù)之間的聯(lián)系 數(shù)據(jù)有關(guān)的安全性、完整性要求 模式描述語言(模式DDL),2. 外模式(External Schema),外模式(也稱子模式或用戶模式) 數(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ù) 子模式描述語言(子模式DDL),3.內(nèi)模式(Internal Schema),內(nèi)模式(也稱存儲模式) 是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述 是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式 記錄的存儲方式(順序存儲,按照B樹結(jié)構(gòu)存儲,按hash方法存儲) 索引的組織方式 數(shù)據(jù)是否壓縮存儲 數(shù)據(jù)是否加密 數(shù)據(jù)存儲記錄結(jié)構(gòu)的規(guī)定 一個數(shù)據(jù)庫只有一個內(nèi)模式,,注意:內(nèi)部記錄并不涉及到物理設(shè)備的約束。比內(nèi)模式更接近物理存儲和訪問的那些軟件機制是操作系統(tǒng)的一部分(文件系統(tǒng)),例如從磁盤讀數(shù)據(jù)或?qū)憯?shù)據(jù)到磁盤上的操作等。 內(nèi)模式描述語言(內(nèi)模式DDL、存儲DDL),,數(shù)據(jù)按外模式的描述提供給用戶, 按內(nèi)模式的描述存儲在磁盤中, 而模式提供了連接這兩級的相對穩(wěn)定的中間觀點,并使得兩級中任何一級的改變不受另一級的牽制。,1.3.1 數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)模式的概念 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 數(shù)據(jù)庫的二級映象功能與數(shù)據(jù)獨立性 小結(jié),三級模式與二級映象,三級模式是對數(shù)據(jù)的三個抽象級別 二級映象在DBMS內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換 數(shù)據(jù)獨立性:是指應(yīng)用程序和數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)之間相互獨立,不受影響。 數(shù)據(jù)獨立性 物理數(shù)據(jù)獨立性 邏輯數(shù)據(jù)獨立性,,數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),1.外模式/模式映象,1、定義外模式與模式之間的對應(yīng)關(guān)系 2、每一個外模式都對應(yīng)一個外模式/模式映象 3、映象定義通常包含在各自外模式的描述中,外模式/模式映象的用途,4、保證數(shù)據(jù)的邏輯獨立性 當模式改變時,數(shù)據(jù)庫管理員修改有關(guān)的外模式/模式映象,使外模式保持不變 應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。,數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),,,,,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)模式映象的用途,保證數(shù)據(jù)的物理獨立性 當數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了(例如選用了另一種存儲結(jié)構(gòu)),數(shù)據(jù)庫管理員修改模式/內(nèi)模式映象,使模式保持不變 應(yīng)用程序不受影響。保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。,數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),,,,,數(shù)據(jù)庫的三級體系結(jié)構(gòu),,,1.3.1 數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)模式的概念 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 數(shù)據(jù)庫的二級映象功能與數(shù)據(jù)獨立性 小結(jié),小結(jié),模式 是數(shù)據(jù)庫的中心與關(guān)鍵 獨立于數(shù)據(jù)庫的其它層次 設(shè)計數(shù)據(jù)庫模式結(jié)構(gòu)時應(yīng)首先確定數(shù)據(jù)庫的邏輯模式,小結(jié)(續(xù)),內(nèi)模式 依賴于全局邏輯結(jié)構(gòu),但獨立于數(shù)據(jù)庫的用戶視圖即外模式,也獨立于具體的存儲設(shè)備。 它將全局邏輯結(jié)構(gòu)中所定義的數(shù)據(jù)結(jié)構(gòu)及其聯(lián)系按照一定的物理存儲策略進行組織,以達到較好的時間與空間效率。,小結(jié)(續(xù)),外模式 面向具體的應(yīng)用程序,定義在邏輯模式之上,但獨立于存儲模式和存儲設(shè)備 設(shè)計外模式時應(yīng)充分考慮到應(yīng)用的擴充性。當應(yīng)用需求發(fā)生較大變化,相應(yīng)外模式不能滿足其視圖要求時,該外模式就得做相應(yīng)改動,小結(jié)(續(xù)),應(yīng)用程序 在外模式描述的數(shù)據(jù)結(jié)構(gòu)上編制的,它依賴于特定的外模式,與數(shù)據(jù)庫的模式和存儲結(jié)構(gòu)獨立。 不同的應(yīng)用程序有時可以共用同一個外模式。,小結(jié)(續(xù)),二級映象 保證了數(shù)據(jù)庫外模式的穩(wěn)定性,從而從底層保證了應(yīng)用程序的穩(wěn)定性,除非應(yīng)用需求本身發(fā)生變化,否則應(yīng)用程序一般不需要修改。 數(shù)據(jù)與程序之間的獨立性,使得數(shù)據(jù)的定義和描述可以從應(yīng)用程序中分離出去。,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),1. 單用戶數(shù)據(jù)庫系統(tǒng),整個數(shù)據(jù)庫系統(tǒng)(應(yīng)用程序、DBMS、數(shù)據(jù))裝在一臺計算機上,為一個用戶獨占,不同機器之間不能共享數(shù)據(jù)。 早期的最簡單的數(shù)據(jù)庫系統(tǒng),2. 主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng),一個主機帶多個終端的多用戶結(jié)構(gòu) 數(shù)據(jù)庫系統(tǒng),包括應(yīng)用程序、DBMS、數(shù)據(jù),都集中存放在主機上,所有處理任務(wù)都由 主機來完成 各個用戶通過主機的終端并發(fā)地存取數(shù)據(jù)庫,共享數(shù)據(jù)資源,主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng),主機,終端,,,,,,主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)(續(xù)),優(yōu)點 易于管理、控制與維護。 缺點 當終端用戶數(shù)目增加到一定程度后,主機的任務(wù)會過分繁重,成為瓶頸,從而使系統(tǒng)性能下降。 系統(tǒng)的可靠性依賴主機,當主機出現(xiàn)故障時,整個系統(tǒng)都不能使用。,3. 分布式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫中的數(shù)據(jù)在邏輯上是一個整體,但物理地分布在計算機網(wǎng)絡(luò)的不同結(jié)點上。 網(wǎng)絡(luò)中的每個結(jié)點都可以獨立處理本地數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行局部應(yīng)用 同時也可以同時存取和處理多個異地數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行全局應(yīng)用,,,分布式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)(續(xù)),優(yōu)點 適應(yīng)了地理上分散的公司、團體和組織對于數(shù)據(jù)庫應(yīng)用的需求。 缺點 數(shù)據(jù)的分布存放給數(shù)據(jù)的處理、管理與維護帶來困難。 當用戶需要經(jīng)常訪問遠程數(shù)據(jù)時,系統(tǒng)效率會明顯地受到網(wǎng)絡(luò)傳輸?shù)闹萍s。,4.客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng),把DBMS功能和應(yīng)用分開 網(wǎng)絡(luò)中某個(些)結(jié)點上的計算機專門用于執(zhí)行DBMS功能,稱為數(shù)據(jù)庫服務(wù)器,簡稱服務(wù)器 其他結(jié)點上的計算機安裝DBMS的外圍應(yīng)用開發(fā)工具,用戶的應(yīng)用系統(tǒng),稱為客戶機,客戶/服務(wù)器數(shù)據(jù)庫系統(tǒng)的種類,集中的服務(wù)器結(jié)構(gòu) 一臺數(shù)據(jù)庫服務(wù)器,多臺客戶機 分布的服務(wù)器結(jié)構(gòu) 在網(wǎng)絡(luò)中有多臺數(shù)據(jù)庫服務(wù)器 分布的服務(wù)器結(jié)構(gòu)是客戶/服務(wù)器與 分布式數(shù)據(jù)庫的結(jié)合,客戶/服務(wù)器結(jié)構(gòu)的優(yōu)點,客戶端的用戶請求被傳送到數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器進行處理后,只將結(jié)果返回給用戶,從而顯著減少了數(shù)據(jù)傳輸量 數(shù)據(jù)庫更加開放 客戶與服務(wù)器一般都能在多種不同的硬件和軟件平臺上運行 可以使用不同廠商的數(shù)據(jù)庫應(yīng)用開發(fā)工具,第一章 緒論,1.1 數(shù)據(jù)庫系統(tǒng)概述 1.2 數(shù)據(jù)模型 1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 1.4 數(shù)據(jù)庫系統(tǒng)的組成 1.5 數(shù)據(jù)庫技術(shù)的研究領(lǐng)域 1.6 小結(jié),1.4 數(shù)據(jù)庫系統(tǒng)的組成,數(shù)據(jù)庫-倉庫 數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)-管理制度、運行規(guī)則 應(yīng)用系統(tǒng)-使用倉庫的公司 數(shù)據(jù)庫管理員-倉庫管理員 (用戶)-使用倉庫的公司的人員,一、硬件平臺及數(shù)據(jù)庫,數(shù)據(jù)庫系統(tǒng)對硬件資源的要求 (1) 足夠大的內(nèi)存-運行 操作系統(tǒng) DBMS的核心模塊 數(shù)據(jù)緩沖區(qū) 應(yīng)用程序,數(shù)據(jù)庫系統(tǒng)對硬件資源的要求,(2) 足夠大的外存-存儲 磁盤 操作系統(tǒng) DBMS 應(yīng)用程序 數(shù)據(jù)庫及其備份 光盤、磁帶、軟盤 數(shù)據(jù)備份 (3) 較高的通道能力,提高數(shù)據(jù)傳送率-傳輸,二、軟件,DBMS 操作系統(tǒng) 與數(shù)據(jù)庫接口的高級語言及其編譯系統(tǒng) 以DBMS為核心的應(yīng)用開發(fā)工具 為特定應(yīng)用環(huán)境開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng),三、人員,數(shù)據(jù)庫管理員-運行中的管理人員 系統(tǒng)分析員 數(shù)據(jù)庫設(shè)計人員 開發(fā)人員 應(yīng)用程序員 (最終用戶),,1. 數(shù)據(jù)庫管理員(DBA),決定數(shù)據(jù)庫中的信息內(nèi)容和結(jié)構(gòu) 決定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存取策略 定義數(shù)據(jù)的安全性要求和完整性約束條件,數(shù)據(jù)庫管理員(續(xù)),監(jiān)控數(shù)據(jù)庫的使用和運行 周期性轉(zhuǎn)儲數(shù)據(jù)庫 數(shù)據(jù)文件 日志文件 系統(tǒng)故障恢復(fù) 介質(zhì)故障恢復(fù) 監(jiān)視審計文件,數(shù)據(jù)庫管理員(續(xù)),數(shù)據(jù)庫的改進和重組 性能監(jiān)控和調(diào)優(yōu) 數(shù)據(jù)重組 數(shù)據(jù)庫重構(gòu),2. 系統(tǒng)分析員,負責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說明 與用戶及DBA(數(shù)據(jù)庫管理員)協(xié)商,確定系統(tǒng)的硬軟件配置 參與數(shù)據(jù)庫系統(tǒng)的概要設(shè)計,3. 數(shù)據(jù)庫設(shè)計人員,參加用戶需求調(diào)查和系統(tǒng)分析 確定數(shù)據(jù)庫中的數(shù)據(jù) 設(shè)計數(shù)據(jù)庫各級模式,4. 應(yīng)用程序員,設(shè)計和編寫應(yīng)用系統(tǒng)的程序模塊 進行調(diào)試和安裝,5. 用戶,偶然用戶 企業(yè)或組織機構(gòu)的高中級管理人員 簡單用戶 銀行的職員、機票預(yù)定人員、旅館總臺服務(wù)員,用戶(續(xù)),復(fù)雜用戶 工程師、科學(xué)家、經(jīng)濟學(xué)家、科技工作者等 直接使用數(shù)據(jù)庫語言訪問數(shù)據(jù)庫,甚至能夠基于數(shù)據(jù)庫管理系統(tǒng)的API編制自己的應(yīng)用程序,第一章 緒論,1.1 數(shù)據(jù)庫系統(tǒng)概述 1.2 數(shù)據(jù)模型 1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 1.4 數(shù)據(jù)庫系統(tǒng)的組成 1.5 數(shù)據(jù)庫技術(shù)的研究領(lǐng)域 1.6 小結(jié),1.5 數(shù)據(jù)庫技術(shù)的研究領(lǐng)域,數(shù)據(jù)庫管理系統(tǒng)軟件的研制 數(shù)據(jù)庫設(shè)計--我們的應(yīng)用重點 數(shù)據(jù)庫理論--需要掌握的知識,數(shù)據(jù)庫管理系統(tǒng)軟件的研制,DBMS核心 一組相互聯(lián)系的軟件系統(tǒng) 工具軟件 中間件,數(shù)據(jù)庫設(shè)計,數(shù)據(jù)庫設(shè)計方法 設(shè)計工具 設(shè)計理論 數(shù)據(jù)模型和數(shù)據(jù)建模,數(shù)據(jù)庫理論,關(guān)系的規(guī)范化理論 關(guān)系數(shù)據(jù)理論,第一章 緒論,1.1 數(shù)據(jù)庫系統(tǒng)概述 1.2 數(shù)據(jù)模型 1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 1.4 數(shù)據(jù)庫系統(tǒng)的組成 1.5 數(shù)據(jù)庫技術(shù)的研究領(lǐng)域 1.6 小結(jié),小結(jié),數(shù)據(jù)庫系統(tǒng)概述 數(shù)據(jù)庫的基本概念 數(shù)據(jù)管理的發(fā)展過程 數(shù)據(jù)模型 數(shù)據(jù)模型的三要素 概念模型, E-R 模型 三種主要數(shù)據(jù)模型,小結(jié)(續(xù)),數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu) 數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構(gòu) 數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu) 數(shù)據(jù)庫系統(tǒng)的組成,作業(yè),教材習(xí)題P41: 第12題 第13題 參考教材P19-20的例子,216,問答時間,Q & A 謝謝,,- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 計算機技術(shù) 基礎(chǔ) 語言 引言
鏈接地址:http://m.kudomayuko.com/p-2883918.html