數(shù)據(jù)庫原理與設(shè)計(jì)_第一章_第1頁
數(shù)據(jù)庫原理與設(shè)計(jì)_第一章_第2頁
數(shù)據(jù)庫原理與設(shè)計(jì)_第一章_第3頁
數(shù)據(jù)庫原理與設(shè)計(jì)_第一章_第4頁
數(shù)據(jù)庫原理與設(shè)計(jì)_第一章_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫原理及設(shè)計(jì)數(shù)據(jù)庫原理及設(shè)計(jì)Principle and Design of Databases課程目的課程目的 掌握數(shù)據(jù)庫管理系統(tǒng)的基本原理; 學(xué)習(xí)作為系統(tǒng)管理員應(yīng)用、操作和管理數(shù)據(jù)庫管理系統(tǒng)的方法和技能; 設(shè)計(jì)開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)。內(nèi)容提要內(nèi)容提要數(shù)據(jù)庫管理系統(tǒng)基本原理數(shù)據(jù)庫管理系統(tǒng)基本原理 基本概念:數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、視圖、數(shù)據(jù)模型及抽象等 基本內(nèi)容:關(guān)系數(shù)據(jù)庫與理論、SQL語言、數(shù)據(jù)庫安全性、數(shù)據(jù)庫完整性、數(shù)據(jù)庫并發(fā)控制、數(shù)據(jù)庫故障恢復(fù)等DBMS的基本原理在的基本原理在SQL Server中的體現(xiàn);中的體現(xiàn);數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)與開發(fā)。數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)與開發(fā)。講授

2、方式講授方式首先講解數(shù)據(jù)庫系統(tǒng)的整體框架,了解其各部分組成及地位作用、所涉及的概念及內(nèi)容;重視英文術(shù)語;根據(jù)整體框架,分別講授各個(gè)組成部分;各個(gè)部分的講解,基本上先講其基本概念及理論,緊接著將以SQL Server DBMS為例,對應(yīng)講解該理論在實(shí)際的DBMS中的運(yùn)用及體現(xiàn);利用上機(jī)實(shí)驗(yàn)條件和課內(nèi)外課時(shí),實(shí)際上機(jī)實(shí)習(xí),加深理論,掌握有代表性的SQL Server DBMS;教材:陶宏才主編, , 第二版,清華大學(xué)出版社,2007.9學(xué)習(xí)方式學(xué)習(xí)方式 好消息好消息: 課程內(nèi)容是很多技術(shù)的基礎(chǔ) 非常重要;非常重要; 幾乎所有計(jì)算機(jī)應(yīng)用領(lǐng)域都需要數(shù)據(jù)庫 非常有用。非常有用。 警鐘警鐘: 要把自己放到

3、虛擬工作環(huán)境中,帶著問題來學(xué)。 課程內(nèi)容多,需要深入理解; 學(xué)習(xí)不努力,考試徒傷悲! 如何在本課程中獲得事半功倍的效果如何在本課程中獲得事半功倍的效果? 積極主動(dòng)地學(xué)習(xí); 記筆記; 上課時(shí)腦細(xì)胞要活躍,多問為什么; 按時(shí)、優(yōu)質(zhì)地完成作業(yè); 同學(xué)間討論問題; 自己動(dòng)手練習(xí)。成績評(píng)估方法成績評(píng)估方法 平時(shí)成績占平時(shí)成績占30 作業(yè)占15 課堂討論,測驗(yàn)占15(考勤) 上機(jī)(完成并提交上機(jī)報(bào)告) 期末考試成績占期末考試成績占70 內(nèi)容以課堂講授及教材為準(zhǔn)。主要參考書主要參考書王珊、薩師煊等編著. 數(shù)據(jù)庫系統(tǒng)概論(第4版) . 高等教育出版社, 2006鄭阿奇. SQL Server實(shí)用教程(第3版)

4、.電子工業(yè)出版社,2013年施伯樂等編著. 數(shù)據(jù)庫系統(tǒng)教程. 第2版. 高等教育出版社, 2003.8李建中, 王珊編著. 數(shù)據(jù)庫系統(tǒng)原理. 電子工業(yè)出版社, 1999.4王珊, 陳紅編著. 數(shù)據(jù)庫系統(tǒng)原理教程. 清華大學(xué)出版社, 1998.7Ramez Elmasri, Shamkant B. Navathe著.數(shù)據(jù)庫系統(tǒng)基礎(chǔ). 第3版. 邵佩英, 張坤龍等譯. 人民郵電出版社, 2002.11 學(xué)習(xí)目的和要求 數(shù)據(jù)庫管理系統(tǒng)出現(xiàn)的背景 數(shù)據(jù)庫管理系統(tǒng)基本功能、 抽象層次 數(shù)據(jù)庫系統(tǒng)總體結(jié)構(gòu) 理解數(shù)據(jù)庫原理、應(yīng)用及設(shè)計(jì)三部分間的關(guān)系 數(shù)據(jù)庫系統(tǒng)中的術(shù)語與基本概念第一章第一章 數(shù)據(jù)庫系統(tǒng)概述數(shù)

