is_analysis

周志强的实验报告

实验五:图书管理系统数据库设计与界面设计

学号 班级 姓名
201510511129 软件15-1 周志强

1.表数据库设计

1.1 图书表(book)

字段 类型 主键,外键 可以为空 约束 说明
bookId int(100) 主键   图书ID
ISBN varchar(100)   唯一,只包含数字和”-“ 图书ISBN号
bookName varchar(100)     图书名称
author varchar(100)   汉字或字母 图书作者
publisher varchar(100)   汉字或字母 图书出版社
price float(100)     图书购入单价
cnum int(100)     图书馆总计购入数量
snum int(100)     图书馆剩余库存
summary varchar(100)     图书简介
photo varbinary(60000)     图书封面

1.2 读者表(reader)

字段 类型 主键,外键 可以为空 约束 说明
readerId varchar(100) 主键   读者ID
name varchar(100)   汉字或字母 读者姓名
password varchar(100)     读者密码,需加密
sex bit(1)   1表示男,0表示女 读者性别
born datetime   不能超过当前日期 读者生日
spec varchar(100)   汉字或字母 读者所在专业
num (100)   初始值为0 读者借书数量
photo varbinary(60000)     读者照片

1.3 管理员表(admin)

字段 类型 主键,外键 可以为空 约束 说明
adminId varchar(100) 主键   管理员ID
name varchar(100)     管理员姓名
password varchar(100)     管理员密码,需加密
sex bit(1)   1表示男,0表示女 管理员性别
born datetime   不能超过当前日期 管理员生日
photo varbinary(60000)     管理员照片
rule bit(1)   1表示超级管理员,0表示图书管理员 管理员权限

1.4 借书表(lend)

字段 类型 主键,外键 可以为空 约束 说明
id int(100) 主键 数据库自动生成 借书记录ID
readerId varchar(100) 外键   读者ID,参见读者表
bookId int(100) 外键   图书ID,参见图书表
ISBN varchar(100)   唯一,只包含数字和”-“ 图书ISBN号
ltime datetime   不能超过当前日期 借书时间
returnRequest bit(1)   默认为0,提交请求后用1表示 表示读者通过系统自主提交还书请求
lendConfirm bit(1)   默认为0,处理后为1 借书确认表示图书管理员是否受理借书请求

2. 界面设计

2.1 读者管理界面设计 读者管理设计

  1. 读者查询
参数名称 必填 说明
readerId 用于指定查询的读者
参数名称 说明
msg 请求响应结果
data 读者的个人信息
code 返回码,用于判断请求是否被响应

注:因为密码为加密数据且无需使用,不需返回,照片不为必填项,数据库中若无则返回”“,其余参数均不能为空

  1. 读者删除
参数名称 必填 说明
readerId 用于指定删除的读者
参数名称 说明
msg 请求响应结果
data 返回的主体信息
code 返回码,用于判断请求是否被响应
flag 读者是否删除成功
  1. 读者修改
参数名称 必填 说明
data 填写的读者json串(可添加一项或多项)
- 返回实例:

{ “code”: 200, “data”: { readerId = “root” name = “周志强” sex = 1 born = “2018-04-14 01:16:00” spec = “软工” photo = “??WExif” num = 1 “flag”:true, }, “msg”: “响应成功” }

- 返回参数说明:
    
|参数名称|说明|
|:-------:|:-------------: |
|msg|请求响应结果|
|data|返回的主体信息,读者类对象+flag参数|
|code|返回码,用于判断请求是否被响应|
|flag|读者是否修改成功|

***注:返回的data中不包含密码***

4. 读者新加

- 功能:用于添加读者
- 请求地址: http://localhost:8080/LibrarySystem/POST/reader
- 请求方法:POST
- 请求参数:Json格式的读者的所有属性组成(注:必需设置密码,存储前系统会进行加密)

|参数名称|必填|说明|
|:-------:|:-------------: | :----------:|
|data|是|填写的读者json串(每项必填)|

- 请求实例:

请求地址:http://localhost:8080/LibrarySystem/POST/reader 参数格式: Content-Type: application/json “data”: { readerId = “root” name = “周志强” password = “123456” sex = 1 born = “2018-04-14 01:16:00” spec = “软工” photo = “??WExif” num = 1 }


- 返回实例:

{ “code”: 200, “data”: { “readerId”: “201510511129”, “name”: “周志强”, “sex”: 1, “born”: “1997-01-19 00:00:00”, “spec”: “软工”, “num”: 2, “photo”: “??WExif”, “flag”:true, }, “msg”: “响应成功” } ```

参数名称 说明
msg 请求响应结果
data 返回的主体信息,读者类对象+flag参数
code 返回码,用于判断请求是否被响应
flag 读者是否添加成功

注:返回的data中不包含密码