320 likes | 619 Views
資料庫的核心理論與實務 飲料作業 訂購系統. 指導教授 : 黃三益 博士 指導助教 : 謝汶芳 學姐、陳建宏 學長 組 別 : 第三組 組 員 : N984020017 洪崇洋 N984020029 柯耀翔 M9823420020 黃識勳 組 長 : M9721814006 葉育材 日 期 : 2010/01/16. 摘要. 專案角色 背景介紹 使用者需求訪談 系統分析說明 SQL 查詢語法介紹 系統技術架構 Live Demo. 專案角色.
E N D
資料庫的核心理論與實務飲料作業 訂購系統 指導教授: 黃三益 博士 指導助教: 謝汶芳 學姐、陳建宏 學長 組 別: 第三組 組 員: N984020017 洪崇洋 N984020029 柯耀翔 M9823420020 黃識勳組 長: M9721814006 葉育材日 期: 2010/01/16
摘要 專案角色 背景介紹 使用者需求訪談 系統分析說明 SQL查詢語法介紹 系統技術架構 Live Demo
專案角色 本案分工職掌如下,依據每人特性與專長,彼此互相搭配合作,發揮小組作戰最大效益。 前線業務人員 :黃識勳 專案經理 :葉育材 資料庫管理師 :柯耀翔 系統架構師 :洪崇洋
背景介紹 客人公司內部使用之資料庫網頁應用系統 目的為便利員工訂購外面店家飲料 讓員工專注生產提高工作效率 採用團購的方式取得更多優惠
使用者需求訪談 部門 : 員工所屬部門 員工 : 員工基本資料 店家 : 店家基本資料 商品種類 : 商品分類(咖啡、茶、果汁、奶製品、養生) 商品 : 記錄商品相關資訊 訂購單 : 記錄訂購內容 明細 : 三元關係轉二元關係結合員工、商品和訂購單
飲料訂購流程 員工使用帳號密碼登入飲料訂購系統 員工選擇店家並輸入要訂購種類、數量並設定喜好(其中喜好多變所以採用文字備註的方式) 負責人員由系統產生訂購單送交各別店家 店家送達商品後與負責人員核對商品種類、數量及金額 負責人員商品到貨狀態並交付金額於店家 飲料送至各部門或暫存於茶水間等待領取 每月月底負責人員產生報表供會計室處理帳務
SQL查詢報表 • 店家依種類分群的所有銷售產品 • 某年度某月份每張訂單訂購的總金額 • 某訂單訂購明細 • 員工訂購歷史資料查詢 結束日期為查詢當日 • --顯示最近一個月某店家訂購的飲料的前N名 • 最近一個月,有銷售店家的總銷售金額,銷售金額由大至小排序 • 列出當年度每個月,每個部門訂購金額前N名的員工 • 列出最近期新增的N筆新店家
使用者需求一個依月份及部門執行員工購買金額排名的報表使用者需求一個依月份及部門執行員工購買金額排名的報表 SELECT ROWNUM,B.* FROM ( SELECT A.* FROM ( SELECT TO_CHAR(D.OrderDate,'YYYYMM') OrderMonth, E.eId, E.eName, DP.dName, SUM(D1.AMOUNT) TOTAL_PRICE FROM DrinkOrder D,DrinkOrderD1 D1,Employee E,Department DP WHERE D.OrderNo = D1.OrderNo AND D1.eId = E.eId AND E.dId = DP.dId AND D1.deliver = 'Y' AND D.status = 'Y' GROUP BY TO_CHAR(D.OrderDate,'YYYYMM'),E.eId,E.eName,DP.dName )A ORDER BY TOTAL_PRICE DESC ) B 錯誤的例子
v_emp_orderRank --列出某年度某幾個月份,依部門訂購金額前N名的員工 RANK_WITHIN_MONTH <=3 CREATE or replace VIEW v_emp_orderRank AS SELECT ROWNUM ROW_NUM,A.* FROM( SELECT TO_CHAR(D.OrderDate,'YYYYMM') OrderMonth, E.eId, E.eName, DP.dName, RANK() OVER (PARTITION BY DP.dName,TO_CHAR(D.OrderDate,'YYYYMM') ORDER BY SUM(D1.amount) DESC) AS RANK_WITHIN_MONTH, SUM(D1.AMOUNT) TOTAL_PRICE FROM DrinkOrder D,DrinkOrderD1 D1,Employee E,Department DP WHERE D.OrderNo = D1.OrderNo AND D1.eId = E.eId AND E.dId = DP.dId AND D1.deliver = 'Y' AND D.status = 'Y' GROUP BY TO_CHAR(D.OrderDate,'YYYYMM'),E.eId,E.eName,DP.dName )A 參考文件: http://download.oracle.com/docs/cd/B19306_01/server.102/b14223/analysis.htm#i1007779
使用技術說明 – 系統架構 • 使用 Java 程式語言開發佈屬在 Tomcat Container 上運作。 • 系統架構採用 3-Tiers 模式,分隔顯示層、控制邏輯層與資料存取層,讓系統易於維護,同時讓整體的架構兼具分散性與延展性。 Server Host User Oracle Databese HTTP協定 jdbc_connect
使用技術說明 – 軟體框架 • 權限框架整合Spring Security • 顯示層Tiles JMesa • 控制邏輯層Struts2 • 資料庫管理層Hibernate - ORM • 資料庫系統 / Oracle Database Spring Security TILES / JMESA Struts 2Business Logical Hibernate / Spring / DAO Oracle Database 黃三益2008 資料庫的核心理論與實務第四版
使用技術說明 – 系統特色 • 操作簡易 • 跨平台、相容性高 • 網頁維護修改方便 • 資料庫容易移植 • 支援多語系顯示介面 黃三益2008 資料庫的核心理論與實務第四版
軟體展示流程 連線與登入 基本資料管理- 部門- 員工- 商品類別- 店家- 商品 訂單管理 報表產生與查詢 完整訂購流程操作
謝謝老師 老師您辛苦了!!
系統登入相關資訊 操作環境: 使用網頁瀏覽器Internet Explorer 6/7/8, Firefox 3.x, Google Chrome 連線網址 :http://61.56.222.173/beverage/ 登入資訊 :管理者 : admin / admin
實體-明細 主鍵 : (員工代號)、(商品代代號)、(訂購單號) 屬性 : 總金額、數量、備註、是否到貨 關係 : 訂購單記錄多筆 明細員工可產生多筆明細商品可產生多筆明細 三元關係轉二元關係
實體-訂購單 主鍵 : 訂購單號 (流水) 屬性 : 日期、時間 關係 : 訂購單記錄多筆 明細
實體-部門 主鍵 : 部門代碼 屬性 : 名稱、位置 關係 : 部門可包含多個員工 一個部門可能在不同的辦公區大樓A-1大樓B-10
實體-員工 主鍵 : 員工代碼 屬性: 姓名、電話、帳號、密碼 關係 : 員工必屬於一個部門 登入帳號為 EMAIL 登入密碼預設採亂數
實體-店家 主鍵 : 店家代碼(流水) 屬性 : 店家名稱、地址、聯絡人員、聯絡電話 關係 : 店家可銷售多項商品 店家名稱可能重覆清心 (建工店)清心 (大順店)etc…
實體-商品種類 主鍵 : 種類代碼 屬性 : 種類名稱 關係 : 商品種類有多項商品 統計報表最受歡迎商品種類購買趨勢分析(冬/夏)
實體-商品 主鍵 : (店家代碼)、商品代碼 屬性 : 商品名稱、說明、價格 關係 : 商品必屬於一個店家商品必屬於一個種類 不同店家可能有相同商品代碼