数据库项目酒店管理系统Word下载.docx
- 文档编号:19647079
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:48
- 大小:517.71KB
数据库项目酒店管理系统Word下载.docx
《数据库项目酒店管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《数据库项目酒店管理系统Word下载.docx(48页珍藏版)》请在冰豆网上搜索。
项目名称所在位置
项目编号项目收费标准
项目实体ER图
年龄
姓名性别
顾客编号客户身份证号
级别电话
顾客实体ER图
位置
类型编号状态
客房号客房备注
客房实体ER图
收费标准
类型名称总量
类型编号类型剩余量
类型实体ER图
员工
n
隶属
1
部门
客房
分类
类型
员工号
顾客号
款项编号款项
应收款
款项实体ER图
折扣级别折扣
折扣实体ER图
开展
项目
入住
离开
m
时间
选择
住宿
顾客
预约
备注
折扣级别
实际收款
折扣情况
折扣
发生
打折
应付款项
全局ER图
3.逻辑结构设计
员工(员工号,姓名,性别,年龄,工资,部门号,职务,备注);
部门(部门号,名称,部门经理,办公地点,员工数量);
款项(款项编号,顾客号,员工号,时间,折扣级别,应收款,实际收款);
折扣(折扣级别,折扣情况);
项目(项目编号,项目名称,部门号,所在位置,收费标准);
选择(顾客号,项目号,发生时间,备注);
顾客(顾客编号,姓名,年龄,性别,身份证号,级别,备注);
客房(客房号,类型编号,位置,状态,备注);
类型(类型编号,类型名称,费用,总量,剩余量);
预约(顾客号,客房号,预约时间,备注)
住宿(顾客号,客房号,入住时间,离开时间);
员工表:
列名
数据类型
约束条件
Char(10)
主码
姓名
非空
Char
(2)
Int
工资
外码,参照部门表中的部
门号
Varchar(100)
部门表:
列名数据类型约束条件
名称
Char(20)
外码,参照员工表中的姓
名
办公地点
员工数量
大于等于0
款项表:
款项编号
外码,参照顾客表的顾客
号
外码,参照员工表的员工
Datetime
外码,参照折扣表的折扣
级别
Dec(6,2)
折扣表:
Dec(3,2)
项目表:
项目编号
项目名称
外码,参照部门表的部门
所在位置
选择表:
联合主码;
外码,参照顾
客表的顾客号
项目号
外码,参照项
发生时间
目表的项目编号
联合主码
顾客表:
顾客编号
身份证号
Char(18)
非空;
唯一
客房表:
客房号
类型编号
外码,参照类型表的类型
编号
非空,唯一
状态
Char(4)
类型表:
类型名称
费用
总量
剩余量
预约表:
外码,参照客
房表的客房号
预约时间
住宿表:
入住时间
离开时间
4.物理设计
员工会经常查询自己的工资,在员工表的(工资)创建索引;
顾客每次付款时都会要查询具体的折扣详情,在折扣表的(折扣详情)创建索引;
顾客选择项目时只会给出项目名称,所以需要经常查询项目名称,在项目表的(项目名称)创建索引;
每位顾客消费时会给出身份证,所以经常需要查询身份证对应的顾客号,在顾客表的(身份证号)创建索引;
顾客住宿时会给出自己想要的客房类型的名称,所以要经常
查询类型名称对应的类型号,在类型表的(类型名称)创建索引;
SQL语句
createuniqueindexidx_工资on员工(工资)
createuniqueindexidx_折扣详情on折扣(折扣详情)
createuniqueindexidx_项目名称on项目(项目名称)
createuniqueindexidx_身份证号on顾客(身份证号)
createuniqueindexidx_类型名称on类型(类型名称)
5.数据库实施
--创建数据库
createdatabase酒店管理系统
go
use酒店管理系统
--创建表
--创建部门表
createtable部门(
部门号char(10)primarykey,
名称char(10)notnull,
char(10),
intcheck(
员工数量>
=0),
)
--创建员工表
createtable员工(
员工号char(10)primarykey,
姓名char(10)notnull,
性别char
(2)notnull,
年龄int,
工资int,
部门号char(10),
职务char(10),
备注varchar(100),
foreignkey(
部门号)references
部门(部门号)
--创建顾客表
createtable顾客(
顾客号char(10)primarykey,
年龄char
(2),
身份证号char(18)notnullunique,
级别int,
备注varchar(100)
--创建类型表
createtable类型(
类型编号char(10)primarykey,
类型名称char(10)notnull,
费用dec(6,2)check(费用>
总量intcheck(
剩余量intcheck(
总量>
剩余量>
=0)
--创建客房表
createtable客房(
客房号char(10)primarykey,
类型编号char(10),
位置char(10)notnullunique,
状态char(4),
类型编号)references
类型(类型编号)
--折扣表
createtable
折扣(
折扣级别intprimarykey,
折扣详情dec(3,2)
--创建款项表
款项(
款项编号char(10)primarykey,
顾客号char(10),
员工号char(10),
时间datetime,
折扣级别int,
应收款dec(6,2)notnull,
实际收款dec(6,2)notnull,
顾客号)references
顾客(顾客号),
员工号)references
员工(员工号),
折扣级别)references
折扣(折扣级别)
--创建项目表
项目(
项目编号char(10)primarykey,
项目名称char(10)notnull,
所在位置char(10),
收费标准intcheck(收费标准>
--创建选择表
createtable选择(
项目号char(10),
发生时间datetime,
primarykey(foreignkey(foreignkey(
顾客号,项目号,发生时间),
顾客号)references顾客(顾客号),
项目号)references项目(项目编号)
--创建预约表
createtable预约(
客房号char(10),
预约时间datetime,
顾客号,客房号,预约时间),
客房号)references客房(客房号)
--创建住宿表
createtable住宿(
入住时间datetime,
离开时间datetime,
顾客号,客房号,入住时间),
6.数据库运行
添加部门数据:
('
bm001'
'
客房部'
吴庆宇'
B201'
20)
bm002'
餐饮部'
陈啸'
A103'
10)
bm003'
娱乐部'
胡展鹏'
A401'
添加员工数据:
yg1001'
男'
30,4000,'
部门经理'
'
yg1002'
徐博雅'
女'
26,2700,'
普通员工'
yg2001'
30,3500,'
yg2002'
穆标'
26,2000,'
学徒'
yg3001'
31,4000,'
yg3002'
戚倩倩'
25,3000,'
休假中'
添加顾客数据:
gk00001'
董炎鑫'
24,'
男'
320830199110241215'
3,'
gk00002'
李伦'
20,'
女'
34260199511134523'
1,'
gk00003'
杨德军'
31,'
140603198402016231'
gk00004'
张秀春'
41,'
320829197405104943'
2,'
添加类型数据:
lx001'
普通双人间'
130,50,20)
lx002'
网络单人间'
100,30,13)
lx003'
大床房'
150,50,36)
lx004'
豪华套间'
420,20,14)
添加客房数据:
kf001'
B101'
空闲'
kf002'
B102'
有客'
kf003'
kf004'
B305'
维修中'
kf005'
B404'
添加折扣数据:
(1,0.98)
(2,0.9)
(3,0.8)
添加项目数据:
xm001'
网吧'
A206'
3)
xm002'
KTV'
A501'
90)
xm003'
洗衣'
B105'
款项、选择、预约数据随业务的进行由员工添加
模拟业务
实例1:
新客户沈慧预约kf003号客房(沈慧,女,20岁,140100199510211546)
insertinto顾客
insertinto预约
update客房set
values(‘gk00005沈慧’’,20,’女’’140100199510211546,’’,1,)go’’
values(‘gk00005’,’kf003-12’-06,’’2015),’’
状态=’预约’where客房号=’kf003’
实例2:
员工徐博雅离职,删除其员工数据
deletefrom员工where姓名=’徐博雅’
实例3:
查询年龄小于等于30岁的男性顾客的姓名、身份证号
select姓名,身份证号
from顾客
where性别=’男’and年龄<
=30
实例4:
顾客李伦选择KTV项目(李伦,34260199511134523)
insertinto选择select顾客号,项目编号,'
2015-12-1'
from顾客,项目
where身份证号='
and项目名称='
select*
from选择
where顾客号=(select顾客号from顾客where身份证号='
and项目号=(select项目编号from项目where项目名称='
and发生时间='
实例5:
即实例4之后,李伦结账付款,由员工戚倩倩处理
insertinto款项select‘kx00001’,顾客号,员工号,'
折扣级别,收费标准,收费标准*折扣详情from顾客,项目,员工,折扣
and员工.姓名=’戚倩倩’and级别=折扣级别
from款项
where款项编号='
kx00001'
7.数据库安全性
①数据库管理员以Windows身份验证登录,不再另外创建登录名为员工、经理和顾客分别创建一个登录名,例如:
②为员工、经理和顾客分别创建一个用户,对应登录名,例如:
③授予权限
授予顾客,对项目表和类型表的查询权限
grantselecton项目to顾客
grantselecton类型to顾客
授予员工,对员工表的查、对款项表的增查、对选择表、顾客表、客房表、预约表、住宿表的增删改查、对类型表的改查权限
grantselecton员工to员工
grantinsert,selecton款项to员工
grantinsert,delete,update,selecton选择to员工
grantinsert,delete,update,selecton顾客to员工
grantinsert,delete,update,selecton客房to员工
grantinsert,delete,update,selecton预约to员工
grantinsert,delete,update,selecton住宿to员工
grantupdate,selecton类型to员工
授予经理,对员工表的增删改查、对部门表增删改查、对项目表的增删改查权限grantinsert,delete,update,selecton员工to经理grantinsert,delete,update,selecton部门to经理
grantinsert,delete,update,selecton项目to经理
8.数据库备份计划
每周日24点一次完整备份,每天24点一次差异备份,每两小时一次事务日志备份
首先执行一次完整备份,否则接下来到周日的数据无法进行备份:
在创建一个“清除维护”任务,删除时间超过一个月的备份文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 项目 酒店 管理 系统