系列文章

《数据库应用系统实践》------ 酒店客房管理系统


文章目录

  • 系列文章
  • 一、需求分析
    • 1、系统背景
    • 2、 系统功能结构(需包含功能结构框图和模块说明)
    • 3.系统功能简介
  • 二、概念模型设计
    • 1.基本要素(符号介绍说明)
    • 2.ER图
  • 三、逻辑模型设计
    • 1.ER模型向关系模型转换规则
    • 2.转换后的关系模型
    • 3.关系模型优化(达到3NF)
  • 四、物理设计
    • 1.创建数据库的SQL语句或截图
    • 2.创建所有表的SQL语句或截图(包含完整性约束)
  • 五、数据库实施
    • 1.粘贴所创建的数据库关系图
    • 2.数据录入
    • 3.数据处理
  • 六、数据库应用系统实现
    • 1.相关界面截图(对每一张截图进行一定的文字说明)
    • 2.和数据库连接的程序语句
    • 3.其它代码
  • 七、总结
    • 参考文献:
  • 八、源代码获取

一、需求分析

1、系统背景

为了方便酒店客房的管理,我设计了酒店客房管理系统来满足需求。

2、 系统功能结构(需包含功能结构框图和模块说明)

(1)功能结构图

(2)模块说明
系统分为员工、客房、客户三个大的模块
每个模块包含相应信息。

3.系统功能简介

可以对员工信息以及客房信息进行管理,员工可以查询相关信息。

二、概念模型设计

1.基本要素(符号介绍说明)

.基本要素(符号介绍说明)
① 矩形:表示实体。
② 椭圆形:表示属性,即实体的属性。
③ 菱形:表示联系。
④ 连线:该连线为没有方向的线段,分为连接实体与属性(矩形与椭圆形之间的连线)和连接实体与联系名(矩形与菱形之间的连线);实体与联系名的连线旁需标注联系的类型,如1:1、1:n、m:n。
注意:在联系类型标注时请按照约定俗成的方式标注,一对多使用1:n,多对多使用m:n,如果超过两个实体请采用m:n:p:q:

2.ER图

三、逻辑模型设计

1.ER模型向关系模型转换规则

① 实体转换为单独的关系模式。
② 一对一联系转换为关系模式有两种方法。一、将联系转换为单独的关系模式;二、将其中一个实体的之间加入到另外一个实体的关系模式中,作为外键。
③ 一对多联系转换为关系模式有两种方法。一、将联系转换为单独的关系模式;二、将n实体的主键合并到1实体的关系模式中,作为1实体关系模式的外键。

2.转换后的关系模型

员工(员工编号,姓名,性别,出生日期,联系方式)
客户(客户编号,姓名,性别,出生日期,身份证号,联系方式)
客房(客房编号,类型,状态,价格)
订单(订单编号,订房时间,押金,是否退房)
管理(员工编号,客房编号)员工编号引用为员工的外码,客房编号引用为客房的外码
住宿(客房编号,客户编号)客房编号引用为客房的外码,客户编号引用为客户的外码
登记 (员工编号,订单编号) 员工编号引用为员工的外码,订单编号引用为订单的外码
预定(订单编号,客户编号)订单编号引用为订单的外码,客户编号引用为客户的外码

3.关系模型优化(达到3NF)

以上要素都属于第三范式

四、物理设计

1.创建数据库的SQL语句或截图

CREATE DATABASE 酒店客房管理系统
ON PRIMARY
(NAME=YAN,
FILENAME='E:\SQLDate\酒店客房管理系统.mdf',
SIZE=5MB,
MAXSIZE=UNLIMITED)
LOG ON
(NAME=YAN_log,
FILENAME='E:\SQLDate\酒店客房管理系统_log.ldf',
SIZE=3MB,
MAXSIZE=UNLIMITED)

2.创建所有表的SQL语句或截图(包含完整性约束)