5、據(jù)庫系統(tǒng)概述思考一下思考一下 在數(shù)據(jù)庫系統(tǒng)還沒有出現(xiàn)的時(shí)候,你在大學(xué)學(xué)生處工作。 有1000名新生需要登記信息,可能還會(huì)有1000人后續(xù)而來,你采用什么方法管理他們?一個(gè)完成數(shù)據(jù)輸入、存儲(chǔ)、修改、輸出、持一個(gè)完成數(shù)據(jù)輸入、存儲(chǔ)、修改、輸出、持久有效的系統(tǒng)久有效的系統(tǒng)存儲(chǔ)數(shù)據(jù)存儲(chǔ)數(shù)據(jù) 使用一種數(shù)據(jù)結(jié)構(gòu)使用一種數(shù)據(jù)結(jié)構(gòu)易于修改數(shù)據(jù)易于修改數(shù)據(jù) 這種數(shù)據(jù)結(jié)構(gòu)便于查找這種數(shù)據(jù)結(jié)構(gòu)便于查找數(shù)據(jù)和修改數(shù)據(jù)數(shù)據(jù)和修改數(shù)據(jù)持久有效持久有效 系統(tǒng)有安全保護(hù)措施系統(tǒng)有安全保護(hù)措施走向數(shù)據(jù)庫之一走向數(shù)據(jù)庫之一:“史前時(shí)期史前時(shí)期” 數(shù)據(jù)庫的“史前時(shí)期”是文件系統(tǒng)(File System)時(shí)期。 文件系統(tǒng)怎樣開發(fā)管理

