《SQL版图书管理系统》是一款基于SQL数据库设计开发的高效图书管理软件。该系统能够实现对图书信息的全面管理和维护,包括新增书籍、查询检索、借阅归还等功能,有效提升图书馆日常工作的效率与精确度。
SQL数据库项目示例包含源码及课程设计主题。
首先删除已存在的名为BOOK_SYSTEM的数据库:
```sql
DROP DATABASE IF EXISTS `BOOK_SYSTEM`;
```
然后创建新的数据库,并使用该库:
```sql
CREATE DATABASE BOOK_SYSTEM;
USE BOOK_SYSTEM;
```
以下是主要表结构定义:
1. 用户信息表(T_USER)定义如下,包含用户ID、用户名和密码字段。
```sql
CREATE TABLE IF NOT EXISTS `T_USER` (
`ID` int AUTO_INCREMENT NOT NULL,
`USER_NAME` varchar(20),
`USER_PASSWORD` varchar(20),
PRIMARY KEY (`ID`)
);
```
插入一条测试数据:
```sql
INSERT INTO `T_USER` VALUES (1, crazyit, crazyit);
```
2. 图书类型表(T_BOOK_TYPE)定义如下,包含种类的主键、名称和简介。
```sql
CREATE TABLE IF NOT EXISTS `T_BOOK_TYPE` (
`ID` int AUTO_INCREMENT NOT NULL,
`TYPE_NAME` varchar(50),
`TYPE_INTRO` varchar(200),
PRIMARY KEY (`ID`)
);
```
3. 出版社信息表(T_PUBLISHER)定义如下,包含出版社的主键、名称、电话号码、联系人和简介。
```sql
CREATE TABLE IF NOT EXISTS `T_PUBLISHER` (
`ID` int AUTO_INCREMENT NOT NULL,
`PUB_NAME` varchar(50),
`PUB_TEL` varchar(50),
`PUB_LINK_MAN` varchar(50),
`PUB_INTRO` varchar(200),
PRIMARY KEY (`ID`)
);
```
4. 图书信息表(T_BOOK)定义如下,包含图书的主键、名称、简介、价格、种类和出版社外键字段。
```sql
CREATE TABLE IF NOT EXISTS `T_BOOK` (
`ID` int AUTO_INCREMENT NOT NULL,
`BOOK_NAME` varchar(50),
`BOOK_INTRO` varchar(200),
`BOOK_PRICE` double,
`TYPE_ID_FK` int NOT NULL, -- 种类外键
`PUB_ID_FK` int NOT NULL, -- 出版社外键
`IMAGE_URL` varchar(200),
`AUTHOR` varchar(200),
`REPERTORY_SIZE` bigint(10),
FOREIGN KEY (`TYPE_ID_FK`) REFERENCES `T_BOOK_TYPE` (`ID`),
FOREIGN KEY (`PUB_ID_FK`) REFERENCES `T_PUBLISHER` (`ID`),
PRIMARY KEY (`ID`)
);
```
5. 销售记录表(T_SALE_RECORD)定义如下,包含销售日期字段。
```sql
CREATE TABLE IF NOT EXISTS `T_SALE_RECORD` (
`ID` int AUTO_INCREMENT NOT NULL,
`RECORD_DATE` datetime,
PRIMARY KEY (`ID`)
);
```
6. 图书销售详情记录表(T_BOOK_SALE_RECORD)定义如下,包含图书的外键、交易记录的外键和销售数量字段。
```sql
CREATE TABLE IF NOT EXISTS `T_BOOK_SALE_RECORD` (
`ID` int AUTO_INCREMENT NOT NULL,
`BOOK_ID_FK` int,
`T_SALE_RECORD_ID_FK` int,
`TRADE_SUM` int(10),
FOREIGN KEY (`BOOK_ID_FK`) REFERENCES `T_BOOK` (`ID`),
FOREIGN KEY (`T_SALE_RECORD_ID_FK`) REFERENCES `T_SALE_RECORD` (`ID`),
PRIMARY KEY (`ID`)
);
```
7. 入库记录表(T_IN_RECORD)定义如下,包含入库日期字段。
```sql
CREATE TABLE IF NOT EXISTS `T_IN_RECORD` (
`ID` int AUTO_INCREMENT NOT NULL,
`RECORD_DATE` datetime,
PRIMARY KEY (`ID`)
);
```
8. 图书的入库详情记录表(T_BOOK_IN_RECORD)定义如下,包含图书的外键、入库记录的外键和入库数量字段。
```sql
CREATE TABLE IF NOT EXISTS `T_BOOK_IN_RECORD` (
`ID` int AUTO_INCREMENT NOT NULL,
`BOOK_ID_FK` int,
`T_IN_RECORD_ID_FK` int,
`IN_SUM` int(10),
FOREIGN KEY (`BOOK_ID_FK`) REFERENCES `T_BOOK` (`ID`),
FOREIGN KEY (`T_IN_RECORD_ID_FK`) REFERENCES `T_IN_RECORD` (`ID`),
PRIMARY KEY (`ID`)
);
```