版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、設(shè)計內(nèi)容與設(shè)計要求1設(shè)計內(nèi)容:數(shù)據(jù)庫系統(tǒng)原理的課程設(shè)計要求學(xué)生綜合利用本課程的有關(guān)知識,在教師的指導(dǎo)下,利用特定的數(shù)據(jù)庫設(shè)計環(huán)境,針對具體的問題,完成從系統(tǒng)的需求分析、數(shù)據(jù)庫的概念設(shè)計、數(shù)據(jù)庫的邏輯 設(shè)計,到數(shù)據(jù)庫實現(xiàn)等設(shè)計過程,最終實現(xiàn)一個較為完整的反映應(yīng)用需求的數(shù)據(jù)庫系統(tǒng)。因此,在 設(shè)計中,要求學(xué)生應(yīng)該全面考慮各個設(shè)計環(huán)節(jié)以及它們之間的相互聯(lián)系。下面是各個設(shè)計階段的具體內(nèi)容。1. 系統(tǒng)需求分析需求分析是數(shù)據(jù)庫系統(tǒng)設(shè)計的一個重要的環(huán)節(jié)。本階段應(yīng)該對整個應(yīng)用情況作全面的、詳細(xì)的 調(diào)查,確定特定數(shù)據(jù)庫應(yīng)用環(huán)境下的設(shè)計目標(biāo),收集該應(yīng)用環(huán)境下針對系統(tǒng)設(shè)計所需要的基礎(chǔ)數(shù)據(jù) 以及對這些數(shù)據(jù)的具體存儲要求
2、,從而確定用戶的需求。用戶對數(shù)據(jù)庫的需求包括: 處理需求。 即用戶要完成什么處理功能等。 學(xué)生在設(shè)計中應(yīng)根據(jù)具體的課題要求確定系統(tǒng)應(yīng) 該實現(xiàn)的功能,一些基本的功能通常是必須具備的,如用戶的管理與維護(hù),基本數(shù)據(jù)的維護(hù),靈活 的信息查詢等。 信息需求。即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。學(xué)生應(yīng)該根據(jù)具體的課題,認(rèn)真分析有關(guān)的要 求,確定本設(shè)計的信息需求。本課程設(shè) 安全性和完整性功能。 實踐中這是一個需要與用戶不斷交流才能逐步確定的需求。 計要求學(xué)生在自己的設(shè)計中能反映出基本的安全性和完整性功能。本階段的設(shè)計結(jié)果(即系統(tǒng)需求分析)應(yīng)該在課程設(shè)計報告中進(jìn)行詳細(xì)描述,畫出系統(tǒng)的數(shù)據(jù) 流圖,寫出較為詳細(xì)的數(shù)據(jù)字
3、典,作為本課程設(shè)計的驗收依據(jù)之一。2. 數(shù)據(jù)庫的概念設(shè)計數(shù)據(jù)庫的概念設(shè)計是在需求分析的基礎(chǔ)上,利用與用戶雙方都能理解的形式,設(shè)計出數(shù)據(jù)庫的 概念模型。本課程設(shè)計要求學(xué)生采用E-R方法進(jìn)行數(shù)據(jù)庫的概念設(shè)計。本設(shè)計階段可分為: 數(shù)據(jù)抽象。即根據(jù)需求分析的結(jié)果,抽取出與本課程設(shè)計相關(guān)的特性。設(shè)計局部概念模式。運用E-R方法,設(shè)計出系統(tǒng)的各個局部 ER模型。設(shè)計全局概念模式。 通過對局部E-R模型的操作,解決各個E-R模型關(guān)于對象定義不一致問 題,以及對各個 E-R 模型進(jìn)行合并優(yōu)化等,最終形成數(shù)據(jù)庫的全局概念模式。本階段的設(shè)計結(jié)果(局部和全局 E-R圖、具體數(shù)據(jù)庫設(shè)計工具中概念結(jié)構(gòu)設(shè)計圖)應(yīng)該在課程
4、設(shè)計報告中進(jìn)行詳細(xì)描述,應(yīng)該能夠反映該設(shè)計的正確性,作為本課程設(shè)計的驗收依據(jù)之一。3. 數(shù)據(jù)庫的邏輯設(shè)計數(shù)據(jù)庫邏輯設(shè)計的目的是將概念設(shè)計階段設(shè)計好的E-R圖轉(zhuǎn)換成與具體機器上的DBMS(如Oracle )所支持的數(shù)據(jù)模型(如關(guān)系模型)相符合的邏輯結(jié)構(gòu)。鑒于本課程設(shè)計的具體環(huán)境要求,學(xué)生在進(jìn)行數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計時應(yīng)該充分考慮特定的數(shù)據(jù)庫環(huán)境。要求學(xué)生在本階段的設(shè)計中分兩步進(jìn)行:式。根據(jù)設(shè)計關(guān)系模式的規(guī)范化處理。為了減少或消除關(guān)系模式中存在的數(shù)據(jù)冗余和操作異常,所要求的規(guī)范級別,按照本課程所學(xué)知識,逐一分析各個關(guān)系模式是否滿足規(guī)定的范式。在課程設(shè)計報告中應(yīng)該提供本設(shè)計階段的相關(guān)內(nèi)容,作為本課程設(shè)
5、計的驗收依據(jù)之一。4. 創(chuàng)建數(shù)據(jù)庫在某一數(shù)據(jù)庫管理系統(tǒng)環(huán)境中創(chuàng)建數(shù)據(jù)庫,根據(jù)需要也可建立相關(guān)數(shù)據(jù)視圖和存儲過程。在課程設(shè)計報告中應(yīng)該提供相關(guān)的內(nèi)容,包括數(shù)據(jù)庫及各個數(shù)據(jù)庫對象的定義的SQL語句,作為本課程設(shè)計的驗收依據(jù)之一。2.設(shè)計要求:鑒于數(shù)據(jù)庫選題原理課程設(shè)計的具體內(nèi)容,對課程設(shè)計提出如下要求:1. 選題原則課程設(shè)計題目以選用學(xué)生相對比較熟悉的業(yè)務(wù)模型為宜,要求通過本實踐性教學(xué)環(huán)節(jié),能較好 地鞏固數(shù)據(jù)庫的基本概念、基本原理、關(guān)系數(shù)據(jù)庫的設(shè)計理論、設(shè)計方法等主要相關(guān)知識點,針對 實際問題設(shè)計概念模型,并應(yīng)用現(xiàn)有的工具完成小型數(shù)據(jù)庫的設(shè)計與實現(xiàn)。2. 選題要求在后面的課題表中列出了幾個設(shè)計課題
6、,每個課題都有相應(yīng)的要求或說明。各課題的難易度有 一定的差異,因此,參加課程設(shè)計的學(xué)生首先要了解設(shè)計的任務(wù),仔細(xì)閱讀各個課題的設(shè)計要求, 為了避免多人選同一題, 所做課題為(學(xué)號最后兩位數(shù) mod課題號,比如學(xué)號23號,選題為23 mod 10=3,即做第三題一一學(xué)生管理系統(tǒng))。一般來說,選擇課題應(yīng)以在規(guī)定的時間內(nèi)能完成,并能得到 應(yīng)有的鍛煉為原則。若學(xué)生對課題表以外的相關(guān)課題較感興趣,希望選作課程設(shè)計的課題時,應(yīng)征得指導(dǎo)教師的認(rèn) 可,并寫出明確的設(shè)計要求和說明。設(shè)計時要嚴(yán)格按照題意要求進(jìn)行設(shè)計,不能隨意更改。若確因條件所限,必須要改變課題要求 時,應(yīng)在征得指導(dǎo)教師同意的前提下進(jìn)行。3 .參考
7、選題工資管理系統(tǒng)人事管理系統(tǒng)倉庫管理系統(tǒng)學(xué)生管理系統(tǒng)圖書館管理信息系統(tǒng)賓館客房管理信息系統(tǒng)學(xué)籍管理系統(tǒng)機票預(yù)定系統(tǒng)學(xué)生成績管理系統(tǒng) 課程管理子系統(tǒng)通訊錄子系統(tǒng)教室管理子系統(tǒng)宿舍管理子系統(tǒng)個人事務(wù)管理子系統(tǒng)庫房管理系統(tǒng)小商店銷售管理系統(tǒng)其它管理子系統(tǒng)數(shù)據(jù)庫設(shè)計(自己選題需經(jīng)指導(dǎo)教師認(rèn)可).4.課程設(shè)計報告要求課程設(shè)計的設(shè)計報告是學(xué)生對本次課程設(shè)計的全面總結(jié),應(yīng)該反映每個設(shè)計階段的設(shè)計思路和 設(shè)計內(nèi)容。該設(shè)計報告,應(yīng)作為整個課程設(shè)計評分的書面依據(jù)和存檔材料。設(shè)計報告一般要以固定 規(guī)格的紙張(如 A4)書寫或打印并裝訂,字跡及圖形要清楚,工整,規(guī)范。內(nèi)容及要求如下: 設(shè)計任務(wù)、要求及所用軟件環(huán)境或工
8、具介紹。課程設(shè)計內(nèi)容中要求的設(shè)計結(jié)果??偨Y(jié)驗收情況第三周星期二0012:00第四周星期三星期四星期二星期三星期四0012:0012:0012:0012:0012:0000000000附:課程設(shè)計報告裝訂順序:封面、任務(wù)書、目錄、正文、評分、附件(A4大小的圖紙及程序清單)。正文的格式:一級標(biāo)題用3號黑體,二級標(biāo)題用四號宋體加粗,正文用小四號宋體;行距為22O正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實現(xiàn)(至少要有一個主要模塊的流程圖);四、程序調(diào)試;五、總結(jié);六、附件(所有程序的原代碼,要求對程序?qū)懗霰匾淖⑨專?正文總字?jǐn)?shù)要求在5000字以上
9、(不含程序原代碼)。. 系統(tǒng)需求分析 . 設(shè)計前調(diào)查 . 用戶需求分析 . 核心數(shù)據(jù)流圖 . 核心數(shù)據(jù)字典 . 、概念設(shè)計 . 局部E-R圖全局E-R圖三、邏輯設(shè)計 . 開發(fā)環(huán)境 . 有以下關(guān)系模式: . 分解分析: . 四、創(chuàng)建數(shù)據(jù)庫 . 五、程序以及調(diào)試和使用說明 . 程序登陸界面 . 主面板 . 具體介紹 . 房態(tài)查看 . 入住登記和預(yù)定房間 . 調(diào)房,住宿、退宿查詢 . 掛帳,結(jié)帳,日報表,追加押金 報修和維修 . 添加用戶,添加員工,修改密碼 六、總結(jié) 七、部分代碼 . 添加員工 . 賓客入住 . 計算機與通信學(xué)院課程設(shè)計評分表 . . 55. 5. 6. 78. 8. 91010
10、10 10. 10 11. 111213 1317 1818201513. 14 151625系統(tǒng)需求分析設(shè)計前調(diào)查近年來,賓館業(yè)迅猛發(fā)展,市場的競爭日趨激烈,全面提高賓館的軟件管理水準(zhǔn),已成為賓館 業(yè)發(fā)展的當(dāng)務(wù)之急。尤其是對于星級賓館,既需要完成前臺的一些服務(wù)工作,還需要完成后臺的管 理工作。然而,傳統(tǒng)的人工管理模式已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足有效、快捷地處理經(jīng)營中產(chǎn)生的大量信息數(shù) 據(jù)的需要,從而使得企業(yè)決策層無法及時、準(zhǔn)確地掌握一線資料,繼而影響對市場進(jìn)行正確地分析 和預(yù)測。像沿海城市三星級以上賓館引進(jìn)外方管理,使小部分賓館管理水準(zhǔn)幾乎接近或達(dá)到國際水 平。但對占 80%以上的廣大中小型賓館來說,是難
11、以做到的。因此,欲在競爭中甩開對手,取得優(yōu) 勢,必須在經(jīng)營、管理、產(chǎn)品、服務(wù)等方面具備獨到之處。而對賓館的經(jīng)營狀況起決定作用的是客 房的管理。簡單的服務(wù)標(biāo)準(zhǔn)已不是制勝的錦囊,只有管理做到最細(xì)微之處,才能讓顧客體會到賓館 服務(wù)的高標(biāo)準(zhǔn)、高質(zhì)量,而準(zhǔn)確、快速、周全往往就是最基本的成功要素。傳統(tǒng)的管理方法已經(jīng)不能適應(yīng)現(xiàn)代社會的需要,因此采用電腦管理業(yè)務(wù)、財務(wù)等諸多環(huán)節(jié)已成 為推動賓館業(yè)迅速發(fā)展的先決條件,賓館客房管理信息系統(tǒng)是各大中小型賓館所需要使用的一個管 理系統(tǒng)。用戶需求分析建立一套功能完善的管理信息系統(tǒng),既能滿足業(yè)務(wù)人員日常處理的需要,增強企業(yè)經(jīng)營全過程 的數(shù)字化管理水平;又能滿足管理人員決策
12、分析的需要,提高公司管理層對公司經(jīng)營反饋信息的響 應(yīng)速度。從而大幅度提高工作效率,提高實施管理的準(zhǔn)確性、科學(xué)性,使擔(dān)負(fù)管理的工作人員從繁 雜的手工勞作中解脫出來。因而程序需要實現(xiàn)的功能有如下主要六大功能:客房管理:客房登記,入住情況查詢,客房狀態(tài)查看。賓客入住管理:客房預(yù)定,登記入住,房間調(diào)整,退房結(jié)帳物資管理:物品登記,物品查詢,報修和維修,定時提醒。四、財務(wù)管理:追加押金,增刪財務(wù),日報表五、員工管理:增改員工,查刪員工六、系統(tǒng)管理:增刪管理員,修改密碼,以及預(yù)留的基于SQL的數(shù)據(jù)庫管理(該程序考慮到作為課程設(shè)計和信息系統(tǒng)不是很大,使用了單機版的ACCES,S 以求方便 寫程序 )七、其他
13、功能:界面管理(提供兩套外觀:經(jīng)典外觀和春天里)部分?jǐn)?shù)據(jù)流圖數(shù)據(jù)流名稱:客人信息來源:客人去向:入住登記包含的數(shù)據(jù)項:姓名、身份證號、性別、入住房間、房間類型、房間價格、入住狀態(tài)等(賓館客房管理系統(tǒng)的數(shù)據(jù)流一一客人信息)數(shù)據(jù)流名稱:入住登記來源:客人產(chǎn)生入住登記去向:入住包含的數(shù)據(jù)項:訂單編號、姓名、性別、身份證號、客戶編號、客房類型、抵房時間、入住 人數(shù)、預(yù)定人、電話、住幾天等信息(賓館客房管理系統(tǒng)的數(shù)據(jù)流一一入住登記)數(shù)據(jù)流名稱:客房信息來源:客人產(chǎn)生入住登記去向:入住包含的數(shù)據(jù)項:客房編號、客房類型、客房價格、客房狀態(tài)(賓館客房管理系統(tǒng)的數(shù)據(jù)流一一客房信息)數(shù)據(jù)流名稱:房間狀態(tài)來源:退房
14、去向:房間包含的數(shù)據(jù)項:客房號碼、房間狀態(tài)(賓館客房管理系統(tǒng)的數(shù)據(jù)流一一房間狀態(tài))數(shù)據(jù)流名稱:帳務(wù)信息來源:退房去向:財務(wù)包含的數(shù)據(jù)項:帳單編號、姓名、消費金額、入住時間、退房時間、押金財務(wù)(賓館客房管理系統(tǒng)的數(shù)據(jù)流一一帳務(wù)信息)核心數(shù)據(jù)字典賓客入住信息表:Cmanage數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明客人電話(ctel)Char(20)客人姓名(cname)Char(12)Not null客人性別(csex)Char(4)客人身份證號(cidnum)Char(20)客人住址(caddress)Char(50)訂單編號(cnumber)Char(15)Not nu II ,p rim
15、ary key入住人數(shù)(cmemeber)int客房編號(croom)Char(20)Not null客房類型(ctype)Char(10)客房價格(cprice)money客房狀態(tài)(cstatue)Char(2)Not null抵店時間(cindate)短日期型date退房時間(coutdate)短日期型dateNot null入住類別(cintype)Char(4) 預(yù)定/現(xiàn)開押金(cya)money調(diào)整房間(cchange)Char(20)原由(creason)Char(80)應(yīng)付款(cmshould)Money實收(cm pay)money客房登記表:Roomlogin數(shù)據(jù)項名稱(庫中
16、字段名)數(shù)據(jù)類型及長度說明房間編號(Rid)Char(12)Not null房間名稱(Rname)Char(20)Not null ,p rimary key房間描述(Rdescribe)Char(100)房間價格(Rprice)moneyNot null房間狀態(tài)(Rstatue)Char(8)Not null操作員(ruser)Char(12)Not null管理員表::pw數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明用戶(user)Char(12)Not null ,p rimary key密碼(p wd)Char(8)Not null權(quán)限(po wer)Char(1)Not null管理表
17、:Smanage數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明財務(wù) ID(Sid)Char(15)Not null ,p rimary key事由(Sreason)Char(20)Not null收入(Sin)money支出(Sout)moneyNot null總收入(ssum)moneyNot null操作時間(Sdate)dateNot null結(jié)帳人(sman)Char(12)Not null掛帳單位(scomp)Char(12)操作員(suser)Char(12)Not null維修/報修表:fix數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明登記 ID(Fid)自動編號Not null ,p
18、 rimary key登記日期(Fdate)dateNot null物品名稱(Fname)Char(50)Not null所屬房間(Froom)Char(20)Not null維修狀態(tài)(Fstatue)Char(8)Not null維修日期(Ffdate)date登記操作員(Fman)Char(12)Not null維修員(Ffman)Char(12)所需費用(Fpay)money提醒表:Reminder數(shù)據(jù)項名稱(庫中字段名)數(shù)據(jù)類型及長度說明提醒 ID(RemID)自動編號Not null ,p rimary key提醒日期(Remdate)dateNot null提醒類別(remtype
19、)Char(20)Not null提醒狀態(tài)(remstatue)Char(4)Not null操作員(remuser)Char(12)Not null二、概念設(shè)計局部E-R圖姓名電話性另I客人住址_ 一 _客人E-R 管理員E-R證件二:=管理員C權(quán)限用尸名價格編號名稱狀態(tài)類型客房描述入職時間客房E-R住址職員電話職務(wù)姓名工資職員E-R年齡性另U全局E-R圖電話證件名稱編號姓名類型價格性另I入住狀態(tài)住址結(jié)帳維修預(yù)定事由類另U狀態(tài)收入名稱帳目提醒表維修表支出n時間狀態(tài)客人客房描述P管理所屬房間密碼權(quán)又限管理用戶名電話職員職務(wù)住址姓名工資性另I年齡入職時間全局E-R圖三、邏輯設(shè)計開發(fā)環(huán)境開發(fā)語言:
20、Visual Basic開發(fā)平臺:windows xp,1G 內(nèi)存,集成顯卡。開發(fā)工具:Visual Basic 企業(yè)版,SQL Server 2000,Access 2003 關(guān)系模式形成以及規(guī)范3.2.1有以下關(guān)系模式:P W(user, pwd, po wer);Emp l(eid,e name,eage,esex,eaddress,etel,ejob,ejtime,ejage);Fix(FidJname,froom,fstatue,ffdate,fpay,fma n, fuser);Gman age(Gid,g name,gt yp e,g nu m,g price,guse,gsum
21、,gdate,guser,gdw);Roomlogi n(Rid,r name,rtyp e,rdescribe,r price,rstatue,ruser);Remi nder(remid,re mn ame,remdate,remty pe,remstatue,remuser);Sman age(Sid,sreas on,sin, sout,ssum,sdate,sma n, sco mp ,suser);Cman age(cnumber,c name,cict yp e,cic num ,csex,caddress,ctel,cmember,croom,ct yp e,c price,c
22、in date,c intyp e,coutdate,cya,cyaadd,cstatue,ccha nge,creas on, cmtel,cmmeeti ng, cmcar,cmdamage,cmother,cmshould,c mp ay,cmback,cuser);3.2.2分解分析:各分量都是不可分割的數(shù)據(jù)項。滿足第一范式;每一個關(guān)系中的非碼屬性都完全函數(shù)依賴于碼,符合第二范式;每個關(guān)系中的主屬性不傳遞依賴關(guān)系中的每個關(guān)系鍵,符合第三范式;關(guān)系中所有非主屬性對每個碼都是完全依賴,且所有主碼對于每個不包含它的碼也是完全函數(shù)依賴,沒有任 何屬性完全函數(shù)依賴非碼的任何一組屬性四、創(chuàng)建數(shù)據(jù)庫
23、1)創(chuàng)建數(shù)據(jù)庫,讓數(shù)據(jù)庫可以動態(tài)增長create database hotelon(n ame=hotel_data,file name-E:',size=5mB,maxsize=20mb,filegrowth=10%)log on(n ame=hotel_log,file name='E:',size=2mb,maxsize=5mb,filegrowth=1mb)go2)創(chuàng)建PW用戶表use hotelgocreate table pw(user char (12) notn ull p rimary key,Pwd char(8) n ot null,Po wer
24、char(1) not n ull )go3)創(chuàng)建客房登記表 RoomLogincreate table roomlogi n (rid char (12) notn ull.Rn ame char(20) not n ull p rimary key,Rtype char(10) not nullRdescribe char(100),Rp rice money not n ull,Rstatue char(8) not null,Ruser char(12) not null,)go4)同上創(chuàng)建提醒表 Reminder、物品表 Gmanage維修表fix、員工表 EmpI、帳務(wù)表 Sman
25、age客戶女0住表Cmanage五、程序以及調(diào)試和使用說明程序登陸界面3.lie:說明:進(jìn)入登陸界面后,系統(tǒng)會自動加載已有的用戶,讓用戶選擇自己的帳戶進(jìn)行登陸,密碼 8。輸入三次后關(guān)閉窗口;用控件屬性設(shè)置來實現(xiàn)用戶定義的完整性:密碼最大長度為用戶名錯誤,或密碼錯誤,系統(tǒng)都會對其進(jìn)行提醒,以達(dá)到正確輸入,本程序設(shè)置一超 級用戶:admin,權(quán)限為1,其他用戶的權(quán)限均為 0。超級用戶能對押金進(jìn)行追加,其他 用戶必須在超級用戶協(xié)助下才能完成押金追加# . . B - C .'=j 了冷! « ilHfc.iJUH"rflfS Swflfixfl豆曰0 At_W 界耘.D1
26、11 ISUMEjrwftSffVff_UBMmIlfiB*lbt:£cEn*v甜1ilfl亡11tHBCtIg£覚2n£cc曲 rivXBlS*.'r««T1I磴1& eaga1主面板說明:主界面用 VB中的MDIForm,多入口提供給用戶操作,包括菜單欄、工具欄(可選擇顯伸哺審;¥亦卯匚"15書 T-iTw KM-* minT T-wrFJg直梟僅總血蠱A盤型鼻 H Id 門 * lifltg 14 證|1HEa丿s» WMwUK3*<lSH-VSEC1m曬cirn-ra| imi 配 J
27、BtoJ11.屯1DQ1MM«rk1SH 世*1&1rHtirqjdl*示和不顯示)、側(cè)邊欄(可隱藏)、主面板Panel(提供操作員最常用的操作,節(jié)約時間),在狀態(tài)欄可以顯示系統(tǒng)時間和當(dāng)前用戶以及需要維修的房間數(shù)。實現(xiàn)了所有要求的功能說明:提供兩種風(fēng)格供用戶選擇。在vb模塊里有一函數(shù)Change(),變量保存當(dāng)前風(fēng)格類型,當(dāng)每次show 窗口時,就會調(diào)用該函數(shù)通過變量判斷是顯示那種風(fēng)格入住空閑維修具體介紹5.3.1房態(tài)查看說明:在主面板上的快速入口上點擊房態(tài)查詢,顯示當(dāng)前房間入住圖形界面。直觀、方便。點擊"select房間能顯示在該房間入住過的客戶。嵌入的查詢語句為
28、:cnu mber,c name,cict yp e,cic num ,csex,caddress,ctel,cmember,croom ,ctyp e,c priceci ndate,coutdate,cstatue from cma nage where croom='" & Comma nd1(l ndex).Ca ptio n & ""'Comma nd1(l ndex).Ca ption 為當(dāng)前按下的要查詢的房間按鈕的名稱5.3.2入住登記和預(yù)定房間說明:點”登記",系統(tǒng)自動在roomlogin 表中rstatu
29、e='空閑的房間名字添加到房間號碼的下534掛帳,結(jié)帳,日報表,追加押金主=» 和鎳哥 -ttWO 耳工"TdiSJi5U(曰M號 目杯底I冏號AdKrll->1D30 rt I !#fflrL->La ZAPEQIL3-aK起丄砸壅.1亦ysujMfiyiir '團(tuán)遜 no Hlim 3CML-3-19 DpuatTitsraa女昴JuidUM d*芒旺I門話羽rt左酪詛n虛EJJjjQSLT 4鬼身咼gKHB斬aa 知*< soTt J5.3.3調(diào)房,住宿、退宿查詢說明:通過入口可以打開窗體。當(dāng)客戶需要調(diào)整房間時,點登記后,系統(tǒng)自動加載
30、已入住客戶的房 間和空閑的房間號碼,當(dāng)用戶選擇要調(diào)房的客戶時,系統(tǒng)自動加載客戶的信息。選擇目標(biāo)房間時候, 系統(tǒng)自動加載房間信息。用戶確定調(diào)房后,系統(tǒng)修改數(shù)據(jù)庫:原房間狀態(tài)改為空閑,目標(biāo)房間改為 入住。原住房產(chǎn)生的費用將加在新入住房間上,而提醒表中原房間改為現(xiàn)房間。因而需要修改三個表:Cmanage,roomlogin,reminder.而查詢?nèi)胱⌒畔⒌那度雜ql語句為:"selectcnu mber,c name,cict yp e,cic num ,csex,caddress,ctel,cmember,croom ,ctyp e,c priceci ndate,cou tdate,
31、cstatue from cmanage",其他查詢語句雷同,此后不在贅述。在文本框里輸入要查詢的姓名, MSFlexGrid空間將會顯示查詢結(jié)果,嵌入的查詢語句為:"select cnu mber,c name,cict yp e,cic num ,csex,caddress,ctel,cmember,croom ,ctyp e,c priceci ndate,cou tdate,cstatue from cma nage where cn ame like '" & & "*'"凹1225上fTAiir岀ai
32、H- 3-17rrir退出說明:追加押金窗體.系統(tǒng)自動加載已入住客戶號碼,當(dāng)用戶選擇客戶號碼時候,系統(tǒng)自動加載客圣ftft str註昭2詐iMtapr刖1L< IVAJ £UJL J J T 畑Mr - 供月耳白Attn斬u訂VC退&戶信息,用戶添加押金后,保存時系統(tǒng)對cman age表進(jìn)行修改,保存數(shù)據(jù);結(jié)帳窗體。系統(tǒng)自動加載已入住還沒退房的房間號,用戶選擇要退房的房間號, 系統(tǒng)加載客戶信息以需付款和明細(xì)供核對,確定結(jié)帳后,系統(tǒng)將對 cmanage表,smanage, reminder,roomlogin 進(jìn)行修改,以保持?jǐn)?shù)據(jù)庫的參照完整性。如果是掛帳,用戶可以選擇掛
33、帳,在客戶結(jié)帳的時候,調(diào)出掛帳結(jié)帳窗體,系統(tǒng)自動加載掛帳的單位,用戶選擇掛帳單位,系統(tǒng)自動加載需還金額。掛帳結(jié)帳只對smanage表操作。而日報表顯示smange里的信息,提供按日期查找的方法, 打印當(dāng)天的帳務(wù)明細(xì)。 查詢的嵌入sql語句為:"select sreas on,sin, sout,ssum,sdate,sma n, sco mp, suser from sma nage where sdate =#" & &"#"。在該處開始一直調(diào)試不出,后來發(fā)現(xiàn)在5.3.5報修和維修sql語句中對日期要加"#"來格式說
34、明是日期型的。O報凄維修晝記-3-1&二所需姿用關(guān)円說明:打開該窗體,左邊有一組 option選項。當(dāng)選報修時候,系統(tǒng)自動加載空閑的房間號。如果 為入住的房間報修,則需先調(diào)房退房后才能報修,總不能讓客戶住在需維修的房間中吧。確定報修后。系統(tǒng)將在 remi nder表中增加一條需提醒事項,即需維修事項,傳遞房間號和維修狀態(tài)給reminder表做為關(guān)鍵字。在主窗體中便會有提示需要維修的房間,可以通過房態(tài)查詢,查看需要維維修的房間,記錄維修費用修的房間號。維修完后要進(jìn)行登記,選擇登記后,系統(tǒng)加載當(dāng)前狀態(tài)為和維修員,確定后,系統(tǒng)將操作roomlogin和reminder表,保持?jǐn)?shù)據(jù)庫系統(tǒng)的參照
35、完整性536添加用戶,添加員工,修改密碼.'3玄a_ J d - .T.弼玨15原密碼1輛密倜nE5年fi?a, _號SB輕9說明:只有管理員, 操作員的代碼為:If <> "" The n即超級用戶才能添加操作員和員工,但是普通擁護(hù)可以修改自己的密碼。添加If <> "" And <> "" And = ("p wd") The n("pwd")=MsgBox ("密碼修改成功,退出操作員密碼修改!")=TrueUn load M
36、e Else MsgBox ("End IfElseIf = "" The n MsgBox ("請輸入新密碼請輸入操作員!")!")ElseIf <> ("user") The nMsgBox ("無此操作員,請重新輸入!")End IfEnd IfIf = "" The nMsgBox ("請輸入操作員原密碼!")ElseIf <> (" pwd") The nMsgBox ("原密碼錯誤,請重新輸
37、入原密碼!")End IfEnd IfEnd If這是才用DAO對象來對數(shù)據(jù)庫進(jìn)行操作,這是另一種方法對數(shù)據(jù)庫操作 cr = "insert into pw values(' " & & ” ',' " & & ” ' ,'0')"cr 這是直接用嵌入 sql 語句來插入記錄。兩種效果都一樣 六、總結(jié)兩周的日日夜夜的奮戰(zhàn),終于達(dá)到了預(yù)定的效果,完成了該信息系統(tǒng)的設(shè)計和程序編寫。在??茖W(xué)校,曾學(xué)過 VB語言,也開發(fā)過很多程序,所以vb語言成為首選。雖然其編寫的應(yīng)用程序
38、在不同的機器上需要解釋器,需要隨帶很多 ocx 控件和其他,但是在編寫信息管理系統(tǒng)這方面 還是很有優(yōu)勢的。 (1)可視畫編程,豐富的控件,隨用隨拖,對控件對象編程,很方便。(2)可以方便的利用 API 函數(shù)實現(xiàn)窗體的各種效果。有豐富的 api 接口。(3)語言簡單,實現(xiàn)功能很方便。 在對數(shù)據(jù)庫操作方面,引用了DAO對象,使用DAO編程連接和操作。所以很自然選擇了VB語言。在數(shù)據(jù)庫方面,考慮編程方便,采用從 sql 中導(dǎo)出成 access 文件來進(jìn)行操作。選定課題后,開始收集相關(guān)資料和設(shè)計軟件架構(gòu)。到賓館調(diào)查和到網(wǎng)上收集信息,以及參考 了其他信息管理系統(tǒng),心里就有了輪廓。設(shè)計好軟件的幾大模塊,采
39、用自頂向下的經(jīng)典設(shè)計方法, 確定實現(xiàn)的功能,開始設(shè)計數(shù)據(jù)庫。運用相關(guān)的數(shù)據(jù)庫知識,設(shè)計好數(shù)據(jù)表,確定字段。并通過模 式分解,確定其是無損的連接。有了數(shù)據(jù)庫作為整個設(shè)計的底層,就好象蓋房子有了骨架,而軟件 就象是磚瓦,只是將骨架填充完善,給客戶一個好的外觀。因而數(shù)據(jù)庫的設(shè)計尤為重要,但是在設(shè) 計之初,往往會有很多情況不能考慮周全,再加之一個人編寫,所以進(jìn)度一度很慢,后來通過列出 所有可能的情況,以及同同學(xué)老師等交流,總結(jié)并重新設(shè)計了數(shù)據(jù)庫,終于是能有一個比較好的效 果。通過將所有和客戶相關(guān)的財務(wù)信息都加到客戶信息里,避免了對多表的操作,避免了有可能會 出現(xiàn)的參照完整性不一致的問題。繼而是軟件的設(shè)
40、計,由于對 vb 還是算比較熟悉,因而有了數(shù)據(jù)庫 的支撐,就得心應(yīng)手了??紤]到用戶使用的方便性,軟件主界面提供了很多入口,以及直觀的圖形 顯示,方便用戶操作,因而也給客戶帶來方便,免去了客戶的很多等待時間,提升賓館的形象。同 時提供了兩套外觀,春天里這套外觀可以避免用戶的審美疲勞。整個程序完成了,又花了大量的時 間對其進(jìn)行調(diào)試。通過白盒黑盒測試,程序能正常的顯示結(jié)果和準(zhǔn)確報錯,達(dá)到了單機運行的效果。 接著在不同機環(huán)境器上測試,有些控件因為沒有帶走,所以報錯,后來帶上控件后都能正常運行, 在 xp 和 win7 上都能正常運行。由于公司規(guī)模和業(yè)務(wù)量大,因而信息系統(tǒng)不可能只在單機上運行,所以才用C
41、/S,或B/S結(jié)構(gòu)比較合適。因時間關(guān)系所以沒能完成,只預(yù)留了接口,供以后開發(fā)擴(kuò)展用。當(dāng)然這次課程設(shè)計因為 是數(shù)據(jù)庫的課程設(shè)計,重點在數(shù)據(jù)庫的設(shè)計,所以對于軟件體系結(jié)構(gòu)風(fēng)格,沒有考慮,只求能達(dá)到 目的!在本次課程設(shè)計中,要感謝各位老師的指導(dǎo),也要感謝提供意見和建議的同學(xué),才得以大致完 成該設(shè)計。本欲來讓老師答辯的,但因個人原因,在答辯那天趕回家了,所以沒得完成最終的答辯。 但這不要緊,編程最大的喜事莫過于完成所有程序的那一刻,雖然后續(xù)還有很多維護(hù)和修改任務(wù), 但是心里突然輕松下來那一刻的心情是無與倫比的。再次感謝老師的指導(dǎo)!七、部分代碼當(dāng)前用戶名 當(dāng)前用戶權(quán)限模塊Public NowUser A
42、s String ' Public nowpower As String ' Public mydb As ' 定義數(shù)據(jù)庫 Public bgi As Integer '判斷背景風(fēng)格Public Sub LoadAccess() Set mydb = & "")End Sub Public Sub bground() If bgi = 1 Then= = = = = findEm: Unload findlogin: Unload fingG: Unload InLogin: Unload LogoutBG: Unload manag
43、ekf: Unload payoff: Unload ViewUnload changelogin: Unload findLogout: Unload find:ElseIf bgi = 0 Then= Nothing= Nothing= Nothing= Nothing= NothingUnload findEm: Unload findlogin: Unload fingG: Unload InLogin: Unload LogoutBG: Unload managekf: Unload payoff: Unload ViewUnload changelogin: Unload find
44、Logout: Unload find:End IfEnd IfEnd Sub 添加員工Private Declare Function ReleaseCapture Lib "user32" () As Long'獲取“變動”信息Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) A
45、s LongPrivate Const WM_SYSCOMMAND = &H112Private Const SC_MOVE = &HF010&Private Const HTCAPTION = 2Dim Emp As RecordsetPrivate Sub DTPicker1_Change()= Year(Date) - YearEnd SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y AsSingle)If Button = 1 Then' 如
46、果按下鼠標(biāo)左鍵Dim ReturnVal As LongX = ReleaseCapture()ReturnVal = SendMessage, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0) End IfEnd SubPrivate Sub Form_Load()LoadAccessSet Emp = ("select * from empl")= Year(Date) & Month(Date) & Day(Date) & Hour(Time) & Minute(Time) = Year(Date) - Ye
47、arEnd SubHH. 一 HH. 一 HHPrivateSubCommand1_Click()!' 缺少判斷員工號是否存在的信息If = "" Or = "" Or = "" Thenmsg$ = MsgBox(" 請確認(rèn) 員工號、員工姓名、職務(wù) 已經(jīng)輸入 ", 48, "Error") Else("emid") = ("ename") = ("esex") = ("ejob") = ("eag
48、e") = Val ("etel") = ("ejtime") = ("ejage") =' 更新記錄msg$ = MsgBox(" 添加成功 ", 64, "Success!") Unload MeEnd IfEnd SubPrivate Sub Command2_Click()一 HH. 一 HH. 一 HHEnd SubPrivate Sub Command3_Click() = TrueUnload MeEnd Sub 賓客入住Dim i As Integer '
49、; 定義一個整型變量Dim InLog As RecordsetDim Room As RecordsetDim Remind As RecordsetPrivate Sub Combo4_Click()Set Room = ("select * from roomlogin where rname='" & & "'")ZSDJ(4).Text = ("rtype"): ZSDJ(5).Text = ("rprice")End SubPrivate Sub Combo5_click
50、()End SubPrivate Sub DTP3_Change()ZSDJ(6).Text = -End SubPrivate Sub Form_Load() If bgi = 1 Then = Date: = Date:= NowUser ' LoadAccess End Subbgi = 0 Then = Nothing= Date ' 初始化日期及時間 賦值給 czyPrivate Sub Form_Unload(Cancel As Integer) = True ' 設(shè)置主窗體有效End SubPrivate Sub Combo2_Click()If = &q
51、uot; 折扣 " ThenZSDJ(8).Enabled = True ' ZSDJ(8).SetFocus 'ZSDJ(8)End IfIf = " 招待 " ThenZSDJ(8).Enabled = TrueZSDJ(8).Text = 0 'End If設(shè)置 ZSDJ(8) 有效 獲得焦點設(shè)置 ZSDJ(8) 有效 賦值給 ZSDJ(8)End SubPrivate Sub ZSDJ_Change(Index As Integer) Select Case IndexCase 6ZSDJ(7).Text = Format(Val(
52、ZSDJ(6).Text) * Val(ZSDJ(5).Text), "") 費ZSDJ(9).Text = ZSDJ(7).TextZSDJ(8).Text = 100 = + Val(ZSDJ(6).Text) 'Case 8賦值給 ZSDJ(9)計算退宿日期計算折前宿計算ZSDJ(9).Text = Format(Val(ZSDJ(7).Text) * Val(ZSDJ(8).Text) / 100, "") 實際宿費Case 10用 val 函數(shù)將字符串轉(zhuǎn)換為數(shù)字 計算提醒日期If ZSDJ(10).Text <> "
53、;" ThenZSDJ(10).Text = Val(ZSDJ(10).Text) '= + Int(Val(ZSDJ(10).Text) / Val(ZSDJ(5).Text)End IfEnd SelectEnd SubPrivate Sub ZSDJ_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) Select Case IndexCase 0按回車鍵Combo傢得焦點If KeyCode = vbKeyReturn ThenCase 1按回車鍵ZSDJ(2)獲得焦點If KeyCode =
54、 vbKeyReturn Then ZSDJ(2).SetFocusCase 2If KeyCode = vbKeyReturn Then ZSDJ(3).SetFocus Case 3If KeyCode = vbKeyReturn ThenCase 4If KeyCode = vbKeyReturn Then ZSDJ(5).SetFocus ' Case 5If KeyCode = vbKeyReturn Then ZSDJ(6).SetFocus ' Case 6If KeyCode = vbKeyReturn Then ZSDJ(10).SetFocus Case 8
55、If KeyCode = vbKeyReturn Then ZSDJ(10).SetFocus 'Case 10If KeyCode = vbKeyReturn Then ZSDJ(11).SetFocus 'ZSDJ(11) Case 11按回車鍵ZSDJ(3)獲得焦點按回車鍵ZSDJ(2)獲得焦點按回車鍵ZSDJ(5)獲得焦點按回車鍵ZSDJ(6)獲得焦點按回車鍵ZSDJ(10)獲得焦點獲得焦點按回車鍵Comok獲得焦點If KeyCode = vbKeyReturn Then End Select End SubPrivate Sub Combo1_KeyDown(Key
56、Code As Integer, Shift As Integer)If KeyCode = vbKeyReturn Then ZSDJ(1).SetFocus '按回車鍵 ZSDJ(1)獲得焦點End SubPrivate Sub DBCombo1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyReturn Then ZSDJ(5).SetFocus 'ZSDJ(5) 獲得焦點 End SubPrivate Sub comdj_Click()' 查詢空閑房間信息Set Room = ("select * from roomlogin where rstatue=''On Error GoTo u空閑 '")= ("rname")ZSDJ(4).Text = ("rtype") ZSDJ(5).
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度船舶交易代理合同范本3篇
- 2025年度教育培訓(xùn)機構(gòu)品牌授權(quán)合作協(xié)議書
- 二零二五年度特色果園租賃與農(nóng)業(yè)品牌建設(shè)合同2篇
- 小學(xué)語文作文結(jié)構(gòu)化寫作的實踐與思考
- 實驗室標(biāo)準(zhǔn)化管理提升教育科研水平的實踐之路
- 2025年度相鄰社區(qū)共建協(xié)議書正規(guī)范本3篇
- 2024版建筑工程防水施工合同
- 二零二五年度房地產(chǎn)合作開發(fā)項目補充協(xié)議3篇
- 宇宙中的高效工作法打造完美辦公環(huán)境的秘訣
- 2025年度快遞代發(fā)代收與快遞超市合作協(xié)議范本2篇
- FZ/T 81024-2022機織披風(fēng)
- GB/T 24123-2009電容器用金屬化薄膜
- 艾滋病梅毒乙肝實驗室檢測
- 國鐵橋梁人行道支架制作及安裝施工要點課件
- 領(lǐng)導(dǎo)科學(xué)全套精講課件
- 粵教版地理七年級下冊全冊課件
- 小學(xué)科學(xué)蘇教版六年級上冊全冊精華知識點(2022新版)
- 萎縮性胃炎共識解讀
- 《中外資產(chǎn)評估準(zhǔn)則》課件第8章 澳大利亞與新西蘭資產(chǎn)評估準(zhǔn)則
- 2022版義務(wù)教育語文課程標(biāo)準(zhǔn)(2022版含新增和修訂部分)
- 精品金屬線管布線施工工程施工方法
評論
0/150
提交評論