图书馆管理系统
|
1. 一、绪论
2. 二、系统分析
(一)用例图、分角色功能图
用例图


分角色功能图
- 管理员功能:
- 管理员能管理用户信息:添加图书、新增用户、更新图书信息等。
- 管理员有高级权限,比如可以查看所有用户、删除图书。
- 普通用户功能:
- 普通用户只能查找图书、借阅图书等。


(二)数据需求—数据流图

3. 三、系统设计
3.1.1. (一)概念结构设计-ER图系统功能模块图
users

books

loans

图书类别

出版社

整体

3.1.2. (二)系统功能模块图
3.1.2.1. 用户注册流程

3.1.2.2. 借书流程

3.1.3. (三)逻辑结构设计-关系模式-表
3.1.4. 实体关系分析
主要实体:用户、图书、出版社、图书类别、借阅记录
关系:
- 一个出版社可以出版多本图书(1:n)
- 一个类别可以包含多本图书(1:n)
- 一个用户可以借多本图书(1:n)
- 一本图书可以被多个用户借阅(记录在借阅历史中)(1:n)
3.1.5. 关系模式(表结构)
3.1.5.1. 用户表 (用户)
| 字段名 | 类型 | 约束 | 说明 |
|---|---|---|---|
| 用户编号 | INT | 主键, 自增 | 用户唯一标识 |
| 用户名 | VARCHAR(50) | 非空, 唯一 | 登录账号 |
| 密码 | VARCHAR(255) | 非空 | 登录密码 |
| 邮箱 | VARCHAR(100) | 非空, 唯一 | 联系邮箱 |
| 角色 | ENUM | 非空, 默认’用户’ | 用户角色:管理员/用户 |
| 创建时间 | TIMESTAMP | 默认当前时间 | 账号创建时间 |
3.1.5.2. 出版社表 (出版社)
| 字段名 | 类型 | 约束 | 说明 |
|---|---|---|---|
| 出版社编号 | INT | 主键, 自增 | 出版社唯一标识 |
| 出版社名称 | VARCHAR(100) | 非空, 唯一 | 出版社名称 |
| 地址 | VARCHAR(255) | 可空 | 出版社地址 |
| 联系电话 | VARCHAR(20) | 可空 | 联系方式 |
| 联系邮箱 | VARCHAR(100) | 可空 | 业务邮箱 |
| 创建时间 | TIMESTAMP | 默认当前时间 | 记录创建时间 |
3.1.5.3. 图书类别表 (图书类别)
| 字段名 | 类型 | 约束 | 说明 |
|---|---|---|---|
| 类别编号 | INT | 主键, 自增 | 类别唯一标识 |
| 类别名称 | VARCHAR(50) | 非空, 唯一 | 类别名称 |
| 类别描述 | TEXT | 可空 | 类别详细描述 |
| 创建时间 | TIMESTAMP | 默认当前时间 | 记录创建时间 |
3.1.5.4. 图书表 (图书)
| 字段名 | 类型 | 约束 | 说明 |
|---|---|---|---|
| 图书编号 | INT | 主键, 自增 | 图书唯一标识 |
| 书名 | VARCHAR(255) | 非空 | 图书名称 |
| 作者 | VARCHAR(255) | 非空 | 作者姓名 |
| 出版社编号 | INT | 外键 | 关联出版社表 |
| 类别编号 | INT | 外键 | 关联图书类别表 |
| 出版日期 | DATE | 可空 | 出版日期 |
| ISBN码 | VARCHAR(13) | 唯一 | 图书标准编号 |
| 是否可借 | BOOLEAN | 默认TRUE | 借阅状态 |
| 创建时间 | TIMESTAMP | 默认当前时间 | 记录创建时间 |
3.1.5.5. 借阅记录表 (借阅记录)
| 字段名 | 类型 | 约束 | 说明 |
|---|---|---|---|
| 记录编号 | INT | 主键, 自增 | 借阅记录唯一标识 |
| 用户编号 | INT | 外键 | 关联用户表 |
| 图书编号 | INT | 外键 | 关联图书表 |
| 借出时间 | TIMESTAMP | 默认当前时间 | 借书时间 |
| 归还时间 | TIMESTAMP | 可空 | 还书时间 |
3.1.6. 主要关系说明
- 图书与出版社:
- 一对多关系
- 通过图书表的
出版社编号关联到出版社表
- 图书与类别:
- 一对多关系
- 通过图书表的
类别编号关联到图书类别表
- 用户与借阅记录:
- 一对多关系
- 通过借阅记录表的
用户编号关联到用户表
- 图书与借阅记录:
- 一对多关系
- 通过借阅记录表的
图书编号关联到图书表
这种设计实现了:
- 完整的图书管理功能
- 清晰的数据关系
- 可追踪的借阅历史
- 灵活的用户权限控制
- 完善的分类管理
通过这样的结构,可以方便地实现:
- 图书检索
- 借阅管理
- 库存统计
- 用户管理
- 分类统计等功能
3.2. 四、系统实现(程序流程图,实现的界面)数据库连接
|
