數(shù)據(jù)庫系統(tǒng)講義_第1頁
數(shù)據(jù)庫系統(tǒng)講義_第2頁
數(shù)據(jù)庫系統(tǒng)講義_第3頁
數(shù)據(jù)庫系統(tǒng)講義_第4頁
數(shù)據(jù)庫系統(tǒng)講義_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《數(shù)據(jù)庫技術及應用》

第一講數(shù)據(jù)庫技術基礎

(一)數(shù)據(jù)管理技術的進展

數(shù)據(jù)管理技術的進展,與硬件(主要是外存)、軟件、計算機應用的范圍有親

密聯(lián)系。數(shù)據(jù)管理技術的進展經(jīng)受了三個階段:人工階段、文件系統(tǒng)階段和數(shù)據(jù)

庫階段。

1.人工階段(20世紀50年月中期以前)

數(shù)據(jù)管理特點為:

?數(shù)據(jù)不保存在機器中

?沒有專用的軟件對數(shù)據(jù)進行管理

?只有程序的概念,沒有文件的概念

?數(shù)據(jù)面對應用

2.文件系統(tǒng)階段(20世紀50年月后期至60年月中期)

數(shù)據(jù)管理的特點為:

?數(shù)據(jù)可長期保存在外存的磁盤上

?數(shù)據(jù)的規(guī)律結(jié)構(gòu)與物理結(jié)構(gòu)有了區(qū)分

?文件組織已呈現(xiàn)多樣化,有索引文件、鏈接文件和散列文件等

?數(shù)據(jù)不再屬于某個特定的程序,可以重復使用

3.數(shù)據(jù)庫階段(20世紀60年月末開頭至今)

數(shù)據(jù)管理的特點為:

?采納簡單的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu)

?有較高的數(shù)據(jù)獨立性

?數(shù)據(jù)庫系統(tǒng)為用戶供應便利的用戶接口,用戶可以使用查詢語言

或終端命令操作數(shù)據(jù)庫,也可以用程序方式操作數(shù)據(jù)庫

?系統(tǒng)供應數(shù)據(jù)庫的恢復、并發(fā)掌握數(shù)據(jù)完整性和數(shù)據(jù)平安性四個

方面的數(shù)據(jù)掌握功能,以保證數(shù)據(jù)庫是平安的、正確的和牢靠的;對數(shù)

據(jù)的操作可以以紀錄為單位,也可以以數(shù)據(jù)項為單位

(二)數(shù)據(jù)描述

1.在數(shù)據(jù)處理中,數(shù)據(jù)描述將涉及三個領域:現(xiàn)實世界、信息世界和機器

世界。

?現(xiàn)實世界是存在于人們頭腦之外的客觀世界

?信息世界是現(xiàn)實世界在人們頭腦中的反映,人們把它用文字和符

號登記載下來。信息世界中數(shù)據(jù)描述的述術語有實體、實體集、屬性和

實體標識符

?機器世界中信息世界的信息以數(shù)據(jù)形式存儲。機器世界中數(shù)據(jù)描

述的術語有字段、紀錄、文件和關鍵碼。

機器世界中的術語和信息世界中的術語有對應關系。在數(shù)據(jù)庫中,每個

概念都有類型

和值的區(qū)分,類型是概念的內(nèi)涵,而值是概念的外延。

2.數(shù)據(jù)描述有物理描述和規(guī)律描述兩種形式。

?物理數(shù)據(jù)描述是指數(shù)據(jù)在存儲設施上的存儲方式。物理數(shù)據(jù)是實

際存放在存儲設施上的數(shù)據(jù);

?規(guī)律數(shù)據(jù)描述是指程序員或用戶用以操作的數(shù)據(jù)形式,是抽象的

概念化數(shù)據(jù)。

3.依據(jù)訪問數(shù)據(jù)的速度、成本和牢靠性,計算機系統(tǒng)的存儲介質(zhì)分為六類:

高速緩沖存儲器、主存儲器、快擦寫存儲器、磁盤存儲器、光存儲器和磁帶。存

儲介質(zhì)組成了計算機系統(tǒng)的三個存儲層次:基本存儲器、幫助存儲器(聯(lián)機存儲

器)和第三級存儲器(脫機存儲器)。物理存儲中的數(shù)據(jù)描述的術語有:位、字節(jié)、

字、塊、桶和卷。

(三)數(shù)據(jù)模型

數(shù)據(jù)模型一一表示實體類型及實體間聯(lián)系的模型。

目前廣泛使用的數(shù)據(jù)模型可分為兩種類型:概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型

1.概念數(shù)據(jù)模型

概念數(shù)據(jù)模型是指獨立于計算機系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表

示,只是用來描述某個特定組織所關懷的信息結(jié)構(gòu)。這一類中聞名的模型是“實

體聯(lián)系模型",簡稱ER模型。ER模型是直接從現(xiàn)實世界中抽象出實體類型及實

體間聯(lián)系,然后用ER圖表示的數(shù)據(jù)模型。ER圖包括四個基本成分:矩形框、菱

形框、橢圓形框和直線。

2.結(jié)構(gòu)數(shù)據(jù)模型

(四)數(shù)據(jù)庫的體系結(jié)構(gòu)

1.數(shù)據(jù)庫具有概念模式、外模式、內(nèi)模式三級結(jié)構(gòu)和外模式/膜式映象、模

式/內(nèi)模式映象兩級映象。

(1)概念模式

概念模式是對數(shù)據(jù)庫中全部數(shù)據(jù)的整體規(guī)律結(jié)構(gòu)的描述,它由若干個概念紀

錄類型組成。

(2)外模式

外模式是用戶與數(shù)據(jù)庫的接口,是用戶用到的那部分數(shù)據(jù)的描述,它由若干

個外部記類

型組成。

(3)內(nèi)模式

內(nèi)模式是數(shù)據(jù)庫在物理存儲方面的描述,定義全部的內(nèi)部紀錄類型、索引和

文件的組織方式,以及數(shù)據(jù)掌握方面的細節(jié)。

(4)外模式/模式映象

它存在于外部級和概念級之間,用于定義外模式和概念模式間的對應性,一

般在外模式中描述。

(5)模式/內(nèi)模式映象

存在于概念級和內(nèi)部級之間,用于定義概念模式和內(nèi)模式間的對應性,一般

在內(nèi)模式中描述。

2.數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)獨立性的特點。數(shù)據(jù)獨立性分為物理數(shù)據(jù)獨立性和

規(guī)律數(shù)據(jù)獨立性兩級。

(1)物理數(shù)據(jù)獨立性

是指對內(nèi)模式的修改盡量不影響概念模式,當然對于外模式和應用程序的影

響更小。

(2)規(guī)律數(shù)據(jù)獨立性

是指對概念模式的修改盡量不影響外模式和應用程序。

3.用戶

用戶是指使用數(shù)據(jù)庫的應用程序或聯(lián)機終端用戶。數(shù)據(jù)庫管理系統(tǒng)供應數(shù)據(jù)

操縱語言(DNL)讓用戶或程序員使用。依據(jù)使用方式的不同,DML可分類自含型

DML(又稱交互型DML)和嵌入型DML(又稱宿主型DML)兩類。宿主語言是指編寫應

用程序的語言。用戶界面是用戶和數(shù)據(jù)庫系統(tǒng)間的一條分界線。

(五)數(shù)據(jù)庫管理系統(tǒng)

數(shù)據(jù)庫管理系統(tǒng)(DBMS)是指數(shù)據(jù)庫系統(tǒng)中管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)

據(jù)庫系統(tǒng)的核心組成部分。對數(shù)據(jù)庫的一切操作,包括定義、查詢、更新及各種

掌握,都是通過DBMS進行的。DBMS的主要功能有:

①數(shù)據(jù)庫的定義功能:DBMS供應數(shù)據(jù)定義語言定義數(shù)據(jù)庫的三級結(jié)構(gòu),

包括外模式、概念模式、內(nèi)模式及其相互之間的映象,定義數(shù)據(jù)的完整性、

完全掌握等約束。

②數(shù)據(jù)庫的操縱功能:DBMS供應數(shù)據(jù)操縱語言實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的

操作

③數(shù)據(jù)庫的愛護功能:DBMS對數(shù)據(jù)庫的愛護主要通過數(shù)據(jù)庫的恢復、

