摘 要:SQL Server 2008是目前最強(qiáng)大和最全面的SQL Server 版本,也是目前應(yīng)用比較廣泛的一個(gè)數(shù)據(jù)庫(kù)版本。熟練地掌握SQL server 2008數(shù)據(jù)庫(kù)的使用方法,是一件很重要的事情。從數(shù)據(jù)庫(kù)安全和性能兩個(gè)方面介紹了SQL server 2008數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)應(yīng)用的方法。
關(guān)鍵詞:SQL server2008數(shù)據(jù)庫(kù);網(wǎng)絡(luò)應(yīng)用;數(shù)據(jù)安全;性能優(yōu)化
SQL server2008數(shù)據(jù)庫(kù)的使用,更多的還是在網(wǎng)絡(luò)應(yīng)用之中。網(wǎng)絡(luò)應(yīng)用和本地應(yīng)用程序有很大的差別,網(wǎng)絡(luò)應(yīng)用的運(yùn)行和訪問受到諸多客觀條件的限制:網(wǎng)速、并發(fā)、數(shù)據(jù)安全……
所以SQL server2008數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)應(yīng)用,必須要考慮到以下幾個(gè)方面:
一、數(shù)據(jù)庫(kù)數(shù)據(jù)的安全性是第一位的
用戶的數(shù)據(jù),屬于機(jī)密信息。黑客的存在,對(duì)于數(shù)據(jù)的安全性帶來了很大的威脅。相比于SQL server2005,SQL server2008數(shù)據(jù)庫(kù)在安全性上做出了很大的提升——“SQL Server 2008為關(guān)鍵任務(wù)應(yīng)用程序提供了強(qiáng)大的安全特性、可靠性和可擴(kuò)展性?!?/p>
SQL Server 2008可以對(duì)整個(gè)數(shù)據(jù)庫(kù)、數(shù)據(jù)文件和日志文件進(jìn)行簡(jiǎn)單加密。用數(shù)據(jù)加密來保護(hù)數(shù)據(jù)的安全性,是一個(gè)比較常規(guī)的手段。過去我們都是采用在程序中運(yùn)行加密算法來保護(hù)數(shù)據(jù)的安全。這種方法有一個(gè)很大的缺陷:簡(jiǎn)單的加密算法很容易被黑客破解,從而使得用戶的數(shù)據(jù)被完全地暴露出來,而在程序中添加復(fù)雜的加密算法,又會(huì)影響程序的運(yùn)行速度,加大服務(wù)器的負(fù)荷。SQL Server 2008可以直接在數(shù)據(jù)庫(kù)層面對(duì)用戶數(shù)據(jù)進(jìn)行加密,從根本上保護(hù)了用戶的隱私。在硬件資源比較優(yōu)越的情況下,我們可以通過使用SQL Server 2008的數(shù)據(jù)加密這個(gè)功能,從根本上加強(qiáng)用戶數(shù)據(jù)的安全性和隱秘性。
二、數(shù)據(jù)庫(kù)的設(shè)計(jì)應(yīng)充分考慮性能問題
數(shù)據(jù)庫(kù)的性能是否足夠好,取決于數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)計(jì)和表結(jié)構(gòu)的設(shè)計(jì)。這是任何類型數(shù)據(jù)庫(kù)都必須要認(rèn)真對(duì)待的問題。在網(wǎng)絡(luò)應(yīng)用中,設(shè)計(jì)良好的數(shù)據(jù)庫(kù)結(jié)構(gòu)和表結(jié)構(gòu)的作用,顯得尤為突出。
數(shù)據(jù)庫(kù)設(shè)計(jì)(Database Design)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求。數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)計(jì)可以劃分為四個(gè)步驟:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和物理設(shè)計(jì)。
1.需求分析是做項(xiàng)目之前首先要做的第一件事情
只有明白了用戶需求,我們才能設(shè)計(jì)并開發(fā)出滿足用戶需求的應(yīng)用來。在需求分析過程中,我們要充分了解用戶需要的數(shù)據(jù)和對(duì)數(shù)據(jù)進(jìn)行哪些操作。通過了解組織、人員的構(gòu)成來創(chuàng)建數(shù)據(jù)字典,從而做出一個(gè)需求分析說明書來。一個(gè)完整的需求說明分析書應(yīng)包含整個(gè)項(xiàng)目所需全部信息,具體如下:數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用范圍與環(huán)境條件、工作流程圖、數(shù)據(jù)流程圖、數(shù)據(jù)字典、IPO圖與加工說明、數(shù)據(jù)庫(kù)性能要求、對(duì)操作界面的要求、各類約束條件、開發(fā)目標(biāo)與方法、組織機(jī)構(gòu)、系統(tǒng)當(dāng)前狀況分析、數(shù)據(jù)庫(kù)系統(tǒng)功能設(shè)計(jì)目標(biāo)、對(duì)系統(tǒng)結(jié)構(gòu)的初步規(guī)劃、日程進(jìn)度、驗(yàn)收標(biāo)準(zhǔn)。
2.做好需求分析之后,就需要對(duì)需求分析做一個(gè)概念結(jié)構(gòu)設(shè)計(jì)
最常用的概念結(jié)構(gòu)設(shè)計(jì)方法有實(shí)體分析法、面向?qū)ο笤O(shè)計(jì)方法、屬性綜合法和規(guī)范化關(guān)系方法。我們要通過概念結(jié)構(gòu)設(shè)計(jì),設(shè)計(jì)出不依賴于某種具體DBMS的滿足用戶應(yīng)用需求的信息結(jié)構(gòu)。
3.邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是把概念模型,例如E-R圖轉(zhuǎn)換成所選用的具體的DBMS所支持的數(shù)據(jù)模型
邏輯結(jié)構(gòu)的設(shè)計(jì)與算法密切相關(guān),在設(shè)計(jì)邏輯結(jié)構(gòu)的同時(shí),還要考慮應(yīng)用程序的設(shè)計(jì)。就拿客戶信息來說,一個(gè)客戶對(duì)應(yīng)一個(gè)單位,客戶的單位有客戶單位的信息,而客戶本身還有聯(lián)系人的信息。由于這兩個(gè)信息是一致的,我們就可以把聯(lián)系人信息和單位信息放到一個(gè)表里,這樣當(dāng)我們需要查詢客戶信息的時(shí)候只需要查詢一個(gè)表,而不需要進(jìn)行并表查詢,在程序設(shè)計(jì)的時(shí)候就能降低數(shù)據(jù)庫(kù)的運(yùn)算量。這樣不僅使得表維護(hù)工作變得簡(jiǎn)單便于維護(hù),也提高了運(yùn)行效率。進(jìn)行邏輯轉(zhuǎn)換除了遵循一般的規(guī)律之外,還要充分考慮實(shí)際需求做一些特殊的設(shè)計(jì)來簡(jiǎn)化問題。最終目的就是提高我們?cè)O(shè)計(jì)的正確率。
4.物理設(shè)計(jì)就是對(duì)一個(gè)給定的邏輯數(shù)據(jù)模型求取與應(yīng)用需要相適應(yīng)的物理結(jié)構(gòu)的過程
數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與存取方法是由DBMS決定并自動(dòng)實(shí)現(xiàn)的,所以我們考慮好在網(wǎng)絡(luò)環(huán)境下數(shù)據(jù)庫(kù)的分布及索引結(jié)構(gòu)就可以了。
SQL server2008數(shù)據(jù)庫(kù)應(yīng)用,內(nèi)容博大精深。想要熟練掌握并應(yīng)用,需要的不僅僅是對(duì)數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)的把握,更多的還是要靠我們自己,在使用過程中,結(jié)合具體環(huán)境,做出合理的分析和判斷。所謂“運(yùn)用之妙,存乎一心?!倍鄤?dòng)腦,多動(dòng)手實(shí)踐,才能把數(shù)據(jù)庫(kù)應(yīng)用掌握到極致。
參考文獻(xiàn):
劉衛(wèi)國(guó),熊擁軍.數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用[M].清華大學(xué)出版社,2010.
(作者單位 武漢商貿(mào)職業(yè)學(xué)院)
編輯 謝尾合