CREATE TABLE 员工表
(Sno CHAR(10)  PRIMARY KEY,Sname  CHAR(10) NOT NULL,Ssex CHAR(2) ,Sage TINYINT,Sphone CHAR(20))CREATE TABLE 客户表
(Cno CHAR(10)  PRIMARY KEY,
Cname CHAR(10) NOT NULL,Csex CHAR(2) ,Cage TINYINT,
Cidcard CHAR(18) NOT NULL,
Cphone CHAR(20))CREATE TABLE 客房表
(Rno CHAR(10)  PRIMARY KEY,Rtype CHAR(10) NOT NULL,
Rsta CHAR(2) DEFAULT 0,
Rprice CHAR(5))CREATE TABLE 订单表
(Ono CHAR(10) PRIMARY KEY,Otime SMALLDATETIME,
Omoney INT,
Oout CHAR(2) DEFAULT 0)CREATE TABLE 管理表
(Sno CHAR(10)  ,Rno CHAR(10)  PRIMARY KEY(Sno,Rno),foreign key(Sno)references 员工表(Sno),foreign key(Rno)references 客房表(Rno)
)CREATE TABLE 住宿表
(Rno CHAR(10) ,
Cno CHAR(10) PRIMARY KEY(Cno,Rno),
foreign key(Cno)references 客户表(Cno),foreign key(Rno)references 客房表(Rno)
)CREATE TABLE 登记表
(Sno CHAR(10) ,
Ono CHAR(10) PRIMARY KEY(Sno,Ono),
foreign key(Sno)references  员工表(Sno),foreign key(Ono)references 订单表(Ono)
)CREATE TABLE 预定表
(Ono CHAR(10),
Cno CHAR(10)PRIMARY KEY(Cno,Ono),
foreign key(Cno)references  客户表(Cno),foreign key(Ono)references 订单表(Ono)
)

五、数据库实施

1.粘贴所创建的数据库关系图

2.数据录入

insert 员工表 values('001','王杰','男','23','13022334455')
insert 员工表 values('002','程梦','男','25','15221158266')
insert 员工表 values('003','周宇轩','女','20','13669078243')
insert 员工表 values('004','张林','男','30','15000963321')
insert 员工表 values('005','冯晓','女','27','13177895426')
insert 员工表 values('006','宋佳','女','27','18025646577')insert 客户表 values('150401','韩宏锵','男','26','50023219901136949','15888990013')
insert 客户表 values('150531','王晓娟','女','29','65282199608234577','13262222453')
insert 客户表 values('150501','刘德华','男','26','332885199302086785','13155673245')
insert 客户表 values('150661','蒋玉荣','女','30','500232199006014321','18099764531')
insert 客户表 values('150791','朱珠','女','33','458900199412037655','15251128265')
insert 客户表 values('160101','李飞','男','42','328160199012256643','13000131003')insert 客房表 values('1101','豪华大床房','0','628')
insert 客房表 values('1102','标准单人间','1','258')
insert 客房表 values('1103','商务间','0','328')
insert 客房表 values('1104','单人大床房','1','298')
insert 客房表 values('1105','双人双床房','1','358')
insert 客房表 values('1106','豪华大床房','0','628')
insert 客房表 values('1107','双人双床房','1','358')
insert 客房表 values('2101','标准单人间','0','258')
insert 客房表 values('2102','商务间','1','425')
insert 客房表 values('2103','标准单人间','0','258')insert  订单表 values('01001','2015-2-3 15:24','100','1')
insert  订单表 values('01002','2015-2-4 12:03','100','0')
insert  订单表 values('01003','2015-2-5 02:02','100','0')
insert  订单表 values('01004','2015-2-6 08:20','100','1')
insert  订单表 values('01005','2015-2-7 21:13','100','0')
insert  订单表 values('01006','2015-2-8 20:00','100','0')
insert  订单表 values('01007','2015-2-8 20:00','100','0')
insert  订单表 values('01008','2015-2-8 20:00','100','0')
insert  订单表 values('01009','2015-2-8 20:00','100','0')insert  管理表 values('001','1101')
insert  管理表 values('002','1102')
insert  管理表 values('003','1103')
insert  管理表 values('004','1104')
insert  管理表 values('005','1105')
insert  管理表 values('006','1106')insert  住宿表 values('1101','150401')
insert  住宿表 values('1102','150531')
insert  住宿表 values('1103','150501')
insert  住宿表 values('1104','150661')
insert  住宿表 values('1105','150791')
insert  住宿表 values('1106','160101')insert  登记表 values('001','01001')
insert  登记表 values('002','01002')
insert  登记表 values('003','01003')
insert  登记表 values('004','01004')
insert  登记表 values('005','01005')
insert  登记表 values('006','01006')
insert  预定表 values('01001','150401')
insert  预定表 values('01002','150531')
insert  预定表 values('01003','150501')
insert  预定表 values('01004','150661')
insert  预定表 values('01005','150791')
insert  预定表 values('01006','160101')

