【正文】
統(tǒng)需要很長的時(shí)間而受到批評(píng),因?yàn)楣ぷ飨到y(tǒng)僅僅在整個(gè)過程結(jié)束時(shí)才產(chǎn)生。現(xiàn)在組織越來越多的使用快速應(yīng)用開發(fā)法,它是一 個(gè)包含分析、設(shè)計(jì)和實(shí)現(xiàn)步驟的快速重復(fù)的迭代過程,直到匯聚到用戶所需的系統(tǒng)為止??焖賾?yīng)用開發(fā)法在所需的數(shù)據(jù)庫已經(jīng)存在、增強(qiáng)系統(tǒng)主要是為了檢索數(shù)據(jù)的應(yīng)用中適用,而不適用于那些生成和修改數(shù)據(jù)庫的應(yīng)用。 使用最廣泛的快速應(yīng)用開發(fā)法之一是原型法。原型法是一個(gè)系統(tǒng)開發(fā)的迭代過程,通過分析員和用戶的緊密配合,持續(xù)地修改系統(tǒng)而最終將所有需求轉(zhuǎn)換成一個(gè)工作系統(tǒng)。圖 6 顯示原型法的過程。在此圖中我們包含了注釋,概略地描述了每個(gè)原型法階段的數(shù)據(jù)庫開發(fā)活動(dòng)。一般來說,當(dāng)信息系統(tǒng)的問題被確定時(shí),僅僅粗略地嘗試概念數(shù)據(jù)建模。在開發(fā)最初的 原型時(shí),設(shè)計(jì)用戶想要的顯示和報(bào)表,同時(shí)理解任何新的數(shù)據(jù)庫需求并定義一個(gè)用語原型的數(shù)據(jù)庫。這通常是一個(gè)新的數(shù)據(jù)庫,它復(fù)制現(xiàn)存系統(tǒng)的一部分,還可能增加了一些新的內(nèi)容。當(dāng)需要新的內(nèi)容時(shí),這些內(nèi)容通常來自外部數(shù)據(jù)源,如市場(chǎng)研究數(shù)據(jù)、一般的經(jīng)濟(jì)指標(biāo)或行業(yè)標(biāo)準(zhǔn)。 當(dāng)產(chǎn)生原型新的版本時(shí)重復(fù)數(shù)據(jù)庫的實(shí)現(xiàn)和維護(hù)活動(dòng)。通常僅進(jìn)行最低限度的安全性和完整性控制,因?yàn)榇藭r(shí)的重點(diǎn)是盡可能快地產(chǎn)生可以使用的原型版本。而且文檔管理也延遲到項(xiàng)目的最后,在交付使用時(shí)才進(jìn)行用戶培訓(xùn)。最后,一旦構(gòu)建了一個(gè)可接受的原型,開發(fā)者和用戶將決定最后的原型 和數(shù)據(jù)庫是否能交付使用。如果系統(tǒng)(包括數(shù)據(jù)庫)效率很低,那么系統(tǒng)和數(shù)據(jù)庫將被重新編程和重新組織以達(dá)到期望的性能。 隨著可視化編程工具(如 Visual Basic、 Java、 Visual C++和第四代語言)越來越流行,利用可視化編程工具可以很方便地修改用戶與系統(tǒng)間的界面,原型法正成為可供選擇的系統(tǒng)開發(fā)方法。使用原型法改變用戶報(bào)表和顯示的內(nèi)容和布局是相當(dāng)容易的。在這個(gè)過程中,新的數(shù)據(jù)庫需求被確定,因此被發(fā)展中的應(yīng)用使用的現(xiàn)存的數(shù)據(jù)庫應(yīng)該進(jìn)行修改。甚至有可能為一個(gè)需要新的數(shù)據(jù)庫的系統(tǒng)使用原型法,在這種情況下,當(dāng) 系統(tǒng)需求在迭代的開發(fā)過程中不斷變化時(shí)需要獲取樣本數(shù)據(jù)以建造或重建數(shù)據(jù)庫原型。 3 數(shù)據(jù)庫開發(fā)的三層模式體系結(jié)構(gòu) 在本文前面關(guān)于數(shù)據(jù)庫開發(fā)過程的解釋中提到了一個(gè)系統(tǒng)開發(fā)項(xiàng)目上建立的幾個(gè)不同的、但是相關(guān)的數(shù)據(jù)庫視圖或模型 : ● 概念模式(在分析階段建立)。 ● 外部模式或用戶視圖(在分析階段和邏輯設(shè)計(jì)階段建立)。 ● 物理模式或內(nèi)部模式(在物理設(shè)計(jì)階段建立)。 圖 7 描述了數(shù)據(jù)庫這三個(gè)視圖之間的關(guān)系,重要的是要記住,它們是同一個(gè)組織數(shù)據(jù)庫的視圖或模型。也就是說,每一個(gè)組織數(shù)據(jù)庫都有一個(gè)物理模式、一個(gè)概念模式以及一個(gè) 或多個(gè)用戶視圖。因此,三層模式體系結(jié)構(gòu)用觀察同一數(shù)據(jù)集的不同方式定義數(shù)據(jù)庫。 概念模式 關(guān)于全部數(shù)據(jù)庫結(jié)構(gòu)的、與技術(shù)無關(guān)的規(guī)格說明。概念模式定義了整個(gè)數(shù)據(jù)庫而不涉及數(shù)據(jù)怎樣存儲(chǔ)在計(jì)算機(jī)的二級(jí)存儲(chǔ)器中。通常,概念模式用實(shí)體 聯(lián)系( ER)圖或?qū)ο蠼7?hào)這樣的圖形格式來描述,我們把這種類型的概念模式稱為數(shù)據(jù)模型。另外,概念模式的規(guī)格說明作為元數(shù)據(jù)存儲(chǔ)在信息庫或數(shù)據(jù)字典中。 物理模式 包括概念模式的數(shù)據(jù)怎樣存儲(chǔ)在計(jì)算機(jī)二級(jí)存儲(chǔ)器中的規(guī)格說明。對(duì)數(shù)據(jù)庫分析員和設(shè)計(jì)人員來說,重要的是物理數(shù)據(jù)庫(物理模式)的定義,它 提供了關(guān)于分配和管理存儲(chǔ)和訪問的數(shù)據(jù)所在的物理二級(jí)存儲(chǔ)器空間的數(shù)據(jù)庫技術(shù)的全部規(guī)格說明。 數(shù)據(jù)庫開發(fā)和數(shù)據(jù)庫技術(shù)是以數(shù)據(jù)庫這三個(gè)模式間的區(qū)分為基礎(chǔ)的。數(shù)據(jù)庫開發(fā)項(xiàng)目的一個(gè)角色可能僅需處理與這三個(gè)視圖中的一個(gè)相關(guān)的工作。例如,一個(gè)初學(xué)者可能設(shè)計(jì)用于一個(gè)或多個(gè)程序的外部模式,而一個(gè)有經(jīng)驗(yàn)的開發(fā)者將設(shè)計(jì)物理模式或概念模式。數(shù)據(jù)庫設(shè)計(jì)問題在不同的層次上有很大的不同。 4 三層數(shù)據(jù)庫定位體系結(jié)構(gòu) 顯然,所有數(shù)據(jù)庫中的好的事情都和“三”有關(guān)! 當(dāng)設(shè)計(jì)一個(gè)數(shù)據(jù)庫時(shí),你要選擇把數(shù)據(jù)存放在何處。這個(gè)選擇在物理數(shù)據(jù)庫設(shè)計(jì)階段作出 。數(shù)據(jù)庫分為個(gè)人數(shù)據(jù)庫、工作組數(shù)據(jù)庫、部門數(shù)據(jù)庫、企業(yè)數(shù)據(jù)庫和因特網(wǎng)數(shù)據(jù)庫。個(gè)人數(shù)據(jù)庫經(jīng)常由最終用戶自己設(shè)計(jì)和開發(fā),僅僅由數(shù)據(jù)庫專家給予培訓(xùn)和咨詢幫助,它僅包含最終用戶個(gè)人感興趣的數(shù)據(jù)。有時(shí)候,個(gè)人數(shù)據(jù)庫是從工作組數(shù)據(jù)庫或企業(yè)數(shù)據(jù)庫中提取出來的,這種情況下數(shù)據(jù)庫專家經(jīng)常編寫一些提取例程來創(chuàng)建本地?cái)?shù)據(jù)庫。工作組數(shù)據(jù)庫和部門數(shù)據(jù)庫經(jīng)常被最終用戶、業(yè)務(wù)部門中的系統(tǒng)專家和中心數(shù)據(jù)庫專家一起開發(fā)。這些人員的協(xié)同工作是必須的,因?yàn)樵谠O(shè)計(jì)共享的數(shù)據(jù)庫時(shí)必須權(quán)衡大量的問題 :處理速度、易于使用、數(shù)據(jù)定義的差別和其他類似的問題 。由于企業(yè)數(shù)據(jù)庫和因特網(wǎng)數(shù)據(jù)庫影響廣、規(guī)模大,所以,通常由在集中的數(shù)據(jù)庫開發(fā)小組中受過專業(yè)培訓(xùn)的數(shù)據(jù)庫專家來開發(fā)。 一個(gè)臺(tái)式計(jì)算機(jī)或筆記本也稱作表示層,它專門管理用戶系統(tǒng)界面和本地化數(shù)據(jù),在這一層上可以執(zhí)行 Web 腳本任務(wù)。 /Web 服務(wù)器層 處理 HTTP 協(xié)議、腳本任務(wù),執(zhí)行計(jì)算和提供數(shù)據(jù)訪問,所以該層稱作處理服務(wù)層。 (小型機(jī)或大型機(jī))層 執(zhí)行復(fù)雜的計(jì)算和管理來自組織間多個(gè)數(shù)據(jù)源的數(shù)據(jù)的合并,也稱作數(shù)據(jù)服務(wù)層。 在一個(gè)組織中,數(shù)據(jù)庫和信息系統(tǒng)分層的體系結(jié)構(gòu)與用于分布式計(jì)算 的客戶/服務(wù)器體系結(jié)構(gòu)的概念相關(guān)??蛻?/服務(wù)器體系結(jié)構(gòu)基于一個(gè)局域網(wǎng)環(huán)境,其中服務(wù)器上(稱作數(shù)據(jù)庫服務(wù)器或數(shù)據(jù)庫引擎)的數(shù)據(jù)庫軟件執(zhí)行來自客戶工作站的數(shù)據(jù)庫命令,每個(gè)客戶的應(yīng)用程序?qū)W⒂谒鼈兊挠脩艚涌诠δ?。?shí)際上,整個(gè)概念數(shù)據(jù)庫(以及訪問這些數(shù)據(jù)庫的應(yīng)用處理例程)作為一個(gè)分布式數(shù)據(jù)庫或單獨(dú)但是相關(guān)的物理數(shù)據(jù)庫而分布在本地的 PC 工作站、中間的服務(wù)器(工作組或部門)和一個(gè)中心服務(wù)器(部門或企業(yè))上。簡(jiǎn)單地說,使用客戶 /服務(wù)器體系結(jié)構(gòu)的原因是 : ● 它可以在多個(gè)處理器上同時(shí)處理同一個(gè)應(yīng)用,因此改善了應(yīng)用的響應(yīng)時(shí)間 和數(shù)據(jù)處理速度。 ● 它可以利用每個(gè)計(jì)算機(jī)平臺(tái)最好的數(shù)據(jù)處理特性(如 PC 的高級(jí)用戶界面與小型機(jī)和大型機(jī)的計(jì)算速度)。 ● 可以混合使用各種客戶端的技術(shù)(裝配 Intel 或 Motorola 處理器的個(gè)人計(jì)算機(jī)、網(wǎng)絡(luò)計(jì)算機(jī)、信息站等)和共享公共數(shù)據(jù)。另外,你可以在任何層改變技術(shù)而僅對(duì)其他層系統(tǒng)模塊的影響很小。 ● 能夠使處理靠近需處理的數(shù)據(jù)源,從而改進(jìn)響應(yīng)時(shí)間并減少網(wǎng)絡(luò)通信量。 ● 它允許和鼓勵(lì)接受開放系統(tǒng)標(biāo)準(zhǔn)。 對(duì)于數(shù)據(jù)庫開發(fā)而言,使用一個(gè)多層的客戶 /服務(wù)器體系結(jié)構(gòu)開發(fā)數(shù)據(jù)庫最有意義之處在于易于將數(shù)據(jù)庫開發(fā)和維護(hù) 數(shù)據(jù)庫的模塊與向最終用戶表示數(shù)據(jù)庫內(nèi)容的信息系統(tǒng)模塊分隔開。表示例程能夠使用像 PowerBuilder、 Java 和Visual Basic 這樣的語言來提供易于使用的圖形化的用戶界面。通過中間件,表示例程能夠通過層間相互作用來訪問例程,該例程訪問所需數(shù)據(jù)并分析這些數(shù)據(jù)以形成所需信息。作為一個(gè)數(shù)據(jù)庫開發(fā)人員和程序員,你可以在這三層中的任何一層工作,開發(fā)必需的軟件。 Information System Development and Database Development In many anizations, database development from the beginning of enterprise data modeling, data modeling enterprises determine the scope of the database and the general content. This step usually occurs in an anization39。s information system planning process, it aims to help anizations create an overall data description or explanation, and not the design of a specific database. A specific database for one or more information systems provide data and the corporate data model (which may involve a number of databases) described by the anization maintaining the scope of the data. Data modeling in the enterprise, you review of the current system, the need to support analysis of the nature of the business areas, the need for further description of the abstract data, and planning one or more database development project. Figure 1 shows Pine Valley furniture pany39。s enterprise data model of a part. Information System Architecture As shown in figure 1, senior data model is only general information system architecture (ISA) or a part of an anization39。s information system blueprint. In the information system planning, you can build an enterprise data model as a whole information system architecture part. According to Zachman (1987), Sowa and Zachman (1992) views of an information system architecture consists of the following six key ponents: Data (Figure 1 shows, but there are other methods that). Manipulation of data processing (of a data flow diagram can be used, with the object model methods, or other symbols that). Networks, which anizations and in anizations with its main transmission of data between business partners (it can connect through the work topology map and to demonstrate). People who deal with the implementation of data and information and is the source and receiver (in the process model for the data shows that the sender and the receiver). Implementation of the events and time points (they can use state transition diagram and other means.) The reasons for the incident and data processing rules (often in the form of text display, but there are also a number of charts for the planning tools such as decision tables). Information Engineering Information systems planners in accordance with the specific information system planning methods developed information system architecture. Information engineering is a popular and formal methods. Information engineering is a dataoriented creation and maintenance of the information system. Information engineering is because the dataoriented, so when you begin to understand how the database is defined by the logo and when information engineering a concise explanation is very helpful. Information Engineering follow topdown planning approach, in which specific information systems from a wide range of inform