【大三上學期實訓】第三週總結

重新設計了數據庫,之前的數據庫設計不是很合理。我們重新設計了數據庫,提高了數據庫的性能,由於作者部分可以重用,而且一本書或者一篇文章可能不只有一個作者,所以我們新建了一個作者表,然後每次,就先檢測這個作者在作者表裏是否存在,若存在則直接使用現成的,否則就插入新的作者,然後使用新的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
    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章