PyQT5一起学做图书管理系统(1)

前言

之前学了一段时间PyQT,然后一直想找个项目实战一下,大学的时候做过一些字典查询系统,然后现在想着升级一下,做一个图书管理系统,网上找了一些资料,顺带着再充实一下自己。

环境

系统:windows10系统
编辑器:Sublime3
编程语言:python3+pyqt5
 

需求

1.登陆界面
2.图书管理逻辑
3.图书入库出库逻辑
4.用户管理逻辑
5.用户借书还书逻辑
6.数据库设计
 

主要思路

首先是登陆界面,通过登陆界面登陆,直接根据账号区分管理员与用户

管理员可以管理书库的添加删除,添加删除用户,提升用户为管理员

普通用户借书,还书,查看自己的借阅状态

书籍则有名字,出版社,出版时间,数量,借阅状态等

数据设计

数据库存贮使用的是sqlite3,PyQt里面自带sqlite3模块,本次设计同时使用sqlite3模块和pyqt自带的sqlite3模块

CREATE TABLE IF NOT EXISTS user(
    userid CHAR(10) PRIMARY KEY ,
    Name VARCHAR(20),
    Password CHAR(32),
    IsAdmin BIT,
    TimesBorrowed INT,
    NumBorrowed INT    
)"""

createUser_BookTableString = """
CREATE TABLE IF NOT EXISTS User_Book(
    userid CHAR(10),
    BookID CHAR(6) PRIMARY KEY,
    BorrowTime DATE,
    ReturnTime DATE,
    BorrowState BIT
)"""

createBookTableString = """
CREATE TABLE IF NOT EXISTS Book(
    BookName VARCHAR(30),
    BookID CHAR(6),
    Auth VARCHAR(20),
    Category VARCHAR(10),
    Publisher VARCHAR(20),
    PublishTime DATE,
    NumStorage INT,
    NumCanBorrow INT,
    NumBorrowed INT 
)"""


createAddOrDropBookTableString = """
CREATE TABLE IF NOT EXISTS AddOrDrop(
    BookID CHAR(6),
    ModifyTime  DATE,
    AddOrDrop INT,
    Numbers INT    
)"""

User表

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

Book表

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

User_Book表

  •     userid :  用户名
  •     BookID: 书号
  •     BorrowTime : 借阅时间
  •     ReturnTime : 归还时间,
  •     BorrowState : 借阅状态

AddOrDrop表

  •     BookID 书号
  •     ModifyTime  入库或者出库时间
  •     AddOrDrop  入库或者删除
  •     Numbers INT  书本数量

 

代码参考来源  https://blog.csdn.net/weixin_38312031

posted @ 2019-02-26 16:34  枫奇丶宛南  阅读(188)  评论(0编辑  收藏  举报