database
數(shù)據(jù)庫的基本結(jié)構(gòu)分三個層次,反映了觀察數(shù)據(jù)庫的三種不同角度。
(1)物理數(shù)據(jù)層。它是數(shù)據(jù)庫的最內(nèi)層,是物理存貯設(shè)備上實際存儲的數(shù)據(jù)的集合。這些數(shù)據(jù)是原始數(shù)據(jù),是用戶加工的對象,由內(nèi)部模式描述的指令操作處理的位串、字符和字組成。
(2)概念數(shù)據(jù)層。它是數(shù)據(jù)庫的中間一層,是數(shù)據(jù)庫的整體邏輯表示。指出了每個數(shù)據(jù)的邏輯定義及數(shù)據(jù)間的邏輯聯(lián)系,是存貯記錄的集合。它所涉及的是數(shù)據(jù)庫所有對象的邏輯關(guān)系,而不是它們的物理情況,是數(shù)據(jù)庫管理員概念下的數(shù)據(jù)庫。
(3)邏輯數(shù)據(jù)層。它是用戶所看到和使用的數(shù)據(jù)庫,表示了一個或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。
數(shù)據(jù)庫不同層次之間的聯(lián)系是通過映射進行轉(zhuǎn)換的。數(shù)據(jù)庫具有以下主要特點:
(1)實現(xiàn)數(shù)據(jù)共享。數(shù)據(jù)共享包含所有用戶可同時存取數(shù)據(jù)庫中的數(shù)據(jù),也包括用戶可以用各種方式通過接口使用數(shù)據(jù)庫,并提供數(shù)據(jù)共享。
(2)減少數(shù)據(jù)的冗余度。同文件系統(tǒng)相比,由于數(shù)據(jù)庫實現(xiàn)了數(shù)據(jù)共享,從而避免了用戶各自建立應用文件。減少了大量重復數(shù)據(jù),減少了數(shù)據(jù)冗余,維護了數(shù)據(jù)的一致性。
(3)數(shù)據(jù)的獨立性。數(shù)據(jù)的獨立性包括數(shù)據(jù)庫中數(shù)據(jù)庫的邏輯結(jié)構(gòu)和應用程序相互獨立,也包括數(shù)據(jù)物理結(jié)構(gòu)的變化不影響數(shù)據(jù)的邏輯結(jié)構(gòu)。
(4)數(shù)據(jù)實現(xiàn)集中控制。文件管理方式中,數(shù)據(jù)處于一種分散的狀態(tài),不同的用戶或同一用戶在不同處理中其文件之間毫無關(guān)系。利用數(shù)據(jù)庫可對數(shù)據(jù)進行集中控制和管理,并通過數(shù)據(jù)模型表示各種數(shù)據(jù)的組織以及數(shù)據(jù)間的聯(lián)系。
(5)數(shù)據(jù)一致性和可維護性,以確保數(shù)據(jù)的安全性和可靠性。主要包括:
①安全性控制:以防止數(shù)據(jù)丟失、錯誤更新和越權(quán)使用;
②完整性控制:保證數(shù)據(jù)的正確性、有效性和相容性;
③并發(fā)控制:使在同一時間周期內(nèi),允許對數(shù)據(jù)實現(xiàn)多路存取,又能防止用戶之間的不正常交互作用;
④故障的發(fā)現(xiàn)和恢復:由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時發(fā)現(xiàn)故障和修復故障,從而防止數(shù)據(jù)被破壞
數(shù)據(jù)庫邏輯設(shè)計分為三個階段,分別是:收集和分析用戶要求、建立E -R 模型和數(shù)據(jù)庫模式設(shè)計。主要任務是創(chuàng)建數(shù)據(jù)庫模式。
數(shù)據(jù)庫邏輯設(shè)計中的第一階段收集和分析用戶需求是按以下四步進行的:分析用戶活動,確定系統(tǒng)范圍,分析用戶活動所涉及的數(shù)據(jù)和分析系統(tǒng)數(shù)據(jù)。
數(shù)據(jù)流圖是一種從數(shù)據(jù)和對數(shù)據(jù)的加工兩方面表達系統(tǒng)工作過程的圖形表示法。含有四種基本成分:帶箭頭的線段表示數(shù)據(jù)及其流動方向,圓形框表示對數(shù)據(jù)的加工,卡片形框表示文件,方框表示源點和終點。
畫數(shù)據(jù)流圖應遵循:由外向內(nèi)、自頂向下原則進行。
database
數(shù)據(jù)庫系統(tǒng)的生命期可以分為五個階段,依次是分析、設(shè)計、編碼、測試、運行。
所謂分析用戶活動所涉及的數(shù)據(jù)就是以數(shù)據(jù)流圖的形式表示出數(shù)據(jù)的流向和對數(shù)據(jù)所進行的加數(shù)據(jù)就是對數(shù)據(jù)流圖中的每一個數(shù)據(jù)流名、每個文件名、每個加工名,都要給出具體定義,都需要用一個條目進行描述。描述后的產(chǎn)物是數(shù)據(jù)字典。數(shù)據(jù)流圖和數(shù)據(jù)字典結(jié)合在一起,加上必要的說明構(gòu)成系統(tǒng)說明書。數(shù)據(jù)字典是對數(shù)據(jù)流圖中的四個成分(數(shù)據(jù)流、數(shù)據(jù)項、文件、加工)的描述。
教材中所講的數(shù)據(jù)庫設(shè)計方法稱為視圖設(shè)計法,即從分析用戶的活動入手,針對用戶的局部視圖,然后進行綜合,用E-R 圖表示數(shù)據(jù)庫的概念,進而轉(zhuǎn)換為關(guān)系模式。
邏輯設(shè)計第二階段建立E-R 模型分兩步,首先應進行局部E -R 模型設(shè)計,然后進行總體E -R 模型的設(shè)計。
邏輯設(shè)計第三階段在數(shù)據(jù)庫模式設(shè)計階段分兩步進行,第一步初步設(shè)計:把E -R 圖轉(zhuǎn)換為關(guān)系模型,第二步優(yōu)化設(shè)計:對模式進行調(diào)整和改善。
優(yōu)化是在性能預測的基礎(chǔ)上進行的,一般用三方面指標來衡量:1 、單位時間內(nèi)所訪問的邏輯記錄個數(shù)要少,2 、單位時間內(nèi)數(shù)據(jù)傳送量要少;3 、系統(tǒng)占用的存儲空間盡量要少。
數(shù)據(jù)庫系統(tǒng)的功能和特性
數(shù)據(jù)庫系統(tǒng)由文卷系統(tǒng)發(fā)展而來。與文卷系統(tǒng)相比,這種系統(tǒng)具有數(shù)據(jù)、體系和控制三個方面的主要特征。
數(shù)據(jù)特征
在文卷系統(tǒng)中雖然 程序 與 數(shù)據(jù) 之間可用存取方法進行轉(zhuǎn)換,但 文卷 還是與應用程序?qū)?即數(shù)據(jù)仍面向應用(圖1)。每一應用各自建立自己的一組文卷。不同的應用若涉及相同的數(shù)據(jù),則這些數(shù)據(jù)分別納入各自的文卷之中。文卷的各種記錄之間沒有建立聯(lián)系,因而數(shù)據(jù)冗余度大。增加新的應用,必須同時增加新的文卷。因此,文卷系統(tǒng)中的文卷是無結(jié)構(gòu)的、不易擴充的信息集合。數(shù)據(jù)庫則不僅描述數(shù)據(jù)本身,而且描述數(shù)據(jù)之間的聯(lián)系。它的 數(shù)據(jù)結(jié)構(gòu) 反映了某一部門的整體信息結(jié)構(gòu),數(shù)據(jù)冗余度小、易于擴充新的應用,因而是面向數(shù)據(jù)總體結(jié)構(gòu)的信息集合,可為多個用戶共享。
體系特征
一切數(shù)據(jù)都有邏輯和物理兩個側(cè)面。在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)邏輯結(jié)構(gòu)的描述稱為邏輯模式。邏輯模式又分為描述全局邏輯結(jié)構(gòu)的全局模式(簡稱模式)和描述某些應用所涉及的局部邏輯結(jié)構(gòu)的子模式。數(shù)據(jù)物理結(jié)構(gòu)的描述稱為存儲模式。這兩種模式總稱為數(shù)據(jù)庫模式。數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)如圖2。
數(shù)據(jù)庫系統(tǒng)中,用戶根據(jù)子模式編制程序。子模式與模式、模式與存儲模式之間有軟件進行映射。因此,程序與數(shù)據(jù)之間具有兩級獨立性:物理獨立性和邏輯獨立性。數(shù)據(jù)的存儲模式改變,而模式可以不改變,因而不必改寫應用程序,這稱為物理獨立性。模式改變時,子模式可能不改變,也就不必改寫應用程序,這稱為邏輯獨立性。由于數(shù)據(jù)庫系統(tǒng)具備比較高的程序與數(shù)據(jù)的獨立性,可以使程序員在編制應用程序時集中精力考慮算法邏輯,不必過問物理細節(jié),而且可以大大減少應用程序維護的工作量。
控制特征
數(shù)據(jù)庫數(shù)據(jù)數(shù)量龐大,結(jié)構(gòu)復雜,又為多個用戶所共享。因此,必須由數(shù)據(jù)庫管理系統(tǒng)在定義、建立、運行以及維護時進行統(tǒng)一管理和控制,以保證數(shù)據(jù)庫數(shù)據(jù)的安全性、完整性和并發(fā)操作的一致性。此外,還必須有數(shù)據(jù)庫管理員專門負責對數(shù)據(jù)庫的管理、控制監(jiān)督和改進。
由于數(shù)據(jù)庫系統(tǒng)具有上述特征,它的出現(xiàn)使信息系統(tǒng)的研制從圍繞加工數(shù)據(jù)的程序為中心,轉(zhuǎn)變到圍繞共享的數(shù)據(jù)庫來進行。這便于數(shù)據(jù)的集中管理,有利于應用程序的研制和維護。數(shù)據(jù)減少了冗余度和提高了相容性,從而提高了作出決策的相容性。因此,大型復雜的信息系統(tǒng)大多以數(shù)據(jù)庫為核心,數(shù)據(jù)庫系統(tǒng)在 計算機應用 中起著越來越重要的作用。
數(shù)據(jù)庫研究的課題,主要涉及三個領(lǐng)域。
數(shù)據(jù)庫管理系統(tǒng)軟件的研制
DBMS是數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)。研制DBMS的基本目標,是擴大功能,提高性能和可用性,從而提高用戶的生產(chǎn)率。70年代以來,研制的重點是探索關(guān)系數(shù)據(jù)庫管理系統(tǒng)的設(shè)計,內(nèi)容包括關(guān)系數(shù)據(jù)語言、查詢優(yōu)化、并發(fā)控制和系統(tǒng)性能等。另一類課題是對DBMS標準化的研究,即研究一個統(tǒng)一的DBMS體系結(jié)構(gòu)的規(guī)范。
數(shù)據(jù)庫設(shè)計
這是在計算機系統(tǒng)具有的數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上,按照應用要求以及計算機系統(tǒng)所提供的數(shù)據(jù)模型和功能,設(shè)計一個結(jié)構(gòu)良好、使用方便、效率較高的,以數(shù)據(jù)庫為核心的應用信息系統(tǒng)。這一領(lǐng)域主要的研究課題,是數(shù)據(jù)庫設(shè)計方法學和設(shè)計工具的探索。例如,運用 軟件工程 的方法和工具指導 數(shù)據(jù)庫設(shè)計 ;研究數(shù)據(jù)庫設(shè)計各個階段中完備的方法和工具;以 關(guān)系數(shù)據(jù)庫 的規(guī)范化理論為指南進行數(shù)據(jù)庫邏輯設(shè)計等。
數(shù)據(jù)庫理論
主要研究關(guān)系數(shù)據(jù)庫理論。關(guān)系數(shù)據(jù)庫理論研究的意義,一方面在于它為數(shù)據(jù)庫學科奠定了理論基礎(chǔ);另一方面它為數(shù)據(jù)庫設(shè)計提供了判別標準,從而成為數(shù)據(jù)庫設(shè)計的有力指南。研究的主要內(nèi)容是關(guān)系的規(guī)范化理論。關(guān)系規(guī)范化理論已應用于數(shù)據(jù)庫設(shè)計的各個階段。
發(fā)展
數(shù)據(jù)庫技術(shù)是 計算機科學 中發(fā)展最快的領(lǐng)域之一,新的領(lǐng)域越來越多。
分布式數(shù)據(jù)庫系統(tǒng)
隨著70年代后期 分布計算機系統(tǒng) 的發(fā)展,相應地研究成功分布式數(shù)據(jù)庫系統(tǒng)。分布式數(shù)據(jù)庫系統(tǒng)是一個在邏輯上完整,而在物理上分散在若干臺互相連接的結(jié)點機上的數(shù)據(jù)庫系統(tǒng)。它既具有分布性又具有數(shù)據(jù)庫的綜合性。這是數(shù)據(jù)庫系統(tǒng)發(fā)展的一個重要方向。分布式數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)復雜,其中最復雜的是分布式數(shù)據(jù)庫管理系統(tǒng)。
數(shù)據(jù)庫機器
新的計算機系統(tǒng)的體系結(jié)構(gòu)。它把由 中央處理器 包辦的數(shù)據(jù)庫操作分散給一些局部的部件來執(zhí)行,或轉(zhuǎn)移到一個與主計算機相連的專用計算機去執(zhí)行,以提高并行性。數(shù)據(jù)庫機器的發(fā)展,包括智能控制器和存儲器,專用處理機和 數(shù)據(jù)庫計算機 。
數(shù)據(jù)庫語義模型
數(shù)據(jù)庫的數(shù)據(jù)模型基本上屬于語法模型,語義體現(xiàn)很不完備,不能明顯地含有現(xiàn)實世界的意義。因此,用戶只能按照DBMS所提供的數(shù)據(jù)操縱語言訪問數(shù)據(jù)庫。語義模型能準確地描述現(xiàn)實世界中某個部門的信息集合及其意義,使用戶能基于對現(xiàn)實世界的認識或用類似于自然語言的形式來訪問數(shù)據(jù)庫。這方面的研究已發(fā)展為數(shù)據(jù)語義學。
數(shù)據(jù)庫智能檢索
數(shù)據(jù)庫技術(shù)和人工智能相結(jié)合,根據(jù)數(shù)據(jù)庫中的事實和知識進行推理,演繹出正確答案,這就是數(shù)據(jù)庫的智能檢索。這涉及到自然語言用戶接口、邏輯演繹功能和數(shù)據(jù)庫語義模型等問題,如70年代末所開始的知識庫管理系統(tǒng)和演繹數(shù)據(jù)庫的研究。
辦公室自動化系統(tǒng)中的數(shù)據(jù)庫
研究在 辦公室自動化 系統(tǒng)中數(shù)據(jù)庫技術(shù)的應用,其中主要研究對各種非格式化數(shù)據(jù)如圖像、聲音、正文的處理,以及面向端點用戶的高級語言接口。[1]