【Java+JSP+MySql】12306购票系统(二)数据库
生活随笔
收集整理的這篇文章主要介紹了
【Java+JSP+MySql】12306购票系统(二)数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 表
- 視圖
- 存儲過程
- 觸發器
表
用戶表的創建:
CREATE TABLE user_info( id CHAR(18) NOT NULL, username VARCHAR(10) NOT NULL, telephone CHAR(11) NOT NULL, upassword VARCHAR(20) NOT NULL, PRIMARY KEY(id), CONSTRAINT CU1 CHECK(telephone LIKE '1%') )ENGINE=INNODB DEFAULT CHARSET=utf8mb4;插入數據:
INSERT INTO `user_info` VALUES ('110108200001011111','趙倩','18310710700','password'), ('110108200002022222','張三','18310710711','123456'), ('110108200003033333','李四','18310710722','654321');車次表的創建:
CREATE TABLE train( trainnum CHAR(5) NOT NULL, origin VARCHAR(10) NOT NULL, destination VARCHAR(10) NOT NULL, stime CHAR(5), prize00 INT, prize01 INT, prize02 INT, PRIMARY KEY(trainnum), CONSTRAINT CU2 CHECK(stime LIKE '__:__') );插入數據:
INSERT INTO `train` VALUES ('G1101','北京','天津','09:00',89,59,39), ('G1323','北京','天津','13:30',89,59,39), ('G1434','北京','天津','17:05',89,59,39), ('G2141','天津','北京','09:40',89,59,39), ('G2363','天津','北京','18:00',89,59,39), ('C3444','北京','上海','10:50',319,289,259), ('C3555','北京','上海','16:30',319,289,259), ('C3666','北京','上海','19:50',319,289,259), ('C4566','上海','北京','11:05',319,289,259), ('C4788','上海','北京','18:05',319,289,259), ('C5077','上海','天津','15:25',319,289,259), ('C6098','天津','上海','16:30',319,289,259);余票表的創建:
CREATE TABLE `left_tickets`( `sdate` DATE, `trainnum` CHAR(5), `leftnum00` INT, `leftnum01` INT, `leftnum02` INT, PRIMARY KEY(`sdate`,`trainnum`), FOREIGN KEY(`trainnum`) REFERENCES train(`trainnum`), CONSTRAINT CU3 CHECK(`leftnum00`>=0 AND `leftnum01`>=0 AND `leftnum02`>=0) );插入數據:
INSERT INTO `left_tickets` VALUES ('2021-12-31','G1101',12,20,36), ('2021-12-31','G1323',12,20,36), ('2021-12-31','G1434',12,20,36), ('2021-12-31','G2141',12,20,36), ('2021-12-31','G2363',12,20,36), ('2021-12-31','C3444',12,20,34), ('2021-12-31','C3555',12,20,36), ('2021-12-31','C3666',12,20,36), ('2021-12-31','C4566',12,20,36), ('2021-12-31','C4788',12,20,36), ('2021-12-31','C5077',12,20,36), ('2021-12-31','C6098',12,20,36), ('2022-01-01','G1101',12,19,36), ('2022-01-01','G1323',12,20,36), ('2022-01-01','G1434',12,20,36), ('2022-01-01','G2141',12,20,36), ('2022-01-01','G2363',12,20,36), ('2022-01-01','C3444',12,20,36), ('2022-01-01','C3555',12,20,36), ('2022-01-01','C3666',12,20,36), ('2022-01-01','C4566',12,20,36), ('2022-01-01','C4788',12,20,36), ('2022-01-01','C5077',12,20,36), ('2022-01-01','C6098',12,20,36), ('2022-01-02','G1101',12,20,36), ('2022-01-02','G1323',12,20,36), ('2022-01-02','G1434',12,20,36), ('2022-01-02','G2141',11,20,36), ('2022-01-02','G2363',12,20,36), ('2022-01-02','C3444',12,20,36), ('2022-01-02','C3555',12,20,36), ('2022-01-02','C3666',12,20,36), ('2022-01-02','C4566',12,20,36), ('2022-01-02','C4788',12,20,36), ('2022-01-02','C5077',12,20,36), ('2022-01-02','C6098',12,20,36), ('2022-01-03','G1101',12,20,36), ('2022-01-03','G1323',12,20,36), ('2022-01-03','G1434',12,20,36), ('2022-01-03','G2141',12,20,36), ('2022-01-03','G2363',12,20,36), ('2022-01-03','C3444',12,20,36), ('2022-01-03','C3555',12,20,36), ('2022-01-03','C3666',12,20,36), ('2022-01-03','C4566',12,20,36), ('2022-01-03','C4788',12,20,34), ('2022-01-03','C5077',12,20,36), ('2022-01-03','C6098',12,20,36);已售車票表的創建
CREATE TABLE `sold_tickets`( `sdate` DATE, `trainnum` CHAR(5), `seat` VARCHAR(20), `userid` CHAR(18) NOT NULL, PRIMARY KEY(`sdate`,`trainnum`,`seat`), FOREIGN KEY(`sdate`,`trainnum`) REFERENCES `left_tickets`(`sdate`,`trainnum`), FOREIGN KEY(`userid`) REFERENCES `user_info`(`id`) );插入數據:
INSERT INTO `sold_tickets` VALUES ('2021-12-31','C3444','02-1A','110108200001011111'), ('2022-01-03','C4788','02-4D','110108200001011111'), ('2022-01-01','G1101','01-5C','110108200002022222'), ('2022-01-02','G2141','00-2B','110108200002022222'), ('2021-12-31','C3444','02-8C','110108200003033333'), ('2022-01-03','C4788','02-9A','110108200003033333');視圖
前面3個視圖是幾種常見的分類,后面2個視圖是系統中所需要的。
所有視圖的截圖在這個專欄的第一個文章里包含了,可以看到。這里也放出鏈接:
12306購票系統(一)項目介紹
存儲過程
以上存儲過程中,只有1. 登錄和2.注冊在購票系統中有應用。但是這四個觸發器把增刪改查都應用到了。
觸發器
根據所購車票等級,余票量減一
根據取消的車票等級,相應余票加一
觸發器前兩個1. 購票和2.取消訂票在系統中有應用,但三個合起來將增刪改都實現了。
系列更新結束后會把源代碼和相關的文檔打包上傳成資源。如果你覺得這篇文章對你有用的話,麻煩點贊,收藏,關注一下。
感謝您的閱讀,您的支持是對我最大的鼓勵~
總結
以上是生活随笔為你收集整理的【Java+JSP+MySql】12306购票系统(二)数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python处理ini文件_python
- 下一篇: AI 视频分析识别系统技术分析