好開發環境後,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:dkblogdatdkblog.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:dkblogdatdkblog.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 複製「資料庫連線」檔案中的第三行所有字符