SQL SEEVER數(shù)據(jù)庫(kù)中觸發(fā)器管理_第1頁(yè)
SQL SEEVER數(shù)據(jù)庫(kù)中觸發(fā)器管理_第2頁(yè)
SQL SEEVER數(shù)據(jù)庫(kù)中觸發(fā)器管理_第3頁(yè)
SQL SEEVER數(shù)據(jù)庫(kù)中觸發(fā)器管理_第4頁(yè)
SQL SEEVER數(shù)據(jù)庫(kù)中觸發(fā)器管理_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 SQLSQL SEEVERSEEVER 數(shù)據(jù)庫(kù)中觸發(fā)器管理的數(shù)據(jù)庫(kù)中觸發(fā)器管理的 用戶接口研究與應(yīng)用用戶接口研究與應(yīng)用 摘要:摘要:信息化時(shí)代的到來(lái),數(shù)據(jù)庫(kù)的廣泛使用,使得觸發(fā)器的作用日益凸顯。它是 SQL Server 數(shù)據(jù)庫(kù)為應(yīng)用程序開(kāi)發(fā)人員提供的一種保證數(shù)據(jù)庫(kù)中數(shù)據(jù)完整性的方法,是一種特殊的存 儲(chǔ)過(guò)程,常應(yīng)用于加強(qiáng)數(shù)據(jù)的完整性約束和業(yè)務(wù)規(guī)則。針對(duì) SQL Server 數(shù)據(jù)庫(kù)管理員管理觸發(fā)器 不便的問(wèn)題,本文考慮設(shè)計(jì)一個(gè)基于安全控制、基于實(shí)用性的 SQL Server 數(shù)據(jù)庫(kù)中觸發(fā)器管理 的用戶接口。它以 Web 數(shù)據(jù)庫(kù)及.NET 為技術(shù)支持,實(shí)現(xiàn)查詢、添加、修改、刪除等功能,方便 用

2、戶進(jìn)行統(tǒng)一管理,使管理過(guò)程變得簡(jiǎn)單、便捷,有效提高 DBA 管理數(shù)據(jù)庫(kù)的效率。 關(guān)鍵詞:關(guān)鍵詞:ASP.NET;SQL Server2000;觸發(fā)器;用戶接口 The User Interface Based On SQL Server Database Trigger Management Wang Jie Directed By Wu DaSheng, Abstract:The database technology is widely used in information age, so trigger is playing a more and more important role

3、. Trigger is a kind of method that SQL server provides for application developer to assurance database in the data integrity; it is a kind of special stored procedure, which is applied in strengthening the integrity of the data constraints and business rules. In connection with inconvenience of trig

4、ger management, we try to design the user interface of SQL Server database trigger management based on security control and availability. It takes Web Database and .NET technology as technical support, and realizes the functions of querying, adding, editing, deleting and so on, which makes users cen

5、tralize management conveniently and simplify the process, effectively improves efficiency of DBA database management. Key Words: ASP.NET;SQL Server2000;Trigger;User Interface http:/ 目錄 1 緒論緒論.4 1.1 課題背景.4 1.2 研究目的.4 1.3 研究意義.5 2 SQL SERVER 數(shù)據(jù)庫(kù)及觸發(fā)器用戶接口概況數(shù)據(jù)庫(kù)及觸發(fā)器用戶接口概況.6 2.1 SQL SERVER 數(shù)據(jù)庫(kù)概述.6 2.2 SQL

6、SERVER 觸發(fā)器概述.7 2.2.1 觸發(fā)器結(jié)構(gòu).7 2.2.2 觸發(fā)器的工作原理.8 2.2.3觸發(fā)器的優(yōu)點(diǎn).9 2.2 用戶接口概述.9 2.3.1用戶接口的人機(jī)交互形式.9 2.3.2用戶接口的發(fā)展沿革.10 2.3.3 SQL SERVER中觸發(fā)器用戶接口研究.12 3 開(kāi)發(fā)技術(shù)及運(yùn)行環(huán)境開(kāi)發(fā)技術(shù)及運(yùn)行環(huán)境.15 3.1 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)技術(shù).15 3.1.1 B/S結(jié)構(gòu).15 3.1.2 ADO.NET技術(shù).15 3.2 WEB數(shù)據(jù)庫(kù)及開(kāi)發(fā)技術(shù).17 3.2.1 Web數(shù)據(jù)庫(kù)概述.17 3.2.2 ASP.NET概述.17 3.3 系統(tǒng)運(yùn)行環(huán)境.19 4 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì).19

7、 4.1 系統(tǒng)設(shè)計(jì)思想.19 4.2 功能模塊設(shè)計(jì).19 4.2.1功能模塊設(shè)計(jì).19 4.3.2系統(tǒng)架構(gòu).20 5 系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)實(shí)現(xiàn).20 5.1 登錄設(shè)計(jì)實(shí)現(xiàn).20 5.2 系統(tǒng)界面模板實(shí)現(xiàn).23 5.3 系統(tǒng)功能設(shè)計(jì)實(shí)現(xiàn).23 5.3.1 查詢功能實(shí)現(xiàn).23 5.3.2 操作功能實(shí)現(xiàn).27 5.3.3 修改密碼功能實(shí)現(xiàn).32 5.3.4 描述功能實(shí)現(xiàn).33 5.3.5 聯(lián)系我們.33 總結(jié)總結(jié).34 參考文獻(xiàn)參考文獻(xiàn).35 1 緒論緒論 1.1 課題背景課題背景 數(shù)據(jù)庫(kù)觸發(fā)器管理系統(tǒng)中面向用戶的部分就是系統(tǒng)的用戶接口。對(duì)用戶接口的研究始于上世 紀(jì) 70 年代,當(dāng)時(shí)的用戶界面主要是

8、以命令語(yǔ)言為主的,主要的交互設(shè)備是字母數(shù)字終端與鍵盤(pán)、 行式打印機(jī)。大約到了 80 年代中期以后,在命令驅(qū)動(dòng)的基礎(chǔ)上,逐漸出現(xiàn)了菜單選擇方式的用 戶接口技術(shù)。進(jìn)入 90 年代,一批具有窗口風(fēng)格的直接操縱界面陸續(xù)出現(xiàn),同時(shí),隨著人工智能 理論和方法在信息檢索中的應(yīng)用,用戶接口逐漸出現(xiàn)了一些基于專家系統(tǒng)技術(shù)、具有一定推理和 學(xué)寫(xiě)能力的中介系統(tǒng)1?,F(xiàn)在,隨著虛擬現(xiàn)實(shí)、科學(xué)可視化及多媒體技術(shù)的飛速發(fā)展,新的人機(jī) 交互方式將逐漸為人們所重視。 用戶接口的重要性在于它極大地影響了最終用戶的使用,影響了計(jì)算機(jī)的推廣應(yīng)用,甚至影 響了人們的工作和生活。當(dāng)前,用戶接口與 INTERNET、多媒體、信息處理并列成

9、為二十一世 紀(jì)的研究重點(diǎn)。 用戶接口可以為用戶提供一定的幫助,輔助用戶理解信息和表達(dá)信息的需求,構(gòu)造出查 詢策略;可以有效地支持用戶選擇信息資源、理解檢出的結(jié)果、管理檢索的進(jìn)程。用戶界面 設(shè)計(jì)是否友好、是否合理也將直接影響信息檢索系統(tǒng)的檢索效率。尤其隨著 web 的興起,用戶 接口的研究越來(lái)越引起重視,設(shè)計(jì)既簡(jiǎn)單、有效的信息用戶接口已成為刻不容緩的課題。 SQL Server 數(shù)據(jù)庫(kù)作為一種應(yīng)用廣泛的數(shù)據(jù)庫(kù)管理工具,具有許多顯著的優(yōu)點(diǎn):易用性、適 合分布式組織的可伸縮性、用于決策支持的數(shù)據(jù)倉(cāng)庫(kù)功能、與許多其他服務(wù)器軟件緊密關(guān)聯(lián)的集 成性、良好的性價(jià)比等2。其優(yōu)點(diǎn)諸多,但是在用戶接口這個(gè)領(lǐng)域卻存

10、在缺陷。 SQL Server 數(shù)據(jù)庫(kù)中也包含對(duì)觸發(fā)器管理的用戶接口,查詢分析器及企業(yè)管理器都是非常 成熟的用戶接口,但是它們都是桌面版應(yīng)用程序用戶接口,而基于使用越發(fā)廣泛的 Web 對(duì)這一 領(lǐng)域的研究卻非常少。本論文正是從這點(diǎn)出發(fā),立足與己有的知識(shí)成果的基礎(chǔ)上,以 Web 技術(shù) 做支持,把用戶接口技術(shù)應(yīng)用到 SQL Server 數(shù)據(jù)庫(kù)的觸發(fā)器管理系統(tǒng)中來(lái),對(duì)系統(tǒng)的用戶接口 從理論層面上進(jìn)行分析,提高觸發(fā)器管理效率。填補(bǔ)了該領(lǐng)域的空白,引導(dǎo) SQL Server 數(shù)據(jù)庫(kù) 技術(shù)基于 Web 的發(fā)展趨勢(shì),起到了拋磚引玉的效果,是該論文的獨(dú)到之處。 1.2 研究目的研究目的 本課題研究的目的是在當(dāng)

11、前 SQL SERVER 數(shù)據(jù)庫(kù)中觸發(fā)器使用普及化及用戶接口管理高效 化的發(fā)展背景下,分析使用用戶接口管理觸發(fā)器的發(fā)展趨勢(shì),在此基礎(chǔ)上設(shè)計(jì)一個(gè)統(tǒng)一管理觸發(fā) 器的用戶接口。 從數(shù)據(jù)庫(kù)管理員的實(shí)際管理需要出發(fā),該接口實(shí)現(xiàn)自動(dòng)提取基本表中的觸發(fā)器(id、名稱、所 屬基本表名、內(nèi)容)、建立觸發(fā)器功能描述界面,可添加、修改觸發(fā)器的功能以及可在前臺(tái)添加、 修改、刪除觸發(fā)器等功能。使數(shù)據(jù)庫(kù)管理員對(duì)觸發(fā)器的管理、維護(hù)更加方便。 1.3 研究意義研究意義 用戶接口(user Interface)又稱用戶界面、人機(jī)界面、人機(jī)接口,是為方便用戶使用計(jì)算機(jī)資 源所建立的用戶和計(jì)算機(jī)之間的聯(lián)系。通常指軟件接口,即在人機(jī)

12、聯(lián)系的硬設(shè)備接口基礎(chǔ)上開(kāi)發(fā) 的軟件,它由人、計(jì)算機(jī)硬件和軟件三者結(jié)合而成。 關(guān)于人機(jī)交互,目前尚沒(méi)有統(tǒng)一的定義,ACM(美國(guó)計(jì)算機(jī)學(xué)會(huì))提供了一個(gè)定義3。人機(jī)交 互是研究為方便用戶使用,交互式計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)、評(píng)價(jià)和實(shí)現(xiàn),是對(duì)影響交互系統(tǒng)的各種因 素進(jìn)行研究的一門(mén)科學(xué)。 在 SQL Server 數(shù)據(jù)庫(kù)觸發(fā)器的用戶管理系統(tǒng)中,為了準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲取用戶真正需要 的信息,系統(tǒng)與用戶之間需要不斷地進(jìn)行交互和協(xié)作,通過(guò)采用選擇關(guān)鍵字、顯示查詢結(jié)果、提 供相關(guān)操作機(jī)制等人機(jī)交互方式,這些面向用戶的部分就是用戶接口。隨著數(shù)據(jù)庫(kù)領(lǐng)域的快速發(fā) 展,觸發(fā)器作為數(shù)據(jù)庫(kù)技術(shù)的一種也得到更多的應(yīng)用,而本文研究的用

13、戶接口作為連接最終用戶 與數(shù)據(jù)庫(kù)之間的橋梁,也越來(lái)越引起人們的重視和興趣。 用戶接口的地位和作用正在不斷得到強(qiáng)化和擴(kuò)展,計(jì)算機(jī)技術(shù)的發(fā)展,不僅是其處理、存儲(chǔ) 能力的快速提高和成本的下降,更是不斷改善人機(jī)交流界面和交流方式的進(jìn)步歷程,由于用戶界 面技術(shù)直接影響到系統(tǒng)的使用效果,接口系統(tǒng)也受到計(jì)算機(jī)專家的極大關(guān)注。 隨著數(shù)據(jù)庫(kù)的數(shù)據(jù)量越來(lái)越多,業(yè)務(wù)規(guī)則也日趨復(fù)雜,功能和服務(wù)更是豐富多彩。因此,用 戶在使用數(shù)據(jù)庫(kù)時(shí),不僅面臨大量的決策分析工作,同時(shí)還要對(duì)一大堆問(wèn)題進(jìn)行選擇和判斷。對(duì) 此,即使是數(shù)據(jù)庫(kù)管理員有時(shí)也難以應(yīng)對(duì)。沒(méi)有一個(gè)有效的用戶接口,系統(tǒng)的功能就難以充分發(fā) 揮。 用戶接口的重要性在于它極大

14、地影響了最終用戶的使用,影響了計(jì)算機(jī)的推廣應(yīng)用,甚至影 響了人們的工作和生活。而在信息檢索系統(tǒng)中,用戶接口可以為用戶提供一定的幫助,輔助用戶 理解信息和表達(dá)信息的需求,構(gòu)造出查詢策略;可以有效地支持用戶選擇信息資源、理解檢出的 結(jié)果、管理檢索的進(jìn)程。用戶界面設(shè)計(jì)是否友好、是否合理也將直接影響信息系統(tǒng)的運(yùn)行效率4。 2 SQL SERVER 數(shù)據(jù)庫(kù)及觸發(fā)器用戶接口概況數(shù)據(jù)庫(kù)及觸發(fā)器用戶接口概況 2.1 SQL SERVER 數(shù)據(jù)庫(kù)概述數(shù)據(jù)庫(kù)概述 隨著信息技術(shù)的發(fā)展,計(jì)算機(jī)處理數(shù)據(jù)的方式也發(fā)生著變化,文件管理系統(tǒng)到數(shù)據(jù)庫(kù)管理系 統(tǒng)發(fā)生巨大轉(zhuǎn)變。Microsoft SQL Server 2000 是

15、一個(gè)分布式的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),具有客戶 機(jī)/服務(wù)器體系結(jié)構(gòu),采用了 Transact-sql 的 sql 語(yǔ)言在客戶機(jī)與服務(wù)器間傳遞客戶機(jī)的請(qǐng)求與服 務(wù)器的處理結(jié)果。 SQL Server 2000 能夠滿足今天的商業(yè)環(huán)境要求不同類(lèi)型的數(shù)據(jù)庫(kù)解決方案。它一種應(yīng)用廣泛 的數(shù)據(jù)庫(kù)管理系統(tǒng),具有許多顯著的優(yōu)點(diǎn):易用性、適合分布式組織的可伸縮性、用于決策支持 的數(shù)據(jù)倉(cāng)庫(kù)功能、與許多其他服務(wù)器軟件緊密關(guān)聯(lián)的集成性、良好的性價(jià)比等。性能、可伸縮性 及可靠性是基本要求,而進(jìn)入市場(chǎng)時(shí)間也非常關(guān)鍵。除這些核心企業(yè)品質(zhì)外,SQL Server 2000 還為您的數(shù)據(jù)管理與分析帶來(lái)了靈活性,允許單位在快速變化的

16、環(huán)境中從容響應(yīng),從而獲得競(jìng)爭(zhēng) 優(yōu)勢(shì)。從數(shù)據(jù)管理和分析角度看,將原始數(shù)據(jù)轉(zhuǎn)化為商業(yè)智能和充分利用 Web 帶來(lái)的機(jī)會(huì)非常 重要。作為一個(gè)完備的數(shù)據(jù)庫(kù)和數(shù)據(jù)分析包,SQL Server 2000 為快速開(kāi)發(fā)新一代企業(yè)級(jí)商業(yè)應(yīng) 用程序、為企業(yè)贏得核心競(jìng)爭(zhēng)優(yōu)勢(shì)打開(kāi)了勝利之門(mén)。作為重要的基準(zhǔn)測(cè)試可伸縮性和速度獎(jiǎng)的記 錄保持者,SQLServer2000 是一個(gè)具備完全 Web 支持的數(shù)據(jù)庫(kù)產(chǎn)品,提供了對(duì)可擴(kuò)展標(biāo)記語(yǔ)言 (XML)的核心支持以及在 Internet 上和防火墻外進(jìn)行查詢的能力。 SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)它最初是由 Microsoft Sybase 和 Ashton-T