3.数据处理

(1)至少包括2张表的等值连接;

(2)创建视图;

(3)编写包含子查询的SQL语句;

(4)有修改语句;

(5)有删除语句;

(6)有包含聚集函数;

(7)有记录过滤,条件过滤语句;

(8)有修改表结构的SQL语句;

(9)用T-SQL语句写出一个对数据表处理的人机交互程序;

(10)编写一个触发器;

六、数据库应用系统实现

1.相关界面截图(对每一张截图进行一定的文字说明)

**顾客登录:(预定表,简单的查询操作)
账号:01001
密码:150401 **

信息查询



客户登录(管理表进行登录)
账号:001
密码:1101


信息查询:

信息修改:

数据增加:

数据修改:

数据删除:

2.和数据库连接的程序语句

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=酒店客房管理系统";String userName = "sa";String userPwd = "1";

3.其它代码

     s.close();con.close();} catch (Exception e1) {e1.printStackTrace();}}if (jr3.isSelected())// 顾客登录{String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=酒店客房管理系统";String userName = "sa";String userPwd = "1";userId = null; // 顾客的账号try {Class.forName(driverName);} catch (Exception e1) {e1.printStackTrace();}try {Connection con = DriverManager.getConnection(dbURL, userName, userPwd);Statement s = con.createStatement();String r1 = "select * from 管理表  where Sno=? and Rno=?";PreparedStatement P = con.prepareStatement(r1);P.setString(1, jtf1.getText());P.setString(2, jtf2.getText());ResultSet rs = P.executeQuery();if (rs.next()) {userId = rs.getString("Sno").trim();new Custom(userId);jfrm.setVisible(false);}else {JOptionPane.showMessageDialog(null, "Sno或Rno不正确!");}s.close();con.close();} catch (Exception e1) {e1.printStackTrace();}}}else if (e.getSource() == jb2) {System.exit(0);}}public static void main(String[] args) {new Log();}
}

七、总结

(可选,200字左右的小结,包括
(1)完成情况和不足之处
(2)心得体会
(3)建议)

我的设计题目是设计一个小型客房管理系统,在前期的考察和分析之后,对系统进行了设计,经过对系统进行可行性分析、需求分析、概要设计、代码编写。现已基本满足了小型酒店客房用户的需求,实现了系统的基本功能,基本达到了系统初定的设计目标。当然,在该系统里存在很多是需要改进与扩充的。本人将会在日后进一步的优化该系统,使其功能更强大,性能更好。
通过这些日子以来对“客房管理系统”的研究与设计,不但使我的系统设计和软件代码的能力得到了提高,也使我各方面的素质的到了提升,更使我意识到了自身的很多不足之处。
希望可以提供更多的的实训机会,从而可以锻炼我们的实践能力。
对于信息的删除和修改只能局限于已添加的信息上,对于原来表中的数据因为存在键值之间的约束关系,所以不能成功操纵。

参考文献:

[1]周星, 魏应彬, 云敏. JSP、JDBC与Web数据库[J]. 计算机应用, 2001(z1):2.
[2]王珊, 陈红. 数据库系统原理教程[M]. 清华大学出版社, 1998.
[3]赵丽萍, 严海帆. 用VB实现ILAS书目数据库到SQLServer数据库的转化[J]. 数据分析与知识发现, 2000, 000(0z1):24-26.

八、源代码获取

本次的分享就到这里啦,创作不易,感谢点赞收藏