數(shù)據(jù)庫的并發(fā)掌握、數(shù)據(jù)庫的完整掌握等四個方面實現(xiàn)。

④數(shù)據(jù)庫的存儲管理:DBMS的存儲管理子系統(tǒng)供應了數(shù)據(jù)庫中數(shù)據(jù)和

應用程序的一個界面,其職責是把各種DML語句轉(zhuǎn)換成低層的文件系統(tǒng)命令,

起到數(shù)據(jù)的存儲、檢索和更新的作用。

⑤數(shù)據(jù)庫的維護功能:DBMS中實現(xiàn)數(shù)據(jù)庫維護功能的有用程序主要有

數(shù)據(jù)裝載程序、備份程序、文件重組織程序和性能監(jiān)控程序。

⑥數(shù)據(jù)字典(DD):數(shù)據(jù)庫系統(tǒng)中存放三級結(jié)構(gòu)定義的數(shù)據(jù)庫稱為數(shù)據(jù)

字典,對數(shù)據(jù)庫的操作都要通過訪問DD才能實現(xiàn)。

說明:從模塊結(jié)構(gòu)觀看,DBMS有查詢處理器和存儲處理器兩大部分

組成。用戶訪問數(shù)據(jù)的過程即是應用程序通過DBMS讀取寫人數(shù)據(jù)庫中紀

錄的過程。

(六)數(shù)據(jù)庫系統(tǒng)

數(shù)據(jù)庫系統(tǒng)是一個實際可運行的,依據(jù)數(shù)據(jù)庫方法存儲、維護和向應用系統(tǒng)

供應數(shù)據(jù)支持的系統(tǒng),它是數(shù)據(jù)庫、硬件、軟件和數(shù)據(jù)庫管理員(DBA)的集合體。

數(shù)據(jù)庫是與一個特定組織各項應用有關的全部數(shù)據(jù)的集合,它包括物理數(shù)據(jù)

庫和描述數(shù)據(jù)庫兩大部分。硬件包括中心處理機、內(nèi)存、外存、輸入設施、數(shù)據(jù)

通道等硬件設施。軟件包括DBMS、OS、各種宿主語言和應用開發(fā)支撐軟件等程

序。

DBA是掌握數(shù)據(jù)整體結(jié)構(gòu)的人,負責DBS的正常運行。

依據(jù)模塊結(jié)構(gòu)劃分,DBS的全局結(jié)構(gòu)如下:

①數(shù)據(jù)庫用戶。包括四類,即DBA、專業(yè)用戶、應用程序員、最終用戶

②DBMS的查詢處理器。包括四部分,即DML編譯器、嵌入型DML的預

編譯器、DDL編譯器、查詢運行核心程序

③DBMS的存儲管理器。包括四部分,即授權和完整性管理器、事務管

理器、文件管理器、緩沖管理器

④磁盤存儲器中的數(shù)據(jù)結(jié)構(gòu):包括四種形式,即數(shù)據(jù)文件、數(shù)據(jù)字典、

索引文件、統(tǒng)計數(shù)據(jù)組織。

在應用中,DBS的效益具體表現(xiàn)在七個方面,即敏捷性、簡易性、面對用戶、

數(shù)據(jù)掌握、程序設計便利使應用系統(tǒng)的開發(fā)速度加快、削減了程序維護的工作量、

標準化。

其次講關系數(shù)據(jù)庫系統(tǒng)

(一)關系數(shù)堀庫系統(tǒng)概還

1.關系數(shù)據(jù)庫系統(tǒng)

關系數(shù)據(jù)庫系統(tǒng)是支持關系數(shù)據(jù)模型的數(shù)據(jù)庫系統(tǒng)。

30年來,關系數(shù)據(jù)庫系統(tǒng)的爭論取得了輝煌的成就。關系方法從試驗室走

向了社會,涌現(xiàn)出很多性能良好的商品化關系數(shù)據(jù)庫管理系統(tǒng)(ROBMS)。如聞名

的IBMDB2,Oracle,Ingres,SYBASE,Informix等。數(shù)據(jù)庫的應用領域快速擴

大。

2.關系數(shù)據(jù)模型

關系數(shù)據(jù)模型由關系數(shù)據(jù)結(jié)構(gòu)、關系操作集合和關系完整性約束3大要素組

成。

(二)關系模型的數(shù)據(jù)結(jié)構(gòu)

1.關系模型的數(shù)據(jù)結(jié)構(gòu)和基本術語

(1)關系(relation):一個關系對應一個二維表,二維表名就是關系名。

(2)屬性(attribute)和值域(domain):在二維表中的列(字段),稱為屬

性。屬性的個數(shù)稱為關系的元數(shù),列的值稱為屬性值;屬性值的取值范圍稱

為值域。

(3)關系模式(relationschema):在二維表中的行定義(紀錄的型),即

對關系的描述稱為關系模式,一般表示為:

關系名(屬性1,屬性2,…,屬性n)

(4)元組(tuple):在二維表中的一行(紀錄的值),稱為一個元組。關系

模式和元組的集合通稱為關系。

(5)重量(component):元組中的一個屬性值

(6)候選碼(candidatekey)或候選鍵:假如在一個關系中,存在多個屬

性(或?qū)傩越M合)都能用來惟一標識該關系的元組,這些屬性(或?qū)傩越M合)

都稱為該關系的候選碼或候選鍵。

(7)主碼(primarykey)或主鍵:在一個關系的若干個候選碼中指定一個用來

惟一標識該關系的元組,這個被指定的候選碼稱為該關系的主碼或主鍵。

(8)主屬性(primaryattribute)和非主屬性(nonprimaryattribute):關

系中包含在任何一個侯選碼中的屬性稱為主屬性或碼屬性,不包含在任何一

個候選碼中的屬性稱為非主屬性或非碼屬性。

(9)外碼(foreignkey)或外鍵:當關系中的某個屬性(或?qū)傩越M)雖然不

是該關系的主碼或只是主碼的一部分,但卻是另一個關系的主碼時,稱該屬

性(或?qū)傩越M)為這個關系的外碼。

(10)參照關系(referencingrelation)與被參照關系

(targetrelation):參照關系也稱從關系,被參照關系也稱主關系,它們是

指以外碼相關聯(lián)的兩個關系。以外碼作為主碼的關系成為被參照關系;外碼

所在的關系稱為參照關系。

(見P54“概論”)

2.關系的形式定義和關系數(shù)據(jù)庫對關系的限定

(1)關系的形式定義

(2)關系數(shù)據(jù)庫對關系的限定

①每一個屬性是不行分解的。

②每一個關系模式中屬性的數(shù)據(jù)類型以及屬性的個數(shù)是固定的,并

且每個屬性必需命名,在同一個關系模式中,屬性名必需是不同的。

③每一個關系僅僅有一種紀錄類型,即一種關系模式。

④在關系中元組的挨次(即行序)是無關緊要的。

⑤在關系中屬性的挨次可任意交換,交換時應連同屬性名一起交換才行,

否則挨次是重要的。

⑥同一個關系中不允許消失完全相同的元組。

(三)關系模型的完整性約束

1.數(shù)據(jù)庫數(shù)據(jù)完整性規(guī)章的分類

數(shù)據(jù)完整性由完整性規(guī)章來定義,關系模型的完整性規(guī)章是對關系的某種約

束條件。關系模型中可以有三類完整性約束:實體完整性、參照完整性和用戶定

義的完整性。

2.實體完整性規(guī)章

實體完整性規(guī)章是對關系中的主屬性值的約束o

3.參照完整性規(guī)章

現(xiàn)實世界中的實體之間往往存在某種聯(lián)系,在關系模型中實體及實體間的聯(lián)

系都是用關系來描述的,這樣就自然存在著關系與關系之間的參照(引用)。

4.用戶定義的完整性

用戶定義的完整性通常是定義對關系中除主碼與外碼屬性外的其他屬性取

值的約束,即對其他屬性的值域的約束。

對屬性的值域的約束也稱為域完整性規(guī)章(domainintegrityrule),是對關

系中屬性取值

的正確性限制,包括數(shù)據(jù)類型、精度、取值范圍、是否允許空值等。取值范

圍又可分為靜態(tài)定義和動態(tài)定義兩種:

?靜態(tài)定義取值范圍是指屬性的值域范圍是固定的,可從定義值的集

合中提取特定值;

?動態(tài)定義取值范圍是指屬性的值域范圍依靠于另一個或多個其他屬

性的值。

(四)關系代數(shù)

關系代數(shù)的運算可分為兩類:

①傳統(tǒng)的集合運算這類運算將關系看成是元組的集合,其運算是從關系的

“水平”方向,即行的角度來進行的,有:并、交、差、廣義笛卡爾積。

②特地的關系運算這類運算不僅涉及行而且涉及列,有:選擇、投影、連接、

除。

1.傳統(tǒng)的集合運算

傳統(tǒng)的集合運算是二目運算,包括并、交、差、廣義笛卡爾積4種運算。

2.特地的關系運算

特地的關系運算主要包括:對單個關系進行垂直分解(投影操作)或水平分解

(選擇操作)和對多個關系的結(jié)合(連接操作)等。

第三講關系數(shù)據(jù)庫標準語言SQL

(一)SQL概述

關系數(shù)據(jù)庫SOL語言是介乎于關系代數(shù)和元組演算之間的一種語言,廣泛應

用于商用系統(tǒng)中,是關系數(shù)據(jù)庫的標準語言。SQL是SEQUEL的簡稱,其前身是

SQUARE語言。

SQL數(shù)據(jù)庫的體系結(jié)構(gòu)基本上也是三級結(jié)構(gòu)。在SOL中,關系模式稱為“基

本表”,存儲模式稱為“存儲文件”,子模式稱為“視圖”。

SQL數(shù)據(jù)庫的體系結(jié)構(gòu)有六個要點。

SQL主要由數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)掌握和嵌入式SQL的使用規(guī)定四部分

組成。

(二)SQL的數(shù)據(jù)定義

SOL的數(shù)據(jù)定義部分也稱為“SQLDDL',,用于定義SQL模式、基本表、視圖

和索引。該部分包括對SQL模式、基本表、視圖和索引的創(chuàng)建和撤消操作。

SQL的數(shù)據(jù)定義語句有:SQL的模式創(chuàng)建語句和撤消語句,基本表的創(chuàng)建、

修改和撤消語句,視圖的創(chuàng)建和撤消語句,索引的創(chuàng)建和撤消語句。

SQL供應的數(shù)據(jù)類型主要有數(shù)值型、字符串型、位串型和時間型四種。SQL

允許在這四種域上執(zhí)行比較操作,但算術操作只限于數(shù)值型。SQL2允許用戶使

用“CREATEDOMAIN”語句定義新的域。

(三)數(shù)據(jù)查詢

SQL的數(shù)據(jù)查詢屬于SOL的數(shù)據(jù)操縱部分,即“SQLDML”部分。SOL的數(shù)據(jù)查

詢用SELECT語句來實現(xiàn)。

SELECT語句能表達全部的關系代數(shù)表達式。假如一個查詢涉及多個基本表,

則SELECT語句可有多種寫法,即嵌套查詢、聯(lián)接查詢、使用存在量詞的嵌

套查詢等。

SELECT語句完整的句法如下:

SELECT目標表的列名或列表達式序列

FROM基本表和(或)視圖序列

[WHERE行條件表達式]

[GROUPBY列名序列]

[HAVING組條件表達式]

[ORDERBY列名[ASC|DESC]…]

其執(zhí)行過程為:

(1)讀取FROM子句中基本表、視圖的數(shù)據(jù),執(zhí)行笛卡爾積操作;

(2)選取滿意WHERE子句中給出的行條件表達式的元組;

(3)按GROUP子句中指定列的值分組,同時提取滿意HAVING子句中組條

件表達式的那些組;

(4)按SELECT子句中給出的列名或列表達式求值輸出;

(5)ORDER子句對輸出的目標表進行排列。

(四)SOL的數(shù)據(jù)更新

SQL的數(shù)據(jù)更新也屬于SQL的數(shù)據(jù)操縱部分,包括數(shù)據(jù)插入、刪除和修

改三種操作。基本表的數(shù)據(jù)更新語句包括:元組值的插入語句,查詢結(jié)果的

插入語句,數(shù)據(jù)的刪除語

句和修改語句。

對于視圖元組的更新操作有三條規(guī)章:

(1)假如一個視圖是從多個基本表使用聯(lián)接操作導出的,則不允許對這個視

圖執(zhí)行更新操作;(2)假如在導出視圖的過程中,使用了分組和聚合操作,則不

允許對這個視圖執(zhí)行更新操作;(3)假如視圖是從單個基本表使用選擇、投影操

作導出的,并且包含了基本表的主鍵或某個

候選鍵,那么這樣的視圖稱為“行列子集視圖”,并且可以被執(zhí)行更新操作。

SQL2中,允許更新的視圖在定義時,必需加—YWITHCHECKOPTION”短語。

(五)嵌入式SOL

SQL語言有兩種方式:一種是在終端交互方式下使用,稱為交互式SQL;另

一種是嵌入在高級語言的程序中使用,稱為嵌入式SQL。嵌入式SQL的實現(xiàn)有兩

種處理方式:一種是擴充宿主語言的編譯程序,使之能處理SQL語句;另一種是

采納預處理方式。目前多數(shù)系統(tǒng)采納預處理方式。

在嵌入式SQL中,共享變量是SQL和宿主語言的接口。SQL2規(guī)定,SQLSTATE

是一個特別的共享變量,起著解釋SQL語言執(zhí)行狀況的作用。

在宿主語言的程序中使用SQL語句有以下規(guī)定:

(1)在程序中要區(qū)分SQL語言與宿主語句。全部SQL語句前必需加上前

綴標識"EXECSQL’,并以"ENDEXEC”作為語句結(jié)束標志。結(jié)束標志在不同的宿

主語言中是不同的。

(2)允許嵌入的SQL語句引用宿主語言的程序變量,但在引用時,這些

變量前必需加昌號“:”作為前綴標識,以示與數(shù)據(jù)庫中變量有區(qū)分,而且這

些變量必需先由宿主語言的程序定義,并用SQL的DECLARE語句說明。

(3)用游標機制協(xié)調(diào)SQL的集合處理方式與宿主語言單紀錄處理方式。

與游標有關的SQL語句有四個,即游標定義語句、游標打開語句、游標推動

語句、游標關閉語句。

SQLDDL語句,只要加上前綴標識"EXECSQL”和結(jié)束標志"ENDEXEC”就能嵌入

在宿主語言程序中使用。而SQLDML語句在嵌入使用時,還要留意是否使用了游

標機制。

(1)若是INSERT,DELETE和UPDATE語言,則不必涉及游標,只要加上前

綴標識和結(jié)束標志就能嵌入在宿主語言程序中使用。

(2)若是已知查詢結(jié)果確定是單元組的SLLECT語句,則不必涉及游標,

也可加上前綴標識和結(jié)束標志后嵌入在宿主語言程序中使用,但此時應當在

SELECT語句中增加一個INTO子句,指出找到的值應送到相應的共享變量中

去。

(3)若是已知查詢結(jié)果為多個元組的SELECT語句,則必需涉及到游標,

用游標機制把多個元組一次一個地傳送給宿主語言程序處理。

游標在推動時只能沿查詢結(jié)果中元組挨次從頭到尾一行行推動,并且不能返

回,這給使用帶來不便。為此,SQL2供應了卷游標技術來解決這一問題。卷游

標在推動時可以進退自如。

第四講關系數(shù)據(jù)庫的法律規(guī)范化理論與數(shù)據(jù)庫設計

(一)關系模式的設計問題

給出一組數(shù)據(jù),如何構(gòu)造一個適合于它們的數(shù)據(jù)庫模式,這是數(shù)據(jù)庫設計的

問題。

關系數(shù)據(jù)庫設計理論主要包括三個方面的內(nèi)容:數(shù)據(jù)依靠,范式,模式設計

方法。其中數(shù)據(jù)依靠起著核心作用。

把現(xiàn)實問題的全部屬性組成一個關系模式,記為R(U),它由屬性集U和U

上成立的數(shù)據(jù)完整性約束集組成。關系r是關系模式R(U)的當前值,是一個元

組的集合。這里的關系模式和關系一般稱為泛關系模式和泛關系。用一個關系模

