GitHub Viewer
-- 建立hotelbook数据库
CREATE SCHEMA `hotelbook` DEFAULT CHARACTER SET utf8 ;
-- 建立登录表
CREATE TABLE `hotelbook`.`login` (
`loginId` INT NOT NULL AUTO_INCREMENT COMMENT '登录内部标示,主键、自动增长。',
`loginName` VARCHAR(45) NOT NULL COMMENT '登录用户名,前台唯一性的标识。不能重复。',
`loginPwd` VARCHAR(45) NOT NULL COMMENT '登录用户的密码,不能为空。',
`loginNickName` VARCHAR(45) NULL COMMENT '登录用户的昵称' ,
`loginAdmin` INT NULL COMMENT '权限,默认最高权限是0',
PRIMARY KEY (`loginId`),
UNIQUE INDEX `loginName_UNIQUE` (`loginName` ASC));
-- 为login表插入默认的管理员用户
INSERT INTO `hotelbook`.`login` (`loginName`,`loginPwd`,`loginNickName`,`loginAdmin`) VALUE ("root","eySvyLyA5UjWbE5/9yFxxQ==","管理员",0);
-- 建立日志表
CREATE TABLE `hotelbook`.`logInfo` (
`logId` INT NOT NULL AUTO_INCREMENT COMMENT '日志,主键、自动增长。',
`logName` VARCHAR(45) NOT NULL COMMENT '日志项目',
`loginId` INT NOT NULL COMMENT '用户 外键 login表字段值',
`loginName` VARCHAR(45) NULL COMMENT '用户名称',
`logDate` VARCHAR(45) NULL COMMENT '日志时间' ,
PRIMARY KEY (`logId`),
CONSTRAINT `fk_logInfo_1`
FOREIGN KEY (`loginId`)
REFERENCES `hotelbook`.`login` (`loginId`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
-- 创建主体数据表
-- 核心数据库内容
-- 将不使用存储过程,仅仅用到外键/外联
-- 数据维护主要依靠后端维护
-- 楼层信息
CREATE TABLE `hotelbook`.`floorInfo` (
`floorId` INT NOT NULL AUTO_INCREMENT COMMENT '楼层编号',
`floorName` VARCHAR(45) NULL COMMENT '楼层名称',
PRIMARY KEY (`floorId`));
-- 客房类型
CREATE TABLE `hotelbook`.`roomType` (
`typeId` VARCHAR(45) NOT NULL COMMENT '类型编号',
`typeName` VARCHAR(45) NULL COMMENT '类型名称',
`price` VARCHAR(20) NULL COMMENT '价格',
`splicPrice` VARCHAR(20) NULL COMMENT '拼房价格',
`exceedance` INT NULL COMMENT '可超预定数',
`isSplice` VARCHAR(10) NULL COMMENT '是否可拼房',
PRIMARY KEY (`typeId`));
-- 客房信息
CREATE TABLE `hotelbook`.`roomInfo` (
`roomId` VARCHAR(45) NOT NULL COMMENT '客房编号',
`typeId` VARCHAR(45) NOT NULL COMMENT '类型编号',
`floorId` INT NOT NULL COMMENT '楼层编号',
`ratedNum` INT NULL COMMENT '额定人数',
`bedNum` INT NULL COMMENT '床数',
`roomDescription` VARCHAR(45) NULL COMMENT '客房描述',
`remark` VARCHAR(100) NULL COMMENT '备注',
`status` VARCHAR(10) NULL COMMENT '状态',
`isSplice` VARCHAR(10) NULL COMMENT '是否可拼房',
PRIMARY KEY (`roomId`),
INDEX `fk_roomInfo_1_idx` (`typeId` ASC),
INDEX `fk_roomInfo_2_idx` (`floorId` ASC),
CONSTRAINT `fk_roomInfo_1`
FOREIGN KEY (`typeId`)
REFERENCES `hotelbook`.`roomType` (`typeId`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_roomInfo_2`
FOREIGN KEY (`floorId`)
REFERENCES `hotelbook`.`floorInfo` (`floorId`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
-- 预订单
CREATE TABLE `hotelbook`.`orderInfo` (
`orderId` VARCHAR(45) NOT NULL COMMENT '预定单号',
`orderName` VARCHAR(45) NULL COMMENT '预定人',
`orderPhone` VARCHAR(45) NULL COMMENT '联系电话',
`orderIDcard` VARCHAR(18) NULL COMMENT '身份证号',
`typeId` VARCHAR(45) NOT NULL COMMENT '客房类型',
`arrireDate` VARCHAR(45) NULL COMMENT '抵店时间',
`leaveDate` VARCHAR(45) NULL COMMENT '离店时间',
`orderState` VARCHAR(20) NULL COMMENT '单据状态',
`checkNum` VARCHAR(45) NULL COMMENT '入住人数',
`roomId` VARCHAR(45) NULL COMMENT '客房编号',
`price` VARCHAR(20) NULL COMMENT '客房价格',
`checkPrice` VARCHAR(20) NULL COMMENT '入住价格',
`discount` INT NULL COMMENT '折扣',
`discountReason` VARCHAR(60) NULL COMMENT '折扣原因',
`addBed` VARCHAR(10) NULL COMMENT '是否加床',
`addBedPrice` VARCHAR(20) NULL COMMENT '加床价格',
`orderMoney` VARCHAR(20) NULL COMMENT '预收款',
`remark` VARCHAR(500) NULL COMMENT '备注',
`operatorId` VARCHAR(45) NULL COMMENT '操作员',
PRIMARY KEY (`orderId`),
INDEX `fk_orderInfo_1_idx` (`typeId` ASC),
CONSTRAINT `fk_orderInfo_1`
FOREIGN KEY (`typeId`)
REFERENCES `hotelbook`.`roomType` (`typeId`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
-- 入住单
CREATE TABLE `hotelbook`.`checkInInfo` (
`checkId` VARCHAR(45) NOT NULL COMMENT '入住单号',
`orderId` VARCHAR(45) NULL COMMENT '预定单号',
`checkName` VARCHAR(45) NULL COMMENT '入住人',
`checkPhone` VARCHAR(45) NULL COMMENT '联系电话',
`checkIDcard` VARCHAR(18) NULL COMMENT '身份证号',
`typeId` VARCHAR(45) NOT NULL COMMENT '客房类型',
`arrireTime` VARCHAR(45) NULL COMMENT '抵店时间',
`leaveTime` VARCHAR(45) NULL COMMENT '离店时间',
`checkState` VARCHAR(20) NULL COMMENT '单据状态',
`checkNum` INT NULL COMMENT '入住人数',
`roomId` VARCHAR(45) NOT NULL COMMENT '客房编号',
`price` VARCHAR(20) NULL COMMENT '客房价格',
`checkPrice` VARCHAR(20) NULL COMMENT '入住价格',
`discount` INT NULL COMMENT '折扣',
`discountReason` VARCHAR(60) NULL COMMENT '折扣原因',
`addBed` VARCHAR(10) NULL COMMENT '是否加床',
`addBedPrice` VARCHAR(20) NULL COMMENT '加床价格',
`orderMoney` VARCHAR(20) NULL COMMENT '预收款',
`money` VARCHAR(20) NULL COMMENT '应收账款',
`isCheck` VARCHAR(10) NULL COMMENT '是否结账',
`checkMoney` VARCHAR(20) NULL COMMENT '结账金额',
`checkDate` VARCHAR(45) NULL COMMENT '结账日期',
`remark` VARCHAR(500) NULL COMMENT '备注',
`operatorId` VARCHAR(45) NULL COMMENT '操作员',
PRIMARY KEY (`checkId`),
INDEX `fk_checkInfo_1_idx` (`typeId` ASC),
INDEX `fk_checkInfo_2_idx` (`roomId` ASC),
CONSTRAINT `fk_checkInfo_1`
FOREIGN KEY (`typeId`)
REFERENCES `hotelbook`.`roomType` (`typeId`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_checkInfo_2`
FOREIGN KEY (`roomId`)
REFERENCES `hotelbook`.`roomInfo` (`roomId`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
-- 账单明细
CREATE TABLE `hotelbook`.`billInfo` (
`billId` INT NOT NULL COMMENT '账单编号',
`checkId` VARCHAR(45) NOT NULL COMMENT '入住单号',
`costMoney` VARCHAR(20) NULL COMMENT '消费金额',
`costDate` VARCHAR(45) NULL COMMENT '消费时间',
`remark` VARCHAR(100) NULL COMMENT '备注',
PRIMARY KEY (`billId`),
INDEX `fk_billInfo_1_idx` (`checkId` ASC),
CONSTRAINT `fk_billInfo_1`
FOREIGN KEY (`checkId`)
REFERENCES `hotelbook`.`checkInInfo` (`checkId`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
-- 权限管理
CREATE TABLE `hotelbook`.`authInfo` (
`authId` INT NOT NULL AUTO_INCREMENT COMMENT '权限编号',
`authItem` VARCHAR(45) NULL COMMENT '权限项',
`isRead` VARCHAR(45) NULL COMMENT '可读',
`isWrite` VARCHAR(45) NULL COMMENT '可写',
`isChange` VARCHAR(45) NULL COMMENT '可改',
`isDelete` VARCHAR(45) NULL COMMENT '可删',
PRIMARY KEY (`authId`));