17、ate 三家公 司共同開(kāi)發(fā)的于 1988 年推出了第一個(gè) OS/2 版本。在 Windows NT 推出后,Microsoft 與 Sybase 在 SQL Server 的開(kāi)發(fā)上就分道揚(yáng)鑣了。Microsoft 將 SQL Server 移植到 Windows NT 系統(tǒng)上, 專注于開(kāi)發(fā)推廣 SQL Server 的 Windows NT 版本。Sybase 則較專注于 SQL Server 在 UNIX 操 作系統(tǒng)上的應(yīng)用。 SQL Server 2000 是 Microsoft 公司推出的 SQL Server 數(shù)據(jù)庫(kù)管理系統(tǒng)的較新版本,該版本 繼承了 SQL Server 7.0 版本

18、優(yōu)點(diǎn)同時(shí)又比它增加了許多更先進(jìn)的功能,具有使用方便、可伸縮性 好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行 Microsoft Windows 98 的膝上型電腦到運(yùn)行 Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺(tái)使用。 但 SQL Server 2000 并不是現(xiàn)在的最新版本, 經(jīng)過(guò)幾年的發(fā)展,SQL Server 2005 成為 SQL Server 數(shù)據(jù)庫(kù)管理系統(tǒng)的最新版本。 SQL Server 2005 是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用集成的商業(yè)智能 (BI) 工具提供了企業(yè)級(jí) 的數(shù)據(jù)管理。SQL Server 2005 數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)

19、提供了更安全可靠的存儲(chǔ) 功能,可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。SQL Server 2005 數(shù)據(jù)引擎 可成為企業(yè)數(shù)據(jù)管理解決方案的核心。此外 SQL Server 2005 結(jié)合了分析、報(bào)表、集成和通知功 能。這使企業(yè)可以構(gòu)建和部署經(jīng)濟(jì)有效的 BI 解決方案,幫助團(tuán)隊(duì)通過(guò)記分卡、Dashboard、Web services 和移動(dòng)設(shè)備將數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個(gè)領(lǐng)域5。 本文以 SQL Server 2000 為例重點(diǎn)討論。 2.2 SQL SERVER 觸發(fā)器概述觸發(fā)器概述 Microsoft SQL Server 2000 提供了兩種主要機(jī)制來(lái)強(qiáng)制業(yè)務(wù)規(guī)則和數(shù)據(jù)完整性:

20、約束和觸發(fā) 器。觸發(fā)器是一種特殊類(lèi)型的存儲(chǔ)過(guò)程,它在指定的表中的數(shù)據(jù)發(fā)生變化時(shí)自動(dòng)生效。喚醒調(diào)用 觸發(fā)器以響應(yīng) INSERT、UPDATE 或 DELETE 語(yǔ)句。觸發(fā)器可以查詢其它表,并可以包含復(fù) 雜的 Transact-SQL 語(yǔ)句。將觸發(fā)器和觸發(fā)它的語(yǔ)句作為可在觸發(fā)器內(nèi)回滾的單 個(gè)事務(wù)對(duì)待。如果檢測(cè)到嚴(yán)重錯(cuò)誤(例如,磁盤(pán)空間不足) ,則整個(gè)事務(wù)即自動(dòng)回滾6。 觸發(fā)器是近年來(lái)在關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中應(yīng)用得比較多的一種完整性保護(hù)措施,其功能比一 般完整性約束要強(qiáng)得多。一般而言,在完整性約束功能中,當(dāng)系統(tǒng)檢查出數(shù)據(jù)中有違反完整性約 束條件時(shí),僅給出必要提示以通知用戶。而數(shù)據(jù)庫(kù)觸發(fā)器是響應(yīng)插入、更

21、新或刪除數(shù)據(jù)庫(kù)事件而 執(zhí)行的過(guò)程,可用于管理復(fù)雜的完整性約束,或監(jiān)控對(duì)關(guān)系的修改,或通知其他程序關(guān)系已發(fā)生 修改。 AFTER 條件 2.2.1 觸發(fā)器結(jié)構(gòu) 觸發(fā)器有 3 個(gè)組成部分,這 3 個(gè)部分分別是事件、條件和動(dòng)作7。如圖 2-1 所示為觸發(fā)器結(jié)構(gòu) 示意圖。 圖 2-1 觸發(fā)器結(jié)構(gòu)示意圖 在觸發(fā)器中,事件指對(duì)數(shù)據(jù)庫(kù)的插入、刪除和修改等操作,觸發(fā)器在這些事件發(fā)生時(shí)開(kāi)始工 作。在 SQL 語(yǔ)言中,觸發(fā)器的事件有 3 種類(lèi)型,即 INSERT 事件、UPDATE 事件和 DELETE 事 件。當(dāng)向某一個(gè)表中插入數(shù)據(jù)時(shí),如果該表有 INSERT 類(lèi)型的觸發(fā)器,那么 INSERT 觸發(fā)器就觸 發(fā)執(zhí)

22、行。UPDATE、DELETE 事件觸發(fā)過(guò)程類(lèi)似。 條件是觸發(fā)器是否觸發(fā)執(zhí)行的依據(jù)。如果條件成立,那么執(zhí)行相應(yīng)的動(dòng)作;如果條件不成立, 那么觸發(fā)器什么也不做。在 SQL 語(yǔ)言中,表示條件的關(guān)鍵字有 3 個(gè),即 AFTER、BEFORE 和 INSTEAD OF。AFTER 關(guān)鍵字表示該觸發(fā)器在觸發(fā)事件成功完成以后,執(zhí)行動(dòng)作部分的操作。 在該觸發(fā)器執(zhí)行之前,所有的級(jí)聯(lián)動(dòng)作和約束檢查也都必須成功地完成,系統(tǒng)默認(rèn)為該關(guān)鍵字。 BEFORE 關(guān)鍵字表示該在觸發(fā)事件執(zhí)行之前,執(zhí)行動(dòng)作部分的操作。在該觸發(fā)器執(zhí)行之后,所有 的級(jí)聯(lián)動(dòng)作和約束檢查才執(zhí)行。INSTEAD OF 關(guān)鍵字表示在出發(fā)事件發(fā)生時(shí),只執(zhí)行

23、動(dòng)作部分而 不執(zhí)行觸發(fā)事件的操作。這時(shí),觸發(fā)事件可以激發(fā)觸發(fā)器本身的操作,而自己并不執(zhí)行8。 AFTER、BEFORE 和 INSTEAD OF 條件觸發(fā)器執(zhí)行過(guò)程如圖 2-2 所示。 圖 2-2 AFTER、BEFORE 和 INSTEAD OF 條件觸發(fā)器執(zhí)行過(guò)程 2.2.2 觸發(fā)器的工作原理 SQL Server 觸發(fā)器在執(zhí)行時(shí)須用到兩個(gè)特殊的表,即刪除操作產(chǎn)生deleted 表,插入產(chǎn)生 觸發(fā)器結(jié)構(gòu) 事件 INSERT UPDATE DELETE 條件 AFTER BEFORE INSERT OF 動(dòng)作 SQL 語(yǔ)句 執(zhí)行觸發(fā)事件 觸發(fā)事件發(fā)生 執(zhí)行觸發(fā)器動(dòng)作 BEFORE 條件 執(zhí)行

24、觸發(fā)事件 觸發(fā)事件發(fā)生 執(zhí)行觸發(fā)器動(dòng)作 INSTEAD OF 條件 執(zhí)行觸發(fā)事件 觸發(fā)事件發(fā)生 執(zhí)行觸發(fā)器動(dòng)作 inserted 表。Inserted 表和deleted 表是兩個(gè)邏輯表,它們存放于內(nèi)存中,不存放在數(shù)據(jù)庫(kù)中,由 系統(tǒng)自動(dòng)維護(hù)。這兩個(gè)表的結(jié)構(gòu)總是與觸發(fā)器作用的數(shù)據(jù)表的結(jié)構(gòu)相同。觸發(fā)器工作完成后,與 該觸發(fā)器相關(guān)的這兩個(gè)表也會(huì)被自動(dòng)刪除。這兩個(gè)表用來(lái)檢查一些數(shù)據(jù)更新的影響并為觸發(fā)器動(dòng) 作設(shè)置條件。我們把這兩個(gè)表稱為觸表器檢查表,被定義了觸發(fā)器的數(shù)據(jù)表稱為觸發(fā)器表。我們 不能直接改變觸發(fā)器檢查表中的數(shù)據(jù),但是能夠使用Select語(yǔ)句來(lái)檢測(cè)Insert、Update或Delete操 作

