ACCESS 實作範例 |
||||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
請設計一資料庫來儲存一會員制商店的銷貨資料。此資料庫包括四個資料表(tables),分別名為CUSTOMER (客戶),PRODUCT(產品),INVOICE(銷貨單),DETAILS(銷貨明細)。一張銷貨單含有數筆明細,每一筆明細代表所購買的每一樣產品。比如,一張典型的銷貨單如下:
為了記載銷貨的資料,各資料表的欄位定義以下: CUSTOMER: Cno:長度為4個文數字
/* 客戶編號 */ Cname: 長度為最多10個中文字
/* 客戶姓名 */ Sex: 值為’F’或’M’
/* 性別 */ Address: 長度為最多30個中文字 /*
住址 */ Tel: 格式為(0n)nnn-nnnn,n為0-9的數字 /* 電話 */ 其中主鍵為Cno。 PRODUCT: Pno: 長度為4個文數字
/* 產品編號 */ Pname:長度為最多20個中文字
/* 產品名稱 */ Brand:長度為最多20個中文字
/* 品牌 */ 其中主鍵為Pno。 INVOICE: Ino:長度為4個文數字
/* 銷貨單編號 */ Idate: 欄位型態為簡單日期(yyyy/mm/dd) /* 銷貨日期
*/ ICno: 長度為4個文數字
/* 銷貨客戶編號 */ Uno:長度為10個文數字
/* 發票編號 */ 格式AANNNNNNNN,A為英文字母,N為0-9數字 其中主鍵為Ino,但Uno亦是唯一,此外ICno為外來鍵(foreign key),其相對應的主鍵為CUSTOMER(Cno),也就是說,ICno的值必須存在於CUSTOMER(Cno)裡。 DETAIL: DIno:長度為4個文數字
/* 銷貨單編號 */ DPno:長度為4個文數字
/* 產品編號 */ Price:型態為數值
/* 產品的單價 */ Number:型態為數值
/* 產品的數量 */ 其中DIno和DPno合起來為主鍵。DIno為外來鍵(foreign key),其相對應的主鍵為INVOICE(Ino);DPno亦為外來鍵(foreign key),其相對應的主鍵為PRODUCT(Pno)。 1.
請依以上的敘述,定義一名為SALES的資料庫綱目(schema),然後將其資料由磁片中的CUSTOMER.txt, PRODUCT.txt, INVOICE.txt, DETAIL.txt載入。(5%,其中每一資料表綱目佔1%,資料載入佔1%) 2.
請設計表單一來維護CUSTOMER的資料,表單二來維護PRODUCT資料,表單三來維護INVOICE和DETAIL資料。其中表單三要包含子表單,此表單上面有銷貨單編號、銷貨日期、銷貨客戶編號、和發票編號,子表單就列出該銷貨單的所有銷貨明細資料,包括產品編號、產品的單價、和產品的數量。(4%,其中表單一和二各佔1%,表單三和子表單佔2%) 3.
請設計查詢一來查詢某一產品的某日銷售記錄,使用者可以輸入一產品部份名稱和一日期,該查詢即顯示該產品在該日的銷售狀況,包括產品名稱,銷售單編號,客戶姓名,購買單價,購買數量。(2%) 4.
請設計表單四來查詢客戶的銷售記錄,使用者可以輸入一客戶部份姓名(用鍵入方式)或選擇客戶編號(用下拉式選單),然後顯示符合條件之客戶編號,姓名,和按日期先後次序列出其所買的所有產品編號,產品名稱,銷貨單編號和產品購買日期。(5%,客戶部份姓名和客戶編號的輸入必須在同一畫面,全對才給分) 5.
請設計報表一來統計銷售的狀況,使用者可以選擇起迄日期,按下確定鈕後即列出按日期先後次序列出銷貨單編號,客戶姓名,總銷貨金額(即銷貨單上各明細的單價乘以數量之加總),並列出每天的總銷貨金額和該日期區間的總銷貨金額。(3%,其中按日期先後列出銷貨單資料佔2%,每日和區間統計佔1%) 6.
設計一主表單(ACCESS啟動此資料庫時即自動執行此表單),上有六個按鈕,分別是維護客戶資料(執行表單一),維護產品資料(執行表單二),維護銷售記錄(執行表單三),查詢產品銷售記錄(執行查詢一),查詢客戶銷售記錄(執行表單四),銷售統計(執行報表一),和離開。(1%) 主表單,表單一到四,和報表一的參考畫面如附件。 |
||||||||||||||
附件 主畫面:
表單一:
表單二:
表單三:
表單四:
查詢結果畫面:
報表一:
|
||||||||||||||
問卷的設計和使用是了解顧客滿意度的一個很普遍的方式。請設計一資料庫來儲存問卷的題目和調查結果。此資料庫包括四個資料表(tables),分別名為QUESTIONAIRE (問卷題目),CHOICE(選擇題選項),SELECTION(選擇題結果), EXPRESSION(問答題結果)。 各資料表的欄位定義以下: QUESTIONAIRE: Qid:長度為4個文數字(字串)
/* 題目id */ Seq: 長度為2個數字 (字串)
/* 題目序號 */ Description: 長度為最多255個文字 (字串) /* 題目描述 */ Type: ‘S’, ‘M’, or ‘A’ /*
S:單選題, M:多選題, A:問答題 */ Visible: ‘Y’ or ‘N’
/* Y: 顯示題目, N:隱藏題目 */ 其中主鍵為Qid。 CHOICE: Qid: 長度為4個文數字 (字串)
/*題目id */ No:長度為1個文數字 (字串)
/* 選項編號 */ Item:長度為最多100個文字 (字串) /* 選項描述 */ 其中Qid和No合起來為主鍵,此外Qid為外來鍵(foreign key),其相對應的主鍵為QUESTIONAIRE(Qid),也就是說,Qid的值必須存在於QUESTIONAIRE(Qid)裡。 SELECTION: Pid:長度為10個文數字 (字串)
/* 填問卷者之id */ 格式ANNNNNNNNN,A為英文字母,N為0-9數字 Qid:長度為4個文數字 (字串)
/* 題目id */ No:長度為1個文數字 (字串) /*
選項編號 */ Date: 欄位型態為簡單日期(yyyy/mm/dd) /* 填寫日期
*/ 其中Pid,
Qid, 和No合起來為主鍵,此外Qid, No合起來為外來鍵(foreign key),其相對應的主鍵為QUESTIONAIRE(Qid, No)
。 EXPRESSION: Pid:長度為10個文數字 (字串)
/* 填問卷者之id */ 格式ANNNNNNNNN,A為英文字母,N為0-9數字 Qid:長度為4個文數字 (字串) /*
題目id */ Date: 欄位型態為簡單日期(yyyy/mm/dd) /* 填寫日期
*/ Content: 長度為255個文數字 (字串) /*
填寫內容 */ 其中主Pid,
Qid合起來為主鍵,此外Qid為外來鍵,其相對應的主鍵為QUESTIONAIRE(Qid)
。 1.
請依以上的敘述,定義一名為SALES的資料庫綱目(schema),然後將其資料由磁片中的QUESTIONAIRE.txt, CHOICE.txt, SELECTION.txt, EXPRESSION.txt載入。(3%,其中每一資料表綱目佔0.5%,資料載入佔1%) 2.
請設計表單1來維護QUESTIONAIRE和CHOICE的資料。此表單要包含子表單,此表單上面有題目id、題目序號、題目描述、題目型態和是否隱藏,子表單就列出該題目的所有選項資料,包括選項編號、和選項描述。(4%,全對才給分) 3.
請設計表單來讓使用者填寫問卷並記錄結果,表單2.1可讓使用者輸入其id,接著叫出表單2.2列出所有Visible=’Y’的單選題目和其選項, 若使用者選擇多選題的話則叫出表單2.3列出所有Visible=’Y’的多選題目和其選項,若使用者選擇問答題的話則叫出表單2.4列出所有Visible=’Y’的問答題, 請注意如是單選題用樞紐(Radio Button),多選題用勾選(CheckBox), 如是問答題則顯示文字盒(TextBox)。(10%,其中表單2.1佔1%,表單2.2, 2.3, 2.4各佔3%,各表單需全對才給分) 4.
請設計表單3來查詢問答題結果,使用者可以輸入日期(用鍵入方式)和題目id(用下拉式選單),然後按日期先後顯示符合條件之使用者id,題目內容,和使用者所填的意見。(4%,全對才給分) 5.
請設計報表1來統計選擇題的結果,使用者可以選擇起迄日期,按下確定鈕後即列出按日期先後次序列出題目,選項,並列出每月的選擇次數和該日期區間的總選擇次數。(3%,全對才給分) 6.
設計一主表單(ACCESS啟動此資料庫時即自動執行此表單),上有五個按鈕,分別是維護問卷資料(執行表單1),填寫問卷(執行表單2.1),查看客戶意見(執行表單3),統計客戶滿意度(執行報表1),和離開。(1%) 主表單,表單1到3,和報表1的參考畫面如附件。 附件: 主畫面:
表單1:
表單2-1:
表單2-2:
表單2-3:
表單2-4:
表單3:
報表1-參數1:
報表1-參數2:
報表1:
|
||||||||||||||
假設你要為網路書店設計一縮小版的購書系統,讓顧客可以透過該系統來購買書籍。該資料庫包括五個資料表(tables),分別名為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為外來鍵(foreign key),其相對應的主鍵分別為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的資料庫綱目(schema),然後將其資料由磁片中的BOOK.txt, CUSTOMER.txt, SHOPPING_CART.txt, TRANSACTION.txt,
DETAIL.txt載入。(2%) 2.
請設計表單1來維護BOOK的資料。此表單上面有ISBN、書名、作者、出版社和價錢,此外,共有(小說、散文、詩集、兒童)等四類可供勾選,一本書可以同時屬於好幾類。(5%,全對才給分) 3.
請設計表單2來維護CUSTOMER的資料。此表單上面有身分證字號、姓名、出生年月日。(2%,全對才給分) 4.
請設計表單3來讓顧客填入身分證字號和姓名,按下確定鈕後作身份辨識﹝即確認該資料存於CUSTOMER表裡﹞,確認無誤則畫面切換至表單4,否則印出錯誤訊息。(2%) 5.
請設計表單4來讓顧客查詢書籍,表單4會顯示顧客姓名並讓顧客輸入部分書名(用鍵入方式)、部分作者姓名(用鍵入方式)、或書類型(有小說、散文、詩集、兒童四類,用下拉式選單),然後按下查詢鈕即在子表單上顯示符合條件之書名、作者、購買書量(預設為1,可讓顧客修改),每一本書並有一勾選盒(Checkbox),讓顧客勾選放入購物車。表單4 並有兩個按鈕”檢視購物車”和”結帳”, 分別切換至表單5與6。(8%,全對才給分) 6.
請設計表單5來讓顧客管理購物車,表單5列出該顧客所有置入購物車之書名、作者、和數量,其中數量可以修改,每一本書並有一勾選盒(Checkbox),讓顧客表示要刪除。顧客最後按下確定鈕或取消鈕表示確定或取消此動作,並切換畫面至表單4。(4%) 7.
請設計表單6來讓顧客結帳,表單6列出交易總金額,並要求顧客輸入信用卡號、信用卡到期日、和寄送住址,目前購物車裡的書名、作者、購買書量和單價則列在子表單。當顧客按下確定鈕時即產生一交易並將購物車資料清空,最後顯示一謝謝交易的畫面後,切換畫面至主表單。若顧客按下取消鈕則切換畫面至表單4。(3%) 8.
請設計報表1來統計交易的結果,使用者可以選擇起迄日期,按下確定鈕後即列出顧客身分證號,顧客姓名,並列出每月的交易次數和總金額,以及該日期區間的總交易次數和金額。(3%,全對才給分) 9.
設計一主表單(ACCESS啟動此資料庫時即自動執行此表單),上有五個按鈕,分別是維護書籍資料(執行表單1),維護顧客資料(執行表單2),購書(執行表單3),顧客交易統計(執行報表1),和離開。(1%) 主表單,表單1到6,和報表1的參考畫面如附件。 附件: 表單一:
表單二:
表單三:
表單四: 表單五:
表單六:
主表單:
報表一:
|