江西農(nóng)業(yè)大學計算機導論第6章數(shù)據(jù)庫系統(tǒng)及其應用.ppt
《江西農(nóng)業(yè)大學計算機導論第6章數(shù)據(jù)庫系統(tǒng)及其應用.ppt》由會員分享,可在線閱讀,更多相關《江西農(nóng)業(yè)大學計算機導論第6章數(shù)據(jù)庫系統(tǒng)及其應用.ppt(93頁珍藏版)》請在裝配圖網(wǎng)上搜索。
計算機導論,,第6章數(shù)據(jù)庫系統(tǒng)及其應用,內(nèi)容提要數(shù)據(jù)庫系統(tǒng)的基本概念結(jié)構(gòu)化查詢語言SQL概述SQL的數(shù)據(jù)定義操作SQL的數(shù)據(jù)查詢操作SQL的數(shù)據(jù)更新操作SQL的視圖操作幾種新型的數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)的應用,基本要求:理解數(shù)據(jù)庫系統(tǒng)的基本概念和基本知識。掌握SQL的數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)更新和視圖等操作方法。了解分布式數(shù)據(jù)庫、多媒體數(shù)據(jù)庫、并行數(shù)據(jù)庫、演繹數(shù)據(jù)庫系統(tǒng)、主動數(shù)據(jù)庫和數(shù)據(jù)倉庫的功能、特點和主要實現(xiàn)技術。了解數(shù)據(jù)庫技術的應用領域。,6.1數(shù)據(jù)庫系統(tǒng)的基本概念,當今社會已經(jīng)進入信息時代,計算機技術被應用于人們生活的各個方面,人們需要對大量的數(shù)據(jù)進行加工處理,因此,需要利用先進的數(shù)據(jù)庫技術來完成對數(shù)據(jù)的處理并獲得對領導決策提供支持的有用的信息。數(shù)據(jù)庫技術產(chǎn)生于60年代末,70年代初期,其主要目的是為了在計算機應用中,有效地管理和存取大量的數(shù)據(jù)資源。目前數(shù)據(jù)處理和以數(shù)據(jù)處理為基礎的信息系統(tǒng)在計算機應用領域中所占的比重最大。,1.信息信息是人們對現(xiàn)實事物的抽象反映。在數(shù)據(jù)處理領域,通常把信息理解為關于現(xiàn)實世界事物的存在方式或運行狀態(tài)的反映的組合。例如,“環(huán)球公司2005年的年銷售額為980萬元”,當人們聽到這句話時,就獲得了關于環(huán)球公司在2005年的銷售業(yè)績方面的一個信息。,幾個基本概念,2.數(shù)據(jù)數(shù)據(jù)是記錄信息的物理符號,是表達和傳遞信息的工具。例如,在上面的例子中,“美華銷售公司”、“2003年”、“980萬元”等都是具體的數(shù)據(jù),上面的一條銷售業(yè)績信息正是由這些數(shù)據(jù)共同來傳遞完成的。,3.數(shù)據(jù)處理數(shù)據(jù)處理是指對各種類型的數(shù)據(jù)進行收集、分類、存儲、排序、檢索、加工和傳輸?shù)炔僮鬟^程。通過對數(shù)據(jù)的處理操作,可以從中獲得有價值的、對用戶的決策起作用的信息。,數(shù)據(jù)庫系統(tǒng)的定義,數(shù)據(jù)庫系統(tǒng):是在數(shù)據(jù)庫系統(tǒng)中實現(xiàn)對數(shù)據(jù)進行管理的軟件系統(tǒng),它是數(shù)據(jù)庫系統(tǒng)的重要組成部分和核心,由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理員、數(shù)據(jù)庫應用程序以及用戶五部分組成。數(shù)據(jù)庫(DataBase,DB):是統(tǒng)一管理的相關數(shù)據(jù)的集合。數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS):是對數(shù)據(jù)庫進行管理的軟件,它是數(shù)據(jù)庫系統(tǒng)的核心。,數(shù)據(jù)庫系統(tǒng)的定義(續(xù)),數(shù)據(jù)庫管理員(DataBaseAdministrator,DBA):是對數(shù)據(jù)庫進行規(guī)劃、設計、協(xié)調(diào)、維護和管理的IT技術人員。數(shù)據(jù)庫應用程序:是使用數(shù)據(jù)庫語言開發(fā)的、能夠滿足數(shù)據(jù)處理需求的應用程序。用戶:用戶可以通過數(shù)據(jù)庫管理系統(tǒng)直接操縱數(shù)據(jù)庫,或者通過數(shù)據(jù)庫應用程序來操縱數(shù)據(jù)庫,數(shù)據(jù)庫系統(tǒng)的組成,6.1.2數(shù)據(jù)管理技術的發(fā)展,計算機數(shù)據(jù)管理大致經(jīng)歷了如下四個階段:1人工管理階段。數(shù)據(jù)與程序不具有獨立性;數(shù)據(jù)不長期保存;系統(tǒng)中沒有對數(shù)據(jù)進行管理的軟件。2文件系統(tǒng)階段。程序與數(shù)據(jù)有了一定的獨立性,程序和數(shù)據(jù)分開存儲,有了程序文件和數(shù)據(jù)文件的區(qū)別數(shù)據(jù)文件可以長期保存。但數(shù)據(jù)冗余度大;缺乏數(shù)據(jù)獨立性;數(shù)據(jù)無集中管理。,3數(shù)據(jù)庫階段。避免了以上兩階段的缺點,實現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余;采用特定的數(shù)據(jù)模型;具有較高的數(shù)據(jù)獨立性;有統(tǒng)一的數(shù)據(jù)控制功能。4高級數(shù)據(jù)庫階段(分布式數(shù)據(jù)庫系統(tǒng)階段)分布式數(shù)據(jù)庫是一個邏輯上統(tǒng)一、地域上分布的數(shù)據(jù)集合,是計算機網(wǎng)絡環(huán)境中各個結(jié)點局部數(shù)據(jù)庫的邏輯集合。由于分布式數(shù)據(jù)庫管理系統(tǒng)具有分布、透明、局部自治與集中控制相結(jié)合的特點,它的可靠性、可用性;靈活性更好,管理效率更高。,6.1.3數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu),6.1.4數(shù)據(jù)庫管理功能1數(shù)據(jù)庫管理系統(tǒng)的功能,數(shù)據(jù)庫定義功能數(shù)據(jù)庫操縱功能數(shù)據(jù)庫事務管理功能數(shù)據(jù)庫維護功能格式轉(zhuǎn)換以及網(wǎng)絡通信等其他功能,2數(shù)據(jù)庫管理系統(tǒng)的類型,在數(shù)據(jù)庫技術中,使用數(shù)據(jù)模型來描述數(shù)據(jù)庫的結(jié)構(gòu)和組織形式。數(shù)據(jù)模型主要有四種:層次模型、網(wǎng)狀模型、關系模型和面向?qū)ο竽P汀?1.層次模型層次模型是用層次結(jié)構(gòu)描述數(shù)據(jù)間的從屬關系。在層次模型中,數(shù)據(jù)間的關系象一棵倒置的樹。它的表現(xiàn)形式如圖所示。,,,層次模型的特點是:有且僅有一個根結(jié)點;除根結(jié)點外,其他的子結(jié)點有且僅有一個父結(jié)點,可以有零個或多個子結(jié)點。,2.網(wǎng)狀模型網(wǎng)狀模型(網(wǎng)絡模型)是用網(wǎng)絡結(jié)構(gòu)表示數(shù)據(jù)間的多個從屬關系。它的表現(xiàn)形式如圖所示,,,網(wǎng)狀模型的特點是:可以有一個或一個以上的根結(jié)點;至少有一個子結(jié)點有兩個或兩個以上的父結(jié)點。,3.關系模型關系模型是目前應用最廣的數(shù)據(jù)模型。在關系模型中,用一個二維表來表示數(shù)據(jù)間的關系。它的表現(xiàn)形式如下表所示。,,關系模型的特點是:關系中的每一個數(shù)據(jù)項是不可再分的最小項,即不能表中有表;每一列表示數(shù)據(jù)的一個屬性,稱為一個字段,不能有名稱相同的字段;每一行表示數(shù)據(jù)的一個信息,稱為一個記錄,不應該有完全相同的記錄。,一個關系的邏輯結(jié)構(gòu)是一張二維表,關系在磁盤上以文件形式存儲,每個字段(屬性)是表中的一列,每個記錄是表中的一行。在數(shù)據(jù)庫中所存儲的的這些數(shù)據(jù)之間一般都有一定的關系。例如在人才庫中,性別、年齡等數(shù)據(jù)都依賴于姓名,離開了具體的姓名,這些數(shù)據(jù)毫無意義。,關系運算,關系運算包括,集合運算的“并”、“差”、“交”運算和專門的“選擇”、“投影”、“聯(lián)接”等關系運算。,4.面向?qū)ο竽P兔嫦驅(qū)ο竽P椭饕糜诿嫦驅(qū)ο蟮臄?shù)據(jù)庫中。在面向?qū)ο竽P椭械幕靖拍钍菍ο蠛皖?。每個對象有一個惟一的名稱,在對象內(nèi)部封裝了對象所具有的屬性和對象能執(zhí)行的方法。類是對具有相同屬性和方法的所有對象的一個抽象,類有四個主要的性質(zhì):封裝性、繼承性、多態(tài)性和重載。,6.1.5數(shù)據(jù)庫語言,1.數(shù)據(jù)定義語言(DDL):定義和標識數(shù)據(jù)庫的邏輯結(jié)構(gòu)和物理結(jié)構(gòu),并給出其唯一的命名描述各類模式及它們之間的映象。描述每一個基本數(shù)據(jù)項的基本特征。描述安全控制方式和完整性約束條件。定義數(shù)據(jù)結(jié)構(gòu)和子結(jié)構(gòu)之間的映象。2.數(shù)據(jù)操縱語言(DML):用來描述用戶對數(shù)據(jù)庫進行的各種操作,包括數(shù)據(jù)的錄入、修改、刪除、查詢、統(tǒng)計、打印等。,3數(shù)據(jù)庫運行控制功能包括數(shù)據(jù)的完整性控制、數(shù)據(jù)庫的并發(fā)操作控制、數(shù)據(jù)的安全性控制、數(shù)據(jù)庫的恢復。4數(shù)據(jù)字典數(shù)據(jù)字典DD(DataDictionary)中存放著對實際數(shù)據(jù)庫各級模式所作的定義,即對數(shù)據(jù)庫結(jié)構(gòu)的描述這些數(shù)據(jù)是數(shù)據(jù)庫系統(tǒng)中有關數(shù)據(jù)的數(shù)據(jù),稱為元數(shù)據(jù)(metadata)。,3.數(shù)據(jù)庫設計,建立一個完整的數(shù)據(jù)庫需要完成以下幾步工作。(1)數(shù)據(jù)庫設計1)需求分析通過大量訪問、調(diào)查用戶和潛在用戶后,形成文檔資料。資料至少包括,各項業(yè)務的數(shù)據(jù)流圖(DataFlowDiagram,DFD)及有關說明和對各類數(shù)據(jù)描述的集合,即數(shù)據(jù)字典(DD)。2)收集資料收集資料工作是數(shù)據(jù)庫設計人員和用戶共同完成的任務。強調(diào)各級用戶的參與。,3)分析整理分析的過程是對所收集到的數(shù)據(jù)進行抽象的過程。4)畫數(shù)據(jù)流圖在系統(tǒng)分析中通常采用DFD來描述系統(tǒng)的數(shù)據(jù)流向和對數(shù)據(jù)的處理功能。,5)建立數(shù)據(jù)字典(DD,DataDictionary)除了一套DFD外,還要從原始的數(shù)據(jù)資料中分析整理出下述數(shù)據(jù)信息:數(shù)據(jù)元素的名稱、同義詞、性質(zhì)、取值范圍、提供者、使用者、控制權限、保密要求、使用頻率、數(shù)據(jù)量、數(shù)據(jù)之間聯(lián)系的語義說明、各個部門對數(shù)據(jù)的要求及數(shù)據(jù)處理要求等。并把這些資料用非專業(yè)術語與用戶交流。,數(shù)據(jù)字典可以看作是數(shù)據(jù)庫系統(tǒng)自身的小數(shù)據(jù)庫,它是元數(shù)據(jù)。數(shù)據(jù)字典有兩方面的作用:有利于數(shù)據(jù)庫管理員掌握整個系統(tǒng)結(jié)構(gòu)和系統(tǒng)運行情況。方便用戶使用系統(tǒng)。DD經(jīng)歷了人工字典,計算機文件,專用數(shù)據(jù)字典系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)與數(shù)據(jù)字典一體化四個發(fā)展階段,支持數(shù)據(jù)字典功能的數(shù)據(jù)庫管理系統(tǒng)能夠自動建立和更新數(shù)據(jù)字典。例如Oracle(甲骨文)的數(shù)據(jù)字典就是數(shù)據(jù)庫管理系統(tǒng)的一部分,系統(tǒng)自動建立并更新一組數(shù)據(jù)字典表。,(2)概念結(jié)構(gòu)設計,1)實體關系模型(Entity–Relationshipmodel,E-R)E-R模型簡稱E-R圖。它是描述概念,建立概念模型的使用工具。圖中用矩形表示實體,用菱形表示實體之間的聯(lián)系,用橢圓表示屬性,用直線表示各部分的聯(lián)系。確定實體和屬性,確定關系類型,畫出各局部E-R圖。下圖所示為學校信息管理系統(tǒng)的學籍管理局部E-R圖。,局部E-R圖,4.數(shù)據(jù)庫實施,(1)原始數(shù)據(jù)輸入由于數(shù)據(jù)庫的數(shù)據(jù)量很大,一般是通過系統(tǒng)提供的實用程序或自編的專門錄入程序輸入原始數(shù)據(jù)。輸入數(shù)據(jù)之前應當建立嚴格的數(shù)據(jù)錄入和檢驗規(guī)范,設計完善的數(shù)據(jù)檢驗與校正程序,確實保證數(shù)據(jù)的質(zhì)量。(2)數(shù)據(jù)庫運行和維護,6.2.5結(jié)構(gòu)化查詢語言SQL概述,結(jié)構(gòu)化查詢語言(StructuredQueryLanguage,SQL):是一種基于關系代數(shù)和關系演算的的數(shù)據(jù)操縱語言,目前一般都采用SQL作為共同的數(shù)據(jù)操縱語言和標準接口,是數(shù)據(jù)庫領域的一種主流語言。SQL的特點功能的一體化語法結(jié)構(gòu)的統(tǒng)一性高度的非過程化語言的簡潔性,SQL的功能數(shù)據(jù)定義功能數(shù)據(jù)操縱功能數(shù)據(jù)控制功能嵌入式功能,6.3SQL的數(shù)據(jù)定義操作-定義基本表,基本表定義語句的一般形式:CREATETABLE([NOTNULL],[[NOTNULL]],...[]),1定義基本表,〖例6-1〗使用SQL語句建立學生表S、課程表C和學生選課成績表SC。解:(1)創(chuàng)建基本表S:CREATETABLES(學號CHAR(4)NOTNULL,姓名CHAR(8)NOTNULL,年齡SMALLINT,性別CHAR(2),系別CHAR(20),PRIMARYKEY(學號)),〖例6-1〗使用SQL語句建立學生表S、課程表C和學生選課成績表SC。解:(2)創(chuàng)建基本表C:CREATETABLEC(課程號CHAR(4)NOTNULL,課程名CHAR(4)NOTNULL,教師名CHAR(8),PRIMARYKEY(課程號)),〖例6-1〗使用SQL語句建立學生表S、課程表C和學生選課成績表SC解:(3)創(chuàng)建基本表CS:CREATETABLESC(學號CHAR(4)NOTNULL,課程號CHAR(4)NOTNULL,成績CHAR(8)SMALLINT,PRIMARYKEY(學號,課程號)FOREIGNKEY(學號)REFERENCESS(學號),F(xiàn)OREIGNKEY(課程號)REFERENCESC(課程號),CHECK(成績ISNULL)OR(成績BETWEEN0AND100)),修改基本表,在基本表中增加列:ALTERTABLEADD〖例6-2〗在例6-1的學生基本表S中增加一個屬性“家庭地址”:ALTERTABLESADD家庭地址VARCHAR(40)在基本表中刪除列:ALTERTABLEDROP這里,可以取CASCADE和RESTRICT兩種方式?!祭?-3〗在學生基本表S中刪除一個屬性“系別”:ALTERTABLESDROP系別CASCADE或ALTERTABLESDROP系別RESTRICT,撤銷基本表,撤銷基本表語句:DROPTABLE可以取CASCADE和RESTRICT兩種方式。〖例6-4〗若要撤銷學生基本表S,可用下列語句實現(xiàn):DROPTABLESCASCADE或DROPTABLESRESTRICT,定義索引,定義索引語句:CREATE[UNIQUE]INDEXON([][,[]]...[PCTFREE={}]〖例6-5〗在學生基本表S的列“學號”上按升序建立索引:CREATEUNIQUEINDEXSNOINDEXONS學號ASC)在基本表CS的列“成績”、“學號”上按降序建立索引:CREATEINDEXGRADEINDEXONS(成績DESC學號DESC),撤銷索引,撤銷索引語句:DROPINDEX注意:如果撤銷某一個基本表,則該基本表上建立的所有索引將被一起撤銷?!祭?-6〗若要撤銷學生基本表S上的索引SNOINDEX,則可用下列語句實現(xiàn):DROPINDEXSNOINDEX,SQL的數(shù)據(jù)查詢操作,數(shù)據(jù)查詢語句是SQL的核心,是SQL數(shù)據(jù)操縱功能的重要組成部分。SQL的查詢語句使用非常靈活,功能十分強大,它可以實現(xiàn):簡單查詢連接查詢嵌套查詢,SQL的數(shù)據(jù)查詢語句,數(shù)據(jù)查詢語句的一般形式:SELECTFROM[WHERE][GROUPBY[HAVING]][ORDERBY[]]數(shù)據(jù)查詢語句的組成:SELECT子句FROM子句WHERE子句GROUPBY子句ORDERBY子句,SQL數(shù)據(jù)查詢語句的含義,根據(jù)WHERE子句中的從由指定的基本表或視圖中找出滿足條件的元組,按SELECT子句中的選出元組中的分量,形成查詢結(jié)果。如果有ORDER子句,則將結(jié)果根據(jù)指定的按所指定的順序排列(選ASC為升序,選DESC為降序)。如果有GROUP子句,則將查詢結(jié)果按進行分組,每組產(chǎn)生結(jié)果表中的一個元組,分組的附加條件用HAVING短語中的給出。,SQL數(shù)據(jù)查詢語句中的語法成分,SELECT子句中的可以是“*”或?!?”表示查詢結(jié)果是整個元組;是用逗號分隔的項(屬性名、常數(shù)或系統(tǒng)內(nèi)部函數(shù)),當指定了時,查詢結(jié)果將是由所指定的列。WHERE子句中的實現(xiàn)各種復雜查詢,其中可以使用下列運算符:,SQL數(shù)據(jù)查詢語句中的語法成分,算術運算符:+、-、*、/比較運算符:<、<=、=、>=、>、≠邏輯運算符:AND、OR、NOT集合運算:UNION(并),INTERSECT(交),EXCEPT(差)集合成員運算符:IN(屬于)、NOTIN(不屬于)謂詞:EXISTS(存在量詞)、ALL、SOME、UNIQUE系統(tǒng)內(nèi)部函數(shù):常用的系統(tǒng)內(nèi)部函數(shù)如表6-2所示。,簡單查詢舉例,簡單查詢:在單個基本表上的查詢,不涉及多個基本表的連接查詢和嵌套查詢等復雜的情況?!祭?-7〗在基本表S中查詢?nèi)w學生的詳細信息:SELECT*FROMS該查詢語句等價于:SELECT學號,姓名,年齡,性別,系別FROMS,〖例6-8〗在基本表S中查詢計算機科學系和基礎醫(yī)學系學生的學號、姓名和年齡:SELECT學號,姓名,年齡FROMSWHERE系別=‘計算機科學系’OR系名=‘基礎醫(yī)學系’該查詢語句等價于SELECT學號,姓名,年齡FROMSWHERE系別IN(‘計算機科學系’,‘基礎醫(yī)學系’),〖例6-9〗在基本表S中查詢年齡在18~20歲學生的姓名和性別:SELECT姓名,性別FROMSWHERE年齡>=18AND年齡=80,嵌套查詢舉例,嵌套查詢:在查詢語句WHERE后面的條件表達式中出現(xiàn)另一個查詢,該查詢又稱為子查詢,SQL允許多層嵌套。〖例6-16〗在基本表S、C和SC中查詢選修課程號為C001學生的學號和姓名。SELECT學號,姓名FROMSWHERES.學號IN(SELECT學號FROMSCWHERE課程號=‘C001’),〖例6-17〗在基本表S、C和SC中查詢選修課程名為操作系統(tǒng)學生的學號和姓名:SELECT學號,姓名FROMSWHERE學號IN(SELECT學號FROMSCWHERE課程號IN(SELECT課程號FROMCWHERE課程名=‘操作系統(tǒng)’)),6.5SQL的數(shù)據(jù)更新操作數(shù)據(jù)插入數(shù)據(jù)刪除數(shù)據(jù)修改,形式1:INSERTINTO[([,]…)]VALUER([,]...)形式2:INSERTINTO[([,]...)],6.5.1數(shù)據(jù)插入語句,〖例6-18〗在學生基本表S中插入一名新學生的元組,其學號、姓名、年齡、性別和所在系別分別為20022503、周冰、22、男和計算機科學系。INSERTINTOSVALUER(‘20022503’,‘周冰’,22,‘男’,‘計算機科學系’),〖例6-19〗創(chuàng)建一個存放各個系學生平均年齡的基本表DEPTAGE(系別,平均年齡),然后把基本表S中每一個系學生的平均年齡存入基本表DEPTAGE。(1)創(chuàng)建基本表DEPTAGE:CREATETABLEDEPTAGE(系別CHAR(20)NOTNULL,平均成績SMALLINT,PRIMARYKEY(系別))(2)將查詢結(jié)果存入基本表DEPTAGE:INSERTINTODEPTAGE(系別,平均年齡)SELECT系別,AVG(年齡)FROMSGROUPBY系別,SQL的數(shù)據(jù)刪除操作,數(shù)據(jù)刪除語句:DELETEFROM[WHERE]注意:該語句從指定的基本表中刪除滿足條件的那些元組,當沒有WHERE子句時表示刪除該基本表中的全部元組,但該基本表的定義仍然保存在數(shù)據(jù)字典中。刪除操作是刪除元組,而不是刪除元組中的某些屬性值。,刪除操作只能從一個基本表中刪除元組,執(zhí)行刪除操作有可能產(chǎn)生破壞數(shù)據(jù)一致性的情況,若要從多個基本表中刪除元組,則需使用多個DELETE語句。執(zhí)行“DELETEFROM”操作將使指定的基本表為空表,使用時要格外慎重?!祭?-20〗在學生基本表S中刪除學號為20022501學生的記錄:DELETEFROMSWHERE學號=‘20022502’,SQL的數(shù)據(jù)修改操作,數(shù)據(jù)修改語句:UPDATESET=[,=,...][WHERE]含義:修改指定基本表中滿足條件表達式的元組中的指定屬性值,SET子句中的表達式給出了修改后的值。,〖例6-21〗在學生基本表S中把學號為20022501學生的系別改為‘護理系’:UPDATESSET系別=‘護理系’WHERE學號=‘20022501’〖例6-22〗在學生基本表S中把所有學生的年齡加1:UPDATESSET年齡=年齡+1,SQL的視圖操作,視圖:從多個基本表或其他視圖構(gòu)造出來的表。定義視圖時系統(tǒng)只是將其定義保存起來,并不存儲視圖所對應的數(shù)據(jù),當用戶需要使用該視圖時才取出實際數(shù)據(jù)。視圖操作:定義查詢更新撤銷,定義視圖語句的一般形式:CREATEVIEW[([,]...)]AS[WITHCHECKOPTION]注意:該語句執(zhí)行的結(jié)果是將有關視圖的定義存儲到數(shù)據(jù)字典中,只有當對視圖進行操作時才根據(jù)定義從基本表中形成實際數(shù)據(jù)供用戶使用。在“CREATEVIEW”語句的SELECT語句中不能含有操作符UNION和ORDERBY子句。視圖的列順序是由SELECT語句的目標列決定的,列的數(shù)據(jù)類型與導出表的對應列類型一致。任選項“WITHCHECKOPTION”表示對視圖進行UNDATE和INSERT操作時要保證更新或插入的行應滿足視圖定義中的條件。,〖例6-23〗對于基本表S、C和SC創(chuàng)建一個視圖CSS,它給出計算機科學系學生的基本情況CREATEVIEWCSSASSELECT學號,姓名,性別,年齡FROMSWHERE系別=‘計算機科學系’,視圖的查詢,〖例6-24〗設已創(chuàng)建一個視圖CSS,它給出計算機科學系學生的基本情況。對視圖CSS查詢計算機科學系年齡大于22歲學生的學號、姓名和年齡。SELECT學號,姓名,年齡FROMCSSWHERE年齡>22本例轉(zhuǎn)換后的查詢?yōu)椋篠ELECT學號,姓名,年齡FROMSWHERE系別=‘計算機科學系’AND年齡>22,6.6視圖的更新操作,INSERTDELETEUPDATE〖例6-25〗設已創(chuàng)建一個視圖CSS,它給出計算機科學系學生的基本情況。將視圖CSS中學號為20022602的學生的姓名修改為趙立UPDATECSSSET姓名=‘趙立’WHERE學號=‘20022602’該更新語句將被轉(zhuǎn)換為對基本表S的更新:UPDATESSET姓名=‘趙立’WHERE系別=‘計算機科學系’AND學號=‘20022602’,視圖的撤銷,視圖撤銷語句:DROPVIEW注意:DROPVIEW語句的執(zhí)行將把指定視圖的定義從數(shù)據(jù)字典中刪除,由該視圖導出的視圖其他視圖也將自動被刪除。如果導出某一視圖的基本表被刪除,則該視圖也將自動被刪除。〖例6-26〗撤銷已創(chuàng)建的視圖CSS:DROPVIEWCSS,6.7幾種新型的數(shù)據(jù)庫系統(tǒng),6.7.1分布式數(shù)據(jù)庫(DistributedDatabase,DDB)是物理上分散在計算機網(wǎng)絡各結(jié)點上,但在邏輯上屬于同一系統(tǒng)的數(shù)據(jù)集合。分布式數(shù)據(jù)庫的特點:數(shù)據(jù)分布性邏輯相關性局部自治與全局共享性數(shù)據(jù)的冗余性數(shù)據(jù)的獨立性系統(tǒng)的透明性分布式數(shù)據(jù)庫管理系統(tǒng)(DistributedDatabaseManagementSystem,DDBMS):是一個支持分布式數(shù)據(jù)庫的建立、操縱與維護的軟件系統(tǒng),負責實現(xiàn)局部數(shù)據(jù)管理、數(shù)據(jù)通信、分布數(shù)據(jù)管理以及數(shù)據(jù)字典管理等功能。,6.7.2多媒體數(shù)據(jù)庫,多媒體數(shù)據(jù)庫(MultimediaDatabase,MDB):是以數(shù)據(jù)庫的方式合理地存儲在計算機中的多媒體信息(包括文字、圖形、圖像、音頻和視頻等)的集合。多媒體數(shù)據(jù)庫的特點:媒體多樣性信息量大管理復雜多媒體數(shù)據(jù)庫管理系統(tǒng)(MultimediaDatabaseManagementSystem,MDBMS):是一個支持多媒體數(shù)據(jù)庫的建立、操縱與維護的軟件系統(tǒng),負責實現(xiàn)對多媒體對象的存儲、處理、檢索和輸出等功能。主要研究內(nèi)容:多媒體的數(shù)據(jù)模型、MDBMS的體系結(jié)構(gòu)、多媒體數(shù)據(jù)的存取與組織技術、多媒體查詢語音、MDB的同步控制以及多媒體數(shù)據(jù)壓縮技術等。,6.7.3并行數(shù)據(jù)庫,并行數(shù)據(jù)庫(ParallelDatabase,PDB):是數(shù)據(jù)庫技術與并行技術相結(jié)合的產(chǎn)物,它在并行體系結(jié)構(gòu)的支持下,實現(xiàn)數(shù)據(jù)庫操作處理的并行化,以提高數(shù)據(jù)庫的效率。并行數(shù)據(jù)庫技術的主要研究內(nèi)容:并行數(shù)據(jù)庫體系結(jié)構(gòu)并行數(shù)據(jù)庫機并行操作算法并行查詢優(yōu)化并行數(shù)據(jù)庫的物理設計并行數(shù)據(jù)庫的數(shù)據(jù)加載和再組織技術,6.7.4演繹數(shù)據(jù)庫,演繹數(shù)據(jù)庫(DeductiveDatabase,DeDB):是數(shù)據(jù)庫技術與邏輯理論相結(jié)合的產(chǎn)物,它是一種支持演繹推理功能的數(shù)據(jù)庫。演繹數(shù)據(jù)庫的組成:由用關系組成的外延數(shù)據(jù)庫EDB和由規(guī)則組成的內(nèi)涵數(shù)據(jù)庫IDB兩部分組成,并具有一個演繹推理機構(gòu),從而實現(xiàn)數(shù)據(jù)庫的推理演繹功能。演繹數(shù)據(jù)庫技術主要研究內(nèi)容:邏輯理論與邏輯語言遞歸查詢處理與優(yōu)化算法演繹數(shù)據(jù)庫體系結(jié)構(gòu),6.7.5主動數(shù)據(jù)庫,主動數(shù)據(jù)庫(ActiveDatabase,ActiveDB):它除了具有傳統(tǒng)數(shù)據(jù)庫的被動服務功能之外,還提供主動進行服務的功能,即數(shù)據(jù)庫系統(tǒng)在某種情況下能夠根據(jù)當前狀態(tài)主動地作出反應,執(zhí)行某些操作,向用戶提供所需的信息。常用的方法:在傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)中嵌入“事件-條件-動作”(Event-Condition-Action,ECA)規(guī)則。當某一事件發(fā)生后引發(fā)數(shù)據(jù)庫系統(tǒng)去檢測數(shù)據(jù)庫當前狀態(tài)是否滿足所設定的條件,若條件滿足則觸發(fā)規(guī)定動作的執(zhí)行。需完善和解決的技術問題:主動數(shù)據(jù)庫中的知識模型、執(zhí)行模型、事件監(jiān)測和條件檢測方法、事務調(diào)度、安全性和可靠性、體系結(jié)構(gòu)和系統(tǒng)效率等。,6.7.6數(shù)據(jù)倉庫與數(shù)據(jù)挖掘,數(shù)據(jù)倉庫隨著市場競爭的加劇和信息社會需求的發(fā)展,從大量數(shù)據(jù)中提取(檢索、查詢等)制定市場策略的信息就顯得越來越重要了。這種需求既要求聯(lián)機服務,又涉及大量用于決策的數(shù)據(jù),而傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)已無法滿足這種需求。其具體體現(xiàn)在兩個方面:歷史數(shù)據(jù)量很大,數(shù)據(jù)庫難于管理;輔助決策信息涉及許多部門的數(shù)據(jù),而不同系統(tǒng)的數(shù)據(jù)難以集成。,數(shù)據(jù)倉庫是在數(shù)據(jù)庫基礎上發(fā)展而來的,它通常有三個部分:數(shù)據(jù)倉庫(數(shù)據(jù)儲入倉庫),聯(lián)機分析處理(OLAP)及數(shù)據(jù)挖掘(Datamining),它們之間具有極強的互補關系。,數(shù)據(jù)集成:在數(shù)據(jù)進入數(shù)據(jù)倉庫之前,必須對原始表中的數(shù)據(jù)進行加工與集成。這一步實際上是數(shù)據(jù)倉庫建設中最關鍵、最復雜的一步。首先,要統(tǒng)一原始數(shù)據(jù)中的所有矛盾之處,如字段的同名異義、異名同義、單位不統(tǒng)一、字長不一致等等,還要將原始數(shù)據(jù)結(jié)構(gòu)做一個從面向應用到面向主題的遷移。,面向主題:“主題”在數(shù)據(jù)倉庫中是由一系列表(格)實現(xiàn)的。數(shù)據(jù)倉庫依然是基于關系數(shù)據(jù)庫。一個主題之下包含許多表,表的劃分可能是由于對數(shù)據(jù)的綜合程度不同,也可能是由于數(shù)據(jù)所屬的時間段不同而進行的劃分?;谝粋€主題的所有表都含有一個稱為公共鍵的屬性作為其主鍵的一部分。公共鍵將各個表統(tǒng)一聯(lián)系起來,從根本上體現(xiàn)出它們屬于一個主題。比如,基于"客戶"這一主題的所有表都包含公共鍵CUSTOMERID。同時,由于數(shù)據(jù)倉庫中的數(shù)據(jù)都是同某一時刻聯(lián)系在一起的,所以每個表除了其公共鍵之外,還必然包括時間成分作為其碼鍵的一部分。因為數(shù)據(jù)倉庫包含的都是歷史數(shù)據(jù),它的表必然包括對應的時間屬性。,數(shù)據(jù)倉庫與數(shù)據(jù)庫時間屬性的差別:它表現(xiàn)在以下幾個方面:首先,數(shù)據(jù)倉庫內(nèi)的數(shù)據(jù)時限要遠遠長于操作型環(huán)境中的數(shù)據(jù)時限。前者一般在5~10年,而后者只有60~90天。數(shù)據(jù)倉庫保存數(shù)據(jù)時限較長是為了適應DSS進行趨勢分析的要求。其次,操作型環(huán)境包含當前數(shù)據(jù),即在存取一剎那是正確、有效的數(shù)據(jù);而數(shù)據(jù)倉庫中的數(shù)據(jù)都是歷史數(shù)據(jù)。數(shù)據(jù)倉庫數(shù)據(jù)的碼鍵都包含時間項,從而標明了該數(shù)據(jù)的歷史時期。,6.8數(shù)據(jù)庫系統(tǒng)的應用,事務處理系統(tǒng)管理信息系統(tǒng)決策支持系統(tǒng)數(shù)據(jù)挖掘系統(tǒng),數(shù)據(jù)挖掘,高層決策者的問題,現(xiàn)有信息管理系統(tǒng)中的數(shù)據(jù)分析工具無法給出答案。因為無論是查詢、統(tǒng)計還是報表,其處理方式都是對指定的數(shù)據(jù)進行簡單的數(shù)字處理,而不能對這些數(shù)據(jù)所包含的內(nèi)在信息進行提取。,從大量數(shù)據(jù)中提取出隱藏在其中的有用信息,就是數(shù)據(jù)挖掘(DataMining)技術要解決的問題。數(shù)據(jù)挖掘,也可以稱為數(shù)據(jù)庫中的知識發(fā)現(xiàn)(KDD,KnowledgeDiscoverDatabase),它是從大量數(shù)據(jù)中提取出可信、新穎、有效并能被人理解的模式的高級處理過程。,小故事“啤酒”和“尿布”的故事年輕的爸爸在購買尿布之余,總是忘不了給自己捎帶上幾罐啤酒。百貨公司將原本放在兩處的啤酒和尿布集中到了一起擺放,還提供包括啤酒和尿布在內(nèi)的日用雜貨周末送貨上門服務,結(jié)果銷售額大增。,類似這樣的故事,啟發(fā)我們:許多數(shù)據(jù)之間是孤立、離散的,但也有許多數(shù)據(jù)之間具有明顯的一定關系,需要管理;還有許多數(shù)據(jù)具有隱藏在深處的關系,需要挖掘。,研究數(shù)據(jù)的三個工具:程序設計人員要熟悉數(shù)據(jù)結(jié)構(gòu),軟件應用人員利用數(shù)據(jù)庫可以動態(tài)管理數(shù)據(jù),高層管理人員利用數(shù)據(jù)倉庫可以獲得決策支持。,1數(shù)據(jù)挖掘過程,1)問題定義:了解相關領域的有關情況,熟悉背景知識,弄清用戶要求。2)數(shù)據(jù)提?。焊鶕?jù)要求從數(shù)據(jù)庫中提取相關的數(shù)據(jù)。3)數(shù)據(jù)預處理:主要對前一階段產(chǎn)生的數(shù)據(jù)進行再加工,檢查數(shù)據(jù)的完整性及數(shù)據(jù)的一致性,對其中的噪音數(shù)據(jù)進行處理,對丟失的數(shù)據(jù)進行填補。,4)數(shù)據(jù)挖掘:運用選定的知識發(fā)現(xiàn)算法,從數(shù)據(jù)中提取出用戶所需要的知識,這些知識可以用一種特定的方式表示或使用一些常用的表示方式。5)知識評估:將發(fā)現(xiàn)的知識以用戶能了解的方式呈現(xiàn),根據(jù)需要對知識發(fā)現(xiàn)過程中的某些處理階段進行優(yōu)化,直到滿足要求。,數(shù)據(jù)挖掘的成果,1)數(shù)據(jù)總結(jié):其目的是對數(shù)據(jù)進行濃縮,給出它的緊湊描述。數(shù)據(jù)挖掘主要關心從數(shù)據(jù)泛化的角度來討論數(shù)據(jù)總結(jié)。數(shù)據(jù)泛化是一種把數(shù)據(jù)庫中的有關數(shù)據(jù)從低層次抽象到高層次上的過程。2)分類:其目的是學會一個分類函數(shù)或分類模型(也稱作分類器),該模型能把數(shù)據(jù)庫的數(shù)據(jù)項映射到給定類別中的某一個。,3)聚類:是把一組個體按照相似性歸類,即"物以類聚"。它的目的是使屬于同一類別的個體之間的距離盡可能地小,而不同類別的個體間的距離盡可能地大。4)關聯(lián):關聯(lián)規(guī)則是形式如下的一種規(guī)則,"在購買面包和黃油的顧客中,有90%的人同時也買了牛奶"(面包+黃油+牛奶)。關聯(lián)規(guī)則發(fā)現(xiàn)的思路還可以用于序列模式發(fā)現(xiàn)。用戶在購買物品時,除了具有上述關聯(lián)規(guī)律,還有時間或序列上的規(guī)律。,數(shù)據(jù)挖掘工具,目前較成熟的數(shù)據(jù)挖掘工具主要有兩類:特定領域的數(shù)據(jù)挖掘工具和通用的數(shù)據(jù)挖掘工具。特定領域的數(shù)據(jù)挖掘工具針對某個特定領域的問題提供解決方案。在設計算法的時候,充分考慮到數(shù)據(jù)、需求的特殊性,并作了優(yōu)化。通用的數(shù)據(jù)挖掘工具對任何領域,都可以開發(fā)。,(1)特定工具介紹,1)IBM公司的AdvancedScout系統(tǒng)針對NBA的數(shù)據(jù),幫助教練優(yōu)化戰(zhàn)術組合;2)加州理工學院噴氣推進實驗室與天文科學家合作開發(fā)的SKICAT系統(tǒng),幫助天文學家發(fā)現(xiàn)遙遠的類星體;3)芬蘭赫爾辛基大學計算機科學系開發(fā)的TASA,幫助預測網(wǎng)絡通信中的警報。,本章小結(jié),本章在闡述數(shù)據(jù)庫系統(tǒng)的定義、發(fā)展、分類、體系結(jié)構(gòu)等基本概念的基礎上,較詳細地介紹了結(jié)構(gòu)化查詢語言SQL的數(shù)據(jù)定義操作、數(shù)據(jù)查詢操作、數(shù)據(jù)更新操作和視圖操作的基本方法,并介紹了一些新型的數(shù)據(jù)庫系統(tǒng)。此外,還介紹了數(shù)據(jù)庫在信息系統(tǒng)中的應用。通過本章的學習,應理解數(shù)據(jù)庫系統(tǒng)的基本概念和基本知識,掌握SQL的數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)更新和視圖等操作方法,了解分布式數(shù)據(jù)庫、多媒體數(shù)據(jù)庫、并行數(shù)據(jù)庫、演繹數(shù)據(jù)庫系統(tǒng)、主動數(shù)據(jù)庫和數(shù)據(jù)倉庫的功能、特點和主要實現(xiàn)技術,了解數(shù)據(jù)庫技術的應用領域,為后繼課程的學習和實際應用打下基礎。,Thankyouverymuch!,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 江西 農(nóng)業(yè) 大學計算機 導論 數(shù)據(jù)庫 系統(tǒng) 及其 應用
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
相關資源
更多
正為您匹配相似的精品文檔
相關搜索
鏈接地址:http://m.appdesigncorp.com/p-12918839.html