資料庫系統專題期末專案:省很大團購系統

格式
doc
大小
1.6 MB
頁數
26
上傳者
Thomas
收藏 ⬇️ 下載檔案
提示: 文件格式为 Word(doc / docx),轉換可能會出現排版或格式的些許差異,請以實際檔案為準。
此檔案建立於 2010-01-13,离现在 15 286 天,建議確認內容是否仍然適用。

資料庫系統專題期末專案



題目:省很大團購系統

指導老師:黃三益 博士

組 員:N974020028 周宜青

組 員:N974020014 蘇昱人

    N974020001 林育鋒

N984020016 王寶閔


中華民國99116

目錄

  1. 資料和功能分析………………………………………………………….....2

  2. ERD…………………………………………………………………….........4

  3. 關聯綱目…………………………………………………………………….5

  4. 關聯綱目的SQL定義…………………………………………………........6

  5. 程式系統架構及工具………………………………………………….......12

  6. 系統的URL、可執行的時間和執行方式…………………………….........13

  7. 感想…………………………………………………………………….......21


  1. 資料和功能分析

    1. 資料需求分析

      1. 系統目的:

協助團購發起人維護商店與商品名細(商品名稱,單價)資料,提供參予人訂購,最終統計形成一張訂單(商品名細、折扣後價格、數量、訂單總金額、運費、收貨人資料. ),並提供收款紀錄資訊,且於收到物品後,能依照各訂購人清單快速將物品分配。團員可以透過本系統建立個人基本資料後,即可參予不同且有效之團購活動,並可記錄每次參團所購買的商品名細。

      1. 事件流程簡述:

為發揮以量制價之功能,發起人揪團購買某一商店之商品,聯合公司內欲一起購買的同事,於該團截止日時,統計所有購買的商品與數量後,合成一張訂單,確認與收齊金額後,向商家訂購並將款項匯給商家,待收到貨品後,再依照各人購買之清單,將商品發送到各訂購人手中,完成此次團購。

所有的會員,都必須於團購系統清楚地登記自己的基本資料,包括員工代號、姓名、辦公事電話、行動電話等,以便後續發起人能夠依據這些資料,正確的聯繫與發放團購商品。

為了爭取團購優惠,任一員工均可發起團購活動,並擔任此團購的發起人,每個團僅能有一位發起人。每一團會有一個專屬的團ID值,必須詳細記錄發起日,截止日,到貨日等資訊。每一個團將會有一張訂單,訂單上會記載訂單編號、總金額、運費、付款方式、交易時間。

發起人揪的團一次只能跟一家商店交易,此商店會提供至少一種商品以供選擇。

上面同時必須要記載有商品的明細與單價等資訊。這些資料需要事先由發起人將商品明細鍵入團購系統,包括商品ID、商品名稱、商品單價、商品資訊等,以上皆有可能非唯一值。而商店資訊,則必須提供商店ID、商店名稱、商店地址、訂購電話、聯絡人、優惠說明等等。