6、應(yīng)用呢?文件系統(tǒng)怎樣開發(fā)管理應(yīng)用呢?開發(fā)任務(wù)簡單學(xué)生管理系統(tǒng),學(xué)生注冊、選課、學(xué)籍和成績管理。開發(fā)工具及環(huán)境程序設(shè)計(jì)語言如C/C+,Windows下的文件系統(tǒng)。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)確定管理對象;抽取對象主要特征;將特征組織起來。利用C/C+語言中的“結(jié)構(gòu)”數(shù)據(jù)類型存放數(shù)據(jù)。文件系統(tǒng)實(shí)現(xiàn)過程(文件系統(tǒng)實(shí)現(xiàn)過程(1 1)- - 數(shù)據(jù)結(jié)構(gòu)定義數(shù)據(jù)結(jié)構(gòu)定義struct Student intnStudNo;char szStudName20;charcGender;intnAge;charszDept30;struct EnrollmentintnStudNo;intnWhichTerm;charcEnrol

7、led;charszMem30;struct Course int nCourseNo; char szCourseName20; char szDept30;struct ScoreintnStudNo;intnCourseNo;intnScore;注注:sz - sz - 數(shù)組(數(shù)組(ArrayArray),),n n 整數(shù)(整數(shù)(Number Number ),),c - c - 字符(字符(CharChar)文件系統(tǒng)實(shí)現(xiàn)過程(文件系統(tǒng)實(shí)現(xiàn)過程(2)構(gòu)造鏈表為了管理學(xué)生的信息,常常以班級(jí)為單位。如果對集合數(shù)據(jù)進(jìn)行添加、修改、排序等操作,一個(gè)辦法是構(gòu)造鏈表。在我們的例子中,至少需要構(gòu)造四個(gè)

8、這樣的鏈表。以學(xué)生基本信息鏈表為例:StudentInfoStudentInfo StudentInfo鏈表操作對班級(jí)的學(xué)生進(jìn)行增加、刪除、修改、查詢與排序工作。相對于鏈表是對結(jié)點(diǎn)進(jìn)行insert,delete,update,query,sort。文件系統(tǒng)實(shí)現(xiàn)過程(文件系統(tǒng)實(shí)現(xiàn)過程(3) - 用戶界面設(shè)計(jì)用戶界面設(shè)計(jì)文件系統(tǒng)實(shí)現(xiàn)過程(文件系統(tǒng)實(shí)現(xiàn)過程(4)創(chuàng)建數(shù)據(jù)存儲(chǔ)文件將鏈表中的數(shù)據(jù)以文件形式存盤。使用文件I/O操作函數(shù)完成對文件中數(shù)據(jù)的讀寫,上例中需要四個(gè)數(shù)據(jù)文件。程序運(yùn)行前,需將數(shù)據(jù)文件中的數(shù)據(jù)讀出,放入程序中的對應(yīng)鏈表中,以方便數(shù)據(jù)的操作。程序結(jié)束運(yùn)行之前,將鏈表中的數(shù)據(jù)存入到對應(yīng)的數(shù)

9、據(jù)文件中。數(shù)據(jù)管理操作最基本的數(shù)據(jù)操作:增加、刪除、修改和查詢,簡稱:增刪改查詢增刪改查詢。其他操作或功能由這四個(gè)基本操作組合而來文件系統(tǒng)的缺陷文件系統(tǒng)的缺陷(1) 無法處理超大量數(shù)據(jù)(如GB級(jí),TB級(jí),PB級(jí))證券、銀行、保險(xiǎn)等領(lǐng)域擁有超大量級(jí)數(shù)據(jù)。內(nèi)寸不夠,不能一次讀入大量數(shù)據(jù)。32位計(jì)算機(jī)直接訪問的地址為4GB;在32位機(jī)上Linux、Windows NT、Windows 2000等操作系統(tǒng)不允許硬盤上單個(gè)文件超過232=4GB大小。大數(shù)據(jù)量下的查詢速度存在問題多用戶并發(fā)訪問(Concurrent Access)前面的學(xué)生管理系統(tǒng)只能單機(jī)或單用戶使用。多用戶的并發(fā)訪問可能導(dǎo)致多個(gè)用戶同時(shí)

10、存取同一數(shù)據(jù)(Conflict)。數(shù)據(jù)訪問沖突導(dǎo)致數(shù)據(jù)不一致。多用戶并發(fā)訪問的透明度。文件系統(tǒng)的缺陷文件系統(tǒng)的缺陷(2) 故障情況下的恢復(fù)(Crash Recovery) 文件系統(tǒng)需要增加大量代碼 安全性(Security) 文件系統(tǒng)必需做很大改進(jìn),以滿足數(shù)據(jù)安全的要求,例如:不同用戶的授權(quán)問題。 數(shù)據(jù)的完整性(Integrity) 同一數(shù)據(jù)可能會(huì)出現(xiàn)在多個(gè)數(shù)據(jù)結(jié)構(gòu)中,同時(shí)對應(yīng)地出現(xiàn)在多個(gè)數(shù)據(jù)文件中。 修改一個(gè)文件的一個(gè)數(shù)據(jù),必須同時(shí)修改其他文件中的相同的數(shù)據(jù),否則就會(huì)產(chǎn)生數(shù)據(jù)的不一致。走向數(shù)據(jù)庫之二走向數(shù)據(jù)庫之二:“數(shù)據(jù)庫誕生數(shù)據(jù)庫誕生”文件系統(tǒng)管理應(yīng)用系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)(DBMS)大

11、容量數(shù)據(jù)并發(fā)訪問故障恢復(fù)安全性完整性文件系統(tǒng)大容量數(shù)據(jù)并發(fā)訪問故障恢復(fù)安全性完整性 抽出五個(gè)基本公共功能形成數(shù)據(jù)庫管理系統(tǒng) 引起的術(shù)語變化: 結(jié)構(gòu)類型 數(shù)據(jù)模型(data model) 具體的某個(gè)結(jié)構(gòu) 數(shù)據(jù)模式(data schema) 數(shù)據(jù)文件 數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)文件開發(fā)支持?jǐn)?shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn) 整體數(shù)據(jù)的結(jié)構(gòu)化整體數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一 整體結(jié)構(gòu)化 不再僅僅針對某一個(gè)應(yīng)用,而是面向全組織不再僅僅針對某一個(gè)應(yīng)用,而是面向全組織 不僅數(shù)據(jù)內(nèi)部結(jié)構(gòu)化,整體是結(jié)構(gòu)化的,數(shù)據(jù)之間具有聯(lián)系不僅數(shù)據(jù)內(nèi)部結(jié)構(gòu)化,整體是結(jié)構(gòu)化的,數(shù)據(jù)之間具有聯(lián)系 數(shù)據(jù)庫中實(shí)現(xiàn)的是數(shù)據(jù)的真正結(jié)構(gòu)化

12、數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)模型數(shù)據(jù)模型描述,無需程序定義和解釋描述,無需程序定義和解釋 數(shù)據(jù)可以數(shù)據(jù)可以變長變長 數(shù)據(jù)的最小存取單位是數(shù)據(jù)的最小存取單位是數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)學(xué)號(hào)姓名性別年齡所在系家庭住址聯(lián)系電話學(xué)生記錄結(jié)構(gòu)課程號(hào)課程名學(xué)時(shí)教材名稱學(xué)號(hào)課程號(hào)學(xué)期成績課程記錄結(jié)構(gòu)選課記錄結(jié)構(gòu)整體數(shù)據(jù)的結(jié)構(gòu)化整體數(shù)據(jù)的結(jié)構(gòu)化數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn) 數(shù)據(jù)獨(dú)立性(Data Independence) 將數(shù)據(jù)如何表示的(如:是數(shù)組還是整數(shù)?)和如何存儲(chǔ)的(如:一個(gè)記錄的長度)與應(yīng)用程序分離 數(shù)據(jù)結(jié)構(gòu)和存儲(chǔ)方式發(fā)生變化不需修改和編譯應(yīng)用程序。 數(shù)據(jù)的邏輯獨(dú)立性:當(dāng)模式改

13、變時(shí),數(shù)據(jù)庫管理員修改有關(guān)的外模式/模式映象,使外模式保持不變;應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡稱數(shù)據(jù)的邏輯獨(dú)立性。 數(shù)據(jù)的物理獨(dú)立性:當(dāng)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)改變了(例如選用了另一種存儲(chǔ)結(jié)構(gòu)),數(shù)據(jù)庫管理員修改模式/內(nèi)模式映象,使模式保持不變;應(yīng)用程序不受影響。保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡稱數(shù)據(jù)的物理獨(dú)立性。數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn) 數(shù)據(jù)庫系統(tǒng)從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)面向整個(gè)系統(tǒng),可以被多個(gè)用戶、多個(gè)應(yīng)用共享使用。 數(shù)據(jù)共享的好處 減少數(shù)據(jù)冗余,節(jié)約存儲(chǔ)空間 避免數(shù)據(jù)之間的不相容性與不一致性 使系統(tǒng)易于擴(kuò)充數(shù)據(jù)的共享性高,冗

