数据库设计参考 WordPress 的数据库,以及网上其他相关资料。
table - admin(管理员)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| id | id | bigint(20) | 主键,索引,自增 |
| 登录名 | loginname | varchar(20) | 唯一,索引 |
| 昵称 | nickname | varchar(255) | 索引 |
| 密码 | password | varchar(255) | md5加密 |
| 手机 | phone | varchar(11) | 唯一,索引 |
| varchar(255) | 唯一,索引 | ||
| 角色 | role | tinyint(1) | 是否是超级管理员,0为超级管理员,1为普通管理员 |
| 注册时间 | register_time | DATETIME | 年月日时分秒,自动生成 |
| status | status | tinyint(1) | 状态,0为正常,1为停用 |
| 头像 | avatar | varchar(255) | 存储一个地址 |
用户名、手机、邮箱。登录时用正则匹配判断用户登录的方式(初级阶段只需要用户名登录即可)
bigint 这里不是很懂为什么,参考 WordPress 的数据库。
这里说一下密码的加密方式
密码明文:123456
密码明文连接一个字符串museum:museum123456
进行 md5 加密(32位小写,函数库直接调用就可以,自己找一下使用方法):fe386210f3e642fe7ae8931bbede6fa9
table - user(用户)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| id | id | bigint(20) | 主键,索引,自增 |
| 登录名 | loginname | varchar(20) | 唯一,索引 |
| 昵称 | nickname | varchar(255) | 索引 |
| 密码 | password | varchar(255) | md5加密 |
| 手机 | phone | varchar(11) | 唯一,索引 |
| varchar(255) | 唯一,索引 | ||
| varchar(255) | 唯一,索引 | ||
| varchar(255) | 唯一,索引 | ||
| 注册时间 | register_time | DATETIME | 年月日时分秒,自动 |
| status | status | tinyint(1) | 是否被关闭,默认是0,正常 |
| 头像 | avatar | varchar(255) | 存储一个地址 |
table - audio(讲解)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| id | id | bigint(20) | 自增,唯一,索引 |
| 用户id | user_id | bigint(20) | 索引,外键(user.id) |
| 博物馆 id | musemu_id | bigint(20) | 外键(musume.id),索引 |
| 状态 | status | tinyint(1) | 审核是否通过 |
| 上传时间 | upload_time | DATETIME | 年月日时分秒,自动 |
| 审核通过时间 | pass_time | DATETIME | 年月日时分秒,自动 |
| 地址 | addr | varchar(255) | |
| 描述 | description | text | |
| 文本 | totext | text | 语音转文本的服务(后期添加) |
| 语音检测 taskId | taskId | varchar(255) | |
| 语音检测 dataId | dataId | varchar(255) | |
| 语音检测 label | label | varchar(255) | |
| 语音检测 labeltext | labeltext | varchar(255) | |
| 语音检测 suggestion | suggestion | varchar(255) |
table - star(打分)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| id | id | bigint(20) | 自增,唯一,索引 |
| 用户id | user_id | bigint(20) | 索引,外键(user.id)非必须 |
| 评论id | comment_id | bigint(20) | 外键(comment.id)非必须 |
| 博物馆 id | musemu_id | bigint(20) | 外键(musume.id),索引,必须的 |
| 展览 | exhibition_star | tinyint(1) | |
| 服务 | service_star | tinyint(1) | |
| 环境 | environment_star | tinyint(1) |
table - museum(博物馆)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| id | id | bigint(20) | 自增,唯一,索引 |
| 博物馆名 | name | varchar(255) | 索引 |
| 基本介绍 | introduce | text | |
| 开放时间 | open_time | text | |
| 教育活动 | edu_activity | text | |
| 经典藏品信息 | collection | text | |
| 学术研究信息 | academic | text | |
| 经度 | lng | double(10,6) | 谷歌推荐(小数点后六位,前4位) |
| 纬度 | lat | double(10,6) | 谷歌推荐(小数点后六位,前4位) |
| 城市 | city | varchar(10) |
table - exhibition(展览)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| id | id | bigint(20) | 自增,唯一,索引 |
| 博物馆 id | musemu_id | bigint(20) | 外键(musume.id),索引 |
| 展览名称 | name | varchar(255) | 索引 |
| 展览时间 | time | text | |
| 展览地点 | address | varchar(255) | |
| 展览介绍 | introduce | text |
table - exhibits(展品藏品)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| id | id | bigint(20) | 自增,唯一,索引 |
| 博物馆 id | musemu_id | bigint(20) | 外键(musume.id),索引 |
| 藏品名称 | name | varchar(255) | 索引 |
| 藏品介绍 | introduce | text |
table - news(新闻)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| id | id | bigint(20) | 自增,唯一,索引 |
| 新闻标题 | title | varchar(255) | 非空,索引 |
| 作者 | author | varchar(255) | 索引,若空则表示来源于网络 |
| 发布时间 | release_time | datetime | 年月日时分秒,未知补零 |
| 修改时间 | modify_time | datetime | 年月日时分秒 |
| 摘要 | excerpt | text | |
| 新闻正文 | content | text | |
| 新闻状态 | status | tinyint(1) | 是否发布 |
| 新闻性质 | nature | tinyint(1) | 正面负面 |
| 评论状态 | comment_status | tinyint(1) | 是否可以评论 |
| 原文 URL | url | varchar(255) | |
| 图片 url | img_url | varchar(255) |
table - news_relationships (新闻与博物馆关系表)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| 新闻id | news_id | bigint(20) | 索引,外键(news.id) |
| 博物馆id | museum_id | bigint(20) | 索引,外键(museum.id) |
table - comment(评论)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| id | id | bigint(20) | 自增,唯一,索引 |
| coption | option | tinyint(1) | 因为option为mysql 关键字,所以修改为 coption 1为评论博物馆,2为评论展览,3为评论新闻,4为评论讲解 |
| museum_id | museum_id | bigint(20) | |
| exhibition_id | exhibition_id | bigint(20) | |
| news_id | news_id | bigint(20) | |
| audio_id | audio_id | bigint(20) | |
| 评论者id | user_id | bigint(20) | 索引,外键(user.id) |
| 评论者IP | user_ip | varchar(255) | |
| 评论时间 | time | datetime | 自动生成 |
| 评论正文 | content | text | |
| 评论状态 | status | tinyint(1) | |
| 评论父级 | parent | bigint(20) | 外键(comment.id) |
table - logs
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| id | id | bigint(20) | 自增,唯一,索引 |
| 操作的 URL | url | varchar(255) | |
| 操作者 | operator | bigint(20) | |
| 描述 | description | varchar(255) | |
| 操作时间 | operate_time | datetime | |
| ip | ip | varchar(255) | |
| status | status | tinyint(1) | 0操作成功 1操作失败 |
table - options(可选的设置选项)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| id | id | bigint(20) | 自增,唯一,索引 |
| 键名 | option_name | varchar(255) | |
| 键值 | option_value | varchar(255) | |
| 自动加载 | autoload | tinyint(1) |
以下表可有可无
table - taxonomy(新闻分类方法)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| 类别id | id | bigint(20) | 自增,唯一,索引 |
| 类别 | taxonomy | varchar(255) | 分类、标签? |
| 描述 | description | varchar(255) | |
| 父级id | parent | bigint(20) |
table - term_relationships(补充的新闻分类)
| 内容 | 字段名 | 类型及大小 | 备注 |
|---|---|---|---|
| 新闻id | news_id | bigint(20) | |
| 分类方法id | taxonomy_id | bigint(20) |