赞
踩
1.运行环境:win11;
2.MySQL可视化工具:navicat;
3.数据库:MySql 5.7/8.0等版本均可;
有400个车位(带编号)的停车场位于某地铁站旁边,不能超量停车,计费停车,第一个小时计费2元,后每小时1元,不足1小时的按1小时计。
停车场收费管理系统主要完成但不限于以下功能:
其中:
车库(车位号,总车位数,剩余车位数,工号)
操作员(工号,姓名,性别,年龄)
停车卡(停车卡号,类型,余额,工号)
车辆(车牌号,进场时间, 停车卡号)
停车记录(订单编号,入库时间,出库时间,停车时间,费用,车牌号)
下划线为主键,红色字为外键;
字段 | 数据类型 | 长度 | 备注 | |
车位号 | varchar | 50 | 主键 | |
总车位数 | int | 5 | ||
剩余车位数 | int | 5 | Not null | |
工号 | varchar | 50 | 外键 |
字段 | 数据类型 | 长度 | 备注 | |
工号 | varchar | 50 | 主键 | |
姓名 | varchar | 50 | Not null | |
性别 | varchar | 50 | ||
年龄 | int | 5 |
字段 | 数据类型 | 长度 | 备注 | |
车牌号 | varchar | 50 | 主键 | |
进场时间 | date | Not null | ||
停车卡号 | varchar | 50 | 外键 |
字段 | 数据类型 | 长度 | 备注 | |
停车卡号 | varchar | 50 | 主键 | |
类型 | varchar | 10 | Not null | |
余额 | float | 10 | ||
工号 | varchar | 50 | 外键 |
字段 | 数据类型 | 长度 | 备注 | |
订单编号 | varchar | 50 | 主键 | |
入库时间 | date | Not null | ||
出库时间 | date | Not null | ||
停车时间 | int | 8 | ||
费用 | varchar | 20 | ||
车牌号 | varchar | 20 | 外键 |
- Create database 车库停车收费管理系统 character set utf8 collate utf8_general_ci
-
- use 车库停车收费管理系统 //在新建查询选择前选择数据库
- CREATE TABLE 操作员 (
- 工号 VARCHAR(50) NOT NULL PRIMARY KEY,
- 姓名 VARCHAR(50) NOT NULL,
- 性别 VARCHAR(50) NOT NULL,
- 年龄 INT NOT NULL
- );
- CREATE TABLE 车库 (
- 车位号 VARCHAR(50) NOT NULL PRIMARY KEY,
- 总车位数 INT NOT NULL,
- 剩余车位数 INT NOT NULL,
- 工号 VARCHAR(50),
- FOREIGN KEY (工号) REFERENCES 操作员(工号)
- );
- CREATE TABLE 停车卡 (
- 停车卡号 VARCHAR(50),
- 类型 VARCHAR(10),
- 余额 FLOAT(8),
- 工号 VARCHAR(50),
- PRIMARY KEY (停车卡号),
- FOREIGN KEY (工号) REFERENCES 操作员(工号)
- );
- CREATE TABLE 车辆 (
- 车牌号 VARCHAR(20) NOT NULL PRIMARY KEY,
- 进场时间 DATETIME NOT NULL,
- 停车卡号 VARCHAR(50) NOT NULL,
- FOREIGN KEY (停车卡号) REFERENCES 停车卡(停车卡号)
- );
- CREATE TABLE 停车记录 (
- 订单编号 VARCHAR(50),
- 入库时间 DATETIME,
- 出库时间 DATETIME,
- 停车时间 INT(8),
- 费用 VARCHAR(20),
- 车牌号 VARCHAR(20),
- PRIMARY KEY (订单编号),
- FOREIGN KEY (车牌号) REFERENCES 车辆(车牌号)
- );
INSERT INTO 操作员 VALUES ('Y001', '张三', '男', '28');
- INSERT INTO 车库 VALUES (1, 400, 43, 'Y001');
- INSERT INTO 车库 VALUES (2, 400, 45, 'Y001');
- INSERT INTO 车库 VALUES (3, 400, 42, 'Y001');
- INSERT INTO 车库 VALUES (4, 400, 46, 'Y001');
- INSERT INTO 车库 VALUES (5, 400, 44, 'Y001');
- INSERT INTO 车库 VALUES (6, 400, 41, 'Y001');
- INSERT INTO 车库 VALUES (7, 400, 49, 'Y001');
- INSERT INTO 车库 VALUES (8, 400, 39, 'Y001');
- INSERT INTO 车库 VALUES (9, 400, 48, 'Y001');
- INSERT INTO 车库 VALUES (10, 400, 47, 'Y001');
- INSERT INTO 停车卡 VALUES ('T1001', '月租卡', 500, 'Y001');
- INSERT INTO 停车卡 VALUES ('T1002', '特种免费卡', 200, 'Y001');
- INSERT INTO 停车卡 VALUES ('T1003', '储值卡', 300, 'Y001');
- INSERT INTO 停车卡 VALUES ('T1004', '临时卡', 120, 'Y001');
- INSERT INTO 停车卡 VALUES ('T1005', '临时卡', 80, 'Y001');
- INSERT INTO 停车卡 VALUES ('T1006', '特种免费卡', 400, 'Y001');
- INSERT INTO 停车卡 VALUES ('T1007', '月租卡', 200, 'Y001');
- INSERT INTO 停车卡 VALUES ('T1008', '临时卡', 60, 'Y001');
- INSERT INTO 停车卡 VALUES ('T1009', '储值卡', 700, 'Y001');
- INSERT INTO 停车卡 VALUES ('T1010', '临时卡', 100, 'Y001');
- INSERT INTO 车辆 VALUES ('粤A123456', '2023-05-26 08:00:00', 'T1001');
- INSERT INTO 车辆 VALUES ('川A23456', '2023-05-25 09:00:00', 'T1002');
- INSERT INTO 车辆 VALUES ('川G34567', '2023-05-26 10:00:00', 'T1003');
- INSERT INTO 车辆 VALUES ('川J45678', '2023-05-24 11:00:00', 'T1004');
- INSERT INTO 车辆 VALUES ('川A56789', '2023-05-24 08:00:00', 'T1005');
- INSERT INTO 车辆 VALUES ('川S67890', '2023-05-26 13:00:00', 'T1006');
- INSERT INTO 车辆 VALUES ('川A78901', '2023-05-26 14:00:00', 'T1007');
- INSERT INTO 车辆 VALUES ('川S89012', '2023-05-27 15:00:00', 'T1008');
- INSERT INTO 车辆 VALUES ('川A90123', '2023-05-27 16:00:00', 'T1009');
- INSERT INTO 车辆 VALUES ('鲁A01234', '2023-05-25 17:00:00', 'T1010');
- INSERT INTO 停车记录 VALUES ('202305260801', '2023-05-26 08:00:00', '2023-05-26 10:00:00', 2, '3', '粤A123456');
- INSERT INTO 停车记录 VALUES ('202305270902', '2023-05-25 09:00:00', '2023-05-26 11:00:00', 26, '27', '川A23456');
- INSERT INTO 停车记录 VALUES ('202305261003', '2023-05-26 10:00:00', '2023-05-26 12:00:00', 2, '3', '川G34567');
- INSERT INTO 停车记录 VALUES ('202305241104', '2023-05-24 11:00:00', '2023-05-24 15:00:00', 4, '5', '川J45678');
- INSERT INTO 停车记录 VALUES ('202305240805', '2023-05-24 08:00:00', '2023-05-24 09:00:00', 1, '2', '川A56789');
- INSERT INTO 停车记录 VALUES ('202305260806', ' 2023-05-26 13:00:00', ' 2023-05-26 20:00:00', 7, '8', '川S67890');
- INSERT INTO 停车记录 VALUES ('202305260807', ' 2023-05-26 14:00:00', ' 2023-05-26 20:00:00', 6, '7', '川A78901');
- INSERT INTO 停车记录 VALUES ('202305270808', '2023-05-27 15:00:00', '2023-05-27 20:00:00', 5, '6', '川S89012');
- INSERT INTO 停车记录 VALUES ('202305270809', '2023-05-27 16:00:00', '2023-05-27 20:00:00', 4, '5', '川A90123');
- INSERT INTO 停车记录 VALUES ('202305250810', '2023-05-25 17:00:00', '2023-05-25 21:00:00', 4, '5', '鲁A01234');
- CREATE TRIGGER 自动发放停车卡
- AFTER INSERT ON 车辆
- FOR EACH ROW
- BEGIN
- INSERT INTO 停车卡 (停车卡号, 类型, 余额, 工号) VALUES (NEW.车牌号, '临时卡', 0, 'Y001');
- END;
INSERT INTO 车辆 VALUES ('川G01234', '2023-05-30 17:00:00', 'T1011');
- CREATE TRIGGER 车位更新
- AFTER DELETE ON 车辆
- FOR EACH ROW
- UPDATE 车库 SET 剩余车位数 = 剩余车位数 + 1 WHERE 车位号 = '1';
- -- 因为外键约束所以要先删除停车记录
- DELETE FROM 停车记录 WHERE 车牌号 = '粤A123456';
- DELETE FROM 车辆 WHERE 车牌号 = '粤A123456';
- AFTER UPDATE ON 车辆
- FOR EACH ROW
- BEGIN
- UPDATE 停车记录 SET 入库时间 = NEW.进场时间
- WHERE 车牌号 = NEW.车牌号;
- END;
UPDATE 车辆 SET 进场时间 = '2023-05-26 08:35:10' WHERE 车牌号 = '粤A123456';
- CREATE TRIGGER 更新余额
- AFTER INSERT ON 停车记录
- FOR EACH ROW
- BEGIN
- UPDATE 停车卡 SET 余额 = 余额 - NEW.费用 WHERE 停车卡号 = (SELECT 停车卡号 FROM 车辆 WHERE 车牌号 = NEW.车牌号);
- END;
INSERT INTO 停车记录 VALUES ('202305250811', '2023-05-26 17:00:00', '2023-05-26 21:00:00', 4, '5', '鲁A01234');
查询触发器:Show triggers
删除触发器:DROP TRIGGER 触发器名;
代码有问题或需要其他的查询语句,都可以随时评论留言或联系博主。
还多请各位小伙伴多多点赞支持,你们的支持是我最大的动力。
博主VX:18884281851
谢谢各位的支持~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。