《数据库应用系统实践》------ 酒店客房管理系统相关推荐

  1. 《数据库应用系统实践》------ 超市管理系统

    系列文章 <数据库应用系统实践>------ 超市管理系统 文章目录 系列文章 一.需求分析 1.系统背景 2. 系统功能结构(需包含功能结构框图和模块说明) 3.系统功能简介 二.概念模 ...

  2. 基于 SpringBoot+Vue+Java 实现酒店客房管理系统

    文章目录 一.前言介绍 二.系统结构 三.系统详细实现 3.1用户信息管理 3.2会员信息管理 3.3客房信息管理 3.4收藏客房管理 3.5用户入住管理 3.6客房清扫管理 四.部分核心代码 源码下 ...

  3. 基于Java+SQLServer2017实现(Web)酒店客房管理系统【100010327】

    酒店客房管理系统 一. 概述 1.1.数据库课程设计题目 此次程序设计选题为酒店客房管理系统. 1.2.项目背景 随着社会的发展,普通人工酒店客房管理已经难以适应.酒店需要一个信息管理系统对旅客住宿情 ...

  4. SpringBoot+Vue实现酒店客房管理系统

    文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclip ...

  5. 基于SSH开发酒店客房管理系统+论文+任务书+PPT 课程设计 毕业设计

    基于SSH开发酒店客房管理系统+论文+任务书+PPT(大作业/毕业设计) 开发环境: Windows操作系统 开发工具:Myeclipse+Jdk+Tomcat+Mysql数据库 运行效果图:   基 ...

  6. (精品)基于Web的酒店客房管理系统的设计与实现毕业论文+开题报告+项目源码(SSM)及数据库+查重报告

     源码获取:我的博客资源页面可以下载!!!! 项目名称 (精品)基于Web的酒店客房管理系统的设计与实现毕业论文+开题报告+项目源码(SSM)及数据库+查重报告 视频介绍 (精品)基于Web的酒店客房 ...

  7. 计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署

    计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署 计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署 本源码技术栈 ...

  8. 计算机毕业设计asp.net酒店客房管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目

    一.源码特点         ASP.NET C# 酒店客房管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发,开发环境为vs2010,数据库为sqls ...

  9. 【013】基于Vue的酒店客房管理系统(含管理员、普通用户两种身份(附源码数据库、课设报告)

    这里写目录标题 一.系统详细介绍 二.系统部分设计思路 三.项目获取 一.系统详细介绍 前言: 这次带来的是基于Nodejs+Vue+Mysql的酒店客房管理系统,含非常非常详细的课设报告,觉得物超所 ...

最新文章

  1. redis setnx 过期时间_阿里面试官:你确定你用过 Redis 分布式锁吗?
  2. 该功能仅支持Android5.0,Android 5.0 android:elevation适用于View,但不适用于Button?
  3. 细述:nginx http内核模块提供的变量和解释
  4. c++如何获取文件时间_如何在Windows 10上获取文件或文件夹的所有权
  5. 基于matlab的频域辨识,基于Lab VIEW的控制系统频域分析研究
  6. 参与势力战是不可多得的zhajinhua2012
  7. linux强制关机启动后是白屏,解决安装Ubuntu后,启动出现屏幕空白(全黑,无内容)...
  8. 【ClickHouse】Hangout with ClickHouse
  9. 每日一题20180401-Linux
  10. 15款顶级开源人工智能工具推荐
  11. 天天Android: (EditText明文、密文切换)
  12. 计算机的基本数据结构与算法分析,数据结构与算法分析
  13. sap系统webservice接口开发
  14. 数据库系统概论练习4
  15. [node]request+watch开发自测的懒人神器
  16. java 导入excel 日期格式转换
  17. GitHub代码托管
  18. 初中数学题目(勾股定理)
  19. .\output\stm32f103.axf: Error: L6218E: Undefined symbol __aeabi_assert (referred from mqtt.o).
  20. 迅为RK3568开发板Linux_NVR_SDK系统开发-查看NPU/GPU/CPU频率使用率

热门文章

  1. java分布式架构-iBase4J
  2. Axure课程设计-漫画APP界面/UI设计(免费分享.rp文件学习)
  3. 多页pdf合并成一个的操作方法
  4. JS上传文件(base64字符串和二进制文件流)
  5. Python进阶编程问题集
  6. antv-x6 vue流程图编辑器demo
  7. 未来的趋势————以ChatGPT为标杆的AI对生活的影响是巨大的
  8. 电子科技大学《图论及其应用》复习总结---第二章 树
  9. 全连接神经网络的BP算法(BP神经网络模型)与卷积神经网络的BP算法
  10. EJB_开发EJB容器模型的WEB服务