程序逸的Java项目之旅-图书管理系统之数据库设计(1)
程序逸的Java项目之旅-图书管理系统之环境的搭建
1.前言
- 上篇博客我们介绍了一下环境的搭建,我相信很多小伙伴这点应该问题不大,可能就是idea破解和mysql数据库和redis数据库的安装吧,我其实也看过网上很多博客啥的,也找过一些项目,但是很多数据库表直接就是给你一个xxx.sql文件直接去Navicat去执行sql文件就好了,然后里面一打开就会发现很多表,也不说是干啥的,所以我们从专业的角度来说明一下,对于一个系统来说,数据库是最重要的,为什么呢?我们做的系统其实就是为了处理各种各样的数据,最终这些数据会存储到mysql中,当然也会有存储到redsi中了,但数据库表的设计是真的很重要,而且也很难,并不是想象中的简单的,但如果不是很复杂的项目的话,表的设计我们也还是可以来书写的,接下来我们就来设计数据库表吧。
2.需求分析
- 我们拿到这个图书管理系统,就要开始分析这个项目具体有哪些功能呢?我们有哪些角色呢?这就是我们接下来要分析的,所以我们可以使用思维导图来帮助我们实现。
- 【角色分析】:图书管理肯定要有管理员的,但应该还有有用户,毕竟书在图书馆,没人来借书不凉了吗,所以这个系统要给管理员和用户使用,所以我们就可以想想这两个角色都可以有哪些功能呢?
- 【功能分析概述】:上述两张图片是我自己暂时想到的功能,实际可能是别人提供需求给我们,但目前来说我们只能自己先模拟需求了,这些功能应该是最基本的需求了吧,最起码如果用在图书馆之类的,把一本书借出去,然后再归还问题应该不大,但实际可能会复杂很多,我们目前先不追求。
3.数据库表的设计
- 【概述】不知道大家有没有画过E-R图,通过E-R图我们可以实现数据库表的设计,也更加清晰的认识项目中涉及的角色关系等等。所以接下来我们开始分析需要建哪些表,怎么建的问题。
- 【管理员表 (t_admin)】:这个表不用多说,用来存储管理员信息的表,这里涉及到一个知识,就是阿里巴巴的代码规范,就是一个表至少包含三个字段:id主键,crate_time创建时间,update_time修改时间。所以我们的表中都要有这三个字段。剩下的就是一些基本信息字段,这里呢像什么年龄,地址等信息有兴趣的小伙伴可以继续扩充,毕竟就是多了一些信息,我这里就不写的太冗余了。
字段名 | 含义 |
---|---|
id | 主键 |
ADMIN_NAME | 管理员账户名 |
ADMIN_REALNAME | 管理员真实姓名 |
ADMIN_PWD | 密码 |
ADMIN_IMGURL | 管理员头像路径 |
CREATE_TIME | 创建时间 |
UPDATE_TIME | 修改时间 |
- 【用户信息表(t_user)】:用户信息表也是一些用户的个人信息字段,可以对我的继续补充,我这里就简单找一些主要的信息进行书写了。
字段名 | 含义 |
---|---|
id | 主键 |
USER_NAME | 用户名 |
USER_REALNAME | 用户真实姓名 |
USER_PWD | 用户密码 |
USER_IMGURL | 用户头像 |
USER_PHONE | 用户联系方式 |
STATE | 0是注册,1是注销 |
CREATE_TIME | 创建时间 |
UPDATE_TIME | 修改时间 |
- 【图书类别表 (t_booktype)】:图书千千万,但也是有分类的,只有通过分类才方便我们快速查询书籍信息等,所以需要有一个分类表来帮助我们进行书籍种类的扩充。
字段名 | 含义 |
---|---|
id | 主键 |
TYPE_NMAE | 类别名称 |
CREATE_TIME | 创建时间 |
UPDATE_TIME | 修改时间 |
- 【图书表 (t_book)】:图书的信息应该不难,书籍名称,作者,价格,等等,还有库存数量等。
字段名 | 含义 |
---|---|
id | 主键 |
BOOK_NAME | 图书名称 |
BOOK_AUTHOR | 图书作者 |
BOOK_COUNT | 图书数量 |
BOOK_URL | 图书图片地址 |
CREATE_TIME | 创建时间 |
UPDATE_TIME | 修改时间 |
- 【图书借阅表 (t_bookborrowing)】:用户需要借阅图书,那么我们就要想借阅图书的信息有哪些呢?首先id,创建时间,修改时间要有,其次就是用户的id,和书籍的id,通过一个表将图书信息和用户信息进行关联,这样就可以顺藤摸瓜了,还有借阅状态,因为我们可以预约借书,当我们真的去图书馆拿到书时,就是真的借书了。还有就是归还时间,我们的借阅书籍表还要设置一个统一的借阅时间,长于7天的就属于未归还了。
字段 | 含义 |
---|---|
id | 编号 |
BOOK_ID | 书籍id |
USER_ID | 用户id |
STATE | 状态(0预约中,1借阅中,2正常归还,3未归还,4延迟归还) |
CREATE_TIME | 创建时间 |
UPDATE_TIME | 修改时间 |
今天第一天暂时写这么多,后续我将数据库完善
程序逸的Java项目之旅-图书管理系统之数据库设计(1)相关推荐
- 程序逸的Java项目之旅-图书管理系统之数据库设计(2-完)
紧接上篇博客>>>>>>程序逸的Java项目之旅-图书管理系统之数据库设计(1) 4.数据库表的创建 对于数据库表,我们可以通过cmd窗口进行创建,但那种方法有点麻 ...
- 程序逸的Java项目之旅-图书管理系统之验证码和用户数据的后台获取(1)
通过上篇博客>>>>>程序逸的Java项目之旅-图书管理系统之后端接口的快速实现,我们就可以快速搭建出基础的项目代码了,今天我们就先来实现一个验证码和后台获取管理员的账号 ...
- 程序逸的Java项目之旅-图书管理系统之环境的搭建
其实自己一直没有真正的梳理过一个项目,无论这个项目是简单还是困难,所以我希望通过这个项目帮助我学习以及分享自己的心得给大家,谢谢. 1.前言 这个项目我也是从零开始写,并且更新的速度要看我写的速度,期 ...
- 程序逸的Java项目之旅-图书管理系统之项目搭建
前两篇博客将数据库表简单设计了一下,接下来我们就可以先搭建项目基础的骨架了.很多高校依旧使用eclipse/myeclipse来作为编译器,不是说这个编译器不好,其实Ieda的功能它都有,但用起来就是 ...
- 程序逸的Java项目之旅-图书管理系统之后端接口的快速实现
我们可以借助Mybatis-plus来快速生成我们的DAO,Mapper,和service层,因为通过这些插件可以生成最基础的增删改查语句,但如果是更复杂的语句,我们可以自己再去xml中手写也是可以的 ...
- Java程序员的福音:Java项目教学之图书管理系统(含源代码)
1 图书管理系统项目演示 图书管理系统分析: 定义Book类 完成主界面和选择 完成查询所有图书 完成添加图书 完成删除图书 完成修改图书 使用Debug追踪调试 2 图书管理系统之标准Book类 我 ...
- Java项目:SpringBoot图书管理系统
作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 本系统分为管理员与普通用户两种角色: 管理员角色包含以下功能: 借书管理,图书信息管理 ...
- 图书管理系统的数据库设计
一.实验目的 选用一种DBMS作为设计平台,理解并应用课程中关于数据库设计的相关理论,能按照数据库设计步骤完成完整的数据库设计,包括需求分析.概念设计.逻辑设计.物理设计和实施.同时能够正确应用各个阶 ...
- 基于JAVA的疫情学生宿舍管理系统【数据库设计、论文、源码、开题报告】
主要使用技术 Servlet+layui+JSP+CSS+JS+Mysql 数据库脚本 /* SQLyog Ultimate v13.1.1 (64 bit) MySQL - 5.5.40 : Dat ...
最新文章
- android多功能计算器 源码,Android计算器源码
- linux+date+命令+作业,Linux date命令的使用
- mysql怎么创建文字表_myMySQL数据库 如何将中文转拼音 MySQL数据库使用教程
- powershell实现设置程序相关性脚本
- Apache JMeter 压试 HTTP接口
- MFC模态与非模态对话框的创建与销毁
- 「开源·共创·照亮」TDengine开源两周年暨灯塔计划发布会邀你一起闪耀
- python异常(概念、捕获、传递、抛出)
- 通过Stratus 服务器在Flash Player中使用RTMFP 开发P2P应用
- 如何在H264数据中获取PTS?
- 零基础能学平涂插画么?
- linux7怎么进桌面,CentOs7无法进入桌面系统怎么办?
- 交并比 (IoU), mAP (mean Average Precision), 非极大值抑制 (NMS, Soft NMS, Softer NMS, IoU-Net)
- SpringBoot 配置文件加密的两种方式
- 红队信息收集自动化工具-水泽(ShuiZe)
- Python对微信好友进行简单统计分析
- 自主设计的滑移转向机器人同步带传动stm32f103的can伺服电机控制
- Apache+Tomcat 动静分离
- 技术总监“阿朱”是何许人也
- 跳槽涨薪技术之python+pytest接口自动化(6)-请求参数格式的确定