式的集合P={R1,R2,ooo,RJ來代替R,其中每個Ri(IWiWk)的屬性是U的子

集。這里的P稱為數(shù)據(jù)庫模式。對數(shù)據(jù)庫模式的每一個關系模式給予一個當前值,

就得到一個數(shù)據(jù)庫實例(簡稱數(shù)據(jù)庫)

泛關系模式存在的存儲特別問題有:數(shù)據(jù)冗余,更新特別,刪除特別。

(二)函數(shù)依靠

(三)關系模式的分解特性

(四)關系模式的范式

(五)數(shù)據(jù)庫設計

數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,供應一個確定最優(yōu)數(shù)據(jù)模型與處

理模式的規(guī)律設計,以及一個確定數(shù)據(jù)庫存儲結(jié)構(gòu)與存取方法的物理設計,建立

起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿意用戶數(shù)據(jù)要求和加工要求,又能被某

個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實現(xiàn)系統(tǒng)目標,并有效存取數(shù)據(jù)的數(shù)據(jù)庫。

(六)規(guī)劃

規(guī)劃階段的主要任務是進行建立數(shù)據(jù)庫的必要性及可行性分析,確定數(shù)據(jù)庫

系統(tǒng)在組織中和信息系統(tǒng)中的地位,以及各個數(shù)據(jù)庫之間的聯(lián)系。

(七)需求分析

需求分析階段應當對系統(tǒng)的整個應用狀況作全面的、具體的調(diào)查,確定企業(yè)

組織的目標,收集支持系統(tǒng)總的設計目標的基礎數(shù)據(jù)和對這些數(shù)據(jù)的要求,確定

用戶的需求,并把這些要求寫成用戶和數(shù)據(jù)庫設計者都能接受的文檔。需求分析

就是把總體信息需求、處理需求以及企業(yè)自身的制約條件等幾方面的因素進行綜

合考慮,最終規(guī)劃出一份既切合實際,又具有遠見的需求說明書。

需求分析大致分為三步來完成,即需求信息的收集、分析整理和評審。需求

信息的收集又稱為系統(tǒng)調(diào)查,在調(diào)查爭論之前,要做好充分的預備工作,要明確

調(diào)查的目的、調(diào)查的內(nèi)容和調(diào)查的形式。需求信息的分析整理包括業(yè)務流程分析

和分析結(jié)果的描述,業(yè)務流程分析一般采納數(shù)據(jù)流分析法,分析結(jié)果以數(shù)據(jù)流圖

(DFD)表示,除了DFD以外,還要用一些法律規(guī)范表格進行補充描述。評審的目

的在于確認某一階段的任務是否全部完成,以避開重大的疏漏或錯誤。

(八)概念設計

概念設計的目標是產(chǎn)生反映企業(yè)組織信息需求的數(shù)據(jù)庫概念結(jié)構(gòu),即概念模

式。概念模式是獨立于數(shù)據(jù)庫規(guī)律結(jié)構(gòu),獨立于支持數(shù)據(jù)庫的DBMS,不依靠于

計算機系統(tǒng)的。概念設計的必要性表現(xiàn)在:

(1)數(shù)據(jù)庫設計過程中各階段的任務相對單一化,設計簡單程度大大降

低,便于組織管理;

(2)不受特定的DBMS的限制,也獨立于存儲支配和效率方面的考慮,因

而比規(guī)律模式更為穩(wěn)定;

(3)概念模式不含具體的DBMS所附加的技術細節(jié),更簡潔為用戶所理解,

因而才有可能精確地反映用戶的信息要求。

(九)規(guī)律設計

規(guī)律設計的目的是把概念設計階段設計好的基本ER圖轉(zhuǎn)換為與選用的具體

機器上的DBMS所支持的數(shù)據(jù)模型相符合的規(guī)律結(jié)構(gòu)(包括數(shù)據(jù)庫模式和外模

式)。這些模式在功能上、完整性和全都性約束及數(shù)據(jù)庫的可擴充性等方面均應

滿意用戶的各種要求。

在規(guī)律設計階段主要輸入如下信息:

(1)獨立于DBMS的概念模式;

(2)處理需求;

(3)約束條件;

(4)DBMS特性。

在規(guī)律設計階段主要輸出如下信息:

(1)DBMS可處理的模式;

(2)子模式;

(3)應用程序設計指南;

(4)物理設計指南。

規(guī)律設計的主要步驟有:

(1)初始模式的形成;

(2)子模式設計

(3)應用程序設計梗概;

(4)模式評價;

(5)修正模式。

ER模型中的主要成分是實體類型和聯(lián)系類型。在ER模型向關系模型轉(zhuǎn)換是

時:

(1)實體類型。將每個實體類型轉(zhuǎn)換成一個關系模式,實體的屬性即為

關系模式的屬性,實體標識符為關系模式的鍵。

(2)聯(lián)系類型。

①若實體間的聯(lián)系是1:1的,可以在兩個實體類型轉(zhuǎn)換成的兩個關系模式

中任意一個關系模式的屬性中加入另一個關系模式的鍵和聯(lián)系類型的屬性

②若實體間的聯(lián)系是1:N的,則在N端實體類型轉(zhuǎn)換成的關系模式中加入

1端實體類型轉(zhuǎn)換成的關系模式的鍵和聯(lián)系類型的屬性;

③若實體間聯(lián)系是M:N的,則將聯(lián)系類型也轉(zhuǎn)換成關系模式,其屬性為兩

端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。

關系數(shù)據(jù)庫的規(guī)律設計過程為:

(1)從ER模式導出初始關系模式。

(2)法律規(guī)范化處理:確定法律規(guī)范級別和實施法律規(guī)范化處理。

(3)模式評價:包括功能評價和性能評價。

(4)模式修正:可采納合并、分解或選用此外結(jié)構(gòu)的方式進行。在經(jīng)過

模式評階及修正的反復多次后,最終的數(shù)據(jù)庫模式得以確定,全局規(guī)律結(jié)構(gòu)

設計即告結(jié)束。在規(guī)律設計階段,還要設計出全部子模式。

(十)物理設計

對一個給定的規(guī)律數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結(jié)構(gòu)的過程,稱

為數(shù)據(jù)庫的物理設計。所謂數(shù)據(jù)庫的物理結(jié)構(gòu),主要指數(shù)據(jù)庫在物理設施上的存

儲結(jié)構(gòu)和存取方法。它是完全依靠于給定的計算機系統(tǒng)的。在物理結(jié)構(gòu)中,數(shù)據(jù)

的基本單位是存儲紀錄?!拔募笔悄骋活愋偷娜看鎯o錄的集合。一般我們

用“文件”表示單紀錄類型的物理數(shù)據(jù)庫。

物理設計可分五步來完成:

(1)存儲紀錄結(jié)構(gòu)設計:包括紀錄的組成、數(shù)據(jù)項的類型和長度,以及

規(guī)律紀錄到存儲紀錄的映射;

(2)確定數(shù)據(jù)存儲支配;

(3)訪問方法的設計;

(4)完整性和完全性;

(5)程序設計。

前三步涉及到物理數(shù)據(jù)庫結(jié)構(gòu)的設計,后兩步涉及到約束和具體的程序設

計。物理設計階段的輸出是物理數(shù)據(jù)庫結(jié)構(gòu)說明書,包括存儲紀錄格式、存儲紀

錄位置及訪問方法。它能滿意全部的操作需求并給出對硬件、軟件系統(tǒng)的約束。

在設計過程中效率問題只能在各種約束得到滿意且獲得可行方案之后進行。

(十一)實現(xiàn)與維護

在數(shù)據(jù)的實現(xiàn)與維護階段,設計人員運用DBMS供應的數(shù)據(jù)定義語立,將規(guī)

律設計和物理設計的結(jié)果嚴格地描述出來,成為DBMS可接受的源代碼,經(jīng)過調(diào)

試產(chǎn)生目標模式,然后組織數(shù)據(jù)入庫。實現(xiàn)階段的主要工作有:

(1)建立實際數(shù)據(jù)庫結(jié)構(gòu);

(2)試運行;

(3)裝人數(shù)據(jù)。

在數(shù)據(jù)庫正式投入使用之前,還有一些工作要做。如數(shù)據(jù)庫的重新組織設計,

故障恢復方案設設計、平安性考慮和事務掌握等。

運行維護階段的主要工作是:

(1)維護數(shù)據(jù)庫的平安性與完整性掌握及系統(tǒng)的轉(zhuǎn)儲和恢復;

(2)性能的監(jiān)督、分析與改進;

(3)增加新功能;

(4)發(fā)覺錯誤,修改錯誤

第五講數(shù)據(jù)庫管理系統(tǒng)

(一)數(shù)據(jù)庫管理系統(tǒng)概述

1.DBMS的系統(tǒng)目標

數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。從用戶來看,一個DBMS應盡可能具

有如下的系統(tǒng)目標。

(1)用戶界面友好

(2)結(jié)構(gòu)清楚

(3)開放性

2.DBMS的基本功能

(1)數(shù)據(jù)庫定義功能

(2)數(shù)據(jù)存取功能

(3)數(shù)據(jù)庫運行管理

(4)數(shù)據(jù)組織、存儲和管理功能

(5)數(shù)據(jù)庫的建立和維護功能

(6)其他功能

(-)數(shù)據(jù)庫管理系統(tǒng)的結(jié)構(gòu)和運行過程

1.DBMS程序模塊的組成

(1)數(shù)據(jù)定義方面的程序模塊

(2)數(shù)據(jù)操縱方面的程序模塊

(3)數(shù)據(jù)庫運行管理方面的程序模塊

(4)數(shù)據(jù)庫組織、存儲和管理方面的程序模塊

(5)數(shù)據(jù)庫建立、維護和其他方面的程序模塊

2.DBMS的層次結(jié)構(gòu)

最上層是應用層,位于DBMS核心之外。它處理的對象是各種各樣的數(shù)據(jù)庫

應用,如用開發(fā)工具開發(fā)的或用宿主語言編寫的應用程序,終端用戶通過應用接

口發(fā)出事務懇求或各種查詢要求。該層是DBMS與終端用戶和應用程序的界面層。

其次層是語言翻譯處理層。它處理的對象是數(shù)據(jù)庫語言,如SQL。向上供應

的數(shù)據(jù)接

是關系、視圖,即元組的集合。其功能是對數(shù)據(jù)庫語言的各類語句進行語法

分析、視圖轉(zhuǎn)換、授權檢查、完整性檢查、查詢優(yōu)化等。通過對下層基本模塊的

調(diào)用,生成可執(zhí)行代碼。這些代碼的運行即可完成數(shù)據(jù)庫語句的功能要求。

第三層是數(shù)據(jù)庫取層。該層處理的對象是單個元組,它把上層的集合操作轉(zhuǎn)

化為單紀錄操作。執(zhí)行掃描(如表掃描)、排序、元組的查找、插入、修改、刪除、

封鎖等基本操作。完成數(shù)據(jù)錄的存取、存取路徑維護、并發(fā)掌握、事務管理等工

作。

第四層是數(shù)據(jù)存儲層。該層處理的對象是數(shù)據(jù)頁和系統(tǒng)緩沖區(qū)。執(zhí)行文件的

規(guī)律打開、關閉、讀頁、寫頁、緩沖區(qū)讀和寫、頁面淘汰等操作,完成緩沖區(qū)管

理、內(nèi)外存交換、外存的數(shù)據(jù)管理等功能。

(三)新的應用要求對DBMS的挑戰(zhàn)

(1)RDBMS的進展過程

RDBMS產(chǎn)品經(jīng)受了從集中到分布,從單機環(huán)境到網(wǎng)絡,從支持信息管理到聯(lián)

機事務處理(OLTP),再到聯(lián)機分析處理(OLAP)的進展過程;對關系模型的支持也

逐步完善,系統(tǒng)的功能不斷增加。

(2)新的應用需求對DBMS的挑戰(zhàn)

隨著數(shù)據(jù)庫技術的進展,數(shù)據(jù)庫應用領域越來越廣泛,各應用領域?qū)?shù)據(jù)庫

