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