14、余度低,易擴(kuò)充數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn) 高效數(shù)據(jù)訪問 (Efficient Data Access) DBMS利用許多復(fù)雜的技術(shù)來高效存儲(chǔ)和檢索數(shù)據(jù),這對存于外部存儲(chǔ)設(shè)備上的數(shù)據(jù)相當(dāng)重要。數(shù)據(jù)完整性與安全性(Data Integrity and Security) DBMS建立完整性約束,如為每個(gè)數(shù)據(jù)項(xiàng)指定數(shù)據(jù)類型。 DBMS提供授權(quán)子系統(tǒng),每個(gè)用戶或用戶組被賦予一個(gè)通過口令保護(hù)的帳戶,不同的帳戶有不同的訪問權(quán)限。數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)(續(xù))(續(xù))數(shù)據(jù)管理 數(shù)據(jù)的集中管理可以控制冗余(Redundancy)。并發(fā)訪問與故障恢復(fù) 多個(gè)用戶使用數(shù)據(jù)

15、庫,但用戶感到好象只有他一個(gè)人在使用似的。 數(shù)據(jù)庫在執(zhí)行某個(gè)程序發(fā)生故障后,DBMS能把數(shù)據(jù)庫恢復(fù)到這個(gè)程序開始執(zhí)行前的正確狀態(tài)??s短應(yīng)用開發(fā)時(shí)間( Reduced Application Development Time) 五大功能及相關(guān)的任務(wù)由DBMS來完成,系統(tǒng)開發(fā)的難度降低,開發(fā)時(shí)間也縮短了。 持久性存儲(chǔ)(Persistent Storage) 數(shù)據(jù)庫可以為程序?qū)ο蠛蛿?shù)據(jù)結(jié)構(gòu)提供持久性存儲(chǔ)。數(shù)據(jù)庫系統(tǒng)的基本功能數(shù)據(jù)庫系統(tǒng)的基本功能 數(shù)據(jù)獨(dú)立性 并發(fā)控制 故障恢復(fù) 安全性 完整性注意:雖然DBMS有很多優(yōu)勢,但在某些情況下使用DBMS反而會(huì)導(dǎo)致不必要的開銷。如: 苛刻的實(shí)時(shí)環(huán)境(現(xiàn)在有r

16、eal-time DB); 操作少,代碼要求精煉時(shí); 數(shù)據(jù)是非結(jié)構(gòu)化或半結(jié)構(gòu)化的(如HTML、XML、MS Word文檔),還沒有相應(yīng)的查詢語言支持。走向數(shù)據(jù)庫之三走向數(shù)據(jù)庫之三:“數(shù)據(jù)庫的抽象層次數(shù)據(jù)庫的抽象層次”應(yīng)用系統(tǒng)開發(fā)數(shù)據(jù)庫的抽象過程數(shù)據(jù)庫的抽象過程對應(yīng)用中的信息(數(shù)據(jù))進(jìn)行計(jì)算機(jī)化的管理 “數(shù)據(jù)抽象”;例如:管理計(jì)算機(jī)系的學(xué)生李白(20010311)的“數(shù)據(jù)庫”課程的成績 用一定的方式來組織數(shù)據(jù),使其具有結(jié)構(gòu)化 “ “數(shù)據(jù)數(shù)據(jù)模型模型”(data model)(data model);利用“數(shù)據(jù)模型數(shù)據(jù)模型”工具完成對具體系統(tǒng)的數(shù)據(jù)抽取、組織,得到的結(jié)果就是“數(shù)據(jù)模式數(shù)據(jù)模式”(d

17、ata schemadata schema)復(fù)雜的應(yīng)用系統(tǒng),可分成多個(gè)應(yīng)用子系統(tǒng)。對每個(gè)子系統(tǒng)進(jìn)行數(shù)據(jù)抽象,得到各自的模式,稱為外模式(external schema) “ “視圖抽象視圖抽象”;在外模式的基礎(chǔ)上“合零為整”,形成一個(gè)全局的數(shù)據(jù)模式,是概念上的,唯一的,稱為概念模式(conceptual schema) “概念抽象概念抽象”;概念模式轉(zhuǎn)化成計(jì)算機(jī)可實(shí)現(xiàn)的內(nèi)模式(internal schema),落實(shí)到計(jì)算機(jī)的物理實(shí)現(xiàn)層面 “ “物理抽象物理抽象”;數(shù)據(jù)庫三級(jí)抽象層次(模式)結(jié)構(gòu)數(shù)據(jù)庫三級(jí)抽象層次(模式)結(jié)構(gòu)外模式1概念模式內(nèi)模式外模式m外模式n視圖抽象概念抽象物理抽象數(shù)據(jù)庫數(shù)據(jù)

