240 likes | 411 Views
資料庫系統設計. 期末專題: 圖書館資訊管理系統. 團隊成員 :. 莊子玄 柯菫宏 趙佑宣. 目錄. Introduction Requirement analysis DataBase Design Monitor and turing Tests Discussions Conclusion. Introduction(1/2). 本系統 - 圖書館資訊管理系統 (The Information Management System of Libraries) 主要有下列目標: 提供館藏資訊管理功能 提供借還館藏之處理 簡易上手的介面
E N D
資料庫系統設計 期末專題:圖書館資訊管理系統 團隊成員: 莊子玄 柯菫宏 趙佑宣
目錄 Introduction Requirement analysis DataBase Design Monitor and turing Tests Discussions Conclusion
Introduction(1/2) 本系統 - 圖書館資訊管理系統(The Information Management System of Libraries) 主要有下列目標: • 提供館藏資訊管理功能 • 提供借還館藏之處理 • 簡易上手的介面 • 系統能堪負載並能有快速反應速度
Introduction(2/2) • 系統平台需求 Apache, PHP, MySQL • 開發工具(軟體) • PHP 5.0 • phpMyAdmin 2.9.2 • Smarty2.6.18 • Dreamweaver 8.0 • TortoiseSVN 1.4.4
Collecting facts(1/3) 有一個規模較小的國小,想為他們的圖書館,增加一個資訊系統。 該系統要能紀錄館藏資料、使用者資料、借還書的動作、逾期還書處理,以達成館藏和借還書的完善管理。 目前該國小一個年級的人數大約100個,老師大概30幾位
Collecting facts(2/3) • 可借閱時間:為期一個月 • 借閱書本上限: • 學生:4本 • 教師:10本 • 圖書之分類方式: 註:820為採用賴永祥中國圖書分類的編號
Collecting facts(3/3) 館藏大約有10000本書,每星期增加15本書 維護人員有四人,系統管理員有兩位,操作員兩位 借書逾期遲還有懲罰機制,將減少使用者能借閱書本的上限,為期六個月,若超過一個月未還,會凍結使用者借書的權利。
System specification(1/2) • Initial database size: • 288KB(空) 4.1MB(館藏10000本) • Database rate of growth: • 50KB per day • The type and average number of record searches: • 查詢館藏資料 , 50筆到100筆 • Networking and shared access requirements: • 最大連線數: 需求約150,Mysql 的預設值為 2,038 • Max threads: 需求約15, Mysql 的預設值為 20(能容納20個連線同時執行query)
System specification(2/2) • Performance • 讀取頁面的時間不超過1秒 • Security • 啟用PHP magic_quotes 以避免 SQL injection • 限制輸入資料的內容,不得有特殊符號 • 網頁連線資料庫的帳號,不為root
Choose file organizations and indexes file organizations:找不到此設定
Performance monitoring 顯示網頁館藏管理的速度(未搜尋) 顯示搜尋館藏網頁的速度(關鍵字為e)
Index tuningand query tuning 測試環境: 館藏200筆,借閱記錄30筆 註:MySQL 若要設定foreign key,必須先將該欄位設index 所以, foreign key都會設index
Experiences • 實驗:模擬一般使用者一天的使用情形 • 我們用3個人2台電腦,連續輸入資料約3個小時 • 得到的結果: • 總共輸入212本書,30個借還記錄 • 資料增加影響網頁速度不大 • 造成的資料流量為3880KB,Query數為9434個
Discussion • 使用MySQL在本系統是否合宜? -與MSSQL相比 • Pro: • 使用者不須付費(企業版須付費) • 占用較少的系統資源(佔記憶體20MB以下) • 管理工具的運作速度較快 • Con: • 免費的管理工具為第三方開發軟體 • 能調校的選項不多 • 在Windows 下效能降低不少
Conclusions 我們的結論: • 設立合適的index,對查詢時間有很大的加速效果。 • 系統大約在有20000筆館藏後,系統速度會不合我們的效能需求 • 若要減少系統的成本,MySQL足以負荷輕量的資料庫需求 • 模擬新增館藏的速度一天約200本,10000本需要50天,似乎仍不理想。