mysql数据库字段设计问题

各位大侠,我后端用mysql,前端用vuejs,有以下问题:
1.在设计字段是,比如文章类型有“国家法规”,“个人论文”等,我是应该在数据库中直接存储用1,2,3等数字代表呢,还是直接用“国家法规”的文字?在筛选的时候,效率上有区别么?
2.在前端vuejs中,我需要vif判断后显示不同的样式,那以下两种判断方式,一种是判断==1,还有一种是判断在10000和20000之间,这两种方式判断的效率上有多大区别?如果不大,我就不想再增加一个字段了。

阅读 2.3k
2 个回答

1、数据库设计一般选择解约为原则,多采用小的类型即使用类似 1、2、3 的形式,然后在字段注释中说明对应关系,这样更加有助于系统以后的拓展。从筛选效率来说并无区别,因为你作为条件时,都是属于常量值。

2、== 的效率远高于范围比较

文章和博客,如果文章只有一个分类,则文章和分类是多对一关系。
表结构可以这样建立:

内容表

键名 类型 属性 解释
cid int(10) 主键,非负,自增 post表主键
mid int(9) 非负,可为空 与项目主键对应
title varchar(200) 可为空 内容标题
slug varchar(200) 索引,可为空 内容缩略名
created int(10) 索引,非负,可为空 内容生成时的GMT unix时间戳
modified int(10) 非负,可为空 内容更改时的GMT unix时间戳
text text 可为空 内容文字
order int(10) 非负,可为空 排序
authorId int(10) 非负,可为空 内容所属用户id
template varchar(32) 可为空 内容使用的模板
type varchar(16) 可为空 内容类别
status varchar(16) 可为空 内容状态
password varchar(32) 可为空 受保护内容,此字段对应内容保护密码
commentsNum int(10) 非负,可为空 内容所属评论数,冗余字段
allowComment char(1) 可为空 是否允许评论
allowPing char(1) 可为空 是否允许ping
allowFeed char(1) 可为空 允许出现在聚合中

项目表

键名 类型 属性 解释
mid int(10) 主键,非负 项目主键
name varchar(200) 可为空 名称
slug varchar(200) 索引,可为空 项目缩略名
type varchar(32) 可为空 项目类型
description varchar(200) 可为空 选项描述
count int(10) 非负,可为空 项目所属内容个数
order int(10) 非负,可为空 项目排序

文章和博客,如果文章有多个分类,则文章和分类是多对多关系。
表结构可以这样建立:

内容表

键名 类型 属性 解释
cid int(10) 主键,非负,自增 post表主键
title varchar(200) 可为空 内容标题
slug varchar(200) 索引,可为空 内容缩略名
created int(10) 索引,非负,可为空 内容生成时的GMT unix时间戳
modified int(10) 非负,可为空 内容更改时的GMT unix时间戳
text text 可为空 内容文字
order int(10) 非负,可为空 排序
authorId int(10) 非负,可为空 内容所属用户id
template varchar(32) 可为空 内容使用的模板
type varchar(16) 可为空 内容类别
status varchar(16) 可为空 内容状态
password varchar(32) 可为空 受保护内容,此字段对应内容保护密码
commentsNum int(10) 非负,可为空 内容所属评论数,冗余字段
allowComment char(1) 可为空 是否允许评论
allowPing char(1) 可为空 是否允许ping
allowFeed char(1) 可为空 允许出现在聚合中

内容-项目对应表

键名 类型 属性 解释
cid int(10) 主键,非负 内容主键
mid int(10) 主键,非负 项目主键

项目表

键名 类型 属性 解释
mid int(10) 主键,非负 项目主键
name varchar(200) 可为空 名称
slug varchar(200) 索引,可为空 项目缩略名
type varchar(32) 可为空 项目类型
description varchar(200) 可为空 选项描述
count int(10) 非负,可为空 项目所属内容个数
order int(10) 非负,可为空 项目排序

具体可参见typecho的数据库表结构设计:
http://docs.typecho.org/datab...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题