的需求也不斷增加。計算機應用由以前的單項業(yè)務處理朝著簡單綜合業(yè)務系統(tǒng)進

展。在這綜合系統(tǒng)中,不僅包括大量的聯(lián)機事務處理(OLTP),同時還有大量的批

處理和決策支持及聯(lián)機分析處理(OLAP)等需求。因此,需要各種新技術來解決現(xiàn)

實應用的需求。

(四)0racle數(shù)據(jù)庫系統(tǒng)

1.Oracle數(shù)據(jù)庫系統(tǒng)簡介

Oracle數(shù)據(jù)庫系統(tǒng)是美國Oracle公司的產(chǎn)品。該公司1979年推出了世界

第一個商業(yè)化的關系型數(shù)據(jù)管理系統(tǒng)。

最近推出的0racle9i是業(yè)界第一個完整的、簡潔的用于互聯(lián)網(wǎng)的新一代智

能化的、協(xié)作各種應用的軟件基礎架構(gòu)。Oracle%實際上是指0racle9i數(shù)據(jù)庫、

0racle9iApplicationServer和0racle9iDeveloperSuite的完整集成。

2.Oracle的主要產(chǎn)品及其功能

Oracle產(chǎn)品主要包括數(shù)據(jù)庫服務器、開發(fā)工具和連接產(chǎn)品3類。

