程序逸的Java项目之旅-图书管理系统之数据库设计

Posted 程序逸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序逸的Java项目之旅-图书管理系统之数据库设计相关的知识,希望对你有一定的参考价值。

程序逸的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用户联系方式
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项目之旅-图书管理系统之数据库设计的主要内容,如果未能解决你的问题,请参考以下文章

程序逸的Java项目之旅-图书管理系统之项目搭建

程序逸的Java项目之旅-图书管理系统之验证码和用户数据的后台获取

程序逸的Java项目之旅-图书管理系统之验证码的校验和遇到的一些问题

程序逸的Java项目之旅-图书管理系统之环境的搭建

程序逸的Java项目之旅-图书管理系统之后端接口的快速实现

计算机毕业设计之java+SSM基于推荐算法的图书购物网站