習題題庫 [第十六章:Web程式語言和資料庫應用]
習題16-1

找一台Oracle 的伺服器,
1. 將本章的ASP 程式改成與Oracle 連線。
2. 將本章的PHP 程式改成與Oracle 連線。
3. 將本章的JSP 程式改成與Oracle 連線。
4. 將本章的PERL 程式改成與Oracle 連線。

 
習題16-2
找一台微軟SQL Server 的伺服器,
1. 將本章的ASP 程式改成與微軟SQL Server 連線。
2. 將本章的PHP 程式改成與微軟SQL Server 連線。
3. 將本章的JSP 程式改成與微軟SQL Server 連線。
4. 將本章的PERL 程式改成與微軟SQL Server 連線。
 
會員制商店的銷貨資料庫系統 習題16-3 ~ 16-6
請參考第十五章習題 [習題15-5 ~ 15-8] 有關會員制商店的銷貨資料庫,並設計以下功能:
1. 請設計程式來維護 CUSTOMER、PRODUCT、INVOICE 和 DETAIL 資料。
2. 請設計程式來查詢某一產品的某日銷售記錄,使用者可以輸入一產品部分名稱和一日期,該查詢即顯示該產品在該日的銷售狀況,包括產品名稱、銷售單編號、客戶姓名、購買單價和購買數量。
3. 請設計程式來查詢客戶的銷售記錄,使用者可以輸入一客戶部分姓名 (用鍵入方式) 或選擇客戶編號 (用下拉式選單),然後顯示符合條件之客戶編號、姓名,和按日期先後次序列出其所買的所有產品編號、產品名稱、銷貨單編號和產品購買日期。
4. 請設計程式來統計銷售的狀況,使用者可以選擇起迄日期,按下確定鈕後即列出按日期先後次序列出銷貨單編號、客戶姓名、總銷貨金額 (即銷貨單上各明細的單價乘以數量之加總),並列出每天的總銷貨金額和該日期區間的總銷貨金額。
5. 設計一個系統首頁,上有七個按鈕,分別是維護客戶資料、維護產品資料、維護銷售記錄、查詢產品銷售記錄、查詢客戶銷售記錄、銷售統計,和離開。
 
習題16-3

請用ASP 實作銷貨資料庫系統。

 
習題16-4
請用PHP 實作銷貨資料庫系統。
 
習題16-5
請用JSP 實作銷貨資料庫系統。
 
習題16-6
請用PERL 實作銷貨資料庫系統。
 
問卷系統資料庫系統 習題16-7 ~ 16-10
請參考第十五章習題 ([習題15-9 ~ 15-12]) 有關問卷系統資料庫,並設計以下功能:
1. 請設計程式來維護 QUESTIONAIRE 和 CHOICE 的資料。
2. 請設計程式來讓使用者填寫問卷並記錄結果,使用者先輸入其id,然後系統一次顯示一題 (只有 Visible = ‘Y’ 的問題才顯示)。請注意如是單選題用樞紐 (RadioButton),多選題用勾選 (CheckBox),如是問答題則顯示文字盒(TextBox)。
3. 請設計程式來查詢問答題結果,使用者可以輸入日期 (用鍵入方式) 和題目id(用下拉式選單),然後按日期先後顯示符合條件之使用者id、題目內容,和使用者所填的意見。
4. 請設計程式來統計選擇題的結果,使用者可以選擇起迄日期,按下確定鈕後即列出按日期先後次序列出題目、選項,並列出每月的選擇次數和該日期區間的總選擇次數。
5. 設計一個系統首頁,上有五個按鈕,分別是維護問卷資料、填寫問卷、查看客戶意見、統計客戶滿意度,和離開。
 
習題16-7
請用ASP 實作問卷調查系統。
 
習題16-8
請用PHP 實作問卷調查系統。
 
習題16-9
請用JSP 實作問卷調查系統。
 
習題16-10
請用PERL 實作問卷調查系統。
 
