2024图书馆座位预约系统(Python)-Django.VUE【数据库设计、论文、源码、开题报告】

在这里插入图片描述
在这里插入图片描述

4 系统设计

4.1 系统架构设计

整个系统采用B/S结构,用户可在浏览器中完成和整个系统的交互。
用户在图书馆座位预约系统的浏览器界面进行的操作,浏览器操作传到服务器端,服务器端调用后台数据库,反馈给浏览器端。
系统架构如图4-1所示:
在这里插入图片描述

图4-1 系统架构图

4.2 系统整体设计

图书馆座位预约系统实现用户登录,查询信息,修改个人信息等。所有功能都通过与后台服务器的数据交互来完成的。
具体的软件功能结构图如图4-2所示:
在这里插入图片描述

图4-2 软件功能结构图

4.3 系统数据库设计

对于图书馆座位预约系统而言,数据库中最核心的数据就是图书信息,并且有许多其他关联数据都储存于数据库中。随着时间推移,将发布大量信息于本系统中,届时数据库中也将蕴藏海量数据。一个优秀的数据库设计方案能在保证系统能够高效处理大量数据的同时保证系统的安全性。因此,在图书馆座位预约系统设计方案中将数据库的设计摆在重要位置,将数据库设计视为系统设计的重要内容。

4.3.1 E-R模型设计

在图书馆座位预约系统的数据库设计中,系统E-R模型的设计可以展示数据库中各种实体信息和他们之间的关系,将图书馆座位预约系统的E-R模型研究好后,数据库中数据表的建立也会比较容易。
根据功能需求来对系统的e-r图来进行分解得到几种实体,以下为部分实体—关系模型。
座位选座实体属性图如下。
在这里插入图片描述

图4-3座位选座实体属性图
座位信息实体属性图如下:
在这里插入图片描述

图4-4座位信息实体属性图
信用扣分实体属性图如下:
在这里插入图片描述

图4-5信用扣分实体属性图
签离信息实体属性图如下:
在这里插入图片描述

图4-6签离信息实体属性图
公告信息实体属性图如下:
在这里插入图片描述

图4-7公告信息实体属性图

4.3.2表设计

Mysql将数据保存在不同的表中,极大地提高了数据调取灵活性。图书馆座位预约系统的具体表结构如以下表所示:
表4-1:座位选座
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
zuoweiquhao varchar 200 座位区号
zuoweihao varchar 200 座位号
louceng varchar 200 楼层
xuyaoxinyongfen int 信誉分
xuanzuoshijian datetime 选座时间
yonghuming varchar 200 用户名
xingming varchar 200 姓名
shouji varchar 200 手机
xinyongfen int 信用分

表4-2:座位信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
zuoweiquhao varchar 200 座位区号
zuoweihao varchar 200 座位号
tupian longtext 4294967295 图片
xuyaoxinyongfen int 信用分
louceng varchar 200 楼层
kaifangshijian varchar 200 开放时间
zhuangtai varchar 200 状态

表4-3:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuming varchar 200 用户名
mima varchar 200 密码
xingming varchar 200 姓名
xingbie varchar 200 性别
touxiang longtext 4294967295 头像
youxiang varchar 200 邮箱
shouji varchar 200 手机
xinyongfen int 信用分

表4-4:信用扣分
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuming varchar 200 用户名
xingming varchar 200 姓名
xinyongfen int 信用分
koufenshuoming longtext 4294967295 扣分说明
koufenshijian date 扣分时间

表4-5:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-6:签离信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
zuoweiquhao varchar 200 座位区号
zuoweihao varchar 200 座位号
ruzuoshijian varchar 200 入座时间
likaishijian datetime 离开时间
yonghuming varchar 200 用户名
xingming varchar 200 姓名
shouji varchar 200 手机
crossuserid bigint 跨表用户id
crossrefid bigint 跨表主键id