25、帶來(lái)的影響8。 (1) 在Insert語(yǔ)句執(zhí)行期間,插入的新行同時(shí)被加到inserted表和觸發(fā)器表中。Inserted表中的行是 觸發(fā)器表中插入新行的副本。 (2) 在Delete語(yǔ)句執(zhí)行期間,被刪除的行從觸發(fā)器表移動(dòng)到deleted表中。Deleted 表和觸發(fā)器表通常 沒(méi)有相同的行。 (3) 在Update語(yǔ)句執(zhí)行期間,被修改的行從觸發(fā)器表移動(dòng)到deleted表中。修改后的行被同時(shí)加到 inserted 表和觸發(fā)器表中。 2.2.3觸發(fā)器的優(yōu)點(diǎn) (1) 觸發(fā)器是自動(dòng)的:它們?cè)趯?duì)表的數(shù)據(jù)作了任何修改(比如手工輸入或者應(yīng)用程序采取的操作) 之后立即被激活。 (2) 觸發(fā)器可以通過(guò)數(shù)據(jù)庫(kù)中的相

26、關(guān)表進(jìn)行層疊更改。例如,可以在 titles 表的 title_id 列上寫(xiě) 入一個(gè)刪除觸發(fā)器,以使其它表中的各匹配行采取刪除操作。該觸發(fā)器用 title_id 列作為唯一鍵, 在 title author、sales 及 roysched 表中對(duì)各匹配行進(jìn)行定位。 (3) 觸發(fā)器可以強(qiáng)制限制,這些限制比用 CHECK 約束所定義的更復(fù)雜。與 CHECK 約束不同的 是,觸發(fā)器可以引用其它表中的列。例如,觸發(fā)器可以回滾試圖對(duì)價(jià)格低于 10 美元的書(shū)(存儲(chǔ) 在 titles 表中)應(yīng)用折扣(存儲(chǔ)在 discounts 表中)的更新9。 2.2 用戶接口概述用戶接口概述 2.3.1 用戶接口的人機(jī)

27、交互形式 目前,實(shí)用的各種用戶界面的人機(jī)交互形式可以歸結(jié)為以下 5 種類(lèi)型: (l)命令語(yǔ)言形式 命令語(yǔ)言廣泛應(yīng)用于計(jì)算機(jī)系統(tǒng)的人機(jī)對(duì)話,是用戶驅(qū)動(dòng)界面的代表。它具有功能強(qiáng)大,靈 活,便于用戶組合的特點(diǎn);早期用戶非常熟悉的 Unix,Ms 一 Dos 等操作系統(tǒng)和 Basie、Lisp、Prolog 等編程語(yǔ)言以及數(shù)據(jù)庫(kù)查詢語(yǔ)言 SQL 等向用戶提供了不同級(jí)別的形式語(yǔ)言 和具有自然語(yǔ)言特征的半形式語(yǔ)言界面。但由于命令系統(tǒng)具有嚴(yán)格的語(yǔ)法和語(yǔ)義且不夠形象,對(duì) 使用者的專業(yè)要求比較高,需要進(jìn)行認(rèn)真的培訓(xùn)及良好的記憶,因而不便于普及。 (2)菜單選擇方式 菜單選擇是繼命令語(yǔ)言之后出現(xiàn)的一類(lèi)較為直觀并得

28、到廣泛應(yīng)用的用戶界面。對(duì)于非專業(yè)用 戶來(lái)說(shuō),可以方便使用菜單選擇,減少用戶的擊鍵次數(shù),降低擊鍵操作的出錯(cuò)率。但菜單選擇也 有一些缺點(diǎn),例如:會(huì)占用過(guò)多的屏幕空間,要求過(guò)快的顯示速率,對(duì)于熟練用戶來(lái)說(shuō),還可能 出現(xiàn)菜單層次過(guò)多及選項(xiàng)復(fù)雜的情況,以致影響操作速度等。另外,按照菜單項(xiàng)的顯示方式區(qū)分, 又有正文菜單和圖形菜單之分,它們分別是基于字符用戶界面(CUI)和圖形用戶界面(GUI)。 (3)表格填充方式 當(dāng)用戶需要向系統(tǒng)送入一組數(shù)據(jù)時(shí),較直觀的方法是提供有明確數(shù)據(jù)對(duì)象名稱和范圍的一張 表格,讓用戶用交互方式進(jìn)行填空,也可返回修改;既有輸入提示,也有語(yǔ)法或值域檢查。它是 一類(lèi)十分有用的用戶界面風(fēng)

29、格,尤其適合各類(lèi)數(shù)據(jù)庫(kù)系統(tǒng)、信息管理系統(tǒng)及數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù) 輸入。 (4)直接操縱方式 直接操縱用戶界面是 Schneider man 于 1983 年首先提出的概念10,其特點(diǎn)是以物理動(dòng)作或帶 標(biāo)記的按鈕取代復(fù)雜的語(yǔ)法;采用特別的操作以及目標(biāo)的連續(xù)顯示,并使用戶作用在目標(biāo)上的效 果立即可見(jiàn),同時(shí)還允許快速而可逆的交互動(dòng)作,明顯地提高用戶的積極性。 初學(xué)者只要模仿一個(gè)有經(jīng)驗(yàn)的用戶示范,就能夠很快地學(xué)會(huì)基本功能;專業(yè)人員則可以迅速 地執(zhí)行各種任務(wù),甚至可以定義新的功能和特性;在直接操縱方式下,用戶是動(dòng)作的指揮者,處 于控制地位,同時(shí)系統(tǒng)對(duì)于用戶操作的響應(yīng)也是可預(yù)見(jiàn)的。各種全屏幕正文編輯器、電子

30、表格軟 件、CAI、電子游戲及一些窗口系統(tǒng)都具有直接操縱的界面風(fēng)格。 (5)自然語(yǔ)言的人機(jī)對(duì)話方式 上述各類(lèi)風(fēng)格均是經(jīng)過(guò)人們精心設(shè)計(jì)、由系統(tǒng)予以實(shí)現(xiàn)的人機(jī)對(duì)話方法。它們與人們?nèi)粘I?活中的對(duì)話相差很遠(yuǎn),因而需要進(jìn)行學(xué)習(xí)、訓(xùn)練,人們更希望采用日常生活中的自然語(yǔ)言進(jìn)行人 機(jī)交流,從而使計(jì)算機(jī)界面技術(shù)提高到一個(gè)新的水平。 用自然語(yǔ)言查詢數(shù)據(jù)庫(kù)的優(yōu)勢(shì)在于:用戶只以應(yīng)用領(lǐng)域的概念訪問(wèn)數(shù)據(jù)庫(kù),無(wú)需了解數(shù)據(jù) 庫(kù)的邏輯和存儲(chǔ)結(jié)構(gòu),具有更強(qiáng)的非過(guò)程性;用戶不需要或者只需要很少的培訓(xùn)就能夠直接查 詢數(shù)據(jù)庫(kù)信息,大大減輕了用戶的培訓(xùn)負(fù)擔(dān):用戶可以簡(jiǎn)單明了地提出查詢請(qǐng)求。但由于自然 語(yǔ)言本身固有的多義性及缺乏嚴(yán)格定義

31、的特點(diǎn),自然語(yǔ)言處理(簡(jiǎn)稱 NLP)還具有相當(dāng)?shù)碾y度。國(guó) 外有關(guān)數(shù)據(jù)庫(kù)自然語(yǔ)言用戶接口的研究可以追溯到上世紀(jì) 60 年代。幾十年來(lái),先后出現(xiàn)了許多 試驗(yàn)性和商用系統(tǒng),其中有代表性的系統(tǒng)有: BSSEBALL、LUNAR、LIFER、Themis、ASK、PARLANCE、LOQUI、CLARE、SystemX 及微 軟公司在 SQL6.5/7.0 中提供的 English Query 等數(shù)據(jù)庫(kù)查詢接口等11。 2.3.2 用戶接口的發(fā)展沿革 隨著計(jì)算機(jī)系統(tǒng)的發(fā)展,用戶界面的發(fā)展經(jīng)歷了批處理、聯(lián)機(jī)終端、菜單等階段,正處于以 圖形用戶界面為主流的階段。交互式系統(tǒng)的發(fā)展趨勢(shì)也逐漸從“以機(jī)器為中心”

