PyQt5搭建图书馆管理系统(1)——数据库

PyQt5搭建图书馆管理系统(1)——数据库

写在前面

这学期的数据库大作业要求是做一个简单的图书馆管理系统,刚好之前看过Qt,就打算用Qt来写了,博客记录一些重要的模块和思路

要求

编写一个图书管理系统,要求具有以下内容:
- 存储图书信息、采购和淘汰情况、租借情况
- 实现图书采购、淘汰、租借功能。
- 实现图书信息、采购和淘汰、库存、和租借情况查询
- 实现图书的采购、库存、淘汰、租借情况等统计

这是要实现的基本功能,当然我觉得做好的话还可以加上读者推荐书目,我喜欢,收藏书目之类的功能

大致思路

作为一个管理系统,自然要实现管理员和学生两个方面的内容

  • 首先需要登录和注册页面
  • 对于管理员,在管理员的管理页面上,会实现图书的采购,淘汰,库存,租借情况查询及统计
  • 对于学生,要实现图书的借阅、归还、租借情况查询

数据库

使用Sqlite3轻量级数据库作为系统的数据库

CREATE TABLE User (
  StudentId     CHAR(10) UNIQUE NOT NULL,
  Name          VARCHAR(20),
  Password      CHAR(32)        NOT NULL,
  IsAdmin       BIT DEFAULT 0,
  TimesBorrowed INT DEFAULT 0,
  NumBorrowed   INT DEFAULT 0
);

CREATE TABLE Book (
  BookName     VARCHAR(30) NOT NULL,
  BookId       CHAR(6)     NOT NULL,
  Auth         VARCHAR(20) NOT NULL,
  Category     VARCHAR(10) DEFAULT NULL,
  Publisher    VARCHAR(30) DEFAULT NULL,
  PublishTime  DATE,
  NumStorage   INT         DEFAULT 0,
  NumCanBorrow INT         DEFAULT 0,
  NumBorrowed  INT         DEFAULT 0
);

CREATE TABLE User_Book (
  StudentId   CHAR(10) UNIQUE NOT NULL,
  BookId      CHAR(6)         NOT NULL,
  BorrowTime  DATE,
  ReturnTime  DATE,
  BorrowState BIT DEFAULT 0
);

CREATE TABLE BuyOrDrop (
  BookId    CHAR(6) NOT NULL,
  Time      DATE,
  BuyOrDrop BIT DEFAULT 0,
  Number    INT DEFAULT 0
);

INSERT INTO User VALUES ('0000000000', '管理员', 'f9687b82c237c8868a92ffa548c0a16a', 1, 0, 0);

所有管理员使用同一账户 ,password使用md5加密

User表

  • StudentId:学号
  • Name:姓名
  • Password:密码
  • IsAdmin:是否为管理员
  • TimesBorrowed:借阅次数
  • NumBorrowed:已借书数量
    Alt text

Book表

  • BookName:书名
  • BookId:书号
  • Auth:作者
  • CateGory:分类
  • Publisher:出版社
  • PublishTime:出版时间
  • NumStorage:库存量
  • NumCanBorrowed:可借量
  • NumBorrowed:被借阅次数
    Alt text

User_Book表

分别为学号,书号,借阅时间,归还时间,借阅状态
Alt text

BuyOrDrop表

分别为书号,添加或淘汰时间,添加还是淘汰,数量
Alt text

最后附上链接

项目地址:github仓库链接

猜你喜欢

转载自blog.csdn.net/weixin_38312031/article/details/80015027