資料庫管理系統(tǒng)語言課件_第1頁
資料庫管理系統(tǒng)語言課件_第2頁
資料庫管理系統(tǒng)語言課件_第3頁
資料庫管理系統(tǒng)語言課件_第4頁
資料庫管理系統(tǒng)語言課件_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章資料庫系統(tǒng)2-1資料庫環(huán)境的四大組成元件2-2ANSI/SPARC的三層資料庫系統(tǒng)架構(gòu)2-3資料庫綱要(DatabaseSchema)2-4實際與邏輯資料獨立2-5資料庫系統(tǒng)的優(yōu)缺點2-6資料庫管理系統(tǒng)2-7資料庫管理師第2章資料庫系統(tǒng)2-1資料庫環(huán)境的四大組成元件12-1資料庫環(huán)境的四大組成元件2-1-1使用者2-1-2資料2-1-3軟體2-1-4硬體2-1資料庫環(huán)境的四大組成元件2-1-1使用者22-1資料庫環(huán)境的四大組成元件2-1資料庫環(huán)境的四大組成元件32-1-1使用者-終端使用者終端使用者(EndUsers)終端使用者(EndUsers)的主要工作是查詢或更新資料庫,或是存取資料庫以產(chǎn)生所需的報表,終端使用者可以分為數(shù)種,如下所示:初級使用者(NaiveorParametricUsers)不常使用的使用者(CasualUsers)熟練使用者(SophisticatedUsers)2-1-1使用者-終端使用者終端使用者(EndUsers42-1-1使用者-資料庫設(shè)計師資料庫設(shè)計師(DatabaseDesigners)資料庫設(shè)計師精通資料庫設(shè)計,其主要的工作是建立資料庫結(jié)構(gòu),判斷哪些資料需要儲存在資料庫,和使用什麼樣的結(jié)構(gòu)來儲存這些資料。資料庫設(shè)計師通常是使用「資料庫設(shè)計工具」(DatabaseDesignTools)來建立資料庫結(jié)構(gòu)。2-1-1使用者-資料庫設(shè)計師資料庫設(shè)計師(Databas52-1-1使用者-資料庫管理師資料庫管理師(DatabaseAdministrator,DBA)資料庫系統(tǒng)需要一位或一組對整個系統(tǒng)十分了解的人員作為資料庫管理師,負責管理整個資料庫環(huán)境。因為資料庫管理師的工作十分專業(yè),需要擁有公司管理和資料庫等電腦技術(shù)的專業(yè)知識,特別適合主修資訊管理或資訊工程且擁有管理經(jīng)驗的人員來擔任。2-1-1使用者-資料庫管理師資料庫管理師(Databas62-1-1使用者-系統(tǒng)分析師系統(tǒng)分析師(SystemAnalyst,SA)系統(tǒng)分析師與應(yīng)用程式設(shè)計師屬於「專業(yè)使用者」(SpecializedUsers),系統(tǒng)分析師依據(jù)終端使用者的需要,主要是指初級使用者(NaiveorParametricUsers)的需要來製定資料庫應(yīng)用程式的規(guī)格與功能。應(yīng)用程式設(shè)計師(ApplicationProgrammer)依據(jù)系統(tǒng)分析師定義的規(guī)格建立終端使用者使用的資料庫應(yīng)用程式,利用程式開發(fā)工具或指定的程式語言,呼叫資料庫系統(tǒng)提供的「資料庫存取函式庫」(DatabaseAccessLibrary)建立所需的資料庫應(yīng)用程式。2-1-1使用者-系統(tǒng)分析師系統(tǒng)分析師(SystemAn72-1-2資料-長存資料長存資料(PersistentData)資料庫儲存的是公司或組織的非暫時資料,這些資料是長時間存在的資料,使用者以應(yīng)用程式使用介面輸入(新增、刪除或更新操作)建立的資料。從這些操作的資料可以進一步執(zhí)行各項查詢和運算,以得到使用者所需的資料。2-1-2資料-長存資料長存資料(PersistentD82-1-2資料-系統(tǒng)目錄系統(tǒng)目錄(SystemCatalog)系統(tǒng)目錄是由資料庫管理系統(tǒng)自動產(chǎn)生的資料,在資料庫管理系統(tǒng)稱為「系統(tǒng)目錄」(SystemCatalog或稱為DataDictionary),其內(nèi)容是從前述的操作資料所衍生的一些資料。例如:資料庫結(jié)構(gòu)的定義資料,它是用來描述資料本身,也稱為中繼資料(Thedataaboutdata),系統(tǒng)目錄的主要用途是用來提供維護資料庫所需的資訊。2-1-2資料-系統(tǒng)目錄系統(tǒng)目錄(SystemCatal92-1-2資料-索引資料(說明)索引資料(Indexes)「索引」(Indexes)的目的是為了在資料庫儲存的龐大資料中能夠更快速的找到資料。索引資料是一些參考資料,這是將資料庫中特定部分(屬性)的資料預(yù)先進行排序,並且提供「指標」(Pointer)指向資料庫真正儲存資料的位置,資料庫管理系統(tǒng)使用雜湊函數(shù)(HashFunction)或B樹(B-Tree)等演算法來建立索引資料。2-1-2資料-索引資料(說明)索引資料(Indexes)102-1-2資料-索引資料(圖例)例如:在關(guān)聯(lián)式資料庫的Students關(guān)聯(lián)表,建立GPA屬性的單層有序次索引,如下圖所示:2-1-2資料-索引資料(圖例)例如:在關(guān)聯(lián)式資料庫的St112-1-2資料-交易記錄交易記錄(TransactionLog)交易記錄是資料庫管理系統(tǒng)自動產(chǎn)生的歷史資料,可以記錄使用者在什麼時間下達什麼指令或執(zhí)行什麼操作。這些資料對於一般使用者而言,並沒有什麼用處,但是對於資料庫管理師來說,就是十分重要的參考資訊。2-1-2資料-交易記錄交易記錄(Transaction122-1-3軟體-資料庫管理系統(tǒng)(說明)資料庫管理系統(tǒng)(DBMS)資料庫管理系統(tǒng)是一組程式模組用來定義、處理和管理資料庫的資料,在此主要是指那些通用用途的資料庫管理系統(tǒng),如下圖所示:2-1-3軟體-資料庫管理系統(tǒng)(說明)資料庫管理系統(tǒng)(DB132-1-3軟體-資料庫管理系統(tǒng)(語言)資料庫管理系統(tǒng)語言(DBMSLanguages)主要可以分成二個部分,如下所示:定義部分:使用資料定義語言(DataDefinitionLanguage,DDL)定義資料庫的結(jié)構(gòu)。操作部分:直接使用資料操作語言(DataManipulationLanguage,DML)或透過應(yīng)用程式介面產(chǎn)生,就可以查詢資料庫資料或新增、刪除或更新資料庫的資料。2-1-3軟體-資料庫管理系統(tǒng)(語言)資料庫管理系統(tǒng)語言(142-1-3軟體-應(yīng)用程式應(yīng)用程式(ApplicationProgram)應(yīng)用程式是程式設(shè)計師使用開發(fā)工具或程式語言,所自行建立的專屬軟體。應(yīng)用程式提供使用者相關(guān)的使用介面,透過使用介面的選單或按鈕,就可以向資料庫管理系統(tǒng)下達查詢語言的相關(guān)指令,在取得所需資料後,顯示或產(chǎn)生所需的報表。換句話說,配合公司或組織的需求,我們可以在資料庫管理系統(tǒng)的基礎(chǔ)上,建立各種不同的應(yīng)用程式。例如:選課系統(tǒng)、人事資料系統(tǒng)、進銷存系統(tǒng)、會計系統(tǒng)和公文系統(tǒng)等。2-1-3軟體-應(yīng)用程式應(yīng)用程式(Application152-1-3軟體-開發(fā)工具開發(fā)工具(DevelopmentTools)開發(fā)工具是用來建立資料庫和開發(fā)應(yīng)用程式。例如:資料庫設(shè)計工具、資料庫開發(fā)工具或程式語言的整合開發(fā)環(huán)境,它可以幫助資料庫設(shè)計師建立資料庫結(jié)構(gòu)和程式設(shè)計者快速建立應(yīng)用程式。例如:PowerBuilder、OracleDeveloper、VisualStudio.NET和VisualStuido2005等。2-1-3軟體-開發(fā)工具開發(fā)工具(Development162-1-4硬體安裝資料庫相關(guān)軟體的硬體設(shè)備,包含:主機(CPU、記憶體和網(wǎng)路卡等)、磁碟機、磁碟陣列、光碟機、磁帶機和備份裝置。整個資料庫系統(tǒng)的硬體處理架構(gòu)依其運算方式,可以分為:集中式或分散式的主從架構(gòu)。2-1-4硬體安裝資料庫相關(guān)軟體的硬體設(shè)備,包含:主機(C172-2ANSI/SPARC的三層資料庫系統(tǒng)架構(gòu)2-2-1概念層2-2-2外部層2-2-3內(nèi)部層2-2-4ANSI/SPARC三層資料庫架構(gòu)的目的2-2ANSI/SPARC的三層資料庫系統(tǒng)架構(gòu)2-2-1182-2ANSI/SPARC的三層資料庫系統(tǒng)架構(gòu)-圖例2-2ANSI/SPARC的三層資料庫系統(tǒng)架構(gòu)-圖例192-2ANSI/SPARC的三層資料庫系統(tǒng)架構(gòu)-簡單說明概念層(ConceptualLevel):資料庫管理師觀點的資料,這是資料庫儲存的完整資料,屬於在概念上看到的完整資料庫。外部層(ExternalLevel):一般使用者觀點的資料,代表不同使用者在資料庫系統(tǒng)所看見的資料,通常只是部分資料庫的資料。內(nèi)部層(InternalLevel):實際觀點所呈現(xiàn)的資料,這是實際資料庫儲存在電腦儲存裝置的資料。2-2ANSI/SPARC的三層資料庫系統(tǒng)架構(gòu)-簡單說明概202-2-1概念層-說明在概念層看到的是整個資料庫儲存的資料,這是資料庫管理師觀點所看到的完整資料庫。因為它只是概念上的資料庫,所以並不用考量資料實際的儲存結(jié)構(gòu),因為這是內(nèi)部層(InternalLevel)的問題。2-2-1概念層-說明在概念層看到的是整個資料庫儲存的資料212-2-1概念層-範例關(guān)聯(lián)式資料模型的資料庫在概念層所見的是以二維表格顯示的資料,如下圖所示:關(guān)聯(lián)式資料庫的「關(guān)聯(lián)表」(Relations)是資料庫所看到的完整資料。2-2-1概念層-範例關(guān)聯(lián)式資料模型的資料庫在概念層所見的222-2-2外部層-說明資料庫系統(tǒng)使用者面對的是外部層,這是使用者觀點(UserViews)的資料,包含多種不同觀點的資料,例如:一間大學或技術(shù)學院,不同使用者的觀點,如下:使用者觀點1:學生註冊資料使用者觀點2:學生選課資料使用者觀點3:學生成績單資料2-2-2外部層-說明資料庫系統(tǒng)使用者面對的是外部層,這是232-2-2外部層-範例資料以不同的方式呈現(xiàn):外部層的資料如同裁縫師手上的布,可以將概念層的資料剪裁成不同衣服樣式的資料。例如:使用清單、表格或表單內(nèi)容(例如:VisualBasic的表單或HTML表單)等方式來呈現(xiàn)資料。只包含使用者有興趣的資料:外部層的資料只是部分資料庫,例如:二位使用者分別看到Students關(guān)聯(lián)表的部分或?qū)С鰞?nèi)容,年齡Age是由生日計算而得。相同資料可以顯示不同格式:雖然在資料庫儲存的資料是單一格式,不過在顯示時可以使用不同格式。2-2-2外部層-範例資料以不同的方式呈現(xiàn):外部層的資料如242-2-3內(nèi)部層在內(nèi)部層看到的是實際觀點的資料庫,這是實際儲存在磁碟等外部儲存裝置的資料,內(nèi)部層在三層架構(gòu)中扮演資料庫管理系統(tǒng)與作業(yè)系統(tǒng)的介面。在內(nèi)部層的資料是實際儲存在資料庫的資料結(jié)構(gòu)或檔案組織所呈現(xiàn)的資料,例如:使用鏈結(jié)串列結(jié)構(gòu)儲存資料,如下圖所示:2-2-3內(nèi)部層在內(nèi)部層看到的是實際觀點的資料庫,這是實際252-2-4ANSI/SPARC三層資料庫架構(gòu)的目的-使用者角度使用者觀點所見的資料是獨立的:不同使用者可以存取相同資料,只是觀點可能不同,但是,各觀點的資料是獨立的,更改觀點的資料,並不會影響其他使用者觀點的資料。使用者並不用了解實際資料的儲存方式:使用者的焦點是在處理資料本身,而不是了解到底這些資料是如何儲存。2-2-4ANSI/SPARC三層資料庫架構(gòu)的目的-使用者262-2-4ANSI/SPARC三層資料庫架構(gòu)的目的-資料庫管理師角度更改實際儲存結(jié)構(gòu)不會影響使用者觀點的資料:當有全新的儲存結(jié)構(gòu)和索引技術(shù)時,就算更改資料庫的儲存結(jié)構(gòu),也不會影響外部層使用者觀點的資料。更改概念層的完整資料庫也不會影響使用者觀點的資料:如果將資料庫從關(guān)聯(lián)式資料模型改為物件導向式資料庫模型時,我們?nèi)匀豢梢燥@示完全相同的使用者觀點資料,並不會影響使用者看到的資料。2-2-4ANSI/SPARC三層資料庫架構(gòu)的目的-資料庫272-3資料庫綱要

(DatabaseSchema)2-3-1三層資料庫綱要2-3-2資料庫綱要間的對映

2-3資料庫綱要

(DatabaseSchema)2-3282-3資料庫綱要

(DatabaseSchema)-圖例「資料庫綱要」(DatabaseSchema)是指整個資料庫的描述,即描述整個資料庫儲存資料的定義資料,如下圖所示:2-3資料庫綱要

(DatabaseSchema)-圖例292-3資料庫綱要

(DatabaseSchema)-說明資料庫管理系統(tǒng)管理的資料庫可以分割成資料和描述資料的綱要(Schema),如下所示:綱要(Schema):資料描述的定義資料,對比程式語言的變數(shù)是資料型態(tài)(DataType),例如:C語言宣告成整數(shù)的age年齡變數(shù),如下圖所示:intage;資料(Data):資料本身,也就是程式語言的變數(shù)值,例如:年齡為20,如下所示:age=20;2-3資料庫綱要

(DatabaseSchema)-說明302-3-1三層資料庫綱要-圖例2-3-1三層資料庫綱要-圖例312-3-1三層資料庫綱要-簡單說明三層資料庫綱要每一層的簡單說明,如下所示:外部綱要(ExternalSchema):描述使用的資料。概念綱要(ConceptualSchema):描述資料本身的意義。內(nèi)部綱要(InternalSchema):描述儲存的資料。2-3-1三層資料庫綱要-簡單說明三層資料庫綱要每一層的簡322-3-1三層資料庫綱要-外部綱要外部綱要(ExternalSchema)外部綱要源於概念綱要,主要是描述外部層顯示的資料,每一個外部層綱要只描述資料庫的部分資料,隱藏其他部分的資料。換句話說,每一個外部層使用者觀點的資料都需要一個外部綱要,在一個資料庫可能擁有多個外部綱要,如下圖所示:2-3-1三層資料庫綱要-外部綱要外部綱要(Externa332-3-1三層資料庫綱要-概念綱要概念綱要(ConceptualSchema)概念綱要是描述概念層的完整資料庫,這是「概念資料庫設(shè)計」(ConceptualDatabaseDesign)的結(jié)果,概念資料庫設(shè)計主要是分析使用者資訊,以便定義所需的資料項目,並不涉及到底是使用那一套資料庫管理系統(tǒng)。概念綱要描述完整資料庫的資料和其關(guān)聯(lián),所以資料庫只能擁有一個概念綱要,如下圖所示:2-3-1三層資料庫綱要-概念綱要概念綱要(Concept342-3-1三層資料庫綱要-內(nèi)部綱要內(nèi)部綱要(InternalSchema)內(nèi)部綱要是描述內(nèi)部層實際觀點的資料,定義資料的儲存結(jié)構(gòu)和那些資料需要建立索引,如同概念綱要,資料庫只擁有一個內(nèi)部綱要。例如:C語言宣告學生Students的結(jié)構(gòu),如下:structStudents{charno[5];charname[15];charaddress[40];inttelephone;structDatebirthday;structStudent*next;};2-3-1三層資料庫綱要-內(nèi)部綱要內(nèi)部綱要(Interna352-3-2資料庫綱要間的對映-說明三層資料庫綱要只是描述資料,真正的資料是儲存在外部儲存裝置的資料庫。當以外部層使用者觀點顯示資料時,也就是參考外部綱要向概念綱要請求資料,然後概念綱要請求內(nèi)部綱要從資料庫取得資料,在取得真正的資料後,資料需要進行轉(zhuǎn)換來符合概念綱要的定義,然後再轉(zhuǎn)換成符合外部綱要的定義,最後才是外部層使用者觀點看到的資料,在各層間進行的資料轉(zhuǎn)換過程,稱為「對映」(Mapping)。2-3-2資料庫綱要間的對映-說明三層資料庫綱要只是描述資362-3-2資料庫綱要間的對映-圖例2-3-2資料庫綱要間的對映-圖例372-3-2資料庫綱要間的對映-種類各層綱要間的對映主要有兩種:外部與概念對映(External/ConceptualMapping):所有外部綱要都是對映到概念綱要,以便資料庫管理系統(tǒng)知道如何將外部層的資料連結(jié)到那一部分的概念綱要。例如:在外部綱要(S_No,Name,Age),S_No是對映到概念綱要的No,Age是從概念綱要的Birthday運算而得。概念與內(nèi)部對映(Conceptual/InternalMapping):概念綱要對映到內(nèi)部綱要的關(guān)聯(lián),以便資料庫管理系統(tǒng)可以找到實際儲存裝置的記錄資料後,建立概念綱要的邏輯結(jié)構(gòu)。2-3-2資料庫綱要間的對映-種類各層綱要間的對映主要有兩382-4實體與邏輯資料獨立2-4-1資料獨立的基礎(chǔ)2-4-2邏輯資料獨立2-4-3實體資料獨立2-4實體與邏輯資料獨立2-4-1資料獨立的基礎(chǔ)392-4-1資料獨立的基礎(chǔ)-說明三層資料庫綱要的主要目的是為了達成「資料獨立」(DataIndependence),也就是說上層的綱要並不會受到下層綱要的影響,當下層綱要更改時,也不會影響到上層綱要。與資料獨立相反的術(shù)語是「資料相依」(DataDependence)。例如:使用C語言建立「堆疊」(Stacks)資料結(jié)構(gòu),如下圖所示:2-4-1資料獨立的基礎(chǔ)-說明三層資料庫綱要的主要目的是為402-4-1資料獨立的基礎(chǔ)-種類三層資料庫綱要一共擁有兩種資料獨立:外部與概念對映的邏輯資料獨立(LogicalDataIndependence)。概念與內(nèi)部對映的實體資料獨立(PhysicalDataIndependence)。2-4-1資料獨立的基礎(chǔ)-種類三層資料庫綱要一共擁有兩種資412-4-2邏輯資料獨立-圖例2-4-2邏輯資料獨立-圖例422-4-2邏輯資料獨立-說明當更改概念綱要,例如:新增或刪除實體、屬性或關(guān)聯(lián)性,並不用同時更改存在的外部綱要或重寫程式碼,因為可以透過外部與概念對映來達成邏輯資料獨立。每當資料庫需要更改概念綱要時,只需配合修改外部與概念對映的定義,就可以在不更改存在的外部綱要下,取得相同使用者觀點的資料。2-4-2邏輯資料獨立-說明當更改概念綱要,例如:新增或刪432-4-3實體資料獨立-圖例2-4-3實體資料獨立-圖例442-4-3實體資料獨立-說明當更改內(nèi)部綱要,例如:使用不同的檔案組織或儲存結(jié)構(gòu),並不用更改概念綱要和外部綱要,因為可以透過概念與內(nèi)部對映來達成實體資料獨立。每當資料庫需要更改內(nèi)部綱要時,只需配合修改概念與內(nèi)部對映的定義,就可以完全不動到概念綱要和外部綱要。2-4-3實體資料獨立-說明當更改內(nèi)部綱要,例如:使用不同452-5資料庫系統(tǒng)的優(yōu)缺點2-5-1資料庫系統(tǒng)的優(yōu)點2-5-2資料庫系統(tǒng)的缺點2-5資料庫系統(tǒng)的優(yōu)缺點2-5-1資料庫系統(tǒng)的優(yōu)點462-5-1資料庫系統(tǒng)的優(yōu)點-1整合的資料管理:相關(guān)資料檔案是集中管理,不像檔案處理系統(tǒng),需要額外操作或程序來處理位在不同檔案的資料。資料共享:資料庫的資料可以由多人共享,允許多人同時存取資料庫,只需透過網(wǎng)路或Internet,就算位在世界各地都可以存取資料庫的資料。減少資料重複(DataRedundancy):不同於檔案處理系統(tǒng)將資料分割成多個檔案來儲存,資料庫系統(tǒng)集中管理資料庫的資料,可以大幅降低資料重複的可能性。2-5-1資料庫系統(tǒng)的優(yōu)點-1整合的資料管理:相關(guān)資料檔案472-5-1資料庫系統(tǒng)的優(yōu)點-2維持資料的一致性(DataConsistency):因為資料庫系統(tǒng)可以減少資料重複,再加上資料庫管理系統(tǒng)可以檢查完整性限制條件(IntegrityConstraints),不只可以保證輸入資料的正確,還可以維持資料的一致。資料獨立(DataIndependence):在檔案處理系統(tǒng)存取資料需要了解詳細的資料結(jié)構(gòu),資料庫管理系統(tǒng)提供資料獨立,換句話說,如果資料結(jié)構(gòu)或存取方式改變,並不會影響應(yīng)用程式的執(zhí)行,例如:學號從5碼改為6碼,並不需要更改應(yīng)用程式的程式碼。2-5-1資料庫系統(tǒng)的優(yōu)點-2維持資料的一致性(Data482-5-1資料庫系統(tǒng)的優(yōu)點-3提供單一介面和語言存取資料:資料庫系統(tǒng)提供4GL的資料庫語言存取資料庫。例如:SQL語言,或是透過應(yīng)用程式的操作介面存取資料,可以隱藏資料庫管理系統(tǒng)的實際資料存取方式。更多的資料保密、安全管理和控制能力:資料庫系統(tǒng)提供資料保密、使用者存取權(quán)限和資料存取的控制,可以強迫達成標準化的資料管理,例如:標準的文件格式或不同層級的資料存取。提供多種觀點的資料:因為資料庫系統(tǒng)是由多人共享,每位使用者可以分別取得所需的資料,而且以不同的觀點來符合其需求。例如:同樣是教授,它可以是學生的老師,也可以是學校的員工。2-5-1資料庫系統(tǒng)的優(yōu)點-3提供單一介面和語言存取資料:492-5-1資料庫系統(tǒng)的優(yōu)點-4支援交易管理(TransactionManagement):資料庫系統(tǒng)提供交易管理和並行處理,可以處理商業(yè)交易,保障交易進行的正確無誤。具高可靠性(Reliability):資料庫系統(tǒng)十分可靠,提供備份與回復功能來進一步保障資料的安全,在出現(xiàn)狀況時,可以回復資料庫系統(tǒng)的資料。降低軟體開發(fā)的費用:直接選擇現(xiàn)成的資料庫管理系統(tǒng),然後在管理系統(tǒng)下開發(fā)所需的資料庫系統(tǒng),而不用重頭開發(fā)整個資料庫系統(tǒng)。2-5-1資料庫系統(tǒng)的優(yōu)點-4支援交易管理(Transac502-5-2資料庫系統(tǒng)的缺點-1龐大的額外費用:建構(gòu)資料庫系統(tǒng)需要升級電腦硬體和軟體環(huán)境,一套企業(yè)永續(xù)經(jīng)營的資料庫系統(tǒng),包含網(wǎng)路建置,硬體和軟體升級,將會是一筆相當龐大的額外預(yù)算,有可能未蒙其利,先受其害,造成公司財務(wù)的負擔。資料轉(zhuǎn)換的成本:各部門的資料都需要轉(zhuǎn)換成資料庫結(jié)構(gòu),以便存入資料庫,這不只是資訊部門的一項大工程,而且需要全公司各部門人員的充分支援。2-5-2資料庫系統(tǒng)的缺點-1龐大的額外費用:建構(gòu)資料庫系512-5-2資料庫系統(tǒng)的缺點-2安全管理的漏洞:雖然資料庫擁有安全管理能力,但是人為錯誤或非專業(yè)人員的控管,資料共享的優(yōu)點,反而容易造成人為的安全問題,例如:沒有取消離職員工的帳號,增加公司重要資料被竊取的機會。大幅更改作業(yè)流程:資料庫系統(tǒng)可能大幅更改現(xiàn)有公司的作業(yè)流程,使用者不只需要熟悉全新的應(yīng)用程式操作,還需要適應(yīng)新的資料處理流程,如此可能產(chǎn)生額外的人力支援和不合作的使用者,加重資訊部門的負擔和責任。2-5-2資料庫系統(tǒng)的缺點-2安全管理的漏洞:雖然資料庫擁522-5-2資料庫系統(tǒng)的缺點-3系統(tǒng)風險增加:資料庫系統(tǒng)使用集中方式管理資料,一旦系統(tǒng)停擺,將會讓公司蒙受重大損失。資料庫系統(tǒng)可能因為電腦病毒、天災(zāi)、硬體故障或人為操作錯誤等情況造成系統(tǒng)癱瘓,所以資料庫系統(tǒng)在建置時,就需考量備援系統(tǒng)或額外的保護設(shè)備,例如:不斷電系統(tǒng)(Un-interruptPowerSystems)防止不預(yù)警的停電。如果是一套全年無休持續(xù)運作的NonStop資料庫系統(tǒng),還需要準備異地備援系統(tǒng),以免公司主機遭遇地震或火災(zāi)受損時,仍然可以使用位在其他地方的資料庫系統(tǒng),維持公司的正常運作。2-5-2資料庫系統(tǒng)的缺點-3系統(tǒng)風險增加:資料庫系統(tǒng)使用532-5-2資料庫系統(tǒng)的缺點-4人為風險增加:事實上,人為錯誤和破壞才是資料庫系統(tǒng)的最大敵人,如果資料庫系統(tǒng)設(shè)計錯誤,一旦人為的資料輸入錯誤,小則只是系統(tǒng)受損,大則錯誤的資料,可能造成決策錯誤和管理作業(yè)上的混亂。更進一步,如果資訊部門有不肖人員(或駭客),蓄意進行破壞,集中管理的資料庫系統(tǒng),反而成為最佳的攻擊目標,所以資料庫系統(tǒng)除了系統(tǒng)管理外,相關(guān)人員的忠誠管理也是一項重要的工作。2-5-2資料庫系統(tǒng)的缺點-4人為風險增加:事實上,人為錯542-6資料庫管理系統(tǒng)DBMS2-6-1資料庫管理系統(tǒng)的基本功能2-6-2資料庫管理系統(tǒng)的系統(tǒng)架構(gòu)2-6-3常見的資料庫管理系統(tǒng)2-6資料庫管理系統(tǒng)DBMS2-6-1資料庫管理系統(tǒng)的基552-6資料庫管理系統(tǒng)DBMS「資料庫管理系統(tǒng)」(DatabaseManagementSystem,DBMS)從字面來說,是一套管理資料庫的軟體系統(tǒng),它是由一組程式模組負責組織、管理、儲存和讀取資料庫系的資料,使用者對於資料庫的任何操作,都一定需要透過資料庫管理系統(tǒng)來處理。2-6資料庫管理系統(tǒng)DBMS「資料庫管理系統(tǒng)」(Datab562-6-1資料庫管理系統(tǒng)的基本功能-資料管理資料管理(DataManagement)資料庫管理系統(tǒng)的最基本功能是資料管理,管理資料庫儲存的各種資料,包含:資料檔、系統(tǒng)目錄、索引資料、備份檔(資料庫管理系統(tǒng)備份資料庫時建立的檔案)和異動記錄,如下圖所示:2-6-1資料庫管理系統(tǒng)的基本功能-資料管理資料管理(Da572-6-1資料庫管理系統(tǒng)的基本功能-資料庫管理系統(tǒng)語言資料庫管理系統(tǒng)語言(DBMSLanguages)資料庫管理系統(tǒng)提供第4代語言(4GL),可以讓使用者定義、查詢或存取資料,資料庫管理系統(tǒng)語言可以分成兩大類,如下所示:資料定義語言DDL(DataDefinitionLanguage):這個語言的主要目的是建立資料庫綱要(DatabaseSchema),其編譯後的指令敘述是儲存在系統(tǒng)目錄(SystemCatalog),使用者只需使用此語言就可以建立資料庫綱要。資料操作語言DML(DataManipulationLanguage):這個語言的指令敘述可以讓使用者存取和操作資料庫的資料,這是使用者與資料庫管理系統(tǒng)間溝通的語言。2-6-1資料庫管理系統(tǒng)的基本功能-資料庫管理系統(tǒng)語言資料582-6-1資料庫管理系統(tǒng)的基本功能-安全管理安全管理(SecurityManagement)資料庫儲存的資料屬於使用者共享的資料,所以資料庫管理系統(tǒng)需要提供使用者安全管理,以避免使用者不當使用資料庫的資料。安全管理通常是指定使用者密碼(Password)來授予存取權(quán)限的控制(AccessControl),常用的方式有兩種,如下所示:自由選擇存取控制(DiscretionaryAccessControl,DAC):授予或取消使用者擁有新增、刪除、更新或修改資料的權(quán)限。強制存取控制(MandatoryAccessControl,MAC):將資料和使用者分類成不同的安全層級,使用者只能存取授予安全層級的資料。2-6-1資料庫管理系統(tǒng)的基本功能-安全管理安全管理(Se592-6-1資料庫管理系統(tǒng)的基本功能-備份與回復管理備份與回復管理(BackupandRecoverManagement)資料庫備份是將資料庫的資料儲存到備份裝置,例如:磁帶機或可讀寫光碟機,資料庫管理師負責定期備份資料庫。當突發(fā)狀況產(chǎn)生時,因為資料庫管理系統(tǒng)會自動產(chǎn)生交易記錄(TransactionLog),可以使用此記錄了解交易(Transaction)的狀態(tài),回復程序可以參考交易記錄正確的回存資料。2-6-1資料庫管理系統(tǒng)的基本功能-備份與回復管理備份與回602-6-1資料庫管理系統(tǒng)的基本功能-交易管理1異動管理(TransactionManagement)資料庫系統(tǒng)通常都會支援商業(yè)用途,而商業(yè)系統(tǒng)架構(gòu)的基礎(chǔ)是商業(yè)交易,這些商業(yè)交易的操作需要一併執(zhí)行,視為一個無法分割的單位。整個過程對於資料庫來說是一個「交易」(Transaction)。2-6-1資料庫管理系統(tǒng)的基本功能-交易管理1異動管理(T612-6-1資料庫管理系統(tǒng)的基本功能-交易管理2例如:從帳戶A匯款到帳戶B,如下圖所示:2-6-1資料庫管理系統(tǒng)的基本功能-交易管理2例如:從帳戶622-6-1資料庫管理系統(tǒng)的基本功能-交易管理3交易成功是指需要滿足四項基本的交易屬性,以英文字頭的縮寫為ACID交易,如下所示:單元性(Atomicity):將交易過程的每個操作都視為同一個工作,不是全部執(zhí)行完,就是通通不執(zhí)行。一致性(Consistency):交易會更改資料庫的資料,不過在交易之前和之後,資料庫的資料仍然需要滿足完整性限制條件,維持資料的一致性。隔離性(Isolation):雖然多個交易是並行處理,不過各交易仍然是獨立的依序執(zhí)行,任何一個交易並不會影響到其他交易的結(jié)果。持續(xù)性(Durability):當交易完成後,資料庫資料是永久改變,如果在交易過程中發(fā)生錯誤,執(zhí)行回復程序,回復程序仍然需要執(zhí)行完整個交易。2-6-1資料庫管理系統(tǒng)的基本功能-交易管理3交易成功是指632-6-1資料庫管理系統(tǒng)的基本功能-資料完整性管理資料完整性管理(DataIntegrityManagement)資料庫管理系統(tǒng)能夠檢查新增或更新資料時,不會產(chǎn)生資料不一致的資料完整性(DataIntegrity)問題。例如:帳戶餘額不能為負值,員工年齡不可超過100歲。2-6-1資料庫管理系統(tǒng)的基本功能-資料完整性管理資料完整642-6-2資料庫管理系統(tǒng)的系統(tǒng)架構(gòu)-圖例2-6-2資料庫管理系統(tǒng)的系統(tǒng)架構(gòu)-圖例652-6-2資料庫管理系統(tǒng)的系統(tǒng)架構(gòu)-儲存管理儲存管理(StorageManager)儲存管理對於簡單的資料庫管理系統(tǒng)來說,就是作業(yè)系統(tǒng)檔案管理,不過為了效率考量,資料庫管理系統(tǒng)通常會自行配置磁碟空間,將資料存入位在外部儲存裝置的資料庫,例如:磁碟機,或是從資料庫讀取資料,可以分為:檔案管理(FileManager)實際配置磁碟空間後將資料存入磁碟。緩衝區(qū)管理(BufferManager)負責電腦記憶體的管理。2-6-2資料庫管理系統(tǒng)的系統(tǒng)架構(gòu)-儲存管理儲存管理(St662-6-2資料庫管理系統(tǒng)的系統(tǒng)架構(gòu)-查詢處理模組查詢處理模組(QueryProcessor)負責處理使用者下達的查詢語言指令敘述,可以再細分成多個模組負責檢查語法、最佳化查詢指令的處理程序。查詢處理模組參考系統(tǒng)目錄的Meta-data進行「查詢轉(zhuǎn)換」(QueryTransformation),將外部綱要查詢轉(zhuǎn)換成內(nèi)部綱要的查詢,或是使用索引加速資料查詢,如果是異動,就交給異動管理來處理。2-6-2資料庫管理系統(tǒng)的系統(tǒng)架構(gòu)-查詢處理模組查詢處理模672-6-2資料庫管理系統(tǒng)的系統(tǒng)架構(gòu)-交易管理交易管理(TransactionManager)交易管理(TransactionManager)主要分為:同名的交易管理(TransactionManager)子系統(tǒng)負責處理資料庫的交易,保障資料庫商業(yè)交易的操作需要一併執(zhí)行?!告i定管理」(LockManager)也稱為「並行控制管理」(Concurrency-ControlManager)子系統(tǒng)負責資源鎖定。2-6-2資料庫管理系統(tǒng)的系統(tǒng)架構(gòu)-交易管理交易管理(Tr682-6-2資料庫管理系統(tǒng)的系統(tǒng)架構(gòu)-回復管理回復管理(RecoveryManager)回復管理(RecoveryManager)主要分為:「記錄管理」(LogManager)子系統(tǒng)負責記錄資料庫的所有操作,包含異動操作的記錄,以便同名的「回復管理」(RecoveryManager)子系統(tǒng)能夠執(zhí)行回復程序,回復資料庫系統(tǒng)。2-6-2資料庫管理系統(tǒng)的系統(tǒng)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論