(DOracle數(shù)據(jù)庫服務器功能及其特色

Oracle數(shù)據(jù)庫服務器包括標準服務器和很多可選的服務器選件,選件用于

擴展標準服務器的功能,以適應特別的應用需求。

①標準服務器主要具有下列特色:

多進程多線索的體系結(jié)構(gòu)。

高性能核心技術。

高可用性。

SQL的實現(xiàn)o

②并行服務器選件(paralleserveroption)和并行查詢選件

(parallequeryoption)

③分布式選件(distributedoption)

④過程化選件(proceduraloption)

(2)Oracle的工具產(chǎn)品及其功能

為便采用戶開發(fā)數(shù)據(jù)庫應用程序,Oracle供應了眾多工具供用戶選擇使用。

主要有:

①Developer/2000

②Dsigner/2000

③支持聯(lián)機分析處理(OLAP)

④并行處理力量

③Discoverer/'2000

@0racleOffice

⑤SQLDBA

?Oracle預編譯器

⑦Oracle調(diào)用接口

(3)Oracle的連接產(chǎn)品及其功能

①SQL*Net是一個負責客戶機與服務器之間網(wǎng)絡通信的產(chǎn)品,它使得客戶計

算機上的Oracle應用開發(fā)工具能夠訪問遠程的Oracle數(shù)據(jù)庫服務器中的數(shù)據(jù)。

它允許客戶機和服務器是異構(gòu)計算機與操作系統(tǒng),并支持TCP/IP等多種網(wǎng)絡通

信合同。'

②Oracle多合同轉(zhuǎn)換器Oracle7支持全部主要的網(wǎng)絡合同;允許異種網(wǎng)絡

的多合同交換;

供應合同透亮性;擁有啟動的可選網(wǎng)絡路由選擇等。

③Oracle開放式網(wǎng)關(opengateway)Oracle開放式網(wǎng)關技術能把多種數(shù)據(jù)

源集成為一個整體,使得應用程序不做任何修改就可以運行在非Oracle數(shù)據(jù)源

上(即訪問非Oracle數(shù)據(jù)庫中的數(shù)據(jù))。開放式網(wǎng)關包括透亮網(wǎng)關和

過程化網(wǎng)關。采用透亮網(wǎng)關,Oracle應用程序可以直接訪問IBMDB2

和SQL/DS,DECRMS和RDB、tandamnonstopSQL,HPTurboimage等數(shù)據(jù)源。假如

需要訪問其他數(shù)據(jù)源,則必需通過過程化網(wǎng)關,即用戶用PL/SQL編程構(gòu)造網(wǎng)關。

3.Oracle的數(shù)據(jù)倉庫和Intemet解決方案

(1)Oracle的數(shù)據(jù)倉庫解決方案

Oracle的數(shù)據(jù)倉庫解決方案是OracleOLAP產(chǎn)品,主要包括服務器端的

OracleExpress

Server選件與客戶端的OracleExpressObjects和OracleExpressAnalyzer

工具。

(2)Oracle的Intemet解決方案

鑒于數(shù)據(jù)庫是存儲與管理信息的最有效的方式,將數(shù)據(jù)庫技術與Web技術結(jié)

合應用于Internet會很有前途。Oracle針對Intemet/Intranet的產(chǎn)品是

OracleWebservero由OracleWebListener,OracleWebAgent和0racle7服務器

三部分組成。?

(五)IBMDB2數(shù)據(jù)庫系統(tǒng)

1.IBMDB2數(shù)據(jù)庫系統(tǒng)簡介

IBMDB2數(shù)據(jù)系統(tǒng)是美國IBM公司的產(chǎn)品。

Starburst的目的是要針對IBM爭論人員對SQL關系型數(shù)據(jù)庫各種局限的了

解,建立新一代的、具延長性的關系型數(shù)據(jù)庫原型。延長性指的是在數(shù)據(jù)庫各子

系統(tǒng)實現(xiàn)開放性,使用戶能夠很簡潔地把新功能加注到一個SQL關系型數(shù)據(jù)庫

里,以便支持新一代的應用。Starburst為新一代商用對象關系型數(shù)據(jù)庫(Object

一relationalDatabase)供應了珍貴的閱歷與技術來源。

2.DB2通用數(shù)據(jù)庫的功能和特色

DB2家族除了包含在各種平臺上運行的數(shù)據(jù)庫管理系統(tǒng)內(nèi)核之外,產(chǎn)品包中

還包括了數(shù)據(jù)復制、數(shù)據(jù)庫系統(tǒng)管理、環(huán)球網(wǎng)(Internet)網(wǎng)關支持、在線分析處

理、多媒體支持和各種并行處理力量,并為全部平臺上的異構(gòu)數(shù)據(jù)庫訪問供應''中

間件"(middleware)解決方案。

DB2通用數(shù)據(jù)庫(UDB)V7.1的特色有:

①支持Intemet應用

②支持面對對象和多媒體應用

③支持聯(lián)機分析處理(OLAP)

④并行處理力量

3.IBM的商務智能解決方案

商務智能解決方案的基本結(jié)構(gòu)往往包括以下3個部分:數(shù)據(jù)倉庫,用于抽取、

整合、分布、存儲有用的信息;多維分析模型,全方位了解現(xiàn)狀;前臺分析工具,

供應簡潔易用的圖形化界面給管理人員。

4.IBM內(nèi)容管理(ContentManagement)解決方案

(1)IBMContentManagerOnDemand

IBMOnDemand解決方案可以完成電子存儲、回取、分發(fā)、打印和傳真,在極

短的時間內(nèi)就可以在顯示器上獲得與原來供應應客戶的一模一樣的報表/帳單以

及其他計算機輸出信息。

(2)DigitalLibrary(數(shù)字圖書館)

IBM數(shù)字圖書館技術使人們快速而廉價地管理、訪問、愛護以及傳遞大量多

種多樣的資料成為可能。

(六)SYBASE數(shù)據(jù)庫系統(tǒng)

1.SYBASE數(shù)據(jù)庫系統(tǒng)簡介

SYBASE是美國SYBASE公司的產(chǎn)品。1999年8月,SYBASE正式發(fā)布了針對

企業(yè)門戶(EP)市場的公司策略,進一步加強了公司在企業(yè)數(shù)據(jù)管理和應用開發(fā)、

移動和嵌入式計算機、Intemet計算環(huán)境及數(shù)據(jù)倉庫等領域的領先地位。

2.SYBASE數(shù)據(jù)庫系統(tǒng)的功能及其特色

目前,SYBASE數(shù)據(jù)庫系統(tǒng)定位在4個方向:分別在企業(yè)解決方案、Intemet

應用、商務智能和移動與嵌入計算領域為客戶供應先進的技術。

企業(yè)解決方案包括企業(yè)級數(shù)據(jù)庫,數(shù)據(jù)復制和數(shù)據(jù)訪問。主要產(chǎn)品有:

SYBASEEP,AdaptiveServerEnterprise,AdaptiveServerReplication,

AdaptiveServerConnect及異構(gòu)數(shù)據(jù)庫互聯(lián)選件。

(1)SYBASE企業(yè)門戶

(2)企業(yè)級數(shù)據(jù)庫服務器

(3)0penClient/~enServer

(4)ReplicationServer

(5)PowerDesigner

(6)OmniCONNECT

(7)DirectConnect.

3.SYBASE的Intemet應用和商務智能解決方案

SYBASE的Intemet應用方向的產(chǎn)品關心企業(yè)通過Intemet作為業(yè)務計算的

平臺來獵取競爭優(yōu)勢。主要產(chǎn)品有數(shù)據(jù)庫服務器、中間層應用服務器、以及強大

的快速應用開發(fā)工具PowerBuilder。開發(fā)者依據(jù)其行業(yè)特點采用相應部件建立

打包的基于Web的應用。

(l)EnterpriseApplicationServer

(2)快速應用開發(fā)工具

(3)SYBASE的商務智能解決方案

4.SYBASE的移動與嵌入計算解決方案。一

移動與嵌入計算產(chǎn)品系列將原始數(shù)據(jù)轉(zhuǎn)換成企業(yè)信息并發(fā)布到企業(yè)的任何

地方。移動數(shù)

據(jù)庫產(chǎn)品AdaptiveServerAnywhere和最新的UltraLite數(shù)據(jù)庫配置選項以

其高性能、可擴展的技術加強了SYBASE在這一市場的優(yōu)勢。

主要產(chǎn)品包括SYBASESQLAnywhereStudio和iAnywhereWirelessServero

(-t)MS-SQLSERVER數(shù)據(jù)庫系統(tǒng)

1.MS-SQLSERVER數(shù)據(jù)庫系統(tǒng)簡介

MS-SQLSERVER數(shù)據(jù)庫系統(tǒng)是美國Microsoft(微軟)公司的產(chǎn)品。目前,

MicrosoftServer7.0和MicrosoftSQLServer2000已經(jīng)廣泛使用于我們國家的

各行各業(yè),包括很多政府部門。

2.MS-SQLSERVER數(shù)據(jù)庫系統(tǒng)主要功能及其特性

(1)數(shù)據(jù)庫服務器MS-SQLSERVER

MS-SOLSERVER數(shù)據(jù)庫系統(tǒng)的核心是MicrosoftSOLServer,簡稱為

MS-SQLServer或SQLServer□

(2)MSSQLServer2000的主要功能及其特色

①充分的Web支持

②高度可伸縮性和牢靠性

③最快投放市場.

④充分的數(shù)據(jù)倉庫功能

⑤廣泛支持電子商務功能

3.SQLServer2000多版本支持

為滿意不同單位和個人對性能、運行時間和價格的特別要求,SQLServer2000

供應各種不同的版本,包括:

①SQLServer2000企業(yè)版

②SQLServer2000標準版

③SQLServer2000個人版

@SQLServer2000開發(fā)人員版

⑤SQLServer2000企業(yè)評估版

(§)SQLServer2000桌面引擎(MSDE)

⑦SQLServer2000WindowsCE版

4.MicrosoftSQLServer2000的軟、硬件環(huán)境

(1)使用MicrosoftSQLServer2000企業(yè)版,需要的配置

①PC機具有Intel或兼容的Pentium,166MHz或更高配置的處理器。

②帶有ServicePack5或更高版本的MicrosoftWindowsNTServer4.0、帶有

ServicePack5

或更高版本的WindowsNTServer4.0企業(yè)版、Windows2000Server、

Windows2000AdancedServer或Windows2000DatacenterServer操作系統(tǒng)。

③最低64MBRAM(推舉使用128MB或更大容量的內(nèi)存)。

④硬盤空間要求:

對于數(shù)據(jù)庫服務器,要求95MB?270MB的磁盤空間,典型安裝需要大約

250MB的空間;

對于AnalysisServices,要求50MB的磁盤空間;典型安裝需要130MB的磁

盤空間;

對于MicrosoftEnglishQuery,要求80MB的磁盤空間。

⑤MicrosoftIntemetExplorer5.0或更高版本

?CD-ROM驅(qū)動器

⑦VGA或更高辨別率的監(jiān)視器

⑧Microsoft鼠標或兼容設施

(2)使用MicrosoftSQLServer2000個人版需要的配置

(除以下各項外,其他要求均與企業(yè)版相同)

①需支持MicrosoftWindows98,WindowsMillenniumEdition^Windows2000

專業(yè)版、帶有ServicePack5或更高版本的WindowsNTWorkstation4.0

②最低32MB的RAM(推舉使用64MB或更大容量的內(nèi)存)

(3)使用MicrosoftSQLServer2000DesktopEngine需要的配置

除以下各項外,其他要求均與企業(yè)版相同。

①需支持MicrosoftWindows98、WindowsME>帶有ServicePack5或更高版

本的WindowsNTWorkstation4.0或Windows2000專業(yè)版

②最少32MB的RAM

③44MB的可用硬盤空間

(4)網(wǎng)絡支持

Windows95、Windows98>WindowsME、WindwosNT4.0或Windows2000內(nèi)置

網(wǎng)絡軟件(除非使用BanyanVINES或AppleTalkADSP,否則不需其他網(wǎng)絡軟件;

由Windows網(wǎng)絡環(huán)境中的NWLink合同負責供應NovelINetWarelPX/SPX客戶端

支持)??蛻舳酥С郑篧indows95>Windows98>WindowsME、

WindowsNTWorkstation4.0^Windows2000專業(yè)版、UNIX、AppleMacintosh和OS/2

第六講事務管理與數(shù)據(jù)庫平安性

(一)數(shù)據(jù)庫的恢復

為了保證數(shù)據(jù)庫的完整性,事務必需具有原子性、全都性、隔離性、長久性

四共性質(zhì),即事務的ACID性質(zhì)。

數(shù)據(jù)庫系統(tǒng)中常見的故障很多,造成數(shù)據(jù)庫中數(shù)據(jù)損壞的故障通常有:事務

故障、系統(tǒng)故障、介質(zhì)故障。作為DBMS,應能把數(shù)據(jù)庫從被破壞、不正確的狀

態(tài)恢復到最近一個正確狀態(tài)。DBMS的這種力量稱為可恢復性。數(shù)據(jù)庫恢復的實

現(xiàn)方法:

(1)定期對整個數(shù)據(jù)庫進行復制或轉(zhuǎn)儲。轉(zhuǎn)儲可分為靜態(tài)轉(zhuǎn)儲和動態(tài)轉(zhuǎn)

儲;轉(zhuǎn)儲還可以分為海量存儲和增量轉(zhuǎn)儲

(2)建立“日志”文件

(3)恢復

(二)數(shù)據(jù)庫的并發(fā)掌握

在多用戶共享系統(tǒng)中,假如多個用戶同時對同一數(shù)據(jù)進行操作稱為并發(fā)操

作。并發(fā)操作時,事務相互之間可能有干擾,破壞了事務的隔離性。DBMS的并

發(fā)掌握子系統(tǒng)負責協(xié)調(diào)并發(fā)事務的執(zhí)行,保證數(shù)據(jù)的全都性不受破壞,同時避開

用戶得到不正確的數(shù)據(jù)。數(shù)據(jù)庫的并發(fā)操作通常會帶來以下三類問題:

(1)丟失更新問題;

(2)不全都分析問題;

(3)“臟數(shù)據(jù)”的讀出。

所謂并發(fā)掌握就是要用正確的方法調(diào)度并發(fā)操作。

(三)數(shù)據(jù)庫的完整性

數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。完整性檢查,即系統(tǒng)用肯定的

機制采檢查數(shù)據(jù)庫中的數(shù)據(jù)是否滿意規(guī)定的條件。這種條件在.數(shù)據(jù)庫中稱為完

整性約束條件。對數(shù)據(jù)庫的非法更新有:

(1)數(shù)據(jù)本身是錯誤的,輸入時,就按錯誤的數(shù)據(jù)輸入;

(2)數(shù)據(jù)原來是正確的,由于操作或程序的錯誤,造成插入時變成錯

誤的數(shù)據(jù);

(3)由于系統(tǒng)故障,使數(shù)據(jù)發(fā)生錯誤;

(4)若干事務的并發(fā)執(zhí)行產(chǎn)生不正確的數(shù)據(jù);

(5)人為地有意破壞。數(shù)據(jù)庫的完整性是通過DBMS的完整性子系統(tǒng)

實現(xiàn)的。

完整性子系統(tǒng)的主要功能有:

(1)監(jiān)督事務的執(zhí)行,并測試是否違反完整性規(guī)章;

(2)如有違反現(xiàn)象,則實行恰當?shù)牟僮?,諸如拒絕、報告違反狀況、