18、庫用戶組用戶組1 1用戶組用戶組n n全局局部視圖抽象概念抽象概念抽象視圖抽象數(shù)據(jù)庫的抽象層次數(shù)據(jù)庫的抽象層次應(yīng)用系統(tǒng)的設(shè)計(jì)和工具應(yīng)用系統(tǒng)的設(shè)計(jì)和工具外模式1概念模式內(nèi)模式外模式2外模式n數(shù)據(jù)庫數(shù)據(jù)庫用戶組用戶組1 1用戶組用戶組n n物理抽象物理抽象局部全局自頂向下自頂向下自底向上自底向上物理抽象物理抽象數(shù)據(jù)庫舞臺(tái)上的角色數(shù)據(jù)庫舞臺(tái)上的角色 最終用戶最終用戶(end user):):為了查詢、更新、以及產(chǎn)生報(bào)表等需要而訪問數(shù)據(jù)庫的人。如銀行的柜員、商業(yè)分析師等。 數(shù)據(jù)庫設(shè)計(jì)者:數(shù)據(jù)庫設(shè)計(jì)者:分析用戶需求,負(fù)責(zé)從“外部模式” “概念模式”“內(nèi)模式”建立數(shù)據(jù)庫的過程。 數(shù)據(jù)庫管理員(數(shù)據(jù)庫管理員

19、(DBA):):負(fù)責(zé)數(shù)據(jù)庫監(jiān)控、日常維護(hù)和管理。例如,為用戶授予存取權(quán)限等。數(shù)據(jù)庫設(shè)計(jì)者往往是DBA的候選人。 有關(guān)的軟件工程師:有關(guān)的軟件工程師:開發(fā)數(shù)據(jù)庫工具軟件包;系統(tǒng)分析;等等。數(shù)據(jù)庫的語言數(shù)據(jù)庫的語言 數(shù)據(jù)庫設(shè)計(jì)人員使用數(shù)據(jù)定義語言數(shù)據(jù)定義語言(DDL)完成對數(shù)據(jù)庫模式的描述。 數(shù)據(jù)庫管理員和用戶使用數(shù)據(jù)操縱語言數(shù)據(jù)操縱語言(DML)對數(shù)據(jù)進(jìn)行“增刪改查詢”等操作。 數(shù)據(jù)庫管理員使用數(shù)據(jù)控制語言數(shù)據(jù)控制語言(DCL)對數(shù)據(jù)庫進(jìn)行管理。 SQL(Structured Query Language,結(jié)構(gòu)化查詢語言結(jié)構(gòu)化查詢語言)綜合了上述各方面在一個(gè)語言中,是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)

20、據(jù)庫語言。目前的標(biāo)準(zhǔn)化版本為SQL-92,被ANSI、ISO (International Standards Organization)采納。 SQL語言既可以作為交互式(Interactive)數(shù)據(jù)庫語言使用,也可以嵌入(Embedded)到程序設(shè)計(jì)語言中作為其子語言使用。程序設(shè)計(jì)語言被稱為宿主語言宿主語言(Host Language),如:C/C+語言、PowerBuilder、Delphi等。數(shù)據(jù)庫設(shè)計(jì)、原理與應(yīng)用之間的聯(lián)系數(shù)據(jù)庫設(shè)計(jì)、原理與應(yīng)用之間的聯(lián)系數(shù)據(jù)庫系統(tǒng)總體結(jié)構(gòu)圖數(shù)據(jù)庫系統(tǒng)總體結(jié)構(gòu)圖利用利用SQL中的中的DDL將將關(guān)關(guān)系模式存入數(shù)據(jù)庫系模式存入數(shù)據(jù)庫SQL定義語句概念模式概

21、念模式 外模式外模式 1 外模式外模式n 外模式外模式 2 現(xiàn)實(shí)系統(tǒng)現(xiàn)實(shí)系統(tǒng) 數(shù)數(shù)據(jù)據(jù)庫庫設(shè)設(shè)計(jì)計(jì)部部分分 內(nèi)內(nèi)模式模式 關(guān)系數(shù)據(jù)庫管理系統(tǒng)關(guān)系數(shù)據(jù)庫管理系統(tǒng)RDBMSRDBMS 數(shù)據(jù)庫實(shí)現(xiàn)(原理)部分?jǐn)?shù)據(jù)庫實(shí)現(xiàn)(原理)部分DB 數(shù)據(jù)庫安全數(shù)據(jù)庫安全 并發(fā)控制并發(fā)控制 故障恢復(fù)故障恢復(fù) 完整性限制完整性限制CGI/ISAPI ODBC/JDBC /OLE DB SQL 的嵌入式使用的嵌入式使用C/C+、 PB、 Delphi、Java應(yīng)用程序應(yīng)用程序 數(shù)據(jù)庫應(yīng)用部分?jǐn)?shù)據(jù)庫應(yīng)用部分 用戶用戶 SQL的的交交互式互式使用使用 SQL語句 C/S 模式 瀏覽器瀏覽器 WEB服務(wù)器服務(wù)器 B/S模式

22、HTTP SQL語句CGI/ASP /JSP程序程序 走向數(shù)據(jù)庫之四走向數(shù)據(jù)庫之四:“數(shù)據(jù)庫的發(fā)展數(shù)據(jù)庫的發(fā)展” “史前時(shí)期 :文件系統(tǒng) “石器時(shí)代和中古時(shí)期” :層次與網(wǎng)狀數(shù)據(jù)庫系統(tǒng) “近代,1970+”:標(biāo)準(zhǔn)DBMS,關(guān)系數(shù)據(jù)庫系統(tǒng)(RDBS) “當(dāng)代,1989+”:面向?qū)ο髷?shù)據(jù)庫(OODBS) “當(dāng)代,1990+”:對象-關(guān)系數(shù)據(jù)庫(ORDBS) “現(xiàn)代,1995+”:數(shù)據(jù)倉庫;并行數(shù)據(jù)庫;分布式數(shù)據(jù)庫;基于Internet/Web的數(shù)據(jù)庫系統(tǒng)C/S結(jié)構(gòu),B/S結(jié)構(gòu)OLTP,OLAP,數(shù)據(jù)挖掘第一代數(shù)據(jù)庫系統(tǒng)第一代數(shù)據(jù)庫系統(tǒng) 1964,Bachman et al,第一個(gè)數(shù)據(jù)庫IDS,網(wǎng)狀

