大酒店标准管理系统的设计和实现.doc
《大酒店标准管理系统的设计和实现.doc》由会员分享,可在线阅读,更多相关《大酒店标准管理系统的设计和实现.doc(21页珍藏版)》请在咨信网上搜索。
酒店管理系统设计与实现 1 引言 酒店管理系统是咱们常说MIS (Management Information System,管理信息系统)一种,在强调管理,强调信息当代社会 中它越来越得到普及。酒店管理系统重要目的是实现对酒店内 部各种管理电子化和自动化,提高酒店办公效率,为高质量 酒店服务提供保证。 在酒店业竞争越来越激烈今天,努力在市场竞争中脱颖而 出,已经成为每位酒店经营者所追求目的。酒店如何才干提高 服务质量,其管理能力显得越来越重要。由于使用了先进数据 库管理技术,酒店管理系统对提高酒店管理能力将会起到比较 重大作用,整个系统基本设计目的是实现系统界面和谐美 观、简朴易用、功能全面并有较高安全性。本系统需要实现中小 型酒店惯用点菜、订菜、结算等功能,并协助酒店建立菜谱数据 库和销售存根数据库,可以以便地进行查询,并在系统易用性 和安全性两方面进行相应完善。 2 系统重要模块 (1)登录管理模块;(2)菜谱管理模块;(3)点菜订菜模块;(4)结算 模块;(5)协助模块;(6)数据库设计;(7)系统界面设计。 软件系统由各个详细功能模块构成,若值班员未登录或登 录失败,则只能使用登录,协助,关于,退出这四个功能模块。登录 成功后才可以使用所有功能模块。各个功能模块都是分别进行 开发,这样就便于日后拓展功能,也易于检查和修改错误。软件 系统构造如图1 所示。 3 系统设计方案 依照系统功能规定,考虑到Visual C++编程特点,将酒店 管理系统分解成前台和后台两某些,并将系统分解为几种比较小 功能模块分别进行开发。使得开发过程更具条理性,并且以便 对模块功能进行修改或添加新功能模块,从而使整个系统可以 随着酒店业务扩展进行功能升级。为了增强系统安全性, 需要设计登录模块,登录成功后才可以使用所有功能.整个酒店管 理系统设计方案如图2 所示。 图1 软件系统构造 图2 系统设计方案 摘要:本文重要简介了运用Visual C++开发酒店管理系统。随着软件开发技术和数据库技术完善与发展,国内外公司已经开 始充分运用各种各样系统管理软件来管理诸如销售信息、产品信息、员工信息等大量日趋繁杂资料,计算机辅助管理高效性和高 安全性等长处使得老式管理方式黯然失色,也为系统管理软件发展提供了更辽阔前景和发展空间。本系统设计重要目的是设计 一种面向中小型酒店简朴易用酒店管理系统。前台以Visual C++ 为开发工具,设计软件界面和各个功能模块;后台使用SQL Server 进行系统数据库连接和管理。本系统已基本实现了中小型酒店惯用点菜、订菜、结算等功能,协助酒店建立了菜谱数据库 和销售存根数据库,可以以便地进行查询,并在系统易用性和安全性两方面进行了相应完善。 核心词:Visual C++;安全性;数据库 中图分类号:TP315 文献标记码:A 文章编号:1009- 3044()19- 40023- 03 The Des ignment and Implementation of Res taurant Management Sys tem GAN Chao- Song1,XIA Rong2 (1.School of Computing,Jiangxi City Vocational Institute,Nanchang 330004,China;2.Science and Technology College of NCHU,Nanchang 330034,China) Abs tract:This paper mainly introduces the management system of restaurant developed with Microsoft Visual C++. With the development of software and database technology,the domestic corporations and the oversea corporations already begin to make full use of all kinds of system management software to manage lots of interior things,such as vendition information、production information、employee information and so on. Computer- aided management has lots of merits compared with traditional management mode,such as high efficiency and high security. It also supplies more wide foreground and developing space for the development of system management software. The main aim of this system is to design a easily- using management system of restaurant for petty restaurant. Front end uses Visual C++ as developing tool,designs main interface and function modules;background use SQL Server for connecting and managing system database. This system basicly actualized functions in common use of order dishes、prearrangement、settle accounts for petty restaurant,and help restaurant to set up database of bills of fare and vendition information. They can expediently be queryed and strengthen the easily- using and security of system. Key words :Visual C++;security;database 23 4 设计要点与注意事项 4.1 设计要点 图形化界面尽量做到美观简洁; 充分考虑到系统安全性; 通过使用map 类迅速保存和检索数据集成果; 通过使用数据绑定技术优化代码。 4.2 注意事项 系统运营前数据库要进行对的配备; 算法应简朴明了,有较高时空效率; 注意学习使用数据绑定等新技术; 设计登录模块时注意增强安全性。 5 核心技术 5.1 数据库连接 将SQL Server 默认数据库设立为酒店管理系统所在 RMS 后,就可以在程序中使用DSN 来访问SQL Server 数据库了。 CRMSDlg::OnInitDialog()中连接数据库某些代码如下: try{m_DBCnt.CreateInstance(_uuidof(Connection)); m_DBCnt - >ConnectionString = "DSN =RMS;UID =fdd;PWD = 121"; m_DBCnt- >Open("","","",- 1); }catch(_com_error& e) {AfxMessageBox(e.ErrorMessage()); this- >EndDialog(0);} return TRUE; 其中DSN=背面即为酒店管理系统所用数据库名称,可 依照实际状况进行更改。 5.2 菜谱管理模块 菜谱对话框设计采用一种列表框控件显示读取数据记 录,并在CDlgViewCP::OnInitDialog()中对这个控件(m_list)进行初 始化(分割列,设立列宽,设立风格等),其中m_list.SetExtendedStyle (LVS_EX_FULLROWSELECT);这一行代码使单击列表框时选中其 中一整行,而不是其中某一格。在单击并选中某一行时候, 程序解决这个单击事件,并将这一行数据在下面列表框中显 示出来,运用函数CDlgViewCP::OnClickListCp 来实现这一点: int i = m_list.GetSelectionMark(); m_no = m_list.GetItemText(i,0); m_name = m_list.GetItemText(i,1); m_kind = m_list.GetItemText(i,2); m_price = (float)atof(m_list.GetItemText(i,3)); m_detail = m_list.GetItemText(i,4); UpdateData(FALSE); *pResult = 0; 此外在菜谱管理模块中还要同步实现菜谱查询功能,即由用 户选取查询目的(编号,菜名,种类),再填入所要查询内容就可在 菜谱中查询到符合条件菜。如果没有输入任何查询条件,那么 就列出菜谱中所有菜。 void CDlgViewCP::RefreshData(LPCTSTR qry) {m_list.DeleteAllItems(); m_list.SetRedraw(FALSE); _RecordsetPtr pRst = NULL; IADORecordBinding *picRs = NULL;//Interface Pointer declared.( VC++ Extensions) CCPRs rs; try {_bstr_t strSQL = qry; TESTHR(pRst.CreateInstance(_uuidof(Recordset))); pRst = m_DBCnt- >Execute(strSQL,NULL,adCmdText); //数据绑定(Data Binding) TESTHR (pRst - >QueryInterface (_uuidof (IADORecordBinding), (LPVOID*)&picRs)); TESTHR(picRs- >BindToRecordset(&rs)); int i = 0; char buf[128]; while (!pRst- >adoEOF) {m_list.InsertItem(0,rs.m_sz_no); m_list.SetItemText(i,1,rs.m_sz_name); m_list.SetItemText(i,2,rs.m_sz_kind); sprintf(buf,"%f",rs.m_f_price);m_list.SetItemText(i,3,buf); m_list.SetItemText(i,4,rs.m_sz_detail); //移到下一条记录 pRst- >MoveNext();} picRs- >Release(); pRst- >Close();} catch(_com_error& e) {AfxMessageBox(e.ErrorMessage()); m_list.SetRedraw(TRUE); return;} m_list.SetRedraw(TRUE);} 在上面这段RefreshData 函数代码中,由于使用了ADO 2.0 for Visual C++ Extensions 所提供新特性Data Binding (数据 绑定)技术,因此代码显得比较简洁。 5.3 登录管理模块 在未登录时候,主对话框中按钮,除了登录,退出,协助, 关于等项,全是不可用。为了达到这一效果,在CRMSDlg:: OnInitDialog()中加入如下代码: GetDlgItem(IDC_BTN_UPDPWD)- >EnableWindow(FALSE); GetDlgItem(IDC_BTN_DC)- >EnableWindow(FALSE); GetDlgItem(IDC_BTN_JS)- >EnableWindow(FALSE); GetDlgItem(IDC_BTN_CP)- >EnableWindow(FALSE); GetDlgItem(IDC_BTN_VIEWDC)- >EnableWindow(FALSE); 若登录成功后,只需将FALSE 换成TRUE,则所有按钮都变 为可用。将进行登录验证SQL 代码加入到主对话框事件解决 函数CRMSDlg::OnBtnLogin()中,用来解决登录事务: sql_.Format ("SELECT 值班员FROM ZBY WHERE 值班员= '%s' AND 密码='%s'",dlg.m_name,dlg.m_pswd); 这里并没有取出值班员表中所有字段(值班员和密码),然 后把密码字段和顾客输入作比较来决定登录成功与否;而是只 取出了值班员名字(值班员),密码校验放在数据库服务器端进 行,这重要是基于安全考虑。如果没有的确需要,就尽量不从 数据库里取顾客密码这种敏感数据,以免产生安全漏洞,削弱系 统安全性。 修改密码某些解决代码和登录某些类似,只是不但要进行 旧密码验证,还要确认两次输入新密码一致,如旧密码错误 或两次输入新密码不一致则需要给出相应提示。此外还要利 用SQL 语句向数据库中写入新密码:sql_.Format ("Update ZBY SET 密码='% s' WHERE 值班员='% s'",dlg.m_newpswd,dlg. m_name);密码修改成功后则给出密码已修改成功提示。 5.4 点菜模块 在这个模块里可以依照顾客需要逐项输入菜谱中菜肴, 并可对已经做出选取进行删除和修改。待最后决定之后单击提 交按钮就会将成果保存到数据库中。点菜订菜操作一方面要在桌号 编辑框中输入桌号,然后在编号选取框中通过选取菜谱中编号 来选取菜肴。这样顾客只需说出所需菜肴在菜谱上编号,值班 员就可以不久地找到顾客所需要菜,而不必让顾客报出菜名, 提高服务效率,减少出错率。为了使编号选取框中包括所有菜 谱号,在CDlgDC::OnInitDialog()中应包括如下代码: try {_bstr_t strSQL("SELECT * FROMCP"); pRst = m_DBCnt- >Execute(strSQL,NULL,adCmdText); TESTHR (pRst - >QueryInterface (_uuidof (IADORecordBinding), (LPVOID*)&picRs)); TESTHR(picRs- >BindToRecordset(&rs)); int i = 0; cpmap.clear();// 清空cpmap while (!pRst- >adoEOF) {m_nos.AddString(rs.m_sz_no); //向cpmap 中添加一种[菜谱号- 菜名]映射 cpmap.insert (CPMap::value_type (string (rs.m_sz_no),string(rs. 24 m_sz_name))); pRst- >MoveNext();} picRs- >Release(); pRst- >Close();} catch(_com_error& e) {AfxMessageBox(e.ErrorMessage()); return TRUE;} 上面代码中cpmap 变量用于保存一组[菜谱号- 菜名]映 射,这样在顾客选中某一种菜谱编号是能迅速由编号找到相应 菜,而不用去读取数据库.值班员在编号选取框中选中一种编号 事件为CBN_CLOSEUP,这个事件解决函数为 CDlgDC::OnCloseupComboDcnos(): void CDlgDC::OnCloseupComboDcnos() {char buf[128]; m_nos.GetWindowText(buf,128); CPMap::const_iterator it = cpmap.find(string(buf)); if (it!=cpmap.end()) {string name = (*it).second; GetDlgItem(IDC_EDIT_DCNAME)- >SetWindowText(name.data()); }} cpmap 定义在DlgDC.cpp 开头: #pragma warning(disable:4786) #pragma warning(disable:4503) #include <map> #include <string> using namespace std; typedef map <string,string> CPMap; CPMap cpmap; 这里定义CPMap 类建立了一种从字符串到字符串映 射,就是从map 和string 模板类来,CPMap 是一种STL(Standard Template Library)类,而cpmap 则是CPMap 型全局变量。此外由 于使用了模板,会在类内部产生相称长类型名,从而在编译 时浮现C4787 警告,提示批示类型名长度超过255 个字符,因此 用“#pragma warning(disable:4786)”来关掉这个警告。 值班员在订餐模块中修改、删除和增长菜肴都不会对数据库 作修改,而是先在列表框控件m_list 中进行这些操作。只有在单 击提交按钮之后,才会向数据库中提交数据。每向数据库中加入 一条,就会自动清除列表框中相应输入。所有添加成功后,列表 框才会被所有清空。如果半途浮现错误,则停止添加。列表框中剩 下项就是没有成功添加项,值班员可对其进行修改后再进行 添加。这某些重要代码如下: try {TESTHR(pRst.CreateInstance(_uuidof(Recordset))); pRst- >Open("DC",_variant_t((IDispatch *) m_DBCnt,true), adOpenKeyset,adLockOptimistic,adCmdTable); //逐项读取,逐项提交 while (m_list.GetItemCount()>0) { m_list.GetItemText(0,0,rs.m_sz_desk,sizeof(rs.m_sz_desk)); m_list.GetItemText(0,1,rs.m_sz_no,sizeof(rs.m_sz_no)); m_list.GetItemText(0,2,rs.m_sz_name,sizeof(rs.m_sz_name)); rs.m_f_number=(float)atof(m_list.GetItemText(0,3)); m_list.GetItemText(0,4,rs.m_sz_date,sizeof(rs.m_sz_date)); COleSafeArray vaFieldlist,vaValuelist; rs.FillFieldsArray(vaFieldlist,vaValuelist); //提交一条菜谱记录 TESTHR(pRst- >AddNew(vaFieldlist,vaValuelist)); //从列表控件中删除已成功添加菜 m_list.DeleteItem(0);} pRst- >Close();} catch(_com_error& e) {AfxMessageBox(e.ErrorMessage()); return;} 在将数据添加到数据库后将显示操作完毕提示。 5.5 结算模块 开始结算时,将先浮现规定输入桌号和折扣率对话框,为 符合实际状况,需要在ClassWizard 里限制折扣率一项输入在 0.1- 1.0 之间。如未输入桌号就点击拟定,则会给出规定输入桌号 提示。下面是解决单击结算按钮事件函数: void CRMSDlg::OnBtnJs() {CDlgBeginJS dlg1; ShowWindow(SW_HIDE); dlg1.DoModal(); if (dlg1.m_desk.GetLength()>0) {CDlgJS dlg2; dlg2.Setup(m_DBCnt,dlg1.m_desk,dlg1.m_dz); dlg2.DoModal(); } else {MessageBox("请输入桌号!");} ShowWindow(SW_SHOW);} 在上面代码中,读取了桌号和折扣率信息之后,程序把 这两个信息传给一种CDlgJS 对话框对象,然后显示这个对话框。 程序读出指定桌号订餐信息,计算出总金额,并依照打折状况 计算出结算金额,这某些工作在OnInitDialog 中完毕: float CDlgJS::GetPrice(LPCTSTR no) {_RecordsetPtr pRst = NULL; IADORecordBinding *picRs = NULL;//Interface Pointer declared.( VC++ Extensions) CCPRs rs; rs.m_f_price = 0.0; CString sql_; sql_.Format("SELECT * FROMCP WHERE 编号='%s'",no); _bstr_t strSQL = sql_; pRst = m_DBCnt- >Execute(strSQL,NULL,adCmdText); if (pRst- >adoEOF) _com_issue_error(0x80000000); TESTHR(pRst - >QueryInterface (__uuidof(IADORecordBinding), (LPVOID*)&picRs)); TESTHR(picRs- >BindToRecordset(&rs)); picRs- >Release(); pRst- >Close(); return rs.m_f_price;} 结算完毕后单击保存帐单按钮,程序将在结算表中添加一条 记录,并删除已经结算过订菜信息。由于涉及到两个互有关联 操作,因此必要使用ADO 事务功能。在添加操作之前调用 Connection 对象BeginTrans 办法开始一种事务,在删除操作完 成之后调用CommitTrans 提交这个事务:如果其中某一步出错, 通过RollBackTrans 办法,数据库将保持原样。 解决单击保存帐单按钮事件函数: void CDlgJS::OnBtnJssave() {if (!UpdateData()) return; if (m_no.GetLength()==0) {MessageBox("请输入客户姓名!"); return;} _RecordsetPtr pRst = NULL; CJSRs rs; try {m_DBCnt- >BeginTrans();//开始事务 TESTHR(pRst.CreateInstance(__uuidof(Recordset))); pRst - >Open ("JS",_variant_t ((IDispatch *) m_DBCnt,true), adOpenKeyset,adLockOptimistic,adCmdTable);//打开结算表格 strcpy(rs.m_sz_no,m_no);//填写结算记录 strcpy(rs.m_sz_desk,m_desk); rs.m_f_dz = m_dz; rs.m_f_total = m_total; _tmstr(m_date,rs.m_sz_date); COleSafeArray vaFieldlist,vaValuelist; rs.FillFieldsArray(vaFieldlist,vaValuelist); //添加结算记录 TESTHR(pRst- >AddNew(vaFieldlist,vaValuelist)); pRst- >Close(); //删除订菜记录 CString sql_;( 下转第79 页) 25 网络地址转换一合同转换(NAT- PT)涉及两个构成某些:网络 地址转换合同和合同转换。其中地址转化是指通过使用NAT 网 关,将一种IP 网络地址转换为另一种IP 网络地址,它容许内 部网络使用一组在公网中从不使用保存地址。在使用这项技术 是可以将IPv6 网视为一种独立而封闭局域网,它需要使用一种 地址翻译器进行地址翻译。当内网主机向外发送数据包时,将 内部IP 地址转换为外部公网地址,当数据包从外部网络回 复数据包时,再将公网地址转换为内部网络地址。 合同转换是指依照IPv6 和IPv4 之间差别对数据包首部 做相应修改以符合对方网络格式规定,并且由于网络层合同 变化要对上层TCP、UDP、ICMP 等数据包做相应修改。将网 络地址转换机制与合同转换机制相结合而产生NAT- PT 可以 通过对合同、地址转换实现IPv6 和IPv4 之间互相通信。 2.4 基于MPLS 过渡技术 MPLS(Multiprotocol Label Switch)最初是用来提高路由器转 发速度而提出一种合同,但是由于MPLS 在流量工程和VPN 这 一在当前工网络中非常核心两项技术中突出体现,MPLS 己 日益成为扩大IP 网络规模重要原则。 MPLS 是一种使不同网络传播技术在同一种平台上统一起 来技术,它可以减少网络复杂度,并兼容主流网络技术,代 表了将来网络发展一种趋势。当前,使用MPLS 骨干网越来 越多,因而必要考虑如何在MPLS 上集成IPv6。由于MPLS 在网络 中,转发是依照标记进行,这就不需要数据层面支持IPv6 数 据转发,即不必核心网络软硬件升级,只需要边沿路由器具备 配备IPv6 能力即可。 运用既有MPLS 骨干网向IPv6 过渡,是将IPv4 升级过渡 到IPv6 一种重要途径,详细办法是,在CE 路由器上配备 IPv6 隧道、MPLS 电路IPv6 透明传播等。 MPLS 当前技术已经比较成熟,可以借助MPLSL2/L3VPN 技 术来连接IPv6 网络。在CE 路由器上配备隧道规定CE 路由器 支持双栈,CE 和PE 之间运营IPv4,CE 负责将IPv6 数据封装在 IPv4 中通过MPLS 传送到对端CE 路由器。MPLS 电路IPv6 透明传播将IPv6 数据包通过Any Transport OVER MPLS(MPLS/ AtoM)或Ethernet OVER MPLS(EToMPLS)来传递,路由器需要支持 AToM特性,相称L2VPN 于。在PE 路由器起用IPv6 是在PE 路由 器上提供双栈功能,IPv6 数据包被封装在二层标签里进行传送, 外层标签由LDP 来分发,内层标签由BGP4+来分发,相称于 L3VPN。Native IPv6 MPLS 是将IPv4 核心网络升级到IPv6,其 核心网控制平面需要升级到IPv6 以支持核心网IPv6 路由和 IPv6 LDP,如果需要提供IPv4 /IPv6 共存服务,则需要双控制 平面支持。 3 四种技术优缺陷比较 隧道技术其长处是不需要大量专用路由器设备和专用链 路,可以明显地减少投资。其缺陷是在IPv4 网络上配备隧道是一 个比较麻烦过程,特别是在隧道数目增长到一定限度时,因而, 采用隧道方案特别是手工隧道时一定要做好详细文档一记录。 IPv6 流量和原有IPv4 流量之间会争抢带宽和路由器资源 (CPU、缓冲和路由表),在IPv6 流量较小时,这个问题不是很明 显,但随着IPv6 流量增大这个问题将来会很突出,存在迂回路 由状况。这对于整个IPv4 网络性能来说,无疑是一种恶劣影 响。在IPv6 网络建设初期,其网络规模和业务量都较小,因而采 用这种连接方式是可行。 双合同栈长处是不需要购买专门IPv6 路由器和链路,节 省了硬件投资,核心IPv6 路由器之间采用专用本地链路,克服了 隧道方式许多缺陷。其缺陷是IPv6 流量和原4 IPv4 流量 争抢带宽和路由器资源,从而影响IPv4 网络性能,升级和维护 费用大,不符合从网络边沿开始演进方略。在IPv6 网络建设 初期,由于IPv6 地址相对充分,这种方案实行具备可行性。当 IPv6 网络发展到一定阶段,为每个节点分派两个全局地址方案 将很难实现。 NAT- PT 长处是所有地址转换和合同转换都在NAT- PT 服务器上完毕,而子网内部主机不需要做任何改动,就可以实 现两个不同子网之间互相访问。同样由于所有IP 数据包都 要在NAT- PT 服务器上做数据包修改,使得它们经常会破坏端 到端服务,这一点IPv4 和中NAT 类似。同步,翻译器还会导致 网络潜在单故障点。同步NAT- PT 实现起来比较复杂,牵涉到 如何简朴迅速地实现网络地址和端口分派和数据包迅速修改。 由于有大量数据包在NAT- PT 服务器上解决,因而NAT- PT 服 务器解决能力成为两个网络之间通信瓶颈。 基于MPLS IPv6 过渡技术其长处是具备MPLS 网络一 切长处,由于MPLS 支持约束路由流量工程,因而把IPv6 和IPv4 数据流当作不同流,从而在核心网络可减小IPv4/ IPv6 争抢 资源影响。当IPv6 核心网络达到一定规模,且其数据量足够 大时,就可以采用这种方案。 4 总结 IPv4 自身局限性注定了会最后过渡到以IPv6 为核心新 一代Internet,由于IPv6 可以满足下一世纪高性能、可扩展性 网络互联,并可以解决IPv4 合同中存在许多问题。但从IPv4 到 IPv6 过渡过程也一定会是漫长、艰难。迄今为止,还没有一种 普遍合用原则过渡机制,咱们只能因地制宜采用不同过渡 机制来应对不同过渡阶段和不同网络环境,合理使用各种 过渡机制,才干在从IPv4 到IPv6 转换中耗费最小代价。 参照文献: [1]李振强,赵晓宇,等.IPv6 技术揭密[M].北京:人民邮电出版 社,:120- 128. [2]张晓彤,晏国晨,等,译.理解IPv6[M].北京:清华大学出版社, :78- 80. ( 上接第25 页) sql_.Format ("DELETE FROM DC WHERE dc_desk ='% s'", m_desk); _bstr_t strSQL = sql_; m_DBCnt- >Execute(strSQL,NULL,adCmdText);//提交事务 m_DBCnt- >CommitTrans();} catch(_com_error& e) {AfxMessageBox(e.ErrorMessage()); m_DBCnt- >RollbackTrans(); return;} MessageBox("操作完毕!"); EndDialog(0);} 6 结束语 酒店管理系统是咱们常说MIS 一种,在强调管理,强调 信息当代社会中它越来越得到普及。酒店管理系统重要目的 是实现对酒店内部各种管理电子化和自动化,提高酒店办公 效率,为高质量酒店服务提供保证。 参照文献: [1] 马安鹏. Visual C++程序设计导学[M]. 清华大学出版社, .2. [2] 兰芸. Visual C++6.0 编程事例精解[M]. 北京但愿电子出版 社,.3. [3] 伍俊良. Visual C++课程设计与系统开发案例[M]. 清华大 学出版社,.6. [4] 王宏,李与东,李罡. Microsoft Visual C++实战演习[M]. 人 民邮电出版社,.2. [5] 李闽溟,吴继刚,周学明. Visual C++6.0 数据库系统开发 实例导航[M]. 人民邮电出版社,.10. 79__- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大酒店 标准 管理 系统 设计 实现
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文