劉之家
(廣西師范學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,廣西 南寧 530023)
作為計(jì)算機(jī)軟件的一個(gè)重要分支,數(shù)據(jù)庫(kù)技術(shù)一直是備受業(yè)界關(guān)注的焦點(diǎn).從20世紀(jì)60年代末開始,數(shù)據(jù)庫(kù)技術(shù)經(jīng)歷了層次數(shù)據(jù)庫(kù)、網(wǎng)狀數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù)等階段,數(shù)據(jù)庫(kù)技術(shù)的研究取得了重大的進(jìn)展.80年代,關(guān)系數(shù)據(jù)庫(kù)是發(fā)展的主流,幾乎所有新推出的DBMS產(chǎn)品都是關(guān)系型的[1].隨著數(shù)據(jù)庫(kù)技術(shù)應(yīng)用領(lǐng)域的不斷拓展,為滿足應(yīng)用對(duì)數(shù)據(jù)處理不斷“苛刻”的要求,人們開始發(fā)現(xiàn)關(guān)系數(shù)據(jù)庫(kù)的許多限制和不足,這又推動(dòng)了數(shù)據(jù)庫(kù)技術(shù)的新一輪研究,研究的方向主要有兩條:一是改造和擴(kuò)充關(guān)系數(shù)據(jù)庫(kù),以適應(yīng)新的應(yīng)用需求;二是改用新的數(shù)據(jù)模型,例如面向?qū)ο蟮臄?shù)據(jù)模型、基于邏輯的數(shù)據(jù)模型等.目前,這兩方面都取得了很大的進(jìn)展,人們期待著一個(gè)“后關(guān)系數(shù)據(jù)庫(kù)”(Post--Relational Database)時(shí)代的到來.
屬性值都是直接量的對(duì)象是簡(jiǎn)單對(duì)象,用其他對(duì)象作屬性值的對(duì)象是復(fù)合對(duì)象,復(fù)合對(duì)象是一個(gè)層次結(jié)構(gòu),這是對(duì)象概念不同于關(guān)系模型中元組的重要特征.對(duì)象間通過發(fā)送消息實(shí)現(xiàn)相互通信,屬性值查詢和修改只有通過向?qū)ο蟀l(fā)消息調(diào)用才能實(shí)現(xiàn);具有相同特征的對(duì)象被組織成了類,類間存在繼承、聚集的關(guān)聯(lián).與傳統(tǒng)的數(shù)據(jù)模型相比,面向?qū)ο髷?shù)據(jù)模型具有許多優(yōu)勢(shì),它具有表示復(fù)雜對(duì)象的能力,通過封裝和信息隱藏概念提供了模塊化機(jī)制,通過封裝和繼承概念提供了軟件重用機(jī)制,而通過滯后聯(lián)編等概念得到了系統(tǒng)擴(kuò)充能力.面向?qū)ο髷?shù)據(jù)庫(kù)(OODB)是指對(duì)象的集合、行為、狀態(tài)和聯(lián)系是以面向?qū)ο髷?shù)據(jù)模型來定義的.面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)(OODBS)是指支持定義和操作OODB的數(shù)據(jù)庫(kù)系統(tǒng)[2].
隨著網(wǎng)絡(luò)技術(shù)和分布式數(shù)據(jù)庫(kù)技術(shù)的發(fā)展,產(chǎn)生了客戶機(jī)/服務(wù)器(Client/Server)結(jié)構(gòu)和微內(nèi)核結(jié)構(gòu)的操作系統(tǒng).客戶機(jī)/服務(wù)器結(jié)構(gòu)的思想如下:將操作系統(tǒng)分成運(yùn)行在用戶態(tài)并以C/S方式活動(dòng)的進(jìn)程以及運(yùn)行在核心態(tài)的內(nèi)核兩大部分.內(nèi)核部分除外,操作系統(tǒng)的其余部分將會(huì)被分成若干相對(duì)獨(dú)立的進(jìn)程,并且每一個(gè)進(jìn)程實(shí)現(xiàn)一類服務(wù),稱作服務(wù)器進(jìn)程,例如,提供文件管理服務(wù)、進(jìn)程管理服務(wù)、存儲(chǔ)管理服務(wù)、網(wǎng)絡(luò)通信服務(wù),等等(用戶進(jìn)程也在該層并以C/S方式活動(dòng),是一種客戶進(jìn)程).服務(wù)器進(jìn)程的任務(wù)是檢查是否有客戶提出服務(wù)請(qǐng)求,如果有請(qǐng)求則在滿足客戶的要求后返回結(jié)果,于是,用戶進(jìn)程與服務(wù)器進(jìn)程形成了客戶機(jī)/服務(wù)器關(guān)系.運(yùn)行在核心態(tài)的內(nèi)核把該消息傳給服務(wù)器;服務(wù)器執(zhí)行相應(yīng)操作,再通過內(nèi)核用另一種消息把結(jié)果返回給用戶[3].由于由用戶態(tài)進(jìn)程來實(shí)現(xiàn)操作系統(tǒng)的絕大多數(shù)功能,內(nèi)核只實(shí)現(xiàn)極少任務(wù),主要起信息驗(yàn)證、交換的作用.
封裝是一種信息隱蔽技術(shù),它體現(xiàn)于數(shù)據(jù)庫(kù)的說明,是對(duì)象的重要特性.封裝使數(shù)據(jù)和操作該數(shù)據(jù)的方法封裝為一個(gè)整體,以實(shí)現(xiàn)獨(dú)立性很強(qiáng)的模塊,使得用戶只能見到對(duì)象的外特征(對(duì)象能接受哪些信息,具有哪些處理能力),而對(duì)象的內(nèi)特性(保存內(nèi)部狀態(tài)的私有數(shù)據(jù)和功能的算法)對(duì)用戶是隱蔽的,封裝的目的在于把對(duì)象的設(shè)計(jì)者和對(duì)象的使用者分開,使用者不必知曉行為細(xì)節(jié),只需用設(shè)計(jì)者提供的方法來完成所需要的工作.封裝性是一個(gè)類的屬性和方法放于同一塊代碼中,并使類的接口與其他實(shí)現(xiàn)相獨(dú)立,接口是程序中暴露給用戶的那一部分,而實(shí)現(xiàn)則是指只對(duì)編寫該類代碼的程序員可見的部分.封裝性使得程序員可以通過它們的屬性和方法來訪問對(duì)象而不必了解內(nèi)部操作的細(xì)節(jié).
SQL Server Management Studio替代了原有SQL Server 2000下的企業(yè)管理器的功能,可以充分管理SQL Server.它是一套管理工具,采用簡(jiǎn)易用戶接口提供輔助開發(fā)方程式工具和管理服務(wù)器的許多功能,用于管理從屬于SQL Server的組件.此集成環(huán)境使用戶可以在一個(gè)界面內(nèi)執(zhí)行各種任務(wù),例如,實(shí)現(xiàn)備份數(shù)據(jù)、編輯查詢和自動(dòng)執(zhí)行常見函數(shù)等任務(wù),也大大改善了創(chuàng)建表、視圖、觸發(fā)器、用戶自定義函數(shù)和存儲(chǔ)過程的工具.客戶端表示層分HTML、Java Applet和Java Application等類型,服務(wù)器端表示層用JSP、Servlet、Tag Libraries和JavaBeans實(shí)現(xiàn),業(yè)務(wù)層用EJB實(shí)現(xiàn).接入網(wǎng)絡(luò)設(shè)備控制功能是系統(tǒng)同接入層網(wǎng)絡(luò)設(shè)備進(jìn)行交互的窗口,對(duì)攻擊主機(jī)進(jìn)行隔離等操作需要通過它來完成,所以它需要具備對(duì)接入層設(shè)備進(jìn)行控制操作的能力.這種能力是通過TELNET和SNMP協(xié)議完成的.總而言之,系統(tǒng)對(duì)日志分析功能得出的結(jié)果,最后進(jìn)行隔離操作是通過本功能直接完成的[4].
假如我們進(jìn)一步把圖1的對(duì)象數(shù)據(jù)庫(kù)框架從軟件開發(fā)角度進(jìn)行分離的話,除去安全部分內(nèi)容,則數(shù)據(jù)庫(kù)的框架結(jié)構(gòu)可以簡(jiǎn)化為如圖1所示.
圖1 基于對(duì)象數(shù)據(jù)庫(kù)設(shè)計(jì)框架示意圖
通過將數(shù)據(jù)加密、表、數(shù)據(jù)庫(kù)、Web Form代碼及表示層(Web Form)的分離,分別以類、Web服務(wù)、ASPX等的形式存在,因此不僅實(shí)現(xiàn)了各業(yè)務(wù)邏輯之間的無縫連接,同時(shí)也增加了代碼的系統(tǒng)的可維護(hù)性和可重用性.打開關(guān)閉連接數(shù)據(jù)庫(kù)、執(zhí)行數(shù)據(jù)的增、刪、改、查等功能.CourseAction.java實(shí)現(xiàn)了數(shù)據(jù)管理的請(qǐng)求轉(zhuǎn)發(fā),為了實(shí)現(xiàn)對(duì)ADD、REMOVE、LIST、VIEW、TRASH、EDIT、SAVE等不同的要求,CourseAction類設(shè)計(jì)實(shí)現(xiàn)了 performAdd()、performRemove()、performList()、performView()、performTrash()、performEdit()和 performSave()方法.由于這七個(gè)方法在編寫風(fēng)格上基本一致,所以我們針對(duì)performList()方法來說明CourseAction類的構(gòu)建過程.下面是CourseAction類的部分實(shí)現(xiàn)代碼.數(shù)據(jù)庫(kù)技術(shù)在系統(tǒng)中是十分重要的,狀態(tài)應(yīng)該隨時(shí)能查詢到[5].
(1)AddStrings(pString)返回一個(gè)字符串的基于0的編號(hào),該值用來連接字符串到按鈕上,其中的字符串參數(shù)pString需要兩個(gè)結(jié)束符來表示結(jié)尾,必須將字符串寫成如下形式:pString=“Only one string to add 图们市| 辉县市| 克拉玛依市| 临邑县| 海口市| 区。| 顺义区| 淮南市| 灵璧县| 肥西县| 全州县| 哈巴河县| 沁源县| 扎鲁特旗| 方山县| 乐亭县| 沙田区| 石河子市| 柯坪县| 加查县| 潜江市| 揭西县| 仪陇县| 泸溪县| 蒙自县| 开江县| 海阳市| 哈尔滨市| 连山| 威信县| 称多县| 大余县| 格尔木市| 承德市| 天柱县| 自治县| 贺兰县| 玉林市| 龙门县| 大丰市| 佳木斯市|