23、數(shù)據(jù)庫,數(shù)據(jù)庫界第一個(gè)圖靈獎(jiǎng)(數(shù)據(jù)庫界第一個(gè)圖靈獎(jiǎng)(1973)。 1968,IBM, 商品化產(chǎn)品,IMS,層次數(shù)據(jù) 1969,DBTG,DBTG報(bào)告,確定了網(wǎng)狀數(shù)據(jù)庫系統(tǒng)的概念、方法和技術(shù)。 Charles W. Bachman 第二代數(shù)據(jù)庫系統(tǒng)第二代數(shù)據(jù)庫系統(tǒng) 1970,IBM, E.F.Codd,提出了關(guān)系模型,奠定了關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)(關(guān)系數(shù)據(jù)庫之父)。 數(shù)據(jù)庫界第二個(gè)圖靈獎(jiǎng)數(shù)據(jù)庫界第二個(gè)圖靈獎(jiǎng)(19811981) E.F.CoddJames Gray-1998年圖靈獎(jiǎng)得主年圖靈獎(jiǎng)得主 由于數(shù)據(jù)庫是計(jì)算機(jī)各種應(yīng)用的基礎(chǔ),它大大促進(jìn)計(jì)算機(jī)的普及。 IBM,“System R”項(xiàng)目成

24、果極大地推動(dòng)了關(guān)系數(shù)據(jù)庫技術(shù)的發(fā)展,在此基礎(chǔ)上推出的DB2 和SQL 等產(chǎn)品成為IBM 的主流產(chǎn)品。System R本身作為原型并未問世,但鑒于其影響,ACM把1988 年的 “軟件系統(tǒng)獎(jiǎng)”授予了System R開發(fā)小組( 獲獎(jiǎng)的6個(gè)人中就包括1 9 9 8 年圖靈獎(jiǎng)得主J.Gray )。 基于J. Gray 在數(shù)據(jù)庫安全性、事務(wù)處理、圖形處理、存儲(chǔ)方面的杰出貢獻(xiàn),他獲得了1998年圖靈獎(jiǎng)。這是數(shù)據(jù)庫界第三個(gè)圖靈獎(jiǎng)。James Gray群雄并起到春秋五霸群雄并起到春秋五霸Gartner Group(位于美國康涅狄克州斯坦福德的(位于美國康涅狄克州斯坦福德的IT市場市場調(diào)查公司)基于估計(jì)的稅收(

25、調(diào)查公司)基于估計(jì)的稅收(Revenues)對)對2005年年RDBMS的賣主排序的賣主排序Top 5:Oracle: 48.9% IBM: 22.4% Microsoft : 13.9% Teradata: 3.2% Sybase: 3.0% 關(guān)系數(shù)據(jù)庫管理系統(tǒng)2005年比前一年增長8.3%Larry Ellison,Oracle CEOOLAP/Data Warehouse/Web Data Warehouse 1988年,IBM公司的研究者Barry Devlin和Paul Murphy發(fā)明了一個(gè)新的術(shù)語信息倉庫,之后,IT的廠商開始構(gòu)建實(shí)驗(yàn)性的數(shù)據(jù)倉庫。 1991,W.H. Inmon

26、, 提出了數(shù)據(jù)倉庫(Data Warehouse)的概念. 1993, Codd, 定義了OLAP,推動(dòng)了數(shù)據(jù)倉庫的建立。 Inmon vs.Kimball 數(shù)據(jù)倉庫數(shù)據(jù)庫 數(shù)據(jù)倉庫支持經(jīng)營管理中的決策制定過程。它面向運(yùn)營分析,數(shù)據(jù)挖掘(Data Mining),決策,商務(wù)(政務(wù))智能。 數(shù)據(jù)庫面向商業(yè)處理,如銷售,進(jìn)貨等一單一單的業(yè)務(wù)處理。為什么需要數(shù)據(jù)倉庫和為什么需要數(shù)據(jù)倉庫和OLAP數(shù)據(jù)庫平板文件數(shù)據(jù)倉庫去年的第二季度去年的第二季度WalMart的的所有分店的所有分店的洗發(fā)水的銷售情洗發(fā)水的銷售情況況?顧客銷售50元50kg1元蘋果15元10塊1.5元香皂B126元20瓶6.3元洗發(fā)水A

