百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

「Python系列」python的Flask项目实战(三)

ztj100 2024-10-28 21:10 15 浏览 0 评论

四.创建数据库:


注:utf8mb4_general_ci : ci表示不区分大小写

五、数据库设计:

尽量按照表名和列名来设计,参考设计一个博客网站基本的数据表结构如下:

    1. 用户表:用户名,密码,联系方式,昵称……

字段名称

字段类型

字段约束

字段说明

userid

int(11)

自增长、主键、不为空

用户唯一编号

username

varchar(50)

字符串、最长50、不为空

登录账号,可以为有效的邮箱地址或电话号码

password

varchar(32)

MD5加密字符串、不为空

登录密码

nickname

varchar(30)

字符串、最长30、可为空

用户昵称

avatar

varchar(20)

字符串、最长20、可为空

用户头像的图片文件名

qq

varchar(15)

字符串、最长15、可为空

用户的QQ号码

role

varchar(10)

字符串、不为空,admin表示管理员,editor表示作者,user表示普通用户

用户的角色

credit

int(11)

整数类型、默认为50,表示用户注册时即赠送50积分

用户的剩余积分

createtime

datetime

时间日期类型、格式为yyyy-mm-dd hh:mm:ss

该条数据的新增时间

updatetime

datetime

时间日期类型、格式同上

该条数据的修改时间

  • 文章表:用户编号,标题,内容,类别,日期,次数,积分,隐藏(软删除),普通用户可以投稿,但是投稿不能直接发布,审核,推荐……

字段名称

字段类型

字段约束

字段说明

articleid

int(11)

自增长、主键、不为空

文章唯一编号

userid

int(11)

users表外键、不为空

关联发布者信息

type

tinyint

整数、无默认值、不为空

关联文章类型

headline

varchar(100)

字符串、最长100、不为空

文章标题

content

mediumtext

字符串、最大16777216字符

文章内容

thumbnail

varchar(20)

字符串,最大30个字符

缩略图文件名

credit

int(11)

整数、默认为0

文章消耗的积分数

readcount

int(11)

整数、默认为0

文章阅读次数

replycount

int(11)

整数、默认为0

评论回复次数

recommended

tinyint

整数、默认为0(不推荐)

是否设为推荐文章

hidden

tinyint

整数、默认为0(不隐藏)

文章是否被隐藏

drafted

tinyint

整数、默认为0(非草稿)

文章是否是草稿

checked

tinyint

整数、默认为1(正式文章)

文章是否已被审核

createtime

datetime

时间日期类型

该条数据的新增时间

updatetime

datetime

时间日期类型

该条数据的修改时间

  • 积分表:用户与文章之间的第三张表(用户表与文章表之间,在积分阅读上是多对多关系),用户编号,文章编号,消耗积分。针对同一篇文章,用户只需要消耗一次即可。

字段名称

字段类型

字段约束

字段说明

creditid

int(11)

自增长、主键、不为空

积分表唯一编号

userid

int(11)

users表外键、不为空

关联用户表信息

category

varchar(10)

积分变化对应的类别,如: 阅读文章:消耗文章设定积分 评论文章:加2分 正常登录:加1分 用户注册:加50积分 在线充值:1元换10分 用户投稿:加200积分

积分变化的原因说明,便于用户和管理员查询明细。 在线充值不支持个人用户开通支付账户,本书暂不讲解。

target

int(11)

积分消耗对应的目标,如果是阅读和评论文章,则对应为文章ID,如果在正常登录或注册,则显示0。

积分新增或消耗对应的目标对象。

credit

int(11)

整数,可正可负

积分的具体数量

createtime

datetime

时间日期类型

该条数据的新增时间

updatetime

datetime

时间日期类型,格式同上

该条数据的修改时间

  • 收藏表:用户编号,文章编号,取消。

字段名称

字段类型

字段约束

字段说明

favoriteid

int(11)

自增长、主键、不为空

收藏表唯一编号

articleid

int(11)

article表外键、不为空

关联文章表信息

userid

int(11)

users表外键、不为空

关联用户表信息

canceled

tinyint

整数、默认为0(不取消收藏)

文章是否被取消收藏

createtime

datetime

