構建好開發環境后,Doking's BLOG數據庫規劃是第三步,它也是直接關系到數據庫以后是否能夠有效運行的關鍵步驟,也是對一個數據庫開發人員的規范要求。
3.1 數據庫的規范化
數據庫的規范化主要體現在表與表之間的關系、數據結構及存儲兩大方面。
3.1.1 數據表之間的關系
許多初學者常常認為,建立一個表儲存所有數據就可以了。如果這么認為,那經常會造成數據冗余的。圖3-1-1是一個數據表,可以看到畫在紅色圈中的數據是冗余的。

圖3-1-1 一個數據表
冗余數據會影響數據庫的有效運行,甚至可以把數據庫推毀。為減少冗余數據,得把數據分開儲存成幾個表,并建立表與表之間的連接關系。表與表之間的連接關系,主要有一對多、多對多、一對一三種方式。
一對多關系,它是數據庫中最普通的關系類型。這種關系雙被稱為是父表與子表關系或主表與分表關系。圖3-1-2就體現了一種父表與子表關系。在這里,專題表與回復表就是一對多的關系。專題表是父表,回復表是子表,專題表中的一行在回復表可有零行、一行或許多與之對應,而回復表中的每一行都與專題表中的相應的專題對應。

圖3-1-2 一對多關系
多對多關系,就是第一張表的每一行可對應第二張表的許多行,同樣地,第二張表中的每行也可與第一第表中的許多行相對應。例如,一個專題可以有許多用戶回復,一個用戶也可以作多次專題回復。這就需要建立第三張表,將專題代碼與用戶代碼連接,這個表就是前兩個表的父表。在圖3-1-3中,“回復表”就是“專題表”與“用戶表”的父表。

圖3-1-3 多對多關系
一對一的關系,就是將一個表中的行與另一表中的行連接來。這種關系非常少見,因為如是有的話,還不如把這兩個表合為一張表更為合理。
3.1.2 數據結構與儲存
數據庫的物理結構必須基于邏輯結構建立的,在設計表格、字段和關系時就需記住一些規則。行與列的順序并不起什么作用,雖然在數據表中,列會有一定的順序位置,但它們并不以此來代表引用順序。記錄的順序只有在它們從數據表中取出并送給用時才起作用。SQL會通過參數數據庫索引來處理記錄的提取順序。例如,在數據表中,把性別字段放在姓名字段之前,這個錯誤沒什么,只要在采用SQL語句調用這個數據表時,記得把姓名字段調到性別字段之前就可以了。
設計數據表時,分配字段大小要慎重,在夠用的情況下,能省就省。如果字段用于儲存整數,請用整數或長整數,不用單精度或雙精度,如果夠用的話,最好建立100字符的文本類型字段,而不要采用備注字段。為什么?如果你不怕高昂的服務器費用、不怕網絡數據庫運行緩慢,你大可不必理會這些,但它最嚴重會導致數據庫崩潰。

3.2 Doking’s BLOG數據庫的設計
基于上述數據庫規范化的知識,這節開始規劃設計Doking’s BLOG數據庫。Doking’s BLOG數據庫中設計了五個數據表,分別是LM表(欄目表)、ZT表(學習筆記表)、HF表(回復表)、YH表(用戶表)、GLY表(管理員表),并把數據庫命名為“dkblog.mdb”,保存在“D:/dat/”目錄下。
LM表即欄目表,用于網站導航條建立和學習筆記的歸類,欄目內容是由網站的管理員設計的,其字段設計如圖3-2-1所示

圖3-2-1 LM表的字段設計圖
ZT表即學習筆記表,是用于儲存用戶發表學習心得,其實字段設計如圖3-2-2所示:

圖3-2-2 ZT表的字段設計圖
HH表即回復表,儲存著用戶對已發表的學習筆記的回復,其字段如圖3-2-3所示:

圖3-2-3 HF表的字段設計圖
YH表即用戶表,儲存著用戶的注冊信息,方便用戶登錄發表學習筆記和學習筆記的回復。其字段設計如圖3-2-4所示:

圖3-2-4 YH表的字段設計圖
GLY表即管理員表,用于管理員登錄,管理網站,其字段設計如圖圖3-2-5

圖3-2-5 GLY表的字段設計圖

3.3 創建Doking’s BLOG數據庫連接源
(1)啟動Dreamweaver MX 2004,在【文件】菜單中,選擇【新建】,在【新建對話框】中,選擇類別為“動態頁”,選擇動態頁為“asp.net VB”,按“創建”按鈕,創建一個動態網頁。
(2)切換到【應用程序】面板,選擇【數據庫】選項卡,單擊“+”號,選擇“OLE DB連接”,如圖3-3-1所示:

圖3-3-1 選擇OLE DB連接
(3)在彈出【OLE DB連接】對話框中,輸入連接名稱“dkconn”,單擊“建立”按鈕,如圖3-3-2所示:

圖3-3-2 設置連接名稱
(4)進入【數據連接屬性】頁面,選擇【選擇程序】選項卡,由于要連接的數據庫是access2003的數據庫,所以在數據庫引擎中選擇“Microsoft Jet 4.0 OLE DB PRovider”作為驅動程序,如圖3-3-3所示:

圖3-3-3 選擇數據庫引擎
(5)選擇【連接】選項卡,選擇要連接數據庫為“D:/dkblog/dat/dkblog.mdb”,把“用戶名”和“密碼”的文本框清空,如圖3-3-4

圖3-3-4 選擇連接數據庫
(6)選擇【高級】選項卡,在設置訪問權限中,選擇“ReadWrite”,如圖3-3-5所示

圖3-3-5 設置訪問權限
(7)返回【連接】選項卡,單擊“測試”按鈕,出現如圖3-3-6對話框,那說明已經把數據庫dkblog.mdb連接到站點上了。單擊“確定”按鈕完成數據庫的連接工作。在站點的根目錄下面,可以看到增添了一個新文件“web.config”,以后可以在這個文件直接對數據庫的連接進行修改。

圖3-3-6 數據庫測試對話框
如果您在3.3節中的第(3)步驟中單擊【建立】按鈕,【數據鏈接屬性】對話框不打開。單擊【建立】按鈕時沒有任何反應。導致此問題的一個原因可能是 MDAC 2.8;XP SP2 中默認包含著 MDAC 2.8。XP SP1 用戶如果安裝了 MDAC 2.8,則也會受到此問題的影響。此問題只影響 Dreamweaver MX 2004,而對 Dreamweaver MX 沒有影響。有兩種解決方法:
第一種方法:接3.3節中的步驟中第(3)步驟,在【OLE DB 連接】對話框中的【連接字符串】文本區域中輸入:
Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:/dkblog/dat/dkblog.mdb;Persist Security Info=False
第二種方法:在硬盤上創建一個新的文本文件,將文件的擴展名由 .txt 更改 .udl,然后打開 .udl 文件。該文件可以打開【數據鏈接屬性】對話框。其具體操作如下:
①接3.3節中的步驟中第(3)步驟。執行【開始】|【所有程序】|【附件】|【記事本】系統菜單命令。
②在記事本程序主窗口中,直接執行執行【文件】|【保存】菜單命令,在彈出【另存】對話框中的輸入文件名為數據庫連接.udl,如圖3-4-1所示。

圖3-4-1 保存“數據庫連接.udl”
③點擊【保存】按鈕,關閉記事本程序,切換到【桌面】中,雙擊“數據庫連接”這個文件,按照教程中第(4)—(7)進行操作。單擊【確定】按鈕,關閉【數據庫鏈接】對話框。
④執行【開始】|【所有程序】|【附件】|【記事本】系統菜單命令。在記事本程序主窗口中,直接執行執行【文件】|【打開】菜單命令,選擇“數據庫連接”為打開文件。
⑤在記事本程序主窗口中,選擇第三行所有字符進行復制,如圖3-4-2所示。切換到Dremweaver程序中,將其粘貼到第(3)步驟的在彈出【OLE DB連接】對話框中的【連接字符串】文本區域中,這樣就完成在Dreamweaver中的數據庫鏈接。

圖3-4-2 復制“數據庫連接”文件中的第三行所有字符
新聞熱點
疑難解答