27、總銷售額銷售量單價(jià)貨品記錄內(nèi)容(x年x月x日)每日的銷售記錄記錄存儲(chǔ)經(jīng)理運(yùn)營分析結(jié)果去年的第二季度去年的第二季度WalMart的所有的所有分店的分店的洗發(fā)水的總銷售額為洗發(fā)水的總銷售額為14500元元OLTP and OLAP數(shù)據(jù)庫平板文件數(shù)據(jù)倉庫顧客銷售每日的銷售記錄記錄存儲(chǔ)OLTPOLAP新商業(yè)計(jì)劃運(yùn)營分析結(jié)果Internet/Web Database 單機(jī)多機(jī) 本地網(wǎng)絡(luò)化 純數(shù)據(jù)多媒體數(shù)據(jù) 結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)/半結(jié)構(gòu)化數(shù)據(jù) 主機(jī)/顯示器C/S和B/S結(jié)構(gòu) Zhang Pin Zhang Pin 21 21 Female Female /Student1 /Student1C/S和和B

28、/S模式模式 2-tier Client/ServerDBMS服務(wù)器數(shù)據(jù)讀寫和處理。DB數(shù)據(jù)存儲(chǔ)客戶機(jī)提出業(yè)務(wù)要求;事物流控制;顯示結(jié)果。網(wǎng) 絡(luò)應(yīng)用服務(wù)器事物流控制;負(fù)荷平衡。提出業(yè)務(wù)要求;顯示結(jié)果??蛻魴C(jī)網(wǎng) 絡(luò)DBMS服務(wù)器數(shù)據(jù)讀寫和處理。DB數(shù)據(jù)存儲(chǔ)應(yīng)用服務(wù)器事物流控制;負(fù)荷平衡。瀏覽器客戶端:提出業(yè)務(wù)要求;顯示結(jié)果。HTTPHTTPWeb服務(wù)器CGICGI,ISAPIISAPI,NSAPINSAPIODBCODBC,JDBCJDBC,OLE DBOLE DB3-tier Client/ServerBrowser/Server模式 數(shù)據(jù)庫系統(tǒng)的基本概念(數(shù)據(jù)庫系統(tǒng)的基本概念(1) 數(shù)據(jù)(數(shù)

29、據(jù)(Data):):是描述現(xiàn)實(shí)世界中各種具體事物或抽象概念的、可存貯并具有明確意義的信息。 數(shù)據(jù)庫數(shù)據(jù)庫(Database, DB):是相互關(guān)聯(lián)的數(shù)據(jù)集合。 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(Database Management System, DBMS) :是一個(gè)通用的軟件系統(tǒng),由一組計(jì)算機(jī)程序構(gòu)成。它能對數(shù)據(jù)庫進(jìn)行有效的管理,包括存儲(chǔ)管理、安全性管理、完整性管理等;同時(shí),它也為用戶提供了一個(gè)軟件環(huán)境,使其能夠方便快速地創(chuàng)建、維護(hù)、檢索、存取和處理數(shù)據(jù)庫中的信息。數(shù)據(jù)庫系統(tǒng)的基本概念(數(shù)據(jù)庫系統(tǒng)的基本概念(2) 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(Database System, DBS)(Database

30、 System, DBS):由數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)構(gòu)成,更廣義的構(gòu)成則為“DB+DBMS+數(shù)據(jù)庫管理員+應(yīng)用程序+用戶”。 數(shù)據(jù)字典數(shù)據(jù)字典(Data Dictionary, DD)(Data Dictionary, DD):是數(shù)據(jù)庫系統(tǒng)中的一個(gè)特殊文件,用于存儲(chǔ)數(shù)據(jù)庫中重要的說明信息,這些說明信息稱為元數(shù)據(jù)元數(shù)據(jù)(Meta Data)(Meta Data)。元數(shù)據(jù)是描述數(shù)據(jù)的數(shù)據(jù),例如:數(shù)據(jù)類型及長度(P17),價(jià)格單位,數(shù)據(jù)導(dǎo)出規(guī)則,等等,已經(jīng)成為重要的系統(tǒng)數(shù)據(jù)。 數(shù)據(jù)庫操作數(shù)據(jù)庫操作(Database Operation)(Database Operation):在數(shù)據(jù)庫應(yīng)用中,最常見

31、的有:增加、刪除、修改和查詢。 大型數(shù)據(jù)庫與微機(jī)數(shù)據(jù)庫區(qū)別:大型數(shù)據(jù)庫與微機(jī)數(shù)據(jù)庫區(qū)別:在于微機(jī)數(shù)據(jù)庫系統(tǒng)的某些功能相對弱化了。視圖(視圖(1) 視圖視圖(View):從不同的角度截取同一數(shù)據(jù)庫的子集(不同的理解),每一個(gè)子集被稱為該數(shù)據(jù)庫的一個(gè)視圖。 數(shù)據(jù)庫的分層視圖:數(shù)據(jù)庫的分層視圖: 應(yīng)用程序員應(yīng)用程序員 最終用戶最終用戶 DBA 系統(tǒng)程序員系統(tǒng)程序員 物理物理 數(shù)據(jù)數(shù)據(jù) 物理視圖物理視圖 內(nèi)模式內(nèi)模式 內(nèi)部視圖內(nèi)部視圖 概念模式概念模式 概念視圖概念視圖 子模式子模式1 外部視圖外部視圖 子模式子模式2 子模式子模式n 用戶圖表用戶圖表1 I/O 視圖視圖 用戶圖表用戶圖表2 用戶圖表

32、用戶圖表n 組織組織 視圖(視圖(2) 輸入輸出數(shù)據(jù)視圖:輸入輸出數(shù)據(jù)視圖:即終端用戶所見到的輸入輸出數(shù)據(jù)結(jié)構(gòu)描述。是按用戶要求表示出的數(shù)據(jù),如報(bào)表等。 外部視圖外部視圖(External View)(External View):局部數(shù)據(jù)庫邏輯結(jié)構(gòu)稱為外部視圖。這種視圖在數(shù)據(jù)庫設(shè)計(jì)時(shí)通常以圖形的形式(如E-R圖)表示,有的又叫視圖或用戶視圖。 概念視圖概念視圖(Conceptual View)(Conceptual View):整個(gè)數(shù)據(jù)庫系統(tǒng)的全局邏輯結(jié)構(gòu)。這種邏輯結(jié)構(gòu)稱為概念模型,它不包含任何數(shù)據(jù)庫的實(shí)現(xiàn)細(xì)節(jié),如:何種DBMS、文件組織、存取方法等。這種邏輯結(jié)構(gòu)的形式化描述稱為概念視圖。在

33、數(shù)據(jù)庫設(shè)計(jì)時(shí),概念視圖通常也以E-R圖表示。視圖(視圖(3) 內(nèi)部視圖內(nèi)部視圖(Internal View)(Internal View)或存儲(chǔ)視圖:或存儲(chǔ)視圖:特定的DBMS所處理的數(shù)據(jù)庫的內(nèi)部結(jié)構(gòu)稱為內(nèi)部模型,其形式化描述稱為內(nèi)部視圖或存儲(chǔ)視圖,它將數(shù)據(jù)庫表示為“內(nèi)部記錄”或“存儲(chǔ)記錄”的集合。存儲(chǔ)記錄仍然是邏輯性的,它不是存儲(chǔ)設(shè)備上的物理記錄或物理塊,也不涉及任何具體設(shè)備限制,如:柱面或磁道的大小等,所以存儲(chǔ)視圖還不是最底層的物理層。存儲(chǔ)視圖還指明存儲(chǔ)記錄的物理順序、以及它們?nèi)绾伪舜岁P(guān)聯(lián)。存儲(chǔ)視圖的語言形式定義稱為內(nèi)部模式。 物理視圖物理視圖(Physical View)(Physica

34、l View):數(shù)據(jù)庫在存儲(chǔ)設(shè)備上的物理組織稱為物理模型,其描述稱為物理視圖。它包含了所使用設(shè)備特征、物理記錄或塊的組成、尋址技術(shù)和壓縮存儲(chǔ)技術(shù)等的說明。數(shù)據(jù)抽象、數(shù)據(jù)模型與數(shù)據(jù)模式(數(shù)據(jù)抽象、數(shù)據(jù)模型與數(shù)據(jù)模式(1) 數(shù)據(jù)抽象數(shù)據(jù)抽象(Data Abstraction):即是將數(shù)據(jù)抽象化、邏輯化,使用戶不必了解數(shù)據(jù)庫文件的物理存儲(chǔ)結(jié)構(gòu)、存儲(chǔ)位置和存取方法等細(xì)節(jié),即可存取數(shù)據(jù)庫。在數(shù)據(jù)庫系統(tǒng)中,有三種級(jí)別的數(shù)據(jù)抽象,即:視圖級(jí)抽象、概念級(jí)抽象和物理級(jí)抽象。 數(shù)據(jù)模型數(shù)據(jù)模型(Data Model):即是對數(shù)據(jù)進(jìn)行抽象化表示的工具,主要使用邏輯概念(如對象、對象屬性、對象聯(lián)系等)來表示數(shù)據(jù)。由于

35、抽象級(jí)別的存在,數(shù)據(jù)模型也存在相應(yīng)的級(jí)別。如:概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型等。對于抽象級(jí)別高的概念數(shù)據(jù)模型我們叫它語義語義(Semantic)數(shù)據(jù)模型數(shù)據(jù)模型,如ER模型。 數(shù)據(jù)模式數(shù)據(jù)模式(Data Schema):根據(jù)數(shù)據(jù)模型來描述數(shù)據(jù),得到的具體的表達(dá)。亦即是描述數(shù)據(jù)的模板。數(shù)據(jù)庫三級(jí)抽象層次(模式)結(jié)構(gòu)數(shù)據(jù)庫三級(jí)抽象層次(模式)結(jié)構(gòu)外模式1概念模式內(nèi)模式外模式m外模式n視圖抽象概念抽象物理抽象數(shù)據(jù)庫數(shù)據(jù)庫用戶組用戶組1 1用戶組用戶組n n數(shù)據(jù)抽象、數(shù)據(jù)模型與數(shù)據(jù)模式(數(shù)據(jù)抽象、數(shù)據(jù)模型與數(shù)據(jù)模式(2) 三者的關(guān)系三者的關(guān)系: 數(shù)據(jù)抽象是將真實(shí)世界中的信息(數(shù)據(jù))提煉,再提煉,變成計(jì)算機(jī)能認(rèn)識(shí),可以管理的數(shù)據(jù)的過程; 數(shù)據(jù)模型是數(shù)據(jù)抽象的工具,是數(shù)據(jù)組織和表示的方式; 數(shù)據(jù)模

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論