酒店資料庫設計
㈠ 基於b/s的酒店管理系統設計與實現
基於 B /S 模式的酒店管理系統的設計與實現
XXXXX學院 電大工作部, XX省 XX 457000)
摘要:酒店客房管理系統可以實現酒店內各個客房信息以最快、最准確、 最全面的形式傳輸、 共享, 是酒店前後台聯網的一個
網路系統。本系統採用基於 B /S 結構和關系資料庫相結合的開發平台,在 Jbuider10 這種開發環境下,選用了 sql /Server2000
資料庫和 Tomcat 伺服器,並在此基礎上將理論知識與開發技術 JSP + JavaBean + Servlet 相結合運用到系統的實現過程當中, 完
成了系統平台的構建。該系統分為前台員工登錄系統和後台管理員管理系統兩部分。
關鍵詞:酒店客房管理系統;瀏覽器 /伺服器設計模式;關系資料庫
中圖分類號:TP311 文獻標識碼:A 文章編號:1672 - 9161(2010)04 - 0138 - 02
1 引言
隨著中國 GDP 的不斷增長和旅遊業的飛速發
展,人們因商務或休閑娛樂出行的頻率上升,酒店的
市場需求增高。同時酒店行業的高利潤高回報使得
更多的資金涌進,國內市場開放後國外大型連鎖酒
店進入內地,使得行業競爭日趨激烈。酒店管理系統
的引入使酒店內部能集中管理,集中控制, 快速反應
各個部門的經營狀況,大大降低工作人員的勞動強
度,提高工作效率, 給客戶帶來極大的便利, 同時也
帶來良好的經濟效益和社會效益。此外, 酒店管理中
各種信息的提供能使管理者實時動態地掌握酒店的
經營狀況,還為管理者提供了有力的決策支持。它的
目標是實現客房管理的系統化、規范化和自動化,使
酒店管理真正由經驗管理轉入到科學管理。
一個好的酒店管理體制將帶來很可觀的經濟效
益。無論是一個小型旅店還是一個星級酒店,都有很
多的數據需要管理。手工管理這些紛繁復雜數據的
方式已經不適應時代的潮流,而衡量企業管理水平
的基本尺度是資金和時間。因此, 開發酒店客房管理
系統可以及時通過網路將相關信息傳送給管理者,
可以及時地發現問題,解決問題。
2 相關理論基礎
2. 1 JSP 簡介
JSP 是基於 Java 的技術,用於創建可支持跨平
台及跨 Web 伺服器的動態網頁。當用戶瀏覽器從
Web 伺服器上請求 JSP 文件時,Web 伺服器響應該
HTTP 的請求,JSP 引擎解釋 JSP 標識和小腳本,生
成所請求的內容,並將結果以 HTML 或 XML 頁面的
形式發回給瀏覽器。JSP 引擎通常構架在 Servlet 引
擎上,以 Servlet 形式存在,把 JSP 文件轉成 Servlet
源代碼,經 Java 編譯器編譯成為 Servlet。
2. 2 Java Bean 的概念
Java Bean 是一種專門為當前軟體開發者設計
的全新組件技術,它為軟體開發者提供了一種極佳
的解決方案。JSP 網頁吸引人的地方之一就是能夠
結合 Java Bean 技術來擴充網頁中程序的功能。Java
Bean 是一種 Java 類(class), 通過封裝屬性和方法使
其成為具有某種功能或者處理某個業務的對象。
2. 3 Servlet 的概念
Servlet 是使用 Java Servlet 應用程序設計介面
(API) 及相關類和方法,並且由 Java 語言編寫的服
務器端程序模塊。除了 Java Servlet API,Servlet 還可
以使用用以擴展和添加到 API 的 Java 類軟體包。
Servlet 在支持 Java 的 Web 伺服器上或應用伺服器
上運行並擴展了該伺服器的能力。Servlet 對於 Web
伺服器,就好像 Javaapplet 對於 Web 瀏覽器。Servlet
裝入 Web 伺服器並在 Web 伺服器內執行,而 applet
裝入 Web 瀏覽器並在 Web 瀏覽器內執行。
—139—
3 酒店客房管理系統分析
酒店管理系統應該具備以下功能: 快速辦理客
人入住、退房;實時、快速、 准確地提供客房動態;方
便查詢客人的消費情況。前台系統是酒店管理系統
中的核心部分,它是一個 24 小時連續運行的實時管
理系統,只有完善了前台系統才能說是實現了酒店
電腦管理。前台系統應包括:有效的預訂處理,充分
發揮銷售潛力;簡便迅捷的前台登記服務;有效的客
房管理;客人歷史資料處理、 VIP 客人、協議客人、 黑
名單管理; 完善、全面的綜合查詢;系統運行穩定可
靠、各項維護功能齊全、易於維護;簡單、友好的操作
界面。
軟體體系結構是開發軟體的基礎,其基本思想
是將系統設計成由相對獨立、單一功能的模塊組成
的結構,完成系統的總體結構設計、數據設計、 過程
設計和界面設計,為實現由需求轉化為源代碼提供
依據和框架,同時也為測試做准備。
針對酒店客房管理系統,根據系統分析和需求
分析,可以將系統大致分為七個模塊,這七個模塊之
間是沒有太大的聯系的,可以分別屬於一個領域,單
獨完成自己的功能,完成屬於相應用戶的操作。對於
其中一個模塊的操作不影響其他模塊的操作和功
能。這個酒店客房管理系統,有員工管理、 參數設置、
客房管理、賓客管理、 結算管理、 賬目報表、 登錄系統
幾個模塊,再具體的還有客房類型維護,客房信息添
加,客房信息修改, 客房信息查詢, 客戶類型添加, 客
戶信息添加,訂房、 退房、 結算等。
該系統包含如下七個模塊:
系統模塊圖
3. 1 系統開發及運行環境
3. 1. 1 系統開發平台: 基於 B /S 結構和關系數據
庫結合的開發平台。
3. 1. 2 系統的開發環境: 資料庫選用SQLServ-
er2000。選用 JSP 伺服器:Tomcat。瀏覽器:IE5. 0, 推
薦使用 IE6. 0。開發工具包:JDKVersion1. 4. 2。開發
環境:Jbuider10。
3. 2 資料庫設計
為了提高數據存取效率,降低數據冗餘度,對系
統所需的數據先建一個資料庫,資料庫包含 7 個數
據表,即賓房類型信息表 (afficede)、賓房信息表
(info)、 員工基本信息表(bumf)、 賓客類型信息表、 賓
客信息表(eminfo)、賬目信息表(deparment)等。
4 系統實現
根據以上項目的特點,本系統採用 B /S 模式的
Web 設計方案,整體基於 J2EE 的 Web 應用體系結
構。將 MVC 模式與 J2EE 應用結合,採用基於 JSP +
JavaBean + Servlet 相結合的框架來改進J2EE 體系
的 Web 系統。
登錄模塊主要實現管理員、經理、員工的登錄,
是整個系統的入口,是系統的首頁。 利用登錄來管理
用戶操作許可權。登錄系統時, 需輸入用戶名和登錄密
碼,其它詳細信息如用戶姓名、用戶許可權、 用戶單位、
備注等將從後台資料庫中自動檢索出來。程序首先
判斷輸入的用戶名和密碼是否合法,即判斷用戶的
合法身份,如果用戶輸入錯誤,程序將給出提示。
通過身份驗證後,系統將在後台執行另一個檢
測過程,從員工密碼信息表中調取許可權數據,判斷該
用戶的許可權級別。
4. 1 前台系統功能實現
前台系統主要涉及普通職員和經理對系統的操
作,其中普通職員只具備「客房管理、 「 賓客管理和
「結賬管理」 等功能, 經理具有全部查詢功能。
4. 2 後台系統功能實現
後台系統主要是管理員進行管理,有參數設置、
公告管理、員工在線信息管理和許可權的管理等功
能。
5 結束語
結合XX柏維快捷酒店,開發設計客房管理系
統,採用了經典 JSP 開發模式「 JSP + JavaBean +
Servlet」 相結合的方式來完成對系統的整體開發, 取
得的效果很好,能完成所有預期設計的功能。
參考文獻:
[1]盛宇華, 朱曉峰 . 單位辦公自動化管理系統[M]. 北京:
科學出版社, 2004. 15 - 23.
[2]姜 浩 . 辦公自動化系統及其應用[M]. 北京:清華大學
出版社, 2004. 10 - 13.
[3]耿祥義, 張躍平 . Java2 實用教程[M]. 北京:清華大學出
版社, 2004. 3 - 4.
㈡ 管理系統有哪些 現在酒店系統管理都有哪些
企業管理系統的劃分標准通常為功能劃分和行業劃分。
1、按照其功能來劃分,有ERP(企業資源計劃系統)、CRM(客戶關系管理系統)、OA(辦公自動化系統)、生產管理系統,進銷存管理系統,項目管理系統、HR(人力資源管理系統)、財務管理系統等。
2、按照行業來劃分,有生產製造管理系統、建築管理系統、物流管理系統、批發貿易管理系統、租賃管理系統、教育管理系統、互聯網管理系統等等。
酒店管理系統軟體:非常多,全國不少於幾萬家。4星以上的酒店99%用的西軟或中軟,如果4星以下,70%用的金天鵝,市場份額和公司品牌都是最大的。常見的有:
1、中軟:中軟是可以為用戶提供系統軟體、安全軟體、平台軟體、政府信息化軟體、企業信息化軟體和全方位服務的綜合性軟體公司。
2、金天鵝:2003年,來自美國矽谷的張嘵明博士後與四位志同道合的友人帶著「追求極致,永不妥協」共同理念創立了高科技軟體企業金天鵝。自此「追求極致,永不妥協」成為金天鵝的公司經營理念。
3、西軟:西軟軟體股份有限公司於2000年12月11日在陝西省工商行政管理局登記成立。法定代表人劉洪濤,公司經營范圍包括計算機軟體開發;網路技術開發及系統集成;電子商務等。
4、用友:用友公司成立於1988年,致力於把基於先進信息技術(包括通信技術)的最佳管理與業務實踐普及到客戶的管理與業務創新活動中,全面提供具有自主知識產權的企業管理/ERP軟體、服務與解決方案,是中國最大的管理軟體、ERP軟體、集團管理軟體、人力資源管理軟體、客戶關系管理軟體及小型企業管理軟體提供商。
5、管家婆:管家婆軟體為任我行軟體股份有限公司開發。 管家婆軟體是中國最具影響力的中小企業管理軟體供應商,十年以來,任我行專注於中小企業管理信息化,成功地為國內幾十萬企業用戶提供了信息化解決方案,任我行也隨之迅速成長為中國中小企業管理軟體行業的旗艦。
(2)酒店資料庫設計擴展閱讀:
跟任何東西一樣,選購酒店管理系統之前一定要貨比三家,不懂產品沒關系,多對比多問就大致知道各家的優劣勢了。下面說一些選購方法:
1、根據自己的規模選,不需要選功能太多的,要選能用上的。
2、盡量選知名品牌,不要選價格太低的。最好不要選本土不知名品牌,因為系統不穩定,很容易報錯。要是前台三天兩頭來個營業數據錯誤,管理會非常的麻煩;
3、要選有售後服務保障的。很多人以為軟體買回去就沒事了,其實售後才是開始。很多酒店前台其實學歷並不高,碰到稍微復雜的軟體後台根本看不明白,要她上手操作起碼得反復教好多次。而且後期萬一軟體出問題,沒有人可以處理,所以一定要選有售後保障的,一來可以聯系廠家培訓,二來關鍵時候可以上門處理故障。
㈢ 急求一份資料庫課程設計
合肥經濟技術職業學院
電子信息系
課程設計報告
課程:資料庫課程設計
題目:學生管理系統
班級:09計 用
成員:
指導老師:
日期:
目錄
第一章 前言 3
1.1 課題簡介 3
1.2 設計目的 3
1.3 需求分析 4
第二章 資料庫實例的分析及應用 4
2.1 題目和E-R圖 4
2.2 資料庫的實現 5
2.3 資料庫結構屬性 8
2.3.1主鍵(主鍵約束PRIMARYKEY;索引設置) 8
2.3.2資料庫的默認值和規則 13
2.3.3 視圖和存儲過程 15
2.3.4 觸發器 17
第三章 總結報告 19
參考文獻 19
第一章 前言
1.1 課題簡介
資料庫技術是計算機科學技術發展最快,應用最為廣泛的技術之一。其在計算機設計,人工智慧,電子商務,企業管理,科學計算等諸多領域均得到了廣泛的應用,已經成為計算機信息系統和應用的核心技術和重要基礎。
本文主要介紹學生成績管理系統的資料庫設計,從需求分析到資料庫的運行與維護都進行詳細的敘述。本系統是利用SQL開發出來的。通過SQL建立學生成績管理系統,大大方便和簡化了數據的查詢和處理,管理員可以通過SQL語言對表內數據進行添加,刪除,修改,查詢等操作,還可以建立多用戶,對其使用許可權進行分配和回收。隨著數據處理的不斷進步和計算機網路的迅速發展,使資料庫應用系統不僅在功能而且在結構上都有了深刻的變化,而且運用在生活的每一個方面。通過學習關系代數,關系演算,函數依賴,關系模式分解,關系模式的規范化讓我們建立了扎實的關系資料庫理論基礎。而在掌握基本理論的基礎上掌握關系資料庫的設計方法,掌握現代信息系統的開發方法也顯得尤為必要。目前在關系資料庫中用得最多的SQL資料庫,開發資料庫的語言工具多數用C++.。所以對於計算機專業的學生來說掌握資料庫應用的基本技術,熟悉編程語言與SQL資料庫的結合運用是我們計算機專業學生之必備本領。本次課程設計是以學生信息管理系統為模擬模型,運用C++編程語言結合SQL資料庫所開發系統。
1.2 設計目的
隨著學生數量的日益增多,學校對學生的管理要求也越來越高,為了使信息技術與學生信息更好的結合在一起以及使學生成績的管理更加系統化,數字化,因此我們設計了該學生信息管理系統。運用基於E-R模型的資料庫設計方法和關系規范化理論做指導完成從系統的分析到設計直至系統的最終實現,開發學生成績管理系統,完成學生成績管理系統的全部功能。首先做好需求分析,並完成數據流圖,其次做概念分析,利用實體聯系的方法將需求分析的用戶需求抽象為信息結構,得到E-R圖,然後就是邏輯結構設計,將E-R圖轉換為計算機系統所支持的邏輯模型。最後利用SQL完成具體的實例。
1.3 需求分析
1、問題的提出:為了高效率的完成學生的管理,決定開發學生管理系統。
2、需完成的功能:
(1)能錄入、修改、查詢、輸出學生的檔案信息,這些信息包括學生的成績、課程、個人信息等。
(2)觸發器,索引,約束,規則,默認值,,視圖,存儲過程的建立及使用。
第二章 資料庫實例的分析及應用
2.1 題目和E-R圖
隨著學生數量的日益增多,學校對學生的管理要求也越來越高,為了使信息技術與學生信息更好的結合在一起以及使學生成績的管理更加系統化,數字化,因此我們設計了該學生信息管理系統。以下是次學生信息管理系統的E-R圖,進一步詳細的說明資料庫的結構以及用途。實體和屬性的定義:
學生表(學生學號,姓名,班級編號)
班級表(班級編號,班級名稱,系部編號)
系部表(系部編號,系部名)
教師表(教師名,課程編號,系部編號)
課程表(課程編號,課程名,學分,教師,系部號)
下面是E-R圖,用來進一步說明資料庫的作用和用途:
2.2 資料庫的實現
運用SQL Server 2000數據設計表格的物理結構如下:
班級表:
學生表:
系部表:
課程表:
教師表:
各表關系圖:
設計表格的具體填入數據是:
班級表:
學生表:
教師表:
系部表:
課程表:
2.3 資料庫結構屬性
2.3.1主鍵(主鍵約束PRIMARYKEY;索引設置)
1.索引與書目錄相似,可以快速找到指定內容。索引通過記錄表中的關鍵值來指向表中的記錄,這樣資料庫就不用掃描而能定位到相關的記錄。以下是對各表進行索引的實現。
學生表的設置如圖:
班級表的設計如下:
教師表的設計如下:
課程表的設計如下:
系部表的設置如下:
2.約束定義了關於允許什麼數據進入資料庫的規則,是分配給表或表中某列的一個屬性。使用約束的目的在於防止列中出現非法的數據,可以自動維護資料庫的數據完整性。下面是用企業管理器對class表實現的主鍵約束:
2.3.2資料庫的默認值和規則
1.使用默認可以實現當用戶在向數據表中插入新紀錄時,如果沒有給出某列的輸入值,則由SQL Server自動為該列輸入默認值。下面是對class表進行實現默認的功能:
實現默認值:
2.規則也是實現數據完整性的方法之一,作用與CHECK約束類似,在向表的某列插入或更新數據時,用它來限制輸入值的取值范圍。下面我們運用對Course表進行規則的實現:
2.3.3 視圖和存儲過程
1.視圖的作用相當於一個虛擬表,是用戶查看資料庫表中數據的一種方式使用戶通過他能夠以需要的方式瀏覽表中的部分或全部數據,而數據的物理存放位置仍然在資料庫的表中。我們通過在企業管理器中創建視圖管理視圖應用視圖,更加形象具體的說明了視圖的作用。
添加表格到視圖:
添加數據並運行:
運行結果,具體視圖呈現:
2.存儲過程是一組編譯在單個執行計劃中的Transact-SQL語句,它將一些固定的操作集中起來交給SQL-Server資料庫伺服器完成,以實現某個任務。首先我們在查詢管理器中創建存儲過程:
並且執行存儲過程:
在企業管理器中也可以體現出存儲過程:
2.3.4 觸發器
觸發器的作用是強制執行業務規則。SQL Server主要提供了兩種機制來強制業務規則和數據完整性:約束和觸發器。觸發器在指定的表中數據發生變化時被調用以響應INSERT、UPDATE或DELETE事件。觸發器可以查詢其他表,並可以包含復雜的語句。SQL Server將觸發器和觸發它的語句作為可在觸發器內回滾的單個事物對待,如果檢測到嚴重錯誤,則整個事物即自動回滾。首先我們在查詢管理器中新建觸發器:
新建觸發器:
管理觸發器:
第三章 總結報告
這次的課程設計真的做起來困難重重,深刻體會到做一個軟體,裡面需要的很多知識我們沒有接觸過,去圖書館找書的時候發現,我們學的僅僅是皮毛,還有很多東西需要我們去發掘,就算是借一本書看完它,我們還是會發現還有很多知識沒有吃透,這需要我們不斷的實踐,不斷地自學習,不斷地發現問題去思考問題。
經過不斷地測試,不斷地改進,其中還是發現了不少問題,第一次做這些工作,沒有任何經驗,甚至無從下手,還是很謝謝老師和同學的幫忙,從中也學到了一些代碼的寫法,為什麼要這樣寫,通過和同學的討論,找到一些書本上沒有的方法,如何數據綁定等等,怎樣從資料庫中將數據提取出來放到一個文本框或者標簽內,這些東西是組成界面的東西,雖然小,但是可以體現整個軟體的水平,其實並不需要建多少資料庫的表,寫多少復雜的存儲過程,是不是用了資料庫函數,觸發器等等,但是至少要弄明白這些東西如果操作,清晰思路才能將功能分清晰。
經過一段時間的學習與實踐,學生信息管理系統基本上開發好了。該系統具備了:添加、修改、刪除、瀏覽、查詢、輸出日程信息,實現了根據用戶需求查看日程等功能。作為一個個人日程管理系統,本系統所提供的功能的確太少了一些,僅僅只實現了一些基本的功能,有很多地方還有待擴展和改良。
人如果沒有自信,沒有目標,沒有信心就不可能把事情做好,當其他人都在迷茫的時候,自己一定要堅信目標,大學畢業出去即是面臨找工作,從學習這個專業,到以後做這方面的工作都需要不斷地去學習去實踐,這次實踐可以給我們敲一個警鍾,我們面臨畢業,面臨擇業,需要這些實踐經驗,在困難面前要勇於嘗試,這是這次課程設計給我的最大感想。在此特別感謝老師的辛苦指導和教育!
參考文獻
黃維通編《SQL Server2000 簡明教程》
徐人鳳 曾建華編《SQL Server2000資料庫及應用》
㈣ 200分2天內求大學本科資料庫課程設計!急!急!
一、課程設計的內容
本課程設計要採用本課程中學習的資料庫設計方法,運用其基本思路與主要圖表工具完成「企業報刊訂閱管理系統」資料庫應用系統。完成信息需求分析與資料庫的概念設計、邏輯設計、物理設計以及處理功能設計,用SQL Sever的資料庫管理系統、JSP開發工具實現該系統,並運行、評價、改進之;在此基礎上嚴格按課程設計教學大綱所附報告提綱撰寫課程設計報告。通過本課程設計進一步弄懂資料庫系統及其相關的基本概念,理解資料庫系統的系統結構、主要特點,掌握資料庫設計的原理、方法及其基本過程,初步具備資料庫應用設計的能力,初步形成運用資料庫應用系統解決管理決策中的實際問題的基本素質。
二、課程設計的要求與數據
要求學生結合所學管理知識,在借鑒課堂教學案例、了解家人或親友所從事的業務及其流程的基礎上,參考有關資料,選擇自己了解的一項業務,運用課堂所學資料庫系統與資料庫設計知識,完成信息需求分析、資料庫概念設計、邏輯設計、物理設計,實現完成該業務的資料庫應用系統,並運行、評價改進之,最後要寫出課程設計報告。
三、課程設計應完成的工作
要求學生按照《資料庫應用課程設計》教學大綱完成一個資料庫應用系統,並撰寫相應的課程設計報告,主要內容包括:
概述:系統的基本任務,主要業務,開發目標
1. 需求分析
2. (資料庫)概念(模型)設計
3. (資料庫)邏輯(模型)設計
4. 資料庫物理設計與資料庫保護設計
5. 處理功能設計
6. 資料庫應用系統的實現
7. 資料庫應用系統運行
四、課程設計進程安排
序號 設計各階段內容 地點 起止日期
五、應收集的資料及主要參考文獻
[1] 王 珊、陳 虹編著,資料庫系統原理教程,清華大學出版社,2003.
[1] 金銀秋主編,資料庫原理與設計,科學出版社,2000.
[2] 李建中 王珊,資料庫系統原理,電子工業出版社,1998.
[3] 李大友,資料庫原理及應用(第二版),清華大學出版社,2000
發出任務書日期: 年 月 日 指導教師簽名:
計劃完成日期: 年 月 日 基層教學單位責任人簽章:
主管院長簽章:
目錄
概述 …………………………………………………………………4
1. 需求分析…………………………………………………………4
1.1用戶需求……………………………………………………………………4
1.2業務流程分析………………………………………………………………4
1.3信息需求分析………………………………………………………………5
1.4功能需求分析………………………………………………………………6
2. (資料庫)概念(模型)設計…………………………………7
3. (資料庫)邏輯(模型)設計…………………………………9
3.1 一般邏輯模型設計…………………………………………………………9
3.2 具體邏輯模型設計…………………………………………………………9
4. 資料庫物理設計與資料庫保護設計…………………………10
4.1設計索引……………………………………………………………………10
4.2 設計表間關系………………………………………………………………10
4.3完整性設計…………………………………………………………………10
5. 處理功能設計…………………………………………………11
6. 資料庫應用系統的實現………………………………………11
7. 資料庫應用系統運行…………………………………………11
7.1 寫出系統操作使用的簡要說明……………………………………………11
7.2 系統實施過程………………………………………………………………11
7.3系統使用結果………………………………………………………………22
7.4系統評價……………………………………………………………………31
企業報刊訂閱管理系統
概述
隨著社會不斷的發展,人們的生活水平越來越高,對知識的和對時事的渴求也越來越高,人們希望能夠方便快捷地訂閱各種報刊雜志。但是各種各樣的報刊名目和詳細信息以及訂閱,為相關企業的管理造成很大的麻煩。因此網上訂閱成為不可或缺的一部分。
本系統就是面向一個企業的報刊訂閱管理系統。此系統是一種比較智能化的管理系統,它面向所有企業部門的職工用戶,但具有比較高的安全性能。它能夠實現報刊訂閱的基本功能,包括新報刊信息的錄入、訂閱、查詢等操作以及後台資料庫的備份和恢復。用戶合法注冊後必須輸入有效密碼才能成功進入此系統,可以進行訂閱報刊,查詢信息,統計信息等操作。對於非法操作,系統有識別和防護措施。
1. 需求分析
1.1 用戶需求:
本系統就是面向一個企業的報刊訂閱管理系統。此系統是一種比較智能化的管理系統,它面向所有企業部門的職工用戶,但具有比較高的安全性能。它能夠實現報刊訂閱的基本功能,包括新報刊信息的錄入、訂閱、查詢等操作以及後台資料庫的備份和恢復。用戶合法注冊後必須輸入有效密碼才能成功進入此系統,可以進行訂閱報刊,查詢信息,統計信息等操作。對於非法操作,系統有識別和防護措施。
訂閱信息處理的特點是訂閱信息處理量比較大,所管理的信息信息種類繁多,而且訂閱單、編輯單的發生量特別大,關聯信息多,查詢和統計的方式各不相同。因此在管理上實現起來有一定因難。
本系統在設計過程中,為了克服這些困難,需要使程序代碼標准化,軟體統一化,確保軟體的可維護性和實用性;刪除不必要的管理冗餘,實現管理規范化、科學化;界面友好、簡單化,做到實用、方便,盡量滿足報刊訂閱中員工的需要。
1.2 業務流程分析:
本系統主要面向的用戶有系統管理員、讀者。下面分角色對該系統的不同操作范圍做說明。
本系統主要有以下功能模塊:
(1)登陸功能:登陸系統為身份驗證登錄。分為管理員登錄和一般用戶登錄。分別通過不同的用戶名和密碼進入報刊訂閱管理界面,新的用戶需要注冊。
(2)錄入新信息功能:對於管理員,包括新用戶信息和新報刊信息的錄入功能,信息一旦提交就存入到後台資料庫中;普通用戶自行注冊進行可以修改個人信息。
(3)訂閱功能:用戶可以訂閱報刊,系統自動計算所需金額,並顯示在界面上;管理員不可訂閱報刊,必須以用戶身份訂閱報刊。
(4)查詢功能:用戶可以查詢並顯示自己所訂閱的信息;管理員可以按人員、報刊、部門分類查詢。查詢出的信息顯示在界面上,並且可以預覽和列印出結果。
(5)統計功能:管理員可以按用戶、部門、報刊統計報刊的銷售情況,並對一些重要的訂閱信息進行統計;普通用戶可以統計出自己的訂閱情況,並且可以預覽和列印出結果。
(6)系統維護功能:數據的安全管理,主要是依靠管理員對資料庫里的信息進行備份和恢復,資料庫備份後,如果出了什麼意外可以恢復資料庫到當時備份的狀態,這提高了系統和數據的安全性,有利於系統的維護。
下圖為該系統的業務流程圖
1.3 信息需求分析
1.3.1 資料收集:業務流程中用到的相關單據主要是報刊信息還有訂單信息
報刊信息表:
報刊代號 46-250 報刊名稱 IT時代周刊
出版報社 科技出版社
出版周期 半月刊
每月定價 10.00 元/月
分類編號 1001
報刊介紹 《IT時代周刊》是一本深刻解讀信息時代商業變革的雜志。除深度報道信息產業的重大新聞外,還報道金融、汽車、股市、零售等傳統行業利用IT提升商業與管理的新聞。《IT時代周刊》以調查見深度;以商業故事見功力。是CEO/CIO/CFO以及政府官員、商業領袖首選刊物。
訂單信息表:
訂單編號 報刊代號 用戶編號 訂閱日期 訂閱月數 份數 操作
3003 46-205 3206 2008-7-1 訂一月 1 取消訂閱
3004 26-306 3108 2008-7-8 訂半年 2 取消訂閱
3005 72-310 3100 2008-7-9 訂一年 1 取消訂閱
3006 45-214 2541 2008-7-10 訂一季 1 取消訂閱
1.3.2 事項分析:根據以上資料中標題、表頭等中各欄目名,可以得出相關事項,作為數據項;分析這些數據項,找出組合項、導出項、非結構化數據項,確定基本項。檢查是否有要補充的基本數據項,是否有要改進的地方,補充改進之,得出所有基本項。
1.4 功能需求分析:
本系統的主要結構功能圖如下:
2. (資料庫)概念(模型)設計
基本項構思ERD的四條基本原則:
①原則1 (確定實體):能獨立存在的事物,例如人、物、事、地、團體、機構、活動、事項等等,在其有多個由基本項描述的特性需要關注時,就應把它作為實體。
②原則2 (確定聯系):兩個或多個實體間的關聯與結合,如主管,從屬,組成,佔有,作用,配合,協同等等,當需要予以關注時,應作為聯系。實體間的聯系可分為一對一、一對多、多對多等三類,在確定聯系時還要確定其類型。
③原則3 (確定屬性):實體的屬性是實體的本質特徵。實體應有標識屬性(能把不同個體區分開來的屬性組),並指定其中一個作為主標識。聯系的屬性是聯系的結果或狀態。
④原則4(一事一地):信息分析中得到的基本項要在且僅在實體聯系圖中的一個地方作為屬性出現。
經過上述系統功能分析和需求總結,設計如下面所示的數據項和數據結構。
管理員表(Adminuser):用於存放管理員的數據記錄,包括數據項:管理員名、密碼。
部門表(Department):用來存放部門的相關記錄,包括數據項:部門號,部門名。
用戶表(Users):用於存放注冊用戶的記錄,包括數據項:用戶賬號、密碼、真實姓名、身份證號、聯系電話,聯系地址,部門號(和部門表有關)等。
報刊類別表(NewspaperClass):用於存放初始的報刊類別記錄,包括數據項:分類編號、分類名稱。
報刊信息表(Newspaper):用於存放報刊記錄,包括數據項:報刊代號、報刊名稱、出版報社、出版周期、季度報價、內容介紹、分類編號(和報刊類別表有關)等。
訂單表(Order):用於存放用戶下達的訂閱報刊的基本信息,包括數據項:訂單編號、用戶編號(用戶表的主碼)、報刊代號(報刊信息表的主碼)、訂閱份數、訂閱月數等。
根據上面的設計規劃出來的實體有部門實體、管理員實體、用戶實體、報刊類別實體、報刊信息實體和訂單實體。
部門實體的E-R圖如下圖所示: 管理員實體的E-R圖如下圖所示:
用戶實體的E-R圖如下圖所示: 報刊信息實體的E-R圖如下圖所示:
訂單實體的E-R圖如下圖所示: 報刊類別實體的E-R圖如下圖所示:
所有實體之間的的關系E-R圖如下圖所示:
3. (資料庫)邏輯(模型)設計
3.1 一般邏輯模型設計:
關系模型的邏輯結構是一組關系模式的集合。將E-R圖轉換為關系模型就是要將實體型、實體的屬性和實體型之間的聯系轉換為關系模式。
由ERD導出一般關系模型的四條原則;
①一個1:1聯系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合並。如果軟換為一個獨立的關系模式,則與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,每個實體的碼均是該關系的候選碼。如果與某一端實體對應的關系模式何明,則需要在該關系模式的屬性中加入另一個關系模式的碼和聯系本身的屬性。
②一個1:n聯系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合並。如果轉換為一個獨立的關系模式,則與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,而關系的碼為n端實體的碼。
③一個m:n聯系轉換為一個關系模式。與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,各實體的碼組成關系的碼或關系碼的一部分。
④3個或3個以上實體間的一個多元聯系可以轉換為一個關系模式。與該多元聯系項鏈呢的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,各實體的碼組成關系的碼或關系碼的一部分。
根據以上原則將E-R圖轉換成的關系模式如下:
部門(部門號,部門名稱)
用戶(用戶賬號,密碼,用戶真實姓名,聯系電話,聯系地址,部門號)
管理員(管理員名,密碼)
報刊類別(分類編號,分類名稱)
報刊(報刊代號,報刊名稱,出版報社,出版周期,每月訂價,內容介紹,分類編號)
訂單(用戶編號,報刊代號,訂閱份數,訂閱月數,訂閱總額)
3.2 具體邏輯模型設計:
在SQL Server2000資料庫中,首先創建newspaper資料庫,然後根據資料庫的邏輯結構分析創建表4-1━4-6的6張數據表。在前台訪問資料庫階段設置了用戶和密碼,用戶為sa,密碼為空。
表4-2 department部門表結構
欄位名稱 欄位類型 允許空 說明
depNumber(主碼) Char(10) 否 部門號
depName Char(50) 是 部門名稱
表4-3 users用戶表結構
欄位名稱 欄位類型 允許空 說明
userNo(主碼) Char(10) 否 用戶帳號
userName Char(20) 是 真實姓名
passWord Char(10) 否 用戶密碼
address Char(150) 是 用戶聯系地址
phone Char(20) 是 用戶聯系電話
depNumber Char(10) 否 用戶所屬部門號
表4-3 newspaperClass報刊分類表結構
欄位名稱 欄位類型 允許空 說明
classid(主碼) Int(4) 否 報刊分類編號
className Char(30) 是 報刊分類名稱
表4-4 newspaper報刊表結構
欄位名稱 欄位類型 允許空 說明
newsNo(主碼) Char(10) 否 報刊代號
newsName Char(40) 否 報刊名稱
classid Int(4) 否 報刊分類編號
publish Char(150) 是 出版報社
pubPeriod Char(30) 是 出版周期
content Char(4000) 是 內容介紹
price Float(8) 否 每月報價
表-6 book訂單表結構
欄位名稱 欄位類型 允許空 說明
userNo(主碼) Char(10) 否 用戶帳號
newsNo(主碼) Char(10) 否 報刊代號
orderAmount Int(4) 否 訂閱份數
orderMonth Int(4) 否 訂閱月數
totalPrice Float(8) 是 訂閱總額
表4-1 adminuser管理員表結構
欄位名稱 欄位類型 允許空 說明
adminUser(主碼) Char(20) 否 管理員用戶名
adminPass Char(10) 否 管理員密碼
4. 資料庫物理設計與資料庫保護設計
4.1設計索引:我們可以在最經常查詢的列上建立索引以提高查詢效率。
而在這個系統中,我們經常要按用戶賬號,按報刊代號,按部門查詢,所以,我們可以為這三個表建立索引,建立所以的SQL語句如下,這幾個都是字元型
Create unique index userNum on users(userNo)
Create unique index departNum on department(depNumber)
Create unique index newsNum on newspaper(newsNO)
4.2 設計表間關系:
4.3完整性設計列出主要欄位完整性的欄位名、完整性約束條件;列出記錄完整性約束及其約束條件;列出參照完整性表。
主要欄位的完整性欄位名和參照完整性表可以參照上圖各個表之間的關系來看。
比如建立報刊表newspaper時,要求報刊代號在100~99999之間,報刊名稱和每月定價不能取空值,報刊類別是報刊類別表的主鍵,則
Create table user
(userNo char(10) constraint C1 check(newsNo between 100 and 99999),
newsName char(40) constraint C2 not null,
classid int(4) constraint C3 not null,
publish char(150),pubPeriod char(30),content char(4000),
price float(8) not null,
constraint C4 foreign key(classid) references newspaperclass(classid) )
4.4在有多個用戶操作時,考慮用戶授權與安全性控制。
因為這個報刊訂閱系統由多個用戶使用,分為管理員和用戶,他們擁有不同的許可權和安全性控制。所以在許可權設置方面,採用管理員和用戶分別使用用戶名和密碼進入他們能使用許可權范圍里的界面。管理員登陸系統後,可以添加、修改用戶和報刊的信息,可以對訂單進行查詢和統計,並且可以把查詢統計的結果進行預覽和列印出來,還要對資料庫系統進行維護,適時備份資料庫,一旦資料庫遇到問題,可以恢復到最近備份的狀態,減少不必要的損失。
用戶登錄,用戶使用該系統前需要進行注冊,他應該是該企業某個部門下面的員工,所以他需要輸入他的部門號等信息,注冊成功後,登錄到系統,可以修改自己的信息還有訂閱報刊,但由於許可權的限制,他只能查看和統計自己的訂單信息。
5. 處理功能設計
5.1 主控模塊設計:
使用本系統,首先它會自動彈出「歡迎使用本系統」的歡迎界面,然後跳轉到用戶身份驗證界面,選擇管理員的身份進入,有錄入(錄入報刊信息、錄入用戶信息),查詢,統計(統計用戶、統計、報刊訂單),系統維護(備份資料庫、恢復資料庫),注銷,退出等菜單可使用,沒注冊的用戶可進入注冊界面進行注冊,然後返回登錄界面登錄,進入後有歡迎界面,有訂閱、查詢、統計、修改、注銷、退出等菜單可使用。
6. 資料庫應用系統的實現
6.1 資料庫及其表結構的建立:按照上面的邏輯分析見表
6.2數據輸入:在建好的各個表中輸入數據,要符合數據的約束條件
7. 資料庫應用系統運行
7.1 寫出系統操作使用的簡要說明
本系統的運行需要安裝PowerBuilder9.0和SQL Server2000軟體。操作該系統,首先把備份的資料庫還原出來,導入SQL Server中,然後打開該系統,連接上還原出來的資料庫,再運行,就可以了。
7.2 系統實施過程
(1)打開PowerBuilder,新建一個工作區,命名為newspaper
(2)新建一個Application,取名newspaper,然後點擊工具欄上的DB Profile,新建一個MSS Microsoft SQL Server,填入Profile Name,伺服器名,用戶名,密碼,資料庫,如下圖,然後輸入連接資料庫的主要代碼:
open(w_welcome)
// Profile newspaper
SQLCA.DBMS = "MSS Microsoft SQL Server"
SQLCA.Database = "newspaper"
SQLCA.ServerName = "CHINA-41CD782EF"
SQLCA.LogId = "sa"
SQLCA.LogPass=""
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
connect;
if sqlca.sqlcode<>0 then
messagebox("錯誤","資料庫連接錯誤,程序將關閉!",stopsign!)
return
end if
close(w_welcome)
open(w_login)
(3)製作登錄頁面w_login,在「確定」按鈕輸入如下:
「注冊」按鈕代碼:open(w_register) //打開用戶注冊頁面
「退出」按鈕代碼:close(w_login) //退出本系統
(4)製作注冊窗口w_register,在「注冊」按鈕的代碼如下:
「取消」按鈕代碼:close(w_register)
open(w_login)
(5)製作管理員主菜單w_adminview,建管理員主界面w_adminview,將該菜單放到窗口中
(6)製作用戶主菜單w_userview,建用戶主界面w_userview,將菜單放到窗口中
(7)製作管理員主菜單里的錄入報刊信息窗口w_inmagazine,錄入用戶信息窗口w_inuser,
製作數據窗口dw_magagrid,dw_magafree,dw_userfree,dw_usergrid,在數據窗口調整好外觀,添加控制項,並設定相應的動作,分別放到這兩個窗口中
這兩個窗口功能相識,在窗口中輸入:
dw_1.settransobject(sqlca)
dw_1.retrieve()
dw_2.settransobject(sqlca)
dw_2.retrieve()
(8)製作管理員主菜單中的查詢訂閱信息窗口w_searchorder,製作數據窗口dw_booksearch,將其放入窗體中,在窗口中輸入代碼:
dw_1.settransobject(sqlca)
dw_1.retrieve()
sle_1.setfocus()
在「查詢」按鈕中輸入代碼:
「預覽」按鈕的代碼:
「關閉」按鈕代碼:close(w_searchorder)
數據窗口欄位如下:
(9)製作管理員主菜單中的統計用戶訂單窗口w_statuser,統計部門訂單窗口w_statdept,統計報刊訂單窗口w_statnews:製作統計數據窗口dw_statnews,dw_statuser,dw_statdept將dw_statnews,dw_statuser,dw_statdept分別放入w_statnews, w_statuser,w_statdept中;以下僅列出按出按部門統計的代碼和界面 (按用戶、報刊統計類似,略);
按部門統計代碼:
窗口代碼:
按部門統計數據窗口:
dw_1.settransobject(sqlca)
dw_1.retrieve()
預覽鍵代碼:(與上頁預覽代碼相同)
退出:close(parent)
(10)管理員主菜單中的更改登錄在w_adminview中的代碼
(11)管理員主菜單中的退出系統在w_adminview中的代碼
(12)管理員主菜單中的資料庫備份窗口w_backup,「開始備份」按鈕的代碼如下
在「>>」按鈕帶輸入代碼:
(13)管理員主菜單中的資料庫恢復窗口w_restore,「開始恢復」按鈕的代碼如下
在「>>」按鈕帶輸入代碼:
在「開始恢復」按鈕輸入代碼:
(14)用戶主菜單的訂閱報刊窗口w_userorder
該系統中定義了一個全局變數gs_userid,其它窗口界面都可以使用該變數,並顯示用戶名,用戶登錄後,它會顯示「~~~~,歡迎使用本系統!」的歡迎界面。
窗口代碼:
dw_1.settransobject(sqlca)
dw_1.retrieve()
sle_1.setfocus()
sle_2.text=gs_userid
「清空」按鈕代碼:
sle_1.text=""
sle_3.text=""
sle_5.text=""
「退出」按鈕代碼:
close(w_userorder)
「訂閱」按鈕代碼:
(14)用戶主菜單的查詢訂單窗口w_usersearch,將訂單查找dw_booksearch放到窗口裡,在窗口中過過濾器篩選中用戶自己的訂單信息,一打開就可以看到自己的訂單信息,可列印和預覽結果
窗口代碼:
「預覽」和「退出」按鈕同上
(15)用戶主菜單的查詢訂單窗口w_userstatis,將用戶統計dw_statuser放到窗口裡,在窗口中過過濾器篩選中用戶自己的訂單信息,一打開就可以看到自己的訂單信息,可列印和預覽結果,窗口代碼如下:
用戶統計dw_statuser數據窗口如下:
「預覽」「退出」按鈕略
(16)用戶主菜單中的修改用戶信息窗口w_usermodify,打開會先顯示出你的信息,而用戶名這一欄是輸入不了的,也就是不能修改用戶名,窗口代碼如下:
「保存」按鈕代碼如下:
(17)用戶主菜單中的更改登錄和退出系統的代碼和管理員的一樣,這里就省略了。
7.3系統使用結果
打開本系統,首先彈出歡迎界面,通常一閃而過,然後到了登錄界面,點擊「注冊」
按確定後,彈出「恭喜,您已注冊成功!」的對話框。如果這時刷新服務管理器,打開SQL Server企業管理器,打開該資料庫的用戶表,就可看到剛才注冊的用戶已經在表中了
然後返回到登陸頁面,輸入剛才注冊到的用戶名和密碼maishning,123456
登錄後,彈出一個窗口,有供用戶使用的菜單,界面顯示「~~~~,歡迎使用本系統」
選擇「訂閱」菜單,在這個訂閱界面,用戶可以瀏覽到所有的報刊信息,要訂閱報刊時,用戶不需輸入用戶名與密碼,只需輸入您要訂閱的報刊代號(該報刊代號必須是報刊表中存在的),訂閱份數(必須是小於8的整數才有效),然後選擇需要訂閱的月數(一月、一季、半年或一年)然後點擊「訂閱」按鈕
訂閱成功後,系統彈出「恭喜!你已成功訂閱該報刊,總金額是~~~~」確定後會顯示出您所訂閱的總額是多少元,按「清空」按鈕後可以訂閱其它報刊(同樣的報刊不可重復訂閱)
再訂閱其它報刊,然後按「退出」按鈕,來到用戶主菜單然後選擇「查詢」菜單,這個數據窗口經過過濾,一打開就直接顯示該用戶過訂閱的訂單,可以進行預覽和列印。
由於許可權的限制,「統計」菜單中的也是只能統計自己訂單信息的數據
在「退訂」報刊菜單中,可以查看自己的訂單,單擊「退訂」然後「保存」即可完成退訂
在「修改」信息菜單中,用戶名也是不可輸入的文本框,即不可修改用戶名,其它信息可以修改,保存後它會自動添加到資料庫中
選擇菜單上的「注銷」,可以用不同的身份進入系統,確定後回到登錄界面
以管理員的身份登錄,用戶名111,密碼111,按登錄按鍵,可看到管理員菜單
選擇菜單欄中的錄入->錄入報刊信息,管理員可以大致瀏覽所有報刊信息,在上面的數據窗口可以查看上一頁和下一頁的具體內容,並且可以對其進行添加,刪除、修改、保存等操作。
錄入用戶信息頁面,基本相似
選擇菜單欄中的「查詢」->「訂單信息」,管理員擁有的許可權可以看到所有的訂單信息
管理員也可以根據需要分別按部門、按用戶、按報刊查詢,比如,要查詢msishning用戶,在文本框中輸入關鍵字,選擇單選按鈕中的「按部門號」,點擊「查詢」,結果如下
可對全部訂單或查詢出來的訂單進行預覽和列印,方便使用
菜單欄中的「統計」菜單有三個子菜單,管理員可以分別統計用戶訂單信息、部門訂單信息和報刊訂單信息, 直接選擇就可看到統計結果,比如選擇「統計用戶訂單信息」
可將統計出來的結果進行預覽和列印,方便使用,其它兩個統計功能相似,略
主菜單中的系統維護->資料庫備份,選擇備份的位置,然後「開始備份」
主菜單中的系統維護->資料庫恢復,選擇之前備份的文件,輸入路徑和資料庫名,然後「開始恢復」
7.4系統評價: