Python设计图书馆管理系统技术文档(二)

Python设计图书馆管理系统技术文档(二)

4. 数据库设计

  • 下面是数据库中四个表的生成命令。
create table User
(
    StudentId     CHAR(10) not null
        unique,
    Name          VARCHAR(20) not null,
    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) 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 (StudentId, Name, Password, IsAdmin, TimesBorrowed, NumBorrowed) VALUES ('admin', 'admin', '21232f297a57a5a743894a0e4a801fc3', 1, 0, 0);
INSERT INTO User (StudentId, Name, Password, IsAdmin, TimesBorrowed, NumBorrowed) VALUES ('001', '拾叶', '93dd4de5cddba2c733c65f233097f05a', 0, 0, 0);

4.1 E-R图

  • User(用户)表E-R图
    在这里插入图片描述

  • Book(图书)表E-R图
    在这里插入图片描述

  • User_Book(借阅情况)表E-R图
    在这里插入图片描述

  • BuyOrDrop(购买/淘汰)表E-R图
    在这里插入图片描述

4.2 数据结构

  • 数据库采用的是Sqlite3数据库建立,系统主要需要维护4个数据表:
4.2.1 用户信息表(User)
字段名类型宽度是否为空默认值说明
StudentIdCHAR10用户ID
NameVARCHAR20用户名
PasswordCHAR32密码
IsAdminBIT0是否管理员
TimesBorrowedINT0借阅时间
NumBorrowedINT0借阅数量
4.2.2 图书信息表(Book)
字段名类型宽度是否为空默认值说明
BookNameVARCHAR30图书名
BookIdCHAR6图书ID
AuthVARCHAR20作者
CategoryVARCHAR10Null用户名
PublisherVARCHAR30Null出版社
PublishTimeDATE出版时间
NumStorageINT0库存数量
NumCanBorrowINT0可借阅量
NumBorrowedINT0借阅数量
4.2.3 用户借书信息表(User_Book)
字段名类型宽度是否为空默认值说明
StudentIdCHAR10用户ID
BookIdCHAR6图书ID
BorrowTimeDATE借阅时间
ReturnTimeDATE归还时间
BorrowStateBIT0借阅状态
4.2.4 管理图书信息表(BuyOrDrop)
字段名类型宽度是否为空默认值说明
BookIdCHAR6图书户ID
TimeDATE出版时间
BuyOrDropBIT0添加删除
NumberINT0数量
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山哥ol

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值