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