32、,轉(zhuǎn)移到“以人 為中心” 、 “人機(jī)和諧交互”的方向上。人機(jī)交互方式的發(fā)展也從命令方式、項(xiàng)目菜單方式到直接 操縱方式、基于工 CON 多窗口方式和分布多用戶協(xié)同方式。 1.命令行界面(Command Line Interface,CLI) 出現(xiàn)于 1963 年,這是第一代的人機(jī)界面(圖 2-3)12。在這種界面中,人被看成操作員,機(jī)器 只做出被動(dòng)的反應(yīng),人只能使用手一種交互通道通過(guò)鍵盤(pán)輸入信息,界面輸出只能為靜態(tài)單一字 符。這種用戶界面需要記憶大量的語(yǔ)法和規(guī)則,對(duì)用戶有一定熟練性要求、而且容易出錯(cuò),人機(jī) 交互的自然性和效率都很差。但是由于其靈活、快捷、高效等特點(diǎn),所以仍然 得到了很多專業(yè)用戶的

33、歡迎13。 圖 2-3 字符用戶界面概念模型 2.圖形用戶界面(Graphical User Interface,GUI) 圖形用戶界面出現(xiàn)在 1984 年,被廣泛地應(yīng)用于各種微機(jī)和圖形工作站上。比較成熟的商品 化系統(tǒng)有 Apple 的 Macintosh、IBM 的 PM(Presentation Manager)、Microsoft 的 Windows 和運(yùn)行 于 Unix 環(huán)境下的 X-Window、Open Look 和 OSF/Motif 等等。各類(lèi)圖形界面的共同特征是以窗口 管理系統(tǒng)為核心,使用的交互設(shè)備比較單一,主要是鍵盤(pán)和鼠標(biāo)。GUI 從界面的表達(dá)形式上又被 稱作 WIMP 界

34、面,其中 W 表示 Window(窗口)、I 表示 Icon(圖標(biāo)按鈕)、M 表示 Menu(菜單)、P 表示 Pointer(指點(diǎn)設(shè)備)?;趫D標(biāo)按鈕的界面蘊(yùn)涵了文化和語(yǔ)言獨(dú)立性,提高了視覺(jué)目標(biāo)搜索的 效率?;诓藛蔚慕缑嫣峁┍茸址缑娓迂S富的表現(xiàn)形式,通過(guò)不同的字體、顏色、形狀擴(kuò)大 了界面的表示域范圍。WIMP 界面可看作是第二代人機(jī)界面。 其缺點(diǎn)在于需要占用較大的屏幕空間,并難以表達(dá)和支持非空間性的抽象信息的交互。同時(shí) 圖形用戶界面的人機(jī)交互過(guò)程極大地依賴與視覺(jué)和手動(dòng)控制的參與,具有強(qiáng)烈的直接操縱特點(diǎn)。 3.多媒體用戶界面 多媒體用戶界面的出現(xiàn)將圖形用戶界面的媒體形式進(jìn)行了擴(kuò)展。之前的

35、圖形用戶界面只有兩 種媒體:文本和圖形(圖像),都是靜態(tài)的媒體。多媒體技術(shù)引入了動(dòng)化、音頻、視頻等動(dòng)態(tài)媒體, 大大豐富了計(jì)算機(jī)信息的表現(xiàn)形式,拓寬了計(jì)算機(jī)輸入的帶寬,提高了用戶接收 命令行界面 用 戶 手 眼 擊鍵應(yīng)用例程 單一字符 信息的效率。 4.多通道用戶界面 多通道用戶界面的出現(xiàn)是伴隨著多種交互設(shè)備進(jìn)入了人機(jī)交互。它豐富了信息的表現(xiàn)形式, 發(fā)揮了用戶感知信息的效率,拓寬了用戶到計(jì)算機(jī)的通訊帶寬。綜合采用視線、語(yǔ)音、手勢(shì)等新 的交互通道、設(shè)備和交互技術(shù),使用戶利用多個(gè)通道以自然、并行、協(xié)同的方式進(jìn)行人機(jī)對(duì)話。 通過(guò)整合來(lái)自多個(gè)通道的精確和不精確的輸入來(lái)捕捉用戶的交互意圖,提高人機(jī)交互的自

36、然性和 高效性。 其優(yōu)點(diǎn)在于允許用戶使用自然的交互方式與計(jì)算機(jī)系統(tǒng)進(jìn)行協(xié)同工作,根本改變了傳統(tǒng)交互 的局限性,以人和人之間交互那樣與計(jì)算機(jī)進(jìn)行交流。比傳統(tǒng)用戶界面具有更高的自然性、靈活 性和高效性。 5.未來(lái)用戶接口的發(fā)展趨勢(shì) 無(wú)論人們對(duì)未來(lái)的用戶界面如何刻畫(huà),都離不開(kāi)用戶的現(xiàn)實(shí)需求和計(jì)算機(jī)技術(shù)的進(jìn)步這兩個(gè) 根本的推動(dòng)力,這在很大程度上決定了界面范式發(fā)展的趨勢(shì)。因此,預(yù)測(cè)未來(lái)界面的形式應(yīng)該圍 繞計(jì)算機(jī)技術(shù)的發(fā)展和應(yīng)用狀況以及用戶對(duì)計(jì)算機(jī)的要求。計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)的結(jié)合進(jìn)一步促進(jìn) 了計(jì)算機(jī)技術(shù)的發(fā)展和應(yīng)用,表現(xiàn)為應(yīng)用領(lǐng)域的多樣性和用戶需求的多樣性。未來(lái)用戶界面的范 式傾向于根據(jù)用戶任務(wù)來(lái)具體確定,

37、而不應(yīng)該局限于某一種或幾種通用的模式。因此,從這種思 路出發(fā),可以對(duì)用戶界面的未來(lái)發(fā)展趨勢(shì)預(yù)測(cè)如下14: (1)多通道將是未來(lái)用戶界面的技術(shù)特征。未來(lái)計(jì)算機(jī)發(fā)展的“隱身化”和“微型化”使得 界面不一定要和屏幕聯(lián)系起來(lái),傳統(tǒng)交互手段的功能在縮減,其它交互通道將興起。 (2)自然、高效將是未來(lái)用戶界面的感知特征。用戶界面在計(jì)算機(jī)軟硬件技術(shù)進(jìn)步的推動(dòng)下, 將使得更多不同技術(shù)背景和層次的人非常方便、靈活地使用計(jì)算機(jī)。 (3)個(gè)性化定制將是未來(lái)用戶界面的功能特征之一。未來(lái)用戶界面將逐步做到“計(jì)算機(jī)適應(yīng) 人” ,從追求“容易實(shí)現(xiàn)”到“容易學(xué)習(xí)和容易使用” ,將明顯突出用戶本身的興趣和愛(ài)好。 (4)表現(xiàn)形式

38、的多樣化將是未來(lái)用戶界面的應(yīng)用特征。由于因特網(wǎng)、無(wú)線設(shè)備以及移動(dòng)計(jì)算 技術(shù)的發(fā)展,人類(lèi)己經(jīng)進(jìn)入因特網(wǎng)分布計(jì)算的新紀(jì)元,用戶范圍更加廣泛,使用要求也更加多樣 化,用戶界面的發(fā)展必須體現(xiàn)這種要求。 (5)語(yǔ)音識(shí)別和指點(diǎn)方式的結(jié)合將是未來(lái)用戶界面的主要形式。當(dāng)前語(yǔ)音識(shí)別技術(shù)和具 有觸覺(jué)反饋的筆輸入技術(shù)日趨成熟,視覺(jué)是人們接受信息的主要通道,語(yǔ)音、筆交互、手勢(shì) 是人們進(jìn)行交互的主要手段。 2.3.3 SQL SERVER 中觸發(fā)器用戶接口研究 SQL Server 2000 提供了多個(gè)開(kāi)發(fā)和管理數(shù)據(jù)庫(kù)的工具,其中企業(yè)管理器和查詢分析器是兩 個(gè)最重要的工具。企業(yè)管理器是最重要的一個(gè)工具,它幾乎可以完成所