改正錯誤等方法來處理。

(四)數(shù)據(jù)庫的平安性

數(shù)據(jù)庫的平安性是指愛護數(shù)據(jù)庫,防止不合法的使用,以免數(shù)據(jù)的泄漏、非

法更改和破壞。對數(shù)據(jù)庫不合法的使用稱為數(shù)據(jù)庫的濫用。數(shù)據(jù)庫的濫用可分為

無意和惡意的兩類。惡意的濫用主要是指未經(jīng)授權的讀取數(shù)據(jù)(即偷竊信息)和未

經(jīng)授權的修改數(shù)據(jù)(即破壞數(shù)據(jù))o數(shù)據(jù)庫的完整性是指盡可能避開對數(shù)據(jù)庫的無

意的濫用;數(shù)據(jù)庫的平安性是指盡可能避開對數(shù)據(jù)庫的惡意的濫用。為了愛護數(shù)

據(jù)庫,防止惡意的濫用,可以從環(huán)境級、職員級、OS級、網(wǎng)絡級、數(shù)據(jù)庫系統(tǒng)

級等方面設置各種平安措施。

第七講新一代數(shù)據(jù)庫應用開發(fā)工具

(-)新一代數(shù)據(jù)庫應用開發(fā)工具概念

1.使用應用開發(fā)工具的意義

詹姆斯?馬丁(JamesMartin)指出:'企業(yè)間的技術競爭,實質(zhì)上是計算機應

用系統(tǒng)的競爭。哪個公司能以最快的速度建立所需的計算機應用系統(tǒng),哪個公司

就能在競爭中取勝。假如一個公司要花幾年的時間去建立和調(diào)試一個簡單的應用

系統(tǒng),而它的競爭對手只需幾個月,那么,這個公司將沒有生意”??梢?,快速

建立計算機應用系統(tǒng)對一個企業(yè)來說是多么重要。

2.新一代數(shù)據(jù)庫應用開發(fā)工具的特征和進展趨勢

(1)新一代數(shù)據(jù)庫應用開發(fā)工具的特征

新一代客戶機/服務器前端快速開發(fā)工具應具備以下基本特征:

①支持與多種數(shù)據(jù)庫聯(lián)接,可進行對異種數(shù)據(jù)庫源的透亮訪問

②支持獨立于特定DBMS的應用開發(fā),供應統(tǒng)一的訪問DBMS的用戶界面和

應用程序接口。

