程序逸的Java项目之旅-图书管理系统之数据库设计
Posted 程序逸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序逸的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项目之旅-图书管理系统之验证码和用户数据的后台获取