39、有的 SQL Server 2000 數(shù) 據(jù)庫(kù)的開(kāi)發(fā)和管理工作,其中包括對(duì)觸發(fā)器的管理。在企業(yè)管理器中展開(kāi)服務(wù)器組展開(kāi)服務(wù) 器展開(kāi)數(shù)據(jù)庫(kù)展開(kāi)表文件夾右擊觸發(fā)器所在表選擇所有任務(wù)菜單單擊管理 觸發(fā)器命令。如圖 2-4 所示為企業(yè)管理器中管理觸發(fā)器窗口。 圖 2-4 企業(yè)管理器中管理觸發(fā)器窗口 通過(guò)查詢分析器,數(shù)據(jù)庫(kù)開(kāi)發(fā)人員可以直接用 SQL 語(yǔ)言與 SQL Server 2000 進(jìn)行交互,可以 通過(guò) SQL 語(yǔ)句創(chuàng)建視圖、存儲(chǔ)過(guò)程和觸發(fā)器等數(shù)據(jù)庫(kù)對(duì)象,也可以調(diào)試 SQL 語(yǔ)句以便將正確的 SQL 語(yǔ)句嵌入到應(yīng)用程序中。拿觸發(fā)器來(lái)講,在查詢分析器中可以進(jìn)行關(guān)于觸發(fā)器的所有操作, 例如:創(chuàng)建、修改

40、、刪除、重命名等。如圖 2-5 所示為查詢分析器中操作觸發(fā)器的語(yǔ)句及其結(jié)果。 圖 2-5 查詢分析器中操作觸發(fā)器的語(yǔ)句及其操作結(jié)果 Microsoft SQL Server 2000 被設(shè)計(jì)為可作為下列任一一個(gè)數(shù)據(jù)庫(kù)有效地工作: (1) 服務(wù)器上的中央數(shù)據(jù)庫(kù),可由許多用戶通過(guò)網(wǎng)絡(luò)連接共享。共享用戶數(shù)的范圍可從一個(gè) 工作組中的若干人,到大型企業(yè)的上千名員工,甚至到成百上千萬(wàn)的 Web 用戶。 (2) 只服務(wù)于同一桌面上運(yùn)行的應(yīng)用程序提供服務(wù)的桌面數(shù)據(jù)庫(kù)。 兩種運(yùn)行方式有一個(gè)共同的特點(diǎn),就是必須在操作的計(jì)算機(jī)上安裝 Microsoft SQL Server 2000,沒(méi)有 Microsoft SQ

41、L Server 2000,其應(yīng)用程序無(wú)法連接到數(shù)據(jù)庫(kù),無(wú)法獲取數(shù)據(jù)源,更無(wú) 法實(shí)現(xiàn)上面提到的企業(yè)管理器與查詢分析器提供的高效、快捷的操作15。 本文討論與設(shè)計(jì)的起始點(diǎn)就源于這里。如果設(shè)計(jì)一個(gè)用戶接口,該用戶接口結(jié)合企業(yè)管理器與 查詢分析器的 SQL 語(yǔ)句交互功能,具有查詢與操作觸發(fā)器的功能以及增值服務(wù)。使用該用戶接 口通過(guò) Internet 連接到 Microsoft SQL Server 2000 數(shù)據(jù)庫(kù)來(lái)獲取數(shù)據(jù)源。這樣一個(gè)接口即能保持 類(lèi)似企業(yè)管理器與查詢分析器的高效、便捷的操作,又省去在每臺(tái)機(jī)子上安裝 Microsoft SQL Server 2000 數(shù)據(jù)庫(kù)的麻煩,使數(shù)據(jù)庫(kù)管理員更

42、加方便地管理觸發(fā)器,使辦公管理更加自動(dòng)化。 要了解信息檢索系統(tǒng)用戶接口的發(fā)展沿革,我們必須首先回顧和了解一下計(jì)算機(jī)交互系統(tǒng)用 戶接口。 3 開(kāi)發(fā)技術(shù)及運(yùn)行環(huán)境開(kāi)發(fā)技術(shù)及運(yùn)行環(huán)境 3.1 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)技術(shù)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)技術(shù) 3.1.1 B/S 結(jié)構(gòu) 隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,,伴隨個(gè)人計(jì)算機(jī)的普及,出現(xiàn)了以 Web 技術(shù)為特征的 Internet 應(yīng) 用的同步增長(zhǎng).數(shù)據(jù)庫(kù)應(yīng)用逐漸延伸到 Internet 的環(huán)境,,這就導(dǎo)致了 B/S 應(yīng)用結(jié)構(gòu)的產(chǎn)生與發(fā)展。 B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著 Internet 技術(shù)的興起,對(duì) C/S 結(jié) 構(gòu)的一種變

43、化或者改進(jìn)的結(jié)構(gòu)。最典型的 B/S 結(jié)構(gòu)系統(tǒng)由瀏覽器、Web 服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器 三個(gè)部分組成,如圖 3-1 所示。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò) WWW 瀏覽器來(lái)實(shí)現(xiàn),極 少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三 層 3-tier 結(jié)構(gòu)。 圖 3-1 B/S 結(jié)構(gòu)組成示意圖 這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的 總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立 B/S 結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過(guò) Internet/Intranet 模 式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次

44、性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員, 從不同的地點(diǎn),以不同的接入方式(比如 LAN, WAN, Internet/Intranet 等)訪問(wèn)和操作共同的數(shù)據(jù)庫(kù);它 能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全 。特別是在 JAVA 這樣的跨平 臺(tái)語(yǔ)言出現(xiàn)之后,B/S 架構(gòu)管理軟件更是方便、快捷、高效16。 B/S 最大的好處是客戶端只需要 Web 瀏覽器即可以得到服務(wù),而 C/S 通常還需要安裝設(shè)置 客戶端,B/S 結(jié)構(gòu)意味著可以忽略客戶端的環(huán)境,而把所有注意力放在服務(wù)器端的開(kāi)發(fā)上,升級(jí) 方便,容易維護(hù),不受距離限制,B/S 的實(shí)現(xiàn)有很多種,目前的 ASP,PHP,JSP,ASP.Ne

45、t 等流 行的(腳本)語(yǔ)言都是 B/S 常用的東西。一般的商業(yè)應(yīng)用中,B/S 正在逐漸代替 C/S 的地位17。 3.1.2 ADO.NET 技術(shù) 設(shè)計(jì) ADO.NET 的目的是為了滿足這一新編程模型的以下要求:具有斷開(kāi)式數(shù)據(jù)結(jié)構(gòu):能夠 與 XML 緊密集成;能夠組合來(lái)自多個(gè)不同數(shù)據(jù)源數(shù)據(jù)的通用數(shù)據(jù)表示形式;以及具有為與數(shù)據(jù) 庫(kù)交互而優(yōu)化的功能,這些都是 .NET Framework 固有的功能和內(nèi)容。 Microsoft 設(shè)計(jì)了 ADO.NET 來(lái)處理基于 Web 應(yīng)用程序所需的無(wú)連接計(jì)算環(huán)境。在開(kāi)始客戶 端連接時(shí),暫時(shí)打開(kāi)一個(gè)到數(shù)據(jù)庫(kù)的連接,從數(shù)據(jù)庫(kù)服務(wù)器中檢索需要的數(shù)據(jù),然后關(guān)閉連接。

46、客戶端應(yīng)用程序然后使用與數(shù)據(jù)庫(kù)服務(wù)器所維護(hù)的數(shù)據(jù)存儲(chǔ)完全獨(dú)立的數(shù)據(jù)??蛻舳藨?yīng)用程序可 以定位數(shù)據(jù)的子集,修改該數(shù)據(jù),并將該數(shù)據(jù)一直緩存在客戶機(jī)中,直到應(yīng)用程序指示將所有變 Web BrowserWeb ServerDatabase Server 化傳回到數(shù)據(jù)庫(kù)服務(wù)器。這時(shí)會(huì)暫時(shí)打開(kāi)一個(gè)到服務(wù)器的新連接,對(duì)客戶端應(yīng)用程序所作的所有 修改都被傳回到更新批處理中的數(shù)據(jù)庫(kù),同時(shí)關(guān)閉連接。 支持這種無(wú)連接環(huán)境的核心 ADO.NET 組件是 DataSet。DataSet 本質(zhì)上是一個(gè)縮小的內(nèi)存中 數(shù)據(jù)庫(kù),它的維護(hù)獨(dú)立于后臺(tái)數(shù)據(jù)庫(kù)。只有在填充 DataSet 或者將 DataSet 中的數(shù)據(jù)變化傳回到 數(shù)

