田麗秋
摘 要:隨著信息社會(huì)的快速發(fā)展,大多數(shù)管理系統(tǒng)中的數(shù)據(jù)都是非常重要而且又是海量的。如果數(shù)據(jù)的設(shè)計(jì)不合理,不但會(huì)影響到數(shù)據(jù)庫(kù)的運(yùn)行效率,還會(huì)影響到數(shù)據(jù)安全。因此,對(duì)于一個(gè)電子商務(wù)網(wǎng)站系統(tǒng)來(lái)說(shuō),數(shù)據(jù)庫(kù)的設(shè)計(jì)是非常重要的。
關(guān)鍵詞:電子商務(wù);網(wǎng)站;數(shù)據(jù)庫(kù)
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2017)08-0029-02
在網(wǎng)絡(luò)技術(shù)迅猛發(fā)展的今天,電子商務(wù)應(yīng)運(yùn)而生,并很快沖擊了傳統(tǒng)的銷(xiāo)售模式,由此看來(lái)電子商務(wù)已經(jīng)成為當(dāng)今世界經(jīng)濟(jì)和社會(huì)發(fā)展的大趨勢(shì),電子商務(wù)網(wǎng)站開(kāi)發(fā)也成為了目前比較熱門(mén)的行業(yè),諸如ASP、PHP、JSP等流行的網(wǎng)站開(kāi)發(fā)語(yǔ)言都提供了很好的電子商務(wù)網(wǎng)站開(kāi)發(fā)環(huán)境,這些語(yǔ)言和網(wǎng)絡(luò)數(shù)據(jù)庫(kù)一起成為開(kāi)發(fā)電子商務(wù)網(wǎng)站的基礎(chǔ)。那么,要想使得電子商務(wù)能得到有效和廣泛的應(yīng)用,必須合理地設(shè)計(jì)、開(kāi)發(fā)相關(guān)數(shù)據(jù)庫(kù),并保證網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的安全,由此可知,在電子商務(wù)網(wǎng)站系統(tǒng)中數(shù)據(jù)庫(kù)的設(shè)計(jì)尤為重要。
數(shù)據(jù)庫(kù)設(shè)計(jì)的科學(xué)性和合理性對(duì)于提高數(shù)據(jù)庫(kù)運(yùn)行效率和數(shù)據(jù)庫(kù)安全是至關(guān)重要的。本文從數(shù)據(jù)表中的劃分,表間關(guān)聯(lián),數(shù)據(jù)冗余處理,巧用視圖及數(shù)據(jù)庫(kù)安全技術(shù)等方面論述了數(shù)據(jù)庫(kù)設(shè)計(jì)中的一些技巧。
1 數(shù)據(jù)表劃分
表是數(shù)據(jù)庫(kù)中最重要的對(duì)象,是存放用戶(hù)數(shù)據(jù)的主要對(duì)象,因此,數(shù)據(jù)表的合理劃分應(yīng)該是數(shù)據(jù)庫(kù)設(shè)計(jì)首要解決的問(wèn)題。在劃分?jǐn)?shù)據(jù)表時(shí),首先要根據(jù)用戶(hù)需求來(lái)整理數(shù)據(jù),隨著用戶(hù)需求復(fù)雜度越來(lái)越高,數(shù)據(jù)表中的數(shù)據(jù)也越來(lái)越多,因此不能把管理系統(tǒng)中的數(shù)據(jù)存放在一張表中,否則在數(shù)據(jù)操作過(guò)程中會(huì)產(chǎn)生插入異常,刪除異常,修改異常等錯(cuò)誤。也不能把數(shù)據(jù)分得太細(xì),表數(shù)太多,那么表間的關(guān)聯(lián)必然越多,這樣不但會(huì)增加表間關(guān)聯(lián)的成本,而且會(huì)影響數(shù)據(jù)庫(kù)的運(yùn)行效率,操作代碼也難于編寫(xiě)。
那么,為了有效地組織表中的數(shù)據(jù),我們可以根據(jù)用戶(hù)需求先畫(huà)出E-R(實(shí)體-關(guān)系)圖,然后再根據(jù)E-R圖轉(zhuǎn)換為二維表格的形式。例如:
在購(gòu)物網(wǎng)站上主要涉及到的數(shù)據(jù)信息:管理員信息、注冊(cè)用戶(hù)、商品、訂單詳細(xì)信息、發(fā)貨單信息等(圖1)。
其中商品信息包括商品編號(hào),商品名稱(chēng),分類(lèi)編號(hào)等,如圖2。
對(duì)應(yīng)圖2轉(zhuǎn)換成二維關(guān)系表如表1。
訂單詳細(xì)信息包括訂單表ID,產(chǎn)品ID,產(chǎn)品名稱(chēng),產(chǎn)品單價(jià),訂購(gòu)數(shù)量等數(shù)據(jù)項(xiàng)。如圖3。
對(duì)應(yīng)圖3轉(zhuǎn)換成二維關(guān)系表如表2。
2 表間關(guān)聯(lián)
由數(shù)據(jù)表的劃分中所舉例子可知網(wǎng)站中數(shù)據(jù)庫(kù)中的數(shù)據(jù)通常采用多表存放,而這些數(shù)據(jù)表之間不是孤立的,它們之間要有一定的聯(lián)系,從而使它們?cè)谶壿嬌闲纬梢粋€(gè)整體。這個(gè)能將多個(gè)表聯(lián)系在一起的就是鍵,在SQL Server中主要是通過(guò)主鍵(Primary Key)和外鍵(Foreign key)來(lái)實(shí)現(xiàn)的。例如商品信息表和訂單信息表通過(guò)商品編號(hào)聯(lián)系,我們?cè)谏唐沸畔⒈碇袑⑸唐肪幪?hào)字段設(shè)置為主鍵,在訂單詳細(xì)信息表中又包括了商品編號(hào)字段,因此我們可以通過(guò)在訂單詳細(xì)信息表中商品編號(hào)字段上設(shè)置外鍵來(lái)實(shí)現(xiàn)兩個(gè)表之間的聯(lián)系。
3 數(shù)據(jù)冗余處理
數(shù)據(jù)冗余:在一個(gè)數(shù)據(jù)集合中重復(fù)的數(shù)據(jù)稱(chēng)為數(shù)據(jù)冗余。眾所周知,在數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),為了提高系統(tǒng)的空間效率和運(yùn)行效率,應(yīng)盡可能減少數(shù)據(jù)冗余。那么一般什么情況下的數(shù)據(jù)冗余需要處理呢?一般主鍵和外鍵在表中的重復(fù)出現(xiàn)的現(xiàn)象是不能清除的,從上一例中我們可以看出數(shù)據(jù)表間的聯(lián)系就是由它們來(lái)實(shí)現(xiàn)的。在數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),有一種數(shù)據(jù)冗余是絕對(duì)不能出現(xiàn)的,那就是非鍵字段的重復(fù)出現(xiàn),它是一種低級(jí)冗余,即重復(fù)性的冗余。低級(jí)的冗余不但會(huì)增加數(shù)據(jù)庫(kù)的儲(chǔ)存空間,而且對(duì)數(shù)據(jù)庫(kù)的優(yōu)化算法沒(méi)有任何幫助,因此它只會(huì)影響數(shù)據(jù)庫(kù)的運(yùn)行效率。
4 巧用視圖
視圖是由一個(gè)或多個(gè)表或視圖導(dǎo)出的虛表,是由SQL語(yǔ)句查詢(xún)得到的數(shù)據(jù)庫(kù)對(duì)象。它的主要作用有二,一是安全,視圖可以隱藏一些數(shù)據(jù);另外是簡(jiǎn)化用戶(hù)觀點(diǎn),使得復(fù)雜的查詢(xún)易于理解和使用。
定義視圖后,所有的用戶(hù)一律只準(zhǔn)在視圖上操作,這樣用戶(hù)就無(wú)法直接進(jìn)入基表,從而使基表中的數(shù)據(jù)得到了很好的保護(hù)。對(duì)于某些與機(jī)密有關(guān)的信息系統(tǒng),視圖的作用更加重要,我們把用戶(hù)可以訪問(wèn)的數(shù)據(jù)提到視圖中讓用戶(hù)訪問(wèn),而那些需要密碼保護(hù)的數(shù)據(jù)仍留在基表中,只有數(shù)據(jù)庫(kù)管理員才能直接在基表中操作。
5 數(shù)據(jù)庫(kù)安全技術(shù)
數(shù)據(jù)庫(kù)的安全簡(jiǎn)單說(shuō)是指保證數(shù)據(jù)庫(kù)的正常運(yùn)作,不被非授權(quán)用戶(hù)非法使用、盜取、修改以及破壞數(shù)據(jù)。數(shù)據(jù)庫(kù)安全主要包括三個(gè)方面:互聯(lián)網(wǎng)系統(tǒng)安全、操作系統(tǒng)安全、數(shù)據(jù)庫(kù)管理系統(tǒng)安全等三個(gè)方面。
其中保證數(shù)據(jù)庫(kù)安全的技術(shù)主要有:用戶(hù)身份認(rèn)證、權(quán)限訪問(wèn)控制、信息流控制、數(shù)據(jù)庫(kù)加密、數(shù)據(jù)庫(kù)安全審計(jì)、防火墻等。
電子商務(wù)網(wǎng)站系統(tǒng)中數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性需要我們?cè)跀?shù)據(jù)庫(kù)設(shè)計(jì)中不斷體會(huì)、比較、分析、總結(jié)。一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù),既能充分滿(mǎn)足電子商務(wù)網(wǎng)站運(yùn)行的需要、保證網(wǎng)站運(yùn)行的安全性,又能提高電子商務(wù)網(wǎng)站的運(yùn)行效率。