【大三上学期实训】第三周总结

重新设计了数据库,之前的数据库设计不是很合理。我们重新设计了数据库,提高了数据库的性能,由于作者部分可以重用,而且一本书或者一篇文章可能不只有一个作者,所以我们新建了一个作者表,然后每次,就先检测这个作者在作者表里是否存在,若存在则直接使用现成的,否则就插入新的作者,然后使用新的id进行关联,

新的表结构如下:

#### 用户:users
    id char(32) 唯一标识 UUID without -
    name varchar(10) 登录用户名
    nickName varchar(10) 昵称
    password char(64) id加盐 sha256
    date timestamp 注册时间,精确到秒
    role tinyint 角色 0普通用户 1高级用户 2管理员 3专家 4系统管理员

#### 页表:page
    id int(9) 唯一标示
    articleId int(9) 所属文章的id
    page int(9) 页码
    svg text svg部分
#### 文章表:article
    id int(9) 唯一标识
    userId char(32) 发布者
    status tinyint 状态 -2不可编辑 -1正在编辑 0未审核 1专家已审核
![avatar](http://wangjingxin.top:65530/article.png)

    content text content部分
    bookId int(9) 所属bookid
    pageCount int(9) 文章页多少
    pageStart int(9) 文章开始页
    name varchar(20) 文章名
    date timestamp 发布时间
    xml text xml内容
    content text 内容
    annotations text 注释内容
    discontinues text 连续的页码
#### 书表:book
    id int(9) 唯一标识
    userId char(32) 申请者
    articleTotal int(9) 文章总数
    unexamined int(9) 未审核文章
    writtenDate char(10) 成书日期
    name varchar(20) 书名
    publishedDate char(10) 出版时间
    date timestamp 申请时间
    status int 状态 0 还有未被审核通过的文章 1全部文章已经审核
#### 申请表:application 储存申请成为高级用户的消息
    id int(8) 唯一标识
    userId char(32) 申请者
    date timestamp 申请时间
#### 作者表:
    id int(9) 作者id
    name varchar(20) 作者本名
    birth varchar(20) 作者生年
    death varchar(20) 作者卒年
    dynasty varchar(10) 作者朝代
    lift varchar(100) 作者生平
####article_author:
    articleId int(9)
    authorId int(9)
    name varchar(20)
    order tinyint
    
####book_author:
    articleId int(9)
    authorId int(9)
    name varchar(20)
    order tinyint
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值