③支持可視化圖形用戶界面(VGU”o

④支持面對對象的程序設計(OOP)o

⑤供應完善的數(shù)據(jù)對象(dataobiect)o

⑥支持開放性。

⑦工具的完備和集成一體化。

⑧支持漢化。

(2)當前應用開發(fā)工具的進展趨勢

當前應用開發(fā)工具的進展趨勢是:

①采納三層Client/Server結(jié)構(gòu)

②對Web應用的支持

③開放的、構(gòu)件式的分布式計算環(huán)境

(二)應用開發(fā)工具的選擇

1.當前應用開發(fā)對工具的總需求

(1)提高開發(fā)和運行效率

(2)降低開發(fā)和維護費用

(3)應用系統(tǒng)具有先進性?

(4)代碼的可重用性

2.目前應用開發(fā)工具存在的問題

目前某些應用開發(fā)工具所存在的問題大致可歸納如下:

(1)開發(fā)過程過于簡單,涉及過多低層技術實現(xiàn)

(2)難于適應要求穩(wěn)定的大規(guī)模的企業(yè)級業(yè)務處理

(3)難于快速適應低層技術的更新和業(yè)務規(guī)律的變化

(三)CASE工具----PowerDsigner

1.PowerDesigner簡介

PowerDesigner是一個功能強大而使用簡潔的工具集,支持從處理流程建模

到對象和組件的生成的應用開發(fā)生命周期的各個階段。并供應了一個完整的建模

解決方案。業(yè)務或系統(tǒng)分析人員、設計人員、數(shù)據(jù)庫管理員DBA和開發(fā)人員可以

對其裁剪以滿意各自的特定需要。

2.PowerDesigner的組成及各模塊的功能

@PowerDesignerProcessAnalyst

②PowerDe~ignerDataArchitect

③PowerDesignerAppMode1er

④PowerDesignerMetaWorks

⑤PowerDesignerWarehouseArchitect,,

⑥PowerDesignerViewer

3.PowerDesigner的安裝

安裝PowerDesigner的計算機系統(tǒng)應滿意如下要求:

①Intel486/66MHz或以上的CPU,使用P5100以上的處理器更好;

②12MB內(nèi)存,使用16MB以上更好;

③已安裝Windows95,WindowsNT4.0或與之100%兼容的其他操作系統(tǒng);

?CD-ROM;VGA或更高辨別率的顯示器;鼠標;

⑤PowerDesigner的各個模塊可以單獨安裝,每個模塊需要硬盤空間10MB

至12MB,

4.PowerDesigner的DataArchitect模塊

(1)DataArchitect的功能

DataArchitect是一個強有力的數(shù)據(jù)庫模型設計工具,它支持真正的兩層設

計方法,在概念層和物理層建立和維護數(shù)據(jù)模型,并供應兩層設計方法的很多優(yōu)

點。

(2)DataArchitect的信息(處理)流程

(3)DataArchitect的使用方法

(4)建立概念數(shù)據(jù)模型(CDM)

①定義實體

②定義實體的屬性

③定義聯(lián)系

(5)建立物理數(shù)據(jù)模型(PDM)

物理數(shù)據(jù)模型的創(chuàng)建方式有如下幾種:

①從CDM生成PDMo

②直接生成PDMo

③從數(shù)據(jù)庫逆向生成PDMo

(6)生成創(chuàng)建數(shù)據(jù)庫的腳本文件(.SQL)

創(chuàng)建數(shù)據(jù)庫的腳本文件是一個.SQL文件,生成的方法有如下兩種:

①從現(xiàn)有數(shù)據(jù)庫生成腳本文件

②從PDM生成創(chuàng)建數(shù)據(jù)庫的腳本文件(SQL文件)

(四)可視化程序開發(fā)工具一一Delphi

1.Delphi的進展歷程

Delphi是美國Borlandinternational公司的產(chǎn)品。Delphi產(chǎn)品已經(jīng)經(jīng)受了

5代,第五代新產(chǎn)品Delphi5.0適用于WindowsNT和Windows95/98/2000環(huán)

境,且對Delphi400在諸多性能和功能方面都有所改善,還包括了VisualC++5.0

與VisualBasic5.0的功能和優(yōu)點。

2.Delphi的主要特點

(1)具有良好的面對對象設計力量

(2)具有良好的數(shù)據(jù)處理力量

(3)具有良好的對標準技術的支持

(4)具有良好的Intemet/Intranet開發(fā)支持

(5)具有良好的對第三方構(gòu)件產(chǎn)品和工具的支持

3.Delphi的安裝和卸載

(1)軟、硬件環(huán)境要求

安裝Delphi的計算機系統(tǒng)應滿意如下要求:

①Intel486/66MHz或以上的CPU,使用P5100以上的處理器更好;

②12MB內(nèi)存,使用16MB以上更好;

③已安裝Windows95,WindwosNT4.0或與之100%兼容的其他操作系統(tǒng);

?CD-ROM;VGA或更高辨別率的顯示器;鼠標;

⑤完全安裝客戶機/服務器套件版本需要170MB的硬盤空間(專業(yè)版需要

140MB,標準版需要130MB),另加10MB的臨時空間。

(2)安裝過程

(3)卸載Delphi

4.Delphi的集成開發(fā)環(huán)境

在Delphi安裝勝利之后,啟動操作系統(tǒng),可以通過下述方法之一進入

Delphi:

(1)雙擊Delphi圖標。

(2)從“開頭”菜單中選擇Delphi。

5.Delphi程序設計的基本步驟

建立一個Delphi程序時,用戶一般只需在一個窗體對象上放置所需要的各

種構(gòu)件,然后對其特性賦值,并編寫代碼以掌握大事。

(五)應用開發(fā)工具----PowerBuilder

1.PowerBui1der概述

(1)PowerBuilder簡介

PowerBuilder是由美國聞名的數(shù)據(jù)庫應用開發(fā)工具廠商PowerSoft公司(現(xiàn)

已并入SYBASE公司)于1991年6月推出的完全依據(jù)客戶機/服務器體系結(jié)構(gòu)設

計的快速應用開發(fā)統(tǒng),是一個客戶機前端開發(fā)工具。

(2)PowerBuilder的主要特點

PowerBuilder的主要特點包括:

①專業(yè)的客戶機/服務器應用開發(fā)工具;

②全面支持面對對象開發(fā);?

③使用特地接口或ODBC,可同時支持與多種數(shù)據(jù)庫的連接。特別適合于多

層客戶機/服務器結(jié)構(gòu)的集成化應用系統(tǒng)開發(fā);

④供應豐富的數(shù)據(jù)表現(xiàn)風格,可定制的稱為“數(shù)據(jù)窗口(DataWindows)”對

象(該項技術

獲專利),可簡潔地對數(shù)據(jù)庫進行操作并能敏捷地制作報告和商業(yè)圖形;

⑤支持動態(tài)數(shù)據(jù)交換(DDE)、動態(tài)鏈接庫(DLL)、對象鏈接與嵌入(OLE);

⑥供應敏捷、快捷的數(shù)據(jù)和結(jié)構(gòu)移動(復制)方式;

⑦供應強大的調(diào)試器和多種調(diào)試方式;'

⑧支持Internet多層體系結(jié)構(gòu)下的快速Web應用開發(fā)。

(3)PowerBuilder的安裝

①硬件環(huán)境:P5以上微機,32MB以上內(nèi)存,VGA顯示器,80MB以上硬盤空

間o

②軟件環(huán)境:Windows98>WindowsNT.Windows2000等版本。

2.PowerBuilder大事驅(qū)動的程序設計

(1)大事驅(qū)動程序設計的概念

在過程化程序設計中,由程序掌握著處理的流向。用戶不行以違反程序設計

的路徑,至多能按程序設計的路徑做些選擇。在大事驅(qū)動程序設計中,用戶可以

通過選擇在窗口中的對象來掌握處理的流向。

(2)PowerBuilder對象

對象是一種描述,一個對象有類名、特征(屬性)和定義該對象行為的方法組

成的自包含應用成分。在PowerBuilder中,對象包括:應用(Apllication)、窗

□(Window)>菜單(Menu)、數(shù)窗口(DataWindows)、按鈕(Button)以及各種控件

等。多個對象可以組合成新的對象。

(3)大事與腳本

大事(Event)是被用戶或應用初始設定的動作,包括系統(tǒng)預定義大事和用戶

定義大事。

系統(tǒng)為每類PowerBuilder對象定義了相應的大事,例如,點擊(Clicked)、

打開(Open)>關

閉(Close),等等。

在PowerBuilder中,一個腳本是一組命令,這組命令是使用PowerScript

語言和函數(shù)

(PowerBuilder函數(shù)和用戶定義函數(shù))為某個大事編寫的。

3.PowerBuilder應用開發(fā)環(huán)境和開發(fā)步驟

(1)PowerBuilder應用開發(fā)環(huán)境

啟動PowerBuilder,顯示它的主屏。在被稱為PowerBar的工具條中點擊一

個畫筆的圖標,就打開該畫筆。每一個PowerBuilder畫筆的屏幕都包括一個或

多個稱為PainterBar工具條、菜單、工作空間和MicroHelp。

(2)PowerBuilder應用開發(fā)步驟

PowerBuilder應用是一組PowerBuilder對象的集合。一般,一個

PowerBuilder應用包括:應用對象、窗口對象、在窗口對象上的菜單對象、數(shù)

據(jù)窗口對象、用戶定義對象和按鈕等各種掌握對象,以及與這些對象相關的大事

和大事處理程序(腳本)。

開發(fā)PowerBuilder應用主要包括創(chuàng)建對象并定制它們的特性,使用

PowerScript語言、

PowerBuilder或用戶定義函數(shù)編寫腳本,用以定義和處理當某個大事發(fā)生

時需要執(zhí)行的任務或動作。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論