时间日期类型

该条数据的新增时间

updatetime

datetime

时间日期类型,格式同上

该条数据的修改时间

  • 评论表:用户编号,文章编号,内容,时间……

字段名称

字段类型

字段约束

字段说明

commentid

int(11)

自增长、主键、不为空

评论唯一编号

userid

int(11)

users表外键、不为空

关联评论者信息

articleid

int(11)

article表外键、不为空

关联文章表信息

content

text

字符串、最大65536字符

评论的内容

ipaddr

varchar(30)

字符串、最大30个字符

评论用户的IP地址

replyid

int(11)

整数,如果是评论回复,则保存被回复评论的commentid,否则为0表示为原始评论

是否为原始评论及被回复评论的ID号

agreecount

int(11)

整数、默认为0

赞同该评论的数量

opposecount

int(11)

整数、默认为0

反对该评论的数量

hidden

tinyint

整数、默认为0(不隐藏)

评论是否被隐藏

createtime

datetime

时间日期类型

该条数据的新增时间

updatetime

datetime

时间日期类型

该条数据的修改时间

相关推荐

从IDEA开始,迈进GO语言之门(idea got)

前言笔者在学习GO语言编程的时候,GO语言在国内还没有像JAVA/Php/Python那样普及,绕了不少的弯路,要开始入门学习一门编程语言,最好就先从选择一个好的编程语言的开发环境开始,有了这个开发环...

基于SpringBoot+MyBatis的私人影院java网上购票jsp源代码Mysql

本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目介绍基于SpringBoot...

基于springboot的个人服装管理系统java网上商城jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目介绍基于springboot...

基于springboot的美食网站Java食品销售jsp源代码Mysql

本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目介绍基于springboot...

贸易管理进销存springboot云管货管账分析java jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目描述贸易管理进销存spring...

SpringBoot+VUE员工信息管理系统Java人员管理jsp源代码Mysql

本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目介绍SpringBoot+V...

目前见过最牛的一个SpringBoot商城项目(附源码)还有人没用过吗

帮粉丝找了一个基于SpringBoot的天猫商城项目,快速部署运行,所用技术:MySQL,Druid,Log4j2,Maven,Echarts,Bootstrap...免费给大家分享出来前台演示...

SpringBoot+Mysql实现的手机商城附带源码演示导入视频

今天为大家带来的是基于SpringBoot+JPA+Thymeleaf框架的手机商城管理系统,商城系统分为前台和后台、前台用的是Bootstrap框架后台用的是SpringBoot+JPA都是现在主...

全网首发!马士兵内部共享—1658页《Java面试突击核心讲》

又是一年一度的“金九银十”秋招大热门,为助力广大程序员朋友“面试造火箭”,小编今天给大家分享的便是这份马士兵内部的面试神技——1658页《Java面试突击核心讲》!...

SpringBoot数据库操作的应用(springboot与数据库交互)

1.JDBC+HikariDataSource...

SpringBoot 整合 Flink 实时同步 MySQL

1、需求在Flink发布SpringBoot打包的jar包能够实时同步MySQL表,做到原表进行新增、修改、删除的时候目标表都能对应同步。...

SpringBoot + Mybatis + Shiro + mysql + redis智能平台源码分享

后端技术栈基于SpringBoot+Mybatis+Shiro+mysql+redis构建的智慧云智能教育平台基于数据驱动视图的理念封装element-ui,即使没有vue的使...

Springboot+Mysql舞蹈课程在线预约系统源码附带视频运行教程

今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的Springboot+Mysql舞蹈课程在线预约系统,系统项目源代码在【猿来入此】获取!https://www.yuan...

SpringBoot+Mysql在线众筹系统源码+讲解视频+开发文档(参考论文

今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的在线众筹管理系统,主要实现了普通用户在线参与众筹基本操作流程的全部功能,系统分普通用户、超级管理员等角色,除基础脚手架外...

Docker一键部署 SpringBoot 应用的方法,贼快贼好用

这两天发现个Gradle插件,支持一键打包、推送Docker镜像。今天我们来讲讲这个插件,希望对大家有所帮助!GradleDockerPlugin简介...

取消回复欢迎 发表评论: