用户:
Users: 分为admin,manager&&reader,tables分别为user_reader_table,user_admin_table和user_manager_table。存储结构分别如下:
user_reader_table:
名称 | 属性 | 备注 |
userid | INT,INCR,主键,NOT_NULL | |
nickname | CHAR(50) | |
username | CHAR(100),NOT_NULL | char+num |
passwd | CHAR(100),NOT_NULL | |
gender | INT | 0/1/2 |
tel | CHAR(20) | num |
studentid | INT | |
borrownum | INT,NOT_NULL | <=maxnum |
maxnum | INT,NOT_NULL | |
status | INT,NOT_NULL | 用户状态,0正常,1禁止借阅,2限制借阅,4白名单 |
ext0 | INT | 扩展字段 |
ext1 | INT | 扩展字段 |
user_admin_table:
名称 | 属性 | 备注 |
userid | INT,INCR,主键,NOT_NULL | |
nickname | CHAR(50) | |
username | CHAR(100),NOT_NULL | char+num |
passwd | CHAR(100),NOT_NULL | |
gender | INT | 0/1/2 |
tel | CHAR(20) | num |
ext0 | INT | 扩展字段 |
ext1 | INT | 扩展字段 |
user_manager_table:
名称 | 属性 | 备注 |
userid | INT,INCR,主键,NOT_NULL | |
nickname | CHAR(50) | |
username | CHAR(100),NOT_NULL | char+num |
passwd | CHAR(100),NOT_NULL | |
gender | INT | 0/1/2 |
tel | CHAR(20) | num |
admin | INT | 添加该人的admin的userid |
status | INT,NOT_NULL | 用户状态,0正常,1禁止操作,2禁止登录 |
ext0 | INT | 扩展字段 |
ext1 | INT | 扩展字段 |
资源(书籍):
书籍信息就一种表(book_info_table),结构如下
名称 | 属性 | 备注 |
bookid | INT,INCR,主键,NOTNULL | |
allnum | INT,NOT_NULL | 总数量 |
lentnum | INT,NOT_NULL | 已借出数量 |
remainnum | INT,NOT_NULL | 剩余数量 |
ISBN | CHAR(20) | |
publishing | CHAR(200) | 出版社 |
label | INT | 标签,二进制表示 |
title | STRING,NOT_NULL | 书名 |
author | CHAR(50) | 作者 |
Introduction | TEXT | 简介 |
address | CHAR(100),NOT_NULL | 存储位置 |
price | DOUBLE | 价格,¥ |
status | INT | 状态,0正常,1不外借 |
ext0 | INT | 扩展字段 |
ext1 | INT | 扩展字段 |
关于标签:标签需要一个单独的key-value来存储,可以是一个单独的表,或者redis甚至文件,比如`1`对应`小说`,`2`对应`武侠`,那么
关系:
借阅关系包含两种表格,分别是书籍借阅读者用户表(relation_book_table_xx)和用户借阅图书表(relation_user_table_xx),xx分别为bookid和userid。表格属性如下:
relation_book_table_xx:
名称 | 属性 | 备注 |
userid | INT,NOT_NULL,主键 | |
bookinid | INT,NOT_NULL,主键 | 相同书籍不同的id,和userid共同构成主键 |
borrowdate | DATE | 开始借阅日期 |
returndate | DATE | 最迟归还日期 |
remain | INT | 剩余借阅日期,天 |
manager | INT | 管理者id |
ext0 | INT | 扩展字段 |
relation_user_table_xx:
名称 | 属性 | 备注 |
bookid | INT,NOT_NULL,主键 | |
bookinid | INT,NOT_NULL,主键 | 相同书籍不同的id,和bookid共同构成主键 |
borrowdate | DATE | 开始借阅日期 |
returndate | DATE | 最迟归还日期 |
remain | INT | 剩余借阅日期,天 |
manager | INT | 管理者id |
ext0 | INT | 扩展字段 |