47、據(jù)庫(kù)時(shí),才會(huì)打開(kāi)到數(shù)據(jù)源的連接。這種無(wú)連接的計(jì)算環(huán)境將系統(tǒng)開(kāi)銷(xiāo)最小化,并改進(jìn)了應(yīng)用 程序的吞吐量和可伸縮性。ADO.NET DataSet 提供的內(nèi)存中數(shù)據(jù)庫(kù)提供了在成熟的數(shù)據(jù)庫(kù)中可以 找到的許多功能,包括支持?jǐn)?shù)據(jù)關(guān)系、創(chuàng)建視圖的能力、支持?jǐn)?shù)據(jù)約束,以及支持外鍵約束。然 而,由于是一種內(nèi)存中結(jié)構(gòu),它并不提供對(duì)企業(yè)級(jí)數(shù)據(jù)庫(kù)產(chǎn)品(如 SQL Server)中具有的一些更高 級(jí)數(shù)據(jù)庫(kù)特性的支持。例如,DataSet 不支持觸發(fā)器、存儲(chǔ)過(guò)程或用戶自定義函數(shù)。 在 ADO.NET 設(shè)計(jì)中,支持無(wú)連接的、基于 Web 的應(yīng)用程序是 Microsoft 的其中一個(gè)特性, 然而,這并不是 ADO.NET 的全

48、部功能。無(wú)連接模式也可以用于 Web 應(yīng)用程序,但它并不是 B/S 和桌面應(yīng)用程序的最佳模式。當(dāng)在連接方式下運(yùn)行時(shí),可以更好更高效地實(shí)現(xiàn)這些類(lèi)型的應(yīng)用程 序。因此,ADO.NET 提供了 DataReader 對(duì)象。DataReader 主要使用連接方式提供了快速只向前 的游標(biāo)風(fēng)格的數(shù)據(jù)訪問(wèn)。它支持桌面和 C/S 應(yīng)用程序所需的快速連接風(fēng)格的數(shù)據(jù)訪問(wèn)。 ADO.NET 被當(dāng)作.NET Framework 中現(xiàn)有的一組類(lèi)實(shí)現(xiàn)的。這些 ADO.NET 類(lèi)一起組合到. NET Framework 的 System.Data 命名空間下。一些重要的命名空間組成了 ADO.NET 的數(shù)據(jù)訪問(wèn) 技術(shù)。首先

49、,.NET Data Provider 是在 System.Data.SqlClient、System.Data.OracleClient、System.Data.OleDbClient 和 System.Data.Odbc 命名空間中實(shí)現(xiàn)的。這 4 個(gè)命名空間中的類(lèi)提供了其他所有 ADO.NET 對(duì)象都需要的底層數(shù)據(jù)庫(kù) 連接性。System.Data.SqlClient 命名空間提供了到 SQL Server 7、SQL Server 2000 和 SQL Server 2005 數(shù)據(jù)庫(kù)的連接性18。 System.Data.OleDbClient 命名空間提供了到 SQL Server 6

50、.5 及更早版本,以及 Access 和 Oracle 數(shù)據(jù)庫(kù)的連接性。而 System.Data.Odbc 命名空間使用 ODBC 驅(qū)動(dòng)提供了到傳統(tǒng)數(shù)據(jù)庫(kù)的 連接性。這些類(lèi)還提供了對(duì)執(zhí)行命令、以快速只向前的訪問(wèn)風(fēng)格檢索數(shù)據(jù),以及載入 ADO.NET DataSet 的支持。接下來(lái)是包含在 System.Data 命名空間自身中的一些類(lèi)。這些類(lèi)可以作為 ADO.NET 技術(shù)的核心,它們提供了對(duì)新的 ADO.NET DataSet 類(lèi)及其輔助類(lèi)的支持。DataSet 由 一組完整的表、列、約束、行和關(guān)系,以及一些合理命名的 DataTable、DataColumn、DataConstraint、

51、DataRow 和 DataRelation 組成。 3.2 web 數(shù)據(jù)庫(kù)及開(kāi)發(fā)技術(shù)數(shù)據(jù)庫(kù)及開(kāi)發(fā)技術(shù) 3.2.1 Web 數(shù)據(jù)庫(kù)概述 當(dāng)前基于 B/S 模式編寫(xiě)的應(yīng)用系統(tǒng)一般是以后臺(tái)數(shù)據(jù)庫(kù)為基礎(chǔ),加上一定的前臺(tái)程序,通過(guò) 瀏覽器完成數(shù)據(jù)存儲(chǔ)、查詢等操作,這樣的后臺(tái)數(shù)據(jù)庫(kù)就稱為網(wǎng)絡(luò)數(shù)據(jù)庫(kù),或叫 Web 數(shù)據(jù)庫(kù)19。 更簡(jiǎn)單地說(shuō),一個(gè)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)就是用戶利用瀏覽器作為輸入接口,輸入所需要的數(shù)據(jù),瀏覽 器將這些數(shù)據(jù)傳送給網(wǎng)站,而網(wǎng)站再對(duì)這些數(shù)據(jù)進(jìn)行處理,例如,將數(shù)據(jù)存入數(shù)據(jù)庫(kù),或者對(duì)數(shù) 據(jù)庫(kù)進(jìn)行查詢操作等,最后網(wǎng)站將操作結(jié)果傳回給瀏覽器,通過(guò)瀏覽器將結(jié)果告知用戶。 3.2.2 ASP.NET 概述

52、ASP.NET 是 Microsoft 公司新推出的一種 Internet 編程技術(shù),它可以采用效率較高的、面向 對(duì)象的方法來(lái)創(chuàng)建 Web 應(yīng)用程序。在原來(lái)的 ASP 技術(shù)中,服務(wù)器端代碼與客戶端 HTML 語(yǔ)句混 合交織在一起,常常導(dǎo)致頁(yè)面的代碼太長(zhǎng)太復(fù)雜,程序的邏輯難以理解。而 ASP.NET 可以幫助 用戶解決這些問(wèn)題。 ASP.net 不僅僅是 Active Server Page (ASP) 的下一個(gè)版本,而且是一種建立在通用語(yǔ)言上的 程序構(gòu)架,能被用于一臺(tái) Web 服務(wù)器來(lái)建立強(qiáng)大的 Web 應(yīng)用程序。ASP.net 提供許多比現(xiàn)在的 Web 開(kāi)發(fā)模式強(qiáng)大的的優(yōu)勢(shì)。 (1)執(zhí)行效率

53、大幅提高 ASP.net 是把基于通用語(yǔ)言的程序在服務(wù)器上運(yùn)行。不像以前的 ASP 即時(shí)解釋程序,而是將 程序在服務(wù)器端首次運(yùn)行時(shí)進(jìn)行編譯,這樣的執(zhí)行效果,當(dāng)然比一條一條的解釋強(qiáng)很多。 (2)強(qiáng)大性和適應(yīng)性 因?yàn)?ASP.net 是基于通用語(yǔ)言的編譯運(yùn)行的程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行 在 Web 應(yīng)用軟件開(kāi)發(fā)者的幾乎全部的平臺(tái)上(筆者到現(xiàn)在為止只知道它只能用在 Windows 2000 Server 上) 。通用語(yǔ)言的基本庫(kù),消息機(jī)制,數(shù)據(jù)接口的處理都能無(wú)縫的整合到 ASP.net 的 Web 應(yīng)用中。ASP.net 同時(shí)也是 language-independent 語(yǔ)言獨(dú)立化

