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