1、项目简介

图书馆数据库,该项目同时提供pythonweb可视化展示界面,也可提供相关报告数据,可以用来作为数据库系统设计的期末作业

主要设计到如下几个功能:

1.1管理员方面

  • 增、删、改、挂失图书信息和读者信息;
  • 查看用户信息和图书信息。
  • 登录管理员界面
  • 为读者办理借书还书

1.2读者方面

  • 登录读者界面
  • 查询借书记录和个人信息

2、项目展示

如下是部分数据流图:

2.1:读者注册

mysql设计一个图书管理系统数据库 设计一个图书馆数据库_搜索

2.2图书上架

mysql设计一个图书管理系统数据库 设计一个图书馆数据库_mysql设计一个图书管理系统数据库_02

2.3图书搜索

mysql设计一个图书管理系统数据库 设计一个图书馆数据库_mysql设计一个图书管理系统数据库_03

2.4图书借阅

mysql设计一个图书管理系统数据库 设计一个图书馆数据库_数据库开发_04

2.5借书记录搜索

mysql设计一个图书管理系统数据库 设计一个图书馆数据库_python_05

 3、项目数据字典

数据项名

别名

数据类型

说明

读者编号

reader_id

varchar(5) PK

读者证的编号按顺序系统分配

姓名

reader_name

varchar(20)

读者姓名

性别

sex

char(2)

读者性别

出生日期

birthday

date

读者出生日期

电话

phone

varchar(20)

读者电话

手机

mobile

varchar(20)

读者手机

证件名称

card_name

varchar(8)

读者的证件可以是身份证学生证等

证件编号

card_id

varchar(18)

读者的证件号

会员级别

level

varchar(6)

有三个级别,普通银卡金卡

办证日期

day

date

即注册日期

读者登录密码

Password(Readers表)

varchar(45)

读者登录系统中时使用的密码

图书编号

book_id

varchar(5)

图书的编号系统分配

书名

book_name

varchar(50)

书的名字

作者

author

varchar(20)

书的作者

出版社

publishing

varchar(20)

书的出版社

类别编号

category_id

varchar(5)

书的类别编号

单价

price

double

书的价格

入库日期

date_in

datetime

入库的时间即图书上架时间

库存数量

quantity_in

int

上架的书的数量

借出数量

quantity_out

int

书借出去的数量

遗失数量

quantity_loss

int

书的丢失的数量

出借日期

date_borrow

date

书借出去的日期在借阅中生成

应还日期

date_return

date

根据会员的级别确定的日期

遗失

loss

char(2)

有“否”“是”区分书是否丢失了

类别名称

category

varchar(20)

类别的名字如“计算机”

最长出借天数

days

smallint

根据会员级别相应天数

最多借书册书

numbers

smallint

根据会员级别能借最多的书

会费

fee

smallint

会员级别所要的费用(单位:元)

管理员ID

User_ID

Varchar(20)

管理员登录用ID

管理员密码

Password(admin表)

Varchar(20)

管理员登录用密码

4、系统ER图

mysql设计一个图书管理系统数据库 设计一个图书馆数据库_python_06

5、部分数据表设计

CREATE TABLE `admin` (
  `userID` varchar(20) NOT NULL,
  `password` varchar(20) NOT NULL,
  PRIMARY KEY (`userID`,`password`),
  UNIQUE KEY `userID_UNIQUE` (`userID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `book_category` (
  `category_id` varchar(5) NOT NULL DEFAULT '',
  `category` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `books` (
  `book_id` varchar(5) NOT NULL,
  `book_name` varchar(50) NOT NULL,
  `author` varchar(20) DEFAULT NULL,
  `publishing` varchar(20) DEFAULT NULL,
  `category_id` varchar(5) DEFAULT NULL,
  `price` double DEFAULT NULL,
  `date_in` date DEFAULT NULL,
  `quantity_in` int(11) NOT NULL,
  `quantity_out` int(11) NOT NULL,
  `quantity_loss` int(11) NOT NULL,
  PRIMARY KEY (`book_id`),
  KEY `category_id` (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;