小型網路書店購書系統 習題16-11 ~ 16-14
假設你要為網路書店設計一縮小版的購書系統,讓顧客可以透過該系統來購買書籍。該資料庫包括五個資料表,分別名為BOOK (書籍)、CUSTOMER (顧客)、 SHOPPING_CART (購物車)、TRANSACTION (交易) 和 DETAIL (交易明細)。
各資料表的欄位定義以下:
BOOK:
ISBN:長度為10 個數字(字串) /* 書id */
Title:長度為最多255 個文字 (字串) /* 書名 */
Authors:長度為最多255 個文字 (字串) /* 作者姓名 */
Publisher:長度為最多255 個文字 (字串) /* 出版社名稱 */
Price:數字 /* 價錢 */
Classes:長度為最多255 個文字 (字串) /*書類別 */
其中主鍵為ISBN。
CUSTOMER:
Cid:長度為10 /*身分證字號*/
格式ANNNNNNNNN,A 為英文字母,N 為0-9 數字
Name:長度為最多100 個文字 (字串) /* 姓名 */
Birthday:欄位型態為簡單日期 (yyyy/mm/dd) /* 生日 */
其中Cid 為主鍵
SHOPPING_CART:
Cid:長度為10 (字串) /*身分證字號*/
ISBN:長度為10 個數字 (字串) /* 書id */
Number:數字 /* 購買數量 */
其中Cid 和ISBN 合起來為主鍵,此外Cid, ISBN 為外部鍵,其相對應的主鍵分別為CUSTOMER(Cid)和BOOK(ISBN) 。
TRANSACTION:
Tid:自動編號 /* 交易id*/
Cid:長度為10 /*交易顧客身分證字號*/
格式ANNNNNNNNN,A 為英文字母,N 為0-9 數字
Date:欄位型態為簡單日期 (yyyy/mm/dd) /* 交易日期 */
其中Tid 為主鍵,Cid 為外部鍵,其相對應的主鍵為CUSTOMER(Cid)。
DETAIL:
Tid:長整數 /* 交易id*/
ISBN:長度為10 個數字 (字串) /* 書id */
Number:數字 /* 購買數量 */
其中主 Tid, ISBN 合起來為主鍵,此外Tid 和ISBN 為外部鍵,其相對應的主鍵分別為 TRANSACTION (Tid) 和BOOK(ISBN)。
1. 請依以上的敘述,定義一名為BOOKSTORE 的資料庫綱目,然後存在資料庫裡 (請教師指定DBMS)。
2. 請設計程式來維護BOOK 的資料。此網頁上面有ISBN、書名、作者、出版社和價錢,此外,共有 (小說、散文、詩集、兒童) 等四類可供勾選,一本書可以同時屬於好幾類。
3. 請設計程式來維護CUSTOMER 的資料。此網頁上面有身分證字號、姓名、出生年月日。
4. 請設計程式來讓顧客填入身分證字號和姓名,按下確定鈕後作身份辨識〔即確認該資料存於CUSTOMER 表裡〕,確認無誤則執行下一支程式,否則印出錯誤訊息。
5. 請設計程式來讓顧客查詢書籍,首先顯示顧客姓名並讓顧客輸入部分書名 (用鍵入方式)、部分作者姓名 (用鍵入方式),或書類型 (有小說、散文、詩集、兒童四類,用下拉式選單),然後按下查詢鈕即在子表單上顯示符合條件之書名、作者和購買書量 (預設為1,可讓顧客修改),每一本書並有一勾選盒 (Checkbox),讓顧客勾選放入購物車。網頁下面並有兩個按鈕 “檢視購物車” 和“結帳”,分別切換至下兩支程式。
6. 請設計程式來讓顧客管理購物車,該網頁列出該顧客所有置入購物車之書名、作者和數量,其中數量可以修改,每一本書並有一勾選盒 (Checkbox),讓顧客表示要刪除。顧客最後按下確定鈕或取消鈕表示確定或取消此動作,並回到上一支程式。
7. 請設計程式來讓顧客結帳,該網頁列出交易總金額,並要求顧客輸入信用卡號、信用卡到期日和寄送住址,目前購物車裡的書名、作者、購買書量和單價則列在子表單。當顧客按下確定鈕時即產生一交易並將購物車資料清空,最後顯示一謝謝交易的畫面後,切換畫面至主表單。若顧客按下取消鈕則切換畫面至回到上一支程式。
8. 請設計程式來統計交易的結果,管理者可以選擇起迄日期,按下確定鈕後即列出顧客身分證字號、顧客姓名,並列出每月的交易次數和總金額,以及該日期區間的總交易次數和金額。
9. 設計一系統首頁,上有五個按鈕,分別是維護書籍資料、維護顧客資料、購書、顧客交易統計,和離開。
 
習題16-11
請用ASP 實作小型網路書店購書系統。
 
習題16-12
請用PHP 實作小型網路書店購書系統。
 
習題16-13
請用JSP 實作小型網路書店購書系統。
 
習題16-14
請用PERL 實作小型網路書店購書系統。