前言
这是我的数据库期末作业,写下来分享一下。
先介绍环境的搭建,然后再放上代码,最后解释。
数据库用的是mysql,语言为java。
一、环境要求:
MySQL:5.7.20版本
驱动包用的是:mysql-connector-java-5.1.39-bin.jar
java用的是1.8.0_271
IDE用的是Eclipse
注:
如果MySQL和启动包支持的版本发生冲突则会出现一点问题
二、建库语句以及视图建立(视图简单建立了一下,仅仅查询)
建库:
CREATE DATABASE baokanguanlisystem;
USE baokanguanlisystem;
CREATE TABLE admin(
ANo CHAR(6) PRIMARY KEY,
APass CHAR(6),
AName CHAR(8)
);
CREATE TABLE customer(
CNo CHAR(6) CHECK(CNo LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]'),
CPass CHAR(6) CHECK(CPass LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]'),
CName CHAR(8),
CSex CHAR(2) CHECK(CSex='男' or CSex='女'),
CAge INT(2),
PRIMARY KEY(CNo)
);
CREATE TABLE magazine(
MNo CHAR(10) CHECK(MNo LIKE 'ISSN%'),
MName CHAR(20),
MPub CHAR(10),
MType CHAR(10),
MVum INT(11),
PRIMARY KEY(MNo)
);
CREATE TABLE post(
CNo CHAR(6),
MNo CHAR(10),
Deliver CHAR(1) CHECK(Deliver LIKE 'y' OR Deliver LIKE 'n'),
PRIMARY KEY(CNo,MNo),
FOREIGN KEY (CNo) REFERENCES customer(CNo),
FOREIGN KEY (MNo) REFERENCES magazine(MNo)
);
建视图:
CREATE VIEW admininfo AS
SELECT ANo,APass,AName FROM admin;
CREATE VIEW customerinfo AS
SELECT CNo,CPass,CName,CSex,CAge FROM customer;
CREATE VIEW magazineinfo AS
SELECT MNo,MName,MPub,MType,MVum FROM magazine;
CREATE VIEW postinfo AS
SELECT CNo,MNo,Deliver FROM post;
CREATE VIEW adminnoandpass AS
SELECT ANo,APass FROM admin;
CREATE VIEW customernoandpass AS
SELECT CNo,CPass FROM customer;
三、源代码:
本来想放在这的发现行数有点多,于是就放gitee上了。
https://gitee.com/mynameischenwenhan/postSystem