表4-7:签到信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
zuoweiquhao varchar 200 座位区号
zuoweihao varchar 200 座位号
ruzuoshijian datetime 入座时间
qiandaoshuoming longtext 4294967295 签到说明
yonghuming varchar 200 用户名
xingming varchar 200 姓名
shouji varchar 200 手机
crossuserid bigint 跨表用户id
crossrefid bigint 跨表主键id

表4-8:公告信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容

表4-9:意见反馈
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 留言人id
username varchar 200 用户名
avatarurl longtext 4294967295 头像
content longtext 4294967295 留言内容
cpicture longtext 4294967295 留言图片
reply longtext 4294967295 回复内容
rpicture longtext 4294967295 回复图片

表4-10:黑名单
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuming varchar 200 用户名
xingming varchar 200 姓名
xingbie varchar 200 性别
shouji varchar 200 手机
youxiang varchar 200 邮箱
laheishijian datetime 拉黑时间
laheishuoming longtext 4294967295 拉黑说明
crossuserid bigint 跨表用户id
crossrefid bigint 跨表主键id

表4-11:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于Python开发的图书馆自动预约座位系统源码+项目使用说明(供学习借鉴).zip 图书馆自动预约座位 增加新功能:使用pushplus 推送加 微信公众号推送打卡成功与否的消息 ## 简介 1. 脚本使用Github Actions实现广州大学GZHU图书馆自动预约座位 2. 使用此脚本需要设置三个Repository secret:XUHAO、MIMA和SEATNO它们的值分别对应你的学号,密码,座位号(1-358) 3. 脚本会在星期五、星期六早上6点半自动运行,预约次日的座位 4. (可选功能)使用pushplus 推送加 微信公众号推送打卡成功与否的消息 [设置方法](#推送预定成功与否的消息(可选功能)) ## 使用教程 如下图所示的地方,也就是你的账号名。 --- ![1](./assets/1.png) --- 然后就来到下面这个界面 --- ![2](./assets/2.png) --- 请按上图操作,先点Repositories,然后找到自己刚刚Fork的项目,点击。 这样就进入到了你自己Fork的项目,如下图 --- ![3](./assets/3.png) --- 按上图中操作 1. 先点Settings按钮 2. 然后点Secrets按钮 3. 之后再点击Secrets的下拉菜单中的Actions,进入Actions secrets界面。 接着继续按下图操作 --- ![4](./assets/4.png) --- 上图圈起来的是需要创建的三个Secrets,点击New repository secret进入创建界面,如下图 --- ![5](./assets/5.png) --- - 要创建的第一个Secret的Name为XUHAO,注意XUHAO要大写 - Value是你自己的学号 - 全部输入完成后点击图中圈起来的绿色按钮Add secrect来创建 --- - 接下来是第二个要创建的Secret,Name是MIMA,注意MIMA要大写。 - Value是你自己的密码 - 全部输入完成后点击图中圈起来的绿色按钮Add secrect来创建 --- - 接下来是第三个要创建的Secret,Name是SEATNO,注意SEATNO要大写。 - Value是你自己想预约座位号(1-358) - 全部输入完成后点击图中圈起来的绿色按钮Add secrect来创建 继续操作 --- ![6](./assets/6.png) --- 如上图先点击Settings按钮左边的Actions按钮,再点击绿色按钮,进入下图界面 --- ![7](./assets/7.png) --- 如上图 1. 点击箭头1处蓝色的地方(上图中使用其他人的项目做演示) 2. 点击2处箭头Enable workflow 至此,全部配置完毕,自动预约已经激活了 ## 推送预定成功与否的消息(可选功能) ### pushplus 推送加 微信公众号 - 创建一个Repository secret,Name是PUSHPLUS,注意PUSHPLUS要大写。 - Value是pushplus 推送加 的token ## FAQ ### Q: 如果脚本运行失败怎么办? 1. 如果你是第一次运行脚本,请先检查学号密码座位是否输入错误 2. 其它时候大多是因为校园网网络服务问题,可以尝试重新运行脚本 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值