54、的,所以,你可以選擇一種最適合你 的語(yǔ)言來(lái)編寫(xiě)你的程序,或者把你的程序用很多種語(yǔ)言來(lái)寫(xiě),現(xiàn)在已經(jīng)支持的有 C#(C+和 Java 的結(jié)合體) ,VB,Jscript。將來(lái),這樣的多種程序語(yǔ)言協(xié)同工作的能力保護(hù)您現(xiàn)在的基于 COM+開(kāi)發(fā)的程序,能夠完整的移植向 ASP.net。 (3)簡(jiǎn)單性和易學(xué)性 ASP.net 是運(yùn)行一些很平常的任務(wù)如表單的提交客戶端的身份驗(yàn)證、分布系統(tǒng)和網(wǎng)站配置變 得非常簡(jiǎn)單。例如 ASP.net 頁(yè)面構(gòu)架允許你建立你自己的用戶分界面,使其不同于常見(jiàn)的 VB- Like 界面。另外,通用語(yǔ)言簡(jiǎn)化開(kāi)發(fā)使把代碼結(jié)合成軟件簡(jiǎn)單的就像吃飯。 (4)高效可管理性 ASP.net 使

55、用一種字符基礎(chǔ)的,分級(jí)的配置系統(tǒng),使你服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡(jiǎn)單。 因?yàn)榕渲眯畔⒍急4嬖诤?jiǎn)單文本中,新的設(shè)置有可能都不需要啟動(dòng)本地的管理員工具就可以實(shí)現(xiàn)。 這種被稱為Zero Local Administration的哲學(xué)觀念使 A 的基于應(yīng)用的開(kāi)發(fā)更加具體,和快捷。 一個(gè) ASP.net 的應(yīng)用程序在一臺(tái)服務(wù)器系統(tǒng)的安裝只需要簡(jiǎn)單的拷貝一些必須得文件,不需要系統(tǒng) 的重新啟動(dòng),一切就是這么簡(jiǎn)單。 (5)多處理器環(huán)境的可靠性 ASP.net 已經(jīng)被刻意設(shè)計(jì)成為一種可以用于多處理器的開(kāi)發(fā)工具,它在多處理器的環(huán)境下用特 殊的無(wú)縫連接技術(shù),將很大的提高運(yùn)行速度。即使你現(xiàn)在的 ASP.net 應(yīng)

56、用軟件是為一個(gè)處理器開(kāi)發(fā) 的,將來(lái)多處理器運(yùn)行時(shí)不需要任何改變都能提高他們的效能,但現(xiàn)在的 ASP 確做不到這一點(diǎn)。 (6)自定義性和可擴(kuò)展性 ASP.net 設(shè)計(jì)時(shí)考慮了讓網(wǎng)站開(kāi)發(fā)人員可以在自己的代碼中自己定義plug-in的模塊。這與原 來(lái)的包含關(guān)系不同,ASP.net 可以加入自己定義的如何組件。網(wǎng)站程序的開(kāi)發(fā)從來(lái)沒(méi)有這么簡(jiǎn)單過(guò)。 (7)安全性 基于 Windows 認(rèn)證技術(shù)和每應(yīng)用程序配置,可以確保源程序是絕對(duì)安全的20。 ASP.NET 的運(yùn)行結(jié)構(gòu)如圖 3-3 所示。 圖 3-3 ASP.NET 運(yùn)行結(jié)構(gòu)圖 3.3 系統(tǒng)運(yùn)行環(huán)境系統(tǒng)運(yùn)行環(huán)境 使用 SQL Server2000 作為后

57、臺(tái)數(shù)據(jù)庫(kù),使用 ASP.NET/C#語(yǔ)言開(kāi)發(fā)。在運(yùn)行環(huán)境.NET Framework 1.1、Windows XP,IE6.0 下編譯調(diào)試通過(guò)。 ASP.NET 應(yīng)用程序應(yīng)用程序 .NET Framework Windows NT/2000/XP 操作系統(tǒng) Web 客戶機(jī)IIS 4 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì) 4.1 系統(tǒng)設(shè)計(jì)思想系統(tǒng)設(shè)計(jì)思想 本系統(tǒng)所設(shè)計(jì)是一個(gè)基于 Web,基于安全控制、基于實(shí)用性的用戶接口。用戶或者說(shuō)數(shù)據(jù) 管理員只需一個(gè)瀏覽器就可以進(jìn)行工作,實(shí)行客戶端的數(shù)據(jù)庫(kù)訪問(wèn),整個(gè)系統(tǒng)是一個(gè)靈活的、安 全的系統(tǒng)。 用戶自己不能申請(qǐng)登錄名和密碼,只有可操作 SQL Server2000 的數(shù)據(jù)庫(kù)超

58、級(jí)管理員在 SQL Server2000 中的 User 表中進(jìn)行添加,設(shè)置初始密碼,用戶登錄該系統(tǒng)后可以修改密碼,來(lái)增加 安全性控制。實(shí)用性是衡量一個(gè)系統(tǒng)好壞的重要標(biāo)志。本系統(tǒng)是在數(shù)據(jù)庫(kù)管理員的提議下開(kāi)始設(shè) 計(jì),有一定的實(shí)用需求,除了應(yīng)用 Web 的便捷操作還提供簡(jiǎn)單的操作接口,數(shù)據(jù)庫(kù)管理員不必 自己想 SQL 語(yǔ)句來(lái)查詢數(shù)據(jù)庫(kù)中的觸發(fā)器,只要選擇相應(yīng)的數(shù)據(jù)庫(kù)及其操作表即可,且系統(tǒng)中 有對(duì)觸發(fā)器功能進(jìn)行描述的模塊,方便數(shù)據(jù)庫(kù)管理員使用 SQL 語(yǔ)句。 4.2 功能模塊設(shè)計(jì)功能模塊設(shè)計(jì) 4.2.1 功能模塊設(shè)計(jì) SQL SEEVER 2000 數(shù)據(jù)庫(kù)觸發(fā)器管理的用戶接口包含以下幾個(gè)功能模塊:

59、(1) 查詢模塊 查詢某一數(shù)據(jù)庫(kù)的所有觸發(fā)器,可查詢每個(gè)觸發(fā)器的 id、名稱、所屬基本表名;查詢某一數(shù) 據(jù)庫(kù)的某一觸發(fā)器,可查詢?cè)撚|發(fā)器的內(nèi)容;查詢某一數(shù)據(jù)庫(kù)的某一觸發(fā)器,可查詢?cè)撚|發(fā)器的 屬性。 (2) 操作模塊 創(chuàng)建觸發(fā)器,創(chuàng)建板塊包含觸發(fā)器基本語(yǔ)法格式,創(chuàng)建完畢可檢查語(yǔ)法,語(yǔ)法通過(guò)則創(chuàng)建成 功,添加,否則彈出警告框,需要修改語(yǔ)法;修改觸發(fā)器,查出要修改的觸發(fā)器,進(jìn)行修改,修 改完畢通過(guò)語(yǔ)法檢驗(yàn)則保存;刪除觸發(fā)器,查出要?jiǎng)h除的觸發(fā)器,刪除,彈出刪除警告框,確認(rèn) 則刪除。 (3) 修改密碼模塊 修改超級(jí)管理員初始設(shè)置的密碼,保護(hù)個(gè)人安全性登錄。 (4) 功能描述模塊 建立觸發(fā)器功能描述界面,

60、描述該觸發(fā)器管理系統(tǒng)所實(shí)現(xiàn)的所有功能,包括觸發(fā)器的查詢、 添加、修改、刪除等功能。 4.3.2 系統(tǒng)架構(gòu) 根據(jù)系統(tǒng)功能分析,可以得到如圖 4-1 所示的系統(tǒng)功能模塊圖。 觸發(fā)器 用戶管理接口 觸發(fā)器信 息查詢 觸發(fā)器操作 管理 觸發(fā)器功能 描述 修改密碼 查 詢 所 有 觸 發(fā) 器 查 詢 觸 發(fā) 器 內(nèi) 容 查 詢 觸 發(fā) 器 屬 性 創(chuàng) 建 觸 發(fā) 器 修 改 觸 發(fā) 器 刪 除 觸 發(fā) 器 圖 4-1 系統(tǒng)功能模塊圖 5 系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)實(shí)現(xiàn) 5.1 登錄設(shè)計(jì)實(shí)現(xiàn)登錄設(shè)計(jì)實(shí)現(xiàn) 用戶在登錄該系統(tǒng)時(shí),首先進(jìn)入的是用戶登錄界面,如圖 5-1 所示。在該頁(yè)面用戶需要輸入 賬號(hào)和密碼才能登錄。

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論