跟着项目学sql(一) 项目介绍

新闻发布系统 Mysql数据库+dapper

1)权限:网站设置【网站名称、SEO、静态化等等网站配置文件的设置】、用户管理、用户权限设置、栏目管理、新闻管理。

2)后台用户登陆后,可以发布新闻,并指向对应的栏目,每篇新闻可以对应多个栏目,有新闻管理权限的用户,可以管理所有新闻,而没有该权限的用户,只能管理本人创建的新闻。

3)网站需要加入健康检查插件,对接运维系统,记录运维信息。

参考移动端界面如下:

跟着项目学sql(一) 项目介绍

数据库设计文档

新闻库(NewsDB)

序号 表名 说明
1 permission 权限表
2 user 用户表
3 menu 栏目表
4 news 新闻表
5 clicks 浏览信息表

 

1、表名:permission(权限表)

序号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 id varchar(45) 45 0 N Y   主键
2 name varchar(45) 45 0 Y     权限名称
3 orderby int 10 0 Y   0 排序
4 create_time datetime 23 0 Y   CURRENT_TIMESTAMP 创建时间

 

2、表名:user(用户表)

序号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 id varchar(45) 45 0 N Y   主键
2 username varchar(45) 45 0 N     用户名
3 password varchar(45) 45 0 N     密码
4 permission varchar(200) 200 0 Y    

权限id

(多个用逗号隔开)

5 create_time datetime 23 0 Y   CURRENT_TIMESTAMP 创建时间

 

3、表名:menu(栏目表)

序号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 id varchar(45) 45 0 N Y    
2 name varchar(45) 45 0 N     栏目名称
3 url varchar(200) 200 0 N     栏目url
4 orderby int 10 0 Y   0 排序字段
5 create_time datetime 23 0 Y   CURRENT_TIMESTAMP 创建时间

 

4、表名:news(新闻表)

序号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 id varchar(45) 45 0 N Y   主键
2 title varchar(200) 200 0 N     标题
3 keywords varchar(200) 200 0 Y     关键词
4 menus varchar(200) 200 0 N     所属栏目(逗号隔开)
5 author varchar(45) 45 0 N     新闻来源
6 thumb varchar(200) 200 0 Y     缩略图
7 content text 65535 0 N     新闻内容
8 user_id varchar(45) 45 0 Y     创建人id
9 username varchar(45) 45 0 Y     创建人
10 create_time datetime 23 0 Y   CURRENT_TIMESTAMP 创建时间
11 edit_time datetime 23 0 Y     最后编辑时间
12 state tinyint 1 0 N   0

        新闻状态

(0未发布1已发布)

 

5、表名:clicks(浏览信息表)

序号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 id varchar(45) 45 0 N Y    
2 ip varchar(45) 45 0 N     浏览人ip地址
3 useragent varchar(500) 500 0 Y     浏览器useragent
4 news_id varchar(45) 45 0 N     新闻id
5 create_time datetime 23 0 Y   CURRENT_TIMESTAMP 创建时间

 

运维表(health)位于其他的数据库,在运维系统项目下,在我们的网站项目中通过插件的方式,对接运维系统,记录该网站前后端项目的健康状况,在跟着项目学设计模式系列文章中,会有类似的实现。

待续。。。