【正文】
階段的具體內(nèi)容。因此,在設(shè)計(jì)中,要求學(xué)生應(yīng)該全面考慮各個(gè)設(shè)計(jì)環(huán)節(jié)以及它們之間的相互聯(lián)系。用戶對數(shù)據(jù)庫的需求包括:⑴ 處理需求。即在數(shù)據(jù)庫中需要存儲(chǔ)哪些數(shù)據(jù)。本課程設(shè)計(jì)要求學(xué)生在自己的設(shè)計(jì)中能反映出基本的安全性和完整性功能。本設(shè)計(jì)階段可分為:● 數(shù)據(jù)抽象?!?設(shè)計(jì)全局概念模式。鑒于本課程設(shè)計(jì)的具體環(huán)境要求,學(xué)生在進(jìn)行數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)時(shí)應(yīng)該充分考慮特定的數(shù)據(jù)庫環(huán)境。為了減少或消除關(guān)系模式中存在的數(shù)據(jù)冗余和操作異常,根據(jù)設(shè)計(jì)所要求的規(guī)范級(jí)別,按照本課程所學(xué)知識(shí),逐一分析各個(gè)關(guān)系模式是否滿足規(guī)定的范式。2.設(shè)計(jì)要求:鑒于數(shù)據(jù)庫選題原理課程設(shè)計(jì)的具體內(nèi)容,對課程設(shè)計(jì)提出如下要求:⒈ 選題原則課程設(shè)計(jì)題目以選用學(xué)生相對比較熟悉的業(yè)務(wù)模型為宜,要求通過本實(shí)踐性教學(xué)環(huán)節(jié),能較好地鞏固數(shù)據(jù)庫的基本概念、基本原理、關(guān)系數(shù)據(jù)庫的設(shè)計(jì)理論、設(shè)計(jì)方法等主要相關(guān)知識(shí)點(diǎn),針對實(shí)際問題設(shè)計(jì)概念模型,并應(yīng)用現(xiàn)有的工具完成小型數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)。若學(xué)生對課題表以外的相關(guān)課題較感興趣,希望選作課程設(shè)計(jì)的課題時(shí),應(yīng)征得指導(dǎo)教師的認(rèn)可,并寫出明確的設(shè)計(jì)要求和說明。 圖書館管理信息系統(tǒng)該設(shè)計(jì)報(bào)告,應(yīng)作為整個(gè)課程設(shè)計(jì)評分的書面依據(jù)和存檔材料。⑶ 總結(jié)⑷ 驗(yàn)收情況二、進(jìn)度安排第三周 星期二 8:00——12:00 星期三 8:00——12:00 星期四 8:00——12:00第四周 星期二 8:00——12:00 星期三 8:00——12:00 星期四 8:00——12:00附:課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書、目錄、正文、評分、附件(A4大小的圖紙及程序清單)。正文總字?jǐn)?shù)要求在5000字以上(不含程序原代碼)。像沿海城市三星級(jí)以上賓館引進(jìn)外方管理,使小部分賓館管理水準(zhǔn)幾乎接近或達(dá)到國際水平。簡單的服務(wù)標(biāo)準(zhǔn)已不是制勝的錦囊,只有管理做到最細(xì)微之處,才能讓顧客體會(huì)到賓館服務(wù)的高標(biāo)準(zhǔn)、高質(zhì)量,而準(zhǔn)確、快速、周全往往就是最基本的成功要素。因而程序需要實(shí)現(xiàn)的功能有如下主要六大功能:一、 客房管理:客房登記,入住情況查詢,客房狀態(tài)查看。Empl(eid,ename,eage,esex,eaddress,etel,ejob,ejtime,ejage)。Reminder(remid,remname,remdate,remtype,remstatue,remuser)。滿足第一范式;2) 每一個(gè)關(guān)系中的非碼屬性都完全函數(shù)依賴于碼,符合第二范式;3) 每個(gè)關(guān)系中的主屬性不傳遞依賴關(guān)系中的每個(gè)關(guān)系鍵,符合第三范式;4) 關(guān)系中所有非主屬性對每個(gè)碼都是完全依賴,且所有主碼對于每個(gè)不包含它的碼也是完全函數(shù)依賴,沒有任 何屬性完全函數(shù)依賴非碼的任何一組屬性四、創(chuàng)建數(shù)據(jù)庫 1)創(chuàng)建數(shù)據(jù)庫,讓數(shù)據(jù)庫可以動(dòng)態(tài)增長 create database hotel on (name=hotel_data,filename=39。,size=2mb,maxsize=5mb,filegrowth=1mb)go 2)創(chuàng)建PW用戶表 use hotel go create table pw (user char (12) not null primary key, Pwd char(8) not null, Power char(1) not null ) go 3)創(chuàng)建客房登記表RoomLogin create table roomlogin (rid char (12) not null, Rname char(20) not null primary key, Rtype char(10) not null Rdescribe char(100), Rprice money not null, Rstatue char(8) not null, Ruser char(12) not null,) go 4)同上創(chuàng)建提醒表Reminder、物品表Gmanage、維修表fix、員工表Empl、帳務(wù)表Smanage、客戶如住表Cmanage五、程序以及調(diào)試和使用說明 [說明:進(jìn)入登陸界面后,系統(tǒng)會(huì)自動(dòng)加載已有的用戶,讓用戶選擇自己的帳戶進(jìn)行登陸,密碼 輸入三次后關(guān)閉窗口;用控件屬性設(shè)置來實(shí)現(xiàn)用戶定義的完整性:密碼最大長度為8。在vb模塊里有一函數(shù)change(),一變量保存當(dāng)前風(fēng)格類型,當(dāng)每次show一窗口時(shí),就會(huì)調(diào)用該函數(shù)通過變量判斷是顯示那種風(fēng)格] [說明:在主面板上的快速入口上點(diǎn)擊房態(tài)查詢,顯示當(dāng)前房間入住圖形界面。 amp??臻e39。選擇目標(biāo)房間時(shí)候,系統(tǒng)自動(dòng)加載房間信息。在文本框里輸入要查詢的姓名,MSFlexGrid空間將會(huì)顯示查詢結(jié)果,嵌入的查詢語句為: select umber,ame,cictype,cium,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatue from cmanage where ame like 39。] 掛帳,結(jié)帳,日報(bào)表,追加押金[說明:,當(dāng)用戶選擇客戶號(hào)碼時(shí)候,系統(tǒng)自動(dòng)加載客戶信息,用戶添加押金后,保存時(shí)系統(tǒng)對cmanage表進(jìn)行修改,保存數(shù)據(jù);結(jié)帳窗體。而日報(bào)表顯示smange里的信息,提供按日期查找的方法,打印當(dāng)天的帳務(wù)明細(xì)。在該處開始一直調(diào)試不出,后來發(fā)現(xiàn)在sql語句中對日期要加來格式說明是日期型的。確定報(bào)修后。添加操作員的代碼為: If And And = (pwd) Then If Then (pwd) = MsgBox (密碼修改成功,退出操作員密碼修改!) = True Unload Me Else MsgBox (請輸入新密碼!!) End If Else If = Then MsgBox (請輸入操作員!) Else If (user) Then = MsgBox (無此操作員,請重新輸入!) End If End If If = Then MsgBox (請輸入操作員原密碼!) Else If (pwd) Then MsgBox (原密碼錯(cuò)誤,請重新輸入原密碼!) End If End If End If 這是才用 DAO ,這是另一種方法對數(shù)據(jù)庫操作cr = insert into pw values(39。,39。 ,39。在??茖W(xué)校,曾學(xué)過VB語言,也開發(fā)過很多程序,所以vb語言成為首選。有豐富的api接口。在數(shù)據(jù)庫方面,考慮編程方便,采用從sql中導(dǎo)出成access文件來進(jìn)行操作。運(yùn)用相關(guān)的數(shù)據(jù)庫知識(shí),設(shè)計(jì)好數(shù)據(jù)表,確定字段。通過將所有和客戶相關(guān)的財(cái)務(wù)信息都加到客戶信息里,避免了對多表的操作,避免了有可能會(huì)出現(xiàn)的參照完整性不一致的問題。整個(gè)程序完成了,又花了大量的時(shí)間對其進(jìn)行調(diào)試。因時(shí)間關(guān)系所以沒能完成,只預(yù)留了接口,供以后開發(fā)擴(kuò)展用。再次感謝老師的指導(dǎo)! 七、部分代碼 Public NowUser As String 39。判斷背景風(fēng)格Public Sub LoadAccess()Set mydb = ( amp。HF010amp。 Day(Date) amp。缺少判斷員工號(hào)是否存在的信息If = Or = Or = Then msg$ = MsgBox(請確認(rèn) 員工號(hào)、員工姓名、職務(wù) 已經(jīng)輸入, 48, Error) Else(emid) = (ename) = (esex) = (ejob) = (eage) = Val()(etel) = (ejtime) = (ejage) = 39。 amp。賦值給czy LoadAccessEnd SubPrivate Sub Form_Unload(Cancel As Integer) = True 39。設(shè)置ZSDJ(8)有效 ZSDJ(8).Text = 0 39。計(jì)算退宿日期 Case 8 ZSDJ(9).Text = Format(Val(ZSDJ(7).Text) * Val(ZSDJ(8).Text) / 100, ) 39。按回車鍵Combo1獲得焦點(diǎn) Case 1 If KeyCode = vbKeyReturn Then ZSDJ(2).SetFocus 39。按回車鍵ZSDJ(5)獲得焦點(diǎn) Case 5 If KeyCode = vbKeyReturn Then ZSDJ(6).SetFocus 39。按回車鍵Comok獲得焦點(diǎn) End SelectEnd SubPrivate Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then ZSDJ(1).SetFocus 39??臻e39。 Day(Date) amp。設(shè)置編號(hào) ZSDJ(8).Text = : ZSDJ(10).Text = 39。添加住宿預(yù)收信息 Set Room = (select * from roomlogin where rname=39。) (Rstatue) = 入住 Set Remind = (select * from reminder) 39。取消操作 For i = 0 To 11 ZSDJ(i).Enabled = False Next i = False: = False: = False = False: = False: = False: = False = TrueEnd SubPrivate Sub print_Click() 39。顯示“打印”對話框。在此放置代碼,將數(shù)據(jù)發(fā)送到打