所有會員均可參予任何尚未截止的團購活動。會員可從此團購系統,選購商品,並且可查詢自己的個人跟團記錄與訂購明細,訂購明細提供會員曾交易過的商品名稱、商品明細、金額、交易日的資訊。而發起人,則可透過此系統查詢此團購的彙整訂單明細,並負責收錢與聯絡交貨等相關事宜。待商品收到後,即可依據團購明細來發放商品。

    1. 功能需求分析

      1. 所有員工均可進入系統,建立自己的相關基本資料,包括員工代號、姓名、辦公室電話、行動電話。並可在此系統修改個人連絡資訊。

      2. 所有員工有權限可以建立新的團購資訊,並擔任主購。在建立團購時,可新增修改刪除此團購的相關資訊。包括此次團購的目標商店,(商品編號、商店名稱、地址、市話、傳真)。此商店的商品明細,(商店編號、商品編號、商品名稱、定價、說明)。以及此團購的相關資訊(團購編號、團購名稱、發起日期、截止日期、到貨日期、狀態、主購)。相關資料也同時更新至陳列表單(團購編號、商店編號、商品編號)

      3. 所有員工可自此系統瀏覽相關陳列資訊,並決定參加與否。若欲跟團,可透過系統下個人訂單,購物清單(員工編號、清單編號、商品總額、運費、已收金額、團購編號、訂單編號),紀錄(員工編號、清單編號、商店編號、商品編號、數量、小計)

      4. 主購可隨時進入此系統查看團購進行情形,統計目前此團所有人的明細與總金額。若能夠順利成團,則啟動下訂作業。此時會彙整一個總訂單,(訂單編號、付款方式、總金額、運費、團購編號),以及訂購明細資訊(訂單編號、商店編號、商品編號、總數量、總計)。並回填此團購每個人的購物清單之訂單編號。

  1. ERD



  1. 關聯網目


  1. 關聯綱目的SQL定義

CREATE TABLE "DB_98_16"."BUY"

( "OID" CHAR(10 BYTE) NOT NULL ENABLE,

"SID" CHAR(10 BYTE) NOT NULL ENABLE,

"PID" CHAR(10 BYTE) NOT NULL ENABLE,

"QUANTITY" NUMBER(18,0),

"AMT" NUMBER(18,0),

PRIMARY KEY ("OID", "SID", "PID")

USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ENABLE,

FOREIGN KEY ("SID", "PID")

REFERENCES "DB_98_16"."PRODUCT" ("SID", "PID") ENABLE

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ;

CREATE TABLE "DB_98_16"."LIST"

( "EID" CHAR(10 BYTE) NOT NULL ENABLE,

"LISTNO" CHAR(10 BYTE) NOT NULL ENABLE,

"LISTAMT" CHAR(10 BYTE),

"SHIPCOST" CHAR(10 BYTE),

"PAYAMT" CHAR(10 BYTE),

"GID" CHAR(10 BYTE),

"OID" CHAR(10 BYTE),

PRIMARY KEY ("EID", "LISTNO")

USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ENABLE,

FOREIGN KEY ("GID")

REFERENCES "DB_98_16"."SHOPPING" ("GID") ENABLE,

FOREIGN KEY ("OID")

REFERENCES "DB_98_16"."THEORDER" ("OID") ENABLE

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ;

CREATE TABLE "DB_98_16"."MEMBER"

( "EID" CHAR(10 BYTE) NOT NULL ENABLE,

"MNAME" CHAR(10 BYTE) NOT NULL ENABLE,

"OFFICE_TEL" CHAR(20 BYTE),

"MOBILE_TEL" CHAR(20 BYTE),

"PWD" VARCHAR2(16 BYTE),

PRIMARY KEY ("EID")

USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ENABLE

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ;

CREATE TABLE "DB_98_16"."PRODUCT"

( "SID" CHAR(10 BYTE) NOT NULL ENABLE,

"PID" CHAR(10 BYTE) NOT NULL ENABLE,

"NAME" CHAR(50 BYTE),

"PRICE" NUMBER(*,0),

"DESCRIPTION" VARCHAR2(1000 BYTE),

PRIMARY KEY ("SID", "PID")

USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ENABLE,

CONSTRAINT "PRODUCT_SHOP_FK1" FOREIGN KEY ("SID")

REFERENCES "DB_98_16"."SHOP" ("SID") ENABLE

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ;

CREATE TABLE "DB_98_16"."RECORD"

( "EID" CHAR(10 BYTE) NOT NULL ENABLE,

"LISTNO" CHAR(10 BYTE) NOT NULL ENABLE,

"SID" CHAR(10 BYTE) NOT NULL ENABLE,

"PID" CHAR(10 BYTE) NOT NULL ENABLE,

"QUANTITY" NUMBER(18,0),

"SUBTTL" NUMBER(18,0),

PRIMARY KEY ("EID", "LISTNO", "SID", "PID")

USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ENABLE,

FOREIGN KEY ("EID")

REFERENCES "DB_98_16"."MEMBER" ("EID") ENABLE,

FOREIGN KEY ("SID", "PID")

REFERENCES "DB_98_16"."PRODUCT" ("SID", "PID") ENABLE,

CONSTRAINT "RECORD_LIST_FK1" FOREIGN KEY ("EID", "LISTNO")

REFERENCES "DB_98_16"."LIST" ("EID", "LISTNO") ENABLE

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ;

CREATE TABLE "DB_98_16"."SHOP"

( "SID" CHAR(10 BYTE) NOT NULL ENABLE,

"NAME" CHAR(50 BYTE),

"ADDRESS" CHAR(50 BYTE),

"TEL" CHAR(20 BYTE),

"FAX" CHAR(20 BYTE),

"EID" VARCHAR2(7 BYTE),

PRIMARY KEY ("SID")

USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ENABLE

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ;

CREATE TABLE "DB_98_16"."SHOPPING"

( "GID" CHAR(10 BYTE) NOT NULL ENABLE,

"NAME" CHAR(50 BYTE),

"STARTDATE" DATE,

"ENDDATE" DATE,

"CARGODATE" DATE,

"STATUS" CHAR(10 BYTE),

"EID" CHAR(10 BYTE),

PRIMARY KEY ("GID")

USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ENABLE,

FOREIGN KEY ("EID")

REFERENCES "DB_98_16"."MEMBER" ("EID") ENABLE

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ;

CREATE TABLE "DB_98_16"."SUPPLY"

( "GID" CHAR(10 BYTE) NOT NULL ENABLE,

"SID" CHAR(10 BYTE) NOT NULL ENABLE,

"PID" CHAR(10 BYTE) NOT NULL ENABLE,

PRIMARY KEY ("GID", "SID", "PID")

USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ENABLE,

FOREIGN KEY ("GID")

REFERENCES "DB_98_16"."SHOPPING" ("GID") ENABLE,

FOREIGN KEY ("SID", "PID")

REFERENCES "DB_98_16"."PRODUCT" ("SID", "PID") ENABLE

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ;

CREATE TABLE "DB_98_16"."THEORDER"

( "OID" CHAR(10 BYTE) NOT NULL ENABLE,

"PAYWAY" CHAR(10 BYTE),

"AMT" NUMBER(18,0),

"SHIPCOST" NUMBER(18,0),

"GID" CHAR(10 BYTE),

PRIMARY KEY ("OID")

USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ENABLE,

FOREIGN KEY ("GID")

REFERENCES "DB_98_16"."SHOPPING" ("GID") ENABLE

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE "USERS" ;


  1. 程式系統架構及工具

    1. 統軟體

  1. Internet Information Services (IIS)

  2. ADO (Active Data Objects) Driver

  3. ClientMS Internet Explorer

  4. NetworkTCP/IP protocol

    1. 開發工具及程式語言

  1. 系統的URL、可執行的時間和執行方式

點選新增會員,可以加入省很大團購網。再以自己的帳號密碼登入即可。

登入後,可看到主選單。主要功能包括


點選商品編號可進一步看購買此商品的員工清單

點選員工代號,可進一步看此員工所購買的項目。




  1. 感想

    1. 育鋒
        其實在上課前早有耳聞,資料庫是一門非常硬的課程,甚至有好友跟我拍拍手、鼓鼓掌說,你真是勇氣可佳,我想最大的原因是,我是一位完全不懂資料庫的學生。但修課之後,我已經是可以在公司與資訊人員討論資料庫的職員,甚至連同事都很訝異怎麼可能讀碩專還會學到資料結構與成本估算,這是我修習本課程最大的轉變與收穫。
        幸好遇到有耐心和慈悲心的黃老師,晚上上這門課的壓力蠻大的,但老師上課的方式有舒緩壓力的功效,雖然還是時常讓我胃痛啦!老師要求的課前先看影音檔並做練習題的方式來作課前預習,這種學習效果真的很好,讀書會的設計亦是輔助學習的好方式,但希望期中考後讀書會能再重新分組一次,也許不同組員對於預習工作上能有些別的激盪。另外,搭配老師在作業與專案的設計上,讓我們一再複習整個資料庫系統的觀念,真的把以前只是口號的『課前預習與課後複習』都做到了。這種上課方式,希望未來還是繼續維持,雖然很累,但敖過來很有成就感。
        另對碩專班修課有一深深的感觸,猶記得老師第一堂課曾提醒過碩專班修課方式的安排,應以三年規劃,不要拼兩年,以免入寶山卻有空手歸的遺憾。學生們真的應好好思考其中奧妙,碩專班學生凝聚力不深,真的很可惜,建議所上老師們都能在碩專一開學時或新生座談時,即由班導師告訴學生們修課安排的概念,我相信中山資管碩專的班級感情定有另一種感受。

    2. 昱人
        原本在使用資料庫查詢語言,總認為資料庫查詢其實不是太困難,只要下個SELECT把要選的欄位資料選出來就行,上了這個學期的課,越覺得其實資料庫的學問很是深奧啊!每一個SQL法都可能需要仔細推敲才能發揮出更佳的效能。之前呢也不管資料庫背景做了什麼事,只懂得下SQL。上了這學期的課程才瞭解到原來資料通常以資料頁為單位讀進記憶體,而DBMS的系統追蹤檔原來記錄了這麼多東西啊,之前是完全不曉得這個LOG DB是在存什麼資料的。經歷了這個學期的課程,雖然學到了許多之前所不知道的資料庫知識,但也真的是累壞了,天下真的沒有白吃的午餐呢。

    3. 宜青
        從第一堂課開始,就知道這門確實是一個扎實且不輕鬆的課程。之前在大學就曾經修習過資料庫,也實際開發過專案,因此對於課程的前半段,比較能跟的上進度,除了複習以前學過的知識,也重新釐清了一些觀念。很快地,進入到課程的中後半段,開始慢慢碰觸到之前從來沒學過的領域,備感艱深。還好因為老師安排了一系列的菜單,包括每週的預習、小組討論習題報告、個人作業、期中期末考以及團隊的專案,循序漸進。經過這一學期的學習努力與奮鬥,讓自己對資料庫又有了更深一層的認識,收穫良多。在這裡很感謝老師的用心與指導,以及習題與專案分組同學的分工與合作,讓我能夠順利的完成這門課。

    4. 寶閔
        雖然大學時代曾經修過資料庫管理,離開學校後工作上每天也跟資料庫脫不了關係,但是對資料庫的觀念上總是懵懵懂懂,常常是用的不知所以然,也不知道原來可以這樣使用啊!
        這學期選修黃老師的課程後,不但觀念開始漸漸清楚,也學會運用與活用課堂上所學;雖然白天上班,晚上要上課,假日還要事先預習與作業撰寫、討論的生活很累人,和以往下班後看電視,假日到處去遊玩,發呆做白日夢的生活方式截然不同,但是確實的做到老師要求的事前預習作業,讓我學起來更加紮實與清楚,所以這一切的付出還是有價值的!
        這次來選修黃老師的課,也讓自己克服了大學時代修過黃老師課後曾經有的恐懼感,原來,上黃老師的課其實不可怕,只要做好事前的預習功夫,就可以清楚的學到很多有用的東西!


25


版權說明: 檔案資源由用戶上傳,僅供學習交流使用,尊重著作權。 若您認為內容涉及侵權,請點擊「侵權舉報」提交相關資料,我們將儘快核實並處理。