/*
图书管理系统(LibEasyMan) SQL 脚本
*/
CREATE DATABASE LibEasyMan;
USE LibEasyMan;
/*
管理人员信息表
*/
CREATE TABLE SysUser
(
ID NUMERIC(5) NOT NULL, /*管理人员编号*/
Name VARCHAR(32) NOT NULL, /*管理人员名称*/
Password VARCHAR(12), /*管理人员密码*/
/* 0: 普通用户, 1: 系统管理员*/
Privilege NUMERIC(1) DEFAULT 0 NOT NULL, /*管理人员权限*/
PRIMARY KEY(ID)
);
/*创建系统管理员*/
INSERT INTO SysUser VALUES (10000,'DBA','sa',1);
/*创建系统用户人员*/
INSERT INTO SysUser VALUES (10001,'Test','123',0);
/*
图书种类信息表
*/
CREATE TABLE BookType
(
ID NUMERIC(3) NOT NULL, /*种类编号*/
Name VARCHAR(32) NOT NULL, /*种类名称*/
PRIMARY KEY(ID)
);
INSERT INTO BookType VALUES (001,'文学');
INSERT INTO BookType VALUES (002,'科学');
INSERT INTO BookType VALUES (003,'医学');
INSERT INTO BookType VALUES (004,'计算机');
/*
所有图书信息表
*/
CREATE TABLE BookS
(
ISBN VARCHAR(18) NOT NULL, /*ISBN号码*/
Name VARCHAR(64) NOT NULL, /*书籍名称*/
Author VARCHAR(32), /*作者名称*/
BookType NUMERIC(3) NOT NULL, /*书籍类型,对应BookType表*/
Publisher VARCHAR(64) NOT NULL, /*出版社名称*/
/* YYYY-MM-DD */
PublishTime VARCHAR(10) NOT NULL, /*出版日期*/
HowMuch NUMERIC(6,2) NOT NULL, /*书籍定价*/
Remark VARCHAR(128), /*备注*/
/* YY-MM-DD */
AddTime VARCHAR(8) NOT NULL, /*添加时间*/
PRIMARY KEY(ISBN)
);
INSERT INTO BookS VALUES ('1000000000000','Windows95系统编程','无名氏',004,'华夏出版社','2004-07-15',85.50,'无','04-07-25');
/*
丢失图书信息表
*/
CREATE TABLE BookLoss
(
ISBN VARCHAR(18) NOT NULL, /*ISBN号码*/
Name VARCHAR(64) NOT NULL, /*书籍名称*/
Author VARCHAR(32), /*作者名称*/
BookType NUMERIC(3) NOT NULL, /*书籍类型,对应BookType表*/
Publisher VARCHAR(64) NOT NULL, /*出版社名称*/
/* YYYY-MM-DD */
PublishTime VARCHAR(10) NOT NULL, /*出版日期*/
HowMuch NUMERIC(6,2) NOT NULL, /*书籍定价*/
Remark VARCHAR(128), /*备注*/
/* YY-MM-DD */
AddTime VARCHAR(8) NOT NULL, /*添加时间*/
LossTime VARCHAR(8) NOT NULL, /*丢失时间*/
PRIMARY KEY(ISBN,LossTime)
);
/*
读者类型信息表
*/
CREATE TABLE ReaderType
(
ID NUMERIC(3) NOT NULL, /*类型编号*/
Name VARCHAR(32) NOT NULL, /*类型名称*/
DayS NUMERIC(3) DEFAULT 30 NOT NULL, /*借书天数*/
MaxNum NUMERIC(2) DEFAULT 1 NOT NULL, /*最大数量*/
ConNum NUMERIC(2) DEFAULT 0 NOT NULL, /*续借天数*/
PRIMARY KEY(ID)
);
INSERT INTO ReaderType VALUES (001,'本科生',30,2,0);
INSERT INTO ReaderType VALUES (002,'研究生',40,4,10);
INSERT INTO ReaderType VALUES (003,'博士生',50,6,20);
INSERT INTO ReaderType VALUES (004,'教师/员工',60,6,30);
/*
读者信息表
*/
CREATE TABLE Reader
(
ID NUMERIC(8) NOT NULL, /*读者编号*/
Name VARCHAR(32) NOT NULL, /*读者姓名*/
/* 0: 男, 1: 女 */
Sex NUMERIC(1) DEFAULT 0 NOT NULL, /*性别*/
Age NUMERIC(2) NOT NULL, /*年龄*/
Address VARCHAR(128), /*住址*/
ReaderType NUMERIC(3) NOT NULL, /*读者类型,与ReaderType表关联使用*/
Identify VARCHAR(18) NOT NULL, /*有效证件号*/
/*0: 正常,1: 挂失,2: 封号*/
Status NUMERIC(1) DEFAULT 0 NOT NULL, /*读者状态*/
/* YYYY-MM-DD */
RegTime VARCHAR(10) NOT NULL, /*注册日期*/
PRIMARY KEY(ID)
);
INSERT INTO Reader VALUES (00000001,'测试品',0,50,'abcdefghijklmnopqrstuvwxyz',2,'000000000000000000',0,'2004-07-25');
/*
书记借阅信息表
*/
CREATE TABLE Borrow
(
ReaderID NUMERIC(8) NOT NULL, /*读者编号*/
BookISBN VARCHAR(18) NOT NULL, /*ISBN编号*/
ConBorrow NUMERIC(1) DEFAULT 0 NOT NULL, /*续借标志*/
/* YYYY-MM-DD */
BorrowDate VARCHAR(10) NOT NULL, /*借书日期*/
/* YYYY-MM-DD */
/*
0000-00-00: 未归还
1111-11-11: 遗失
xxxx-xx-xx: 归还
*/
ReturnDate VARCHAR(10), /*归还日期*/
PRIMARY KEY(ReaderID,BookISBN,BorrowDate)
);
/*
出版社名称管理信息表
*/
CREATE TABLE Publisher
(
Name VARCHAR(64) NOT NULL,
PRIMARY KEY(Name)
);
INSERT INTO Publisher VALUES ('电子工业出版社');
INSERT INTO Publisher VALUES ('清华大学出版社');
INSERT INTO Publisher VALUES ('北京大学出版社');
INSERT INTO Publisher VALUES ('复旦大学出版社');
INSERT INTO Publisher VALUES ('南京大学出版社');
INSERT INTO Publisher VALUES ('南开大学出版社');
INSERT INTO Publisher VALUES ('东南大学出版社');
INSERT INTO Publisher VALUES ('中国科学技术大学出版社');
/*
图书编号暂存表
*/
CREATE TABLE IsbnTemp
(
ISBN VARCHAR(18) NOT NULL,
PRIMARY KEY(ISBN)
);