在正式開始編寫各種網頁代碼之前,首先要考慮好網站的數據庫系統設計方案。為了實現網站的正常運營與管理,以圖書銷售管理為例,數據庫中以下一些表必不可少: (1)圖書類別信息表 該表用于保存對圖書進行分類的類型信息。 (2)圖書詳細信息表 這個表可以說是最重要的表,用于保存每一種圖書的詳細信息。 (3)會員信息表 如果顧客訪問網上書店,每次選購了書籍后結算時都要求他輸入一次基本信息顯然不合理,因此需要設置一個會員信息表,顧客登記成為會員后,將一直保存他的基本信息,這一方面能方便網站的管理,另一方面也能方便顧客的購物操作。 (4)訂單信息表 顧客訂購商品后要下訂單,需要將這個訂單的基本信息如會員編號、商品編號、商品名稱、商品數量、總計金額、付款方式、是否已付款、發貨方式、發貨狀態、收貨人姓名、收貨狀態等保存到數據庫中。因為顧客可能一次不只購買一種商品,為了盡量減少數據冗余,將訂單信息分開保存到兩個表中,一個用于保存訂單基本信息,另一個則用于保存所購買商品的明細信息。 現在先考慮圖書類別表的結構設計。在這個表中需要保存圖書類別ID、圖書類別名稱及其父類ID,是因為某些大類下面可能還需要分為若干子類,如工程技術類書籍中可能包含建筑、電子、化工、計算機等,而計算機類書籍中同樣又包括計算機硬件、軟件、網絡等,計算機軟件類書籍中還會包含操作系統、字處理軟件、程序設計語言等很多的小類型。圖書類別表結構可以設計成表形式。
跟我們日常走進一個商店應能看到擺滿了各種商品的貨架一樣,網上商店也要為顧客提供“貨架”,讓顧客進了網上商店后能很方便地瀏覽與挑選所需的商品,這個“貨架”也就是電子目錄。電子目錄需要提供以下功能: (1)首先在頁面上列出主要商品類別信息,也就是要讓顧客能方便地知道商店到底都賣哪些類型的商品,以便進行選擇。 (2)如果顧客單擊了某一個商品類別,電子目錄要能列出這一類商品的具體情況,也就是要列出這一大類中包括哪些小的類型,就像電腦書籍中會包括軟件、硬件、網絡等類,而軟件類中又包括編程語言、數據庫、網頁設計、圖像處理等很多類型一樣。 (3)如果顧客又單擊了詳細商品列表中的某一項,電子目錄應能將該商品的詳細情況如名稱、品牌、單價、產地等顯示到頁面上,以便顧客決定是否購買。
(4)如果顧客決定購買某一商品并且已經登錄,目錄系統應能自動調用購物車模塊將商品放入購物車,如果他還沒有登錄則請他登錄,若他還沒有注冊就需要調用會員服務模塊請顧客先進行會員注冊,隨后再調用購物車模塊將商品放入購物車??梢约s定,在圖書類別表中幾個大類的父類ID為一個特殊值-1,以表明它們的父類為根,即它們沒有父類,比如可以將書籍分類中自然科學、社會科學等類型定義為沒有父類的類。這樣只需要通過SQL語句將表中父類ID為-1的記錄讀取出來就可得到所有的無父類的類型,然后用一個循環將每一個無父類的子類讀出來并顯示到頁面上,來完成第1個頁面需要完成的任務。 |