首页 新闻 会员 周边 捐助

关于mysql数据库表的设计求教

0
悬赏园豆:80 [已解决问题] 解决于 2017-01-21 14:21

自己设计的表看着吐血

不会设计数据库的表,希望大神给设计一个,最好能写明设计思路,谢谢!!!

独步青城的主页 独步青城 | 初学一级 | 园豆:8
提问于:2017-01-01 00:59
< >
分享
最佳答案
1

1、字段名称不规范(例如:不要拼音英文混用)

2、必填字段设置非空(导航、时间),给默认值 :int 最好给默认值 0 (不影响业务前提下)、varchar emptystring 、创建时间 默认当前

  避免使用null :会占用额外Mysql空间、查询引起索引无效、检索麻烦

3、字段类型乱用:时间就要用时间类型,不要用carchar,并且能用int 不用varchaer,能用varchaer 不用text,给字段长度要严谨

4、表冗余不合理

  A、拆出导航表(一对一)

    news分类表(一对一)

  B、news表增加字段:(跳转链接、摘要、状态、排序、SEO、创建人、创建时间、更新时间)

             跳转链接:引用第三方的文章可直接跳转、不用发布文章

               摘要:文章列表页、客户会一般都要求显示标题跟摘要

             状态、排序:用来管理文章删除、简单审核,调整显示位置  (这几个字段比较实用)

 

乱分析下、希望能帮到你!

收获园豆:80
吳先森321 | 菜鸟二级 |园豆:347 | 2017-01-05 09:58
其他回答(5)
0

设计的有啥问题?看着能实现功能了

刘宏玺 | 园豆:14020 (专家六级) | 2017-01-01 10:02

 功能是可以实现但是就是觉得不合理,跟别人的后台没法比

支持(0) 反对(0) 独步青城 | 园豆:8 (初学一级) | 2017-01-01 10:17

@独步青城: 后台好用就行,好用就合理

支持(0) 反对(0) 刘宏玺 | 园豆:14020 (专家六级) | 2017-01-01 10:20

@刘宏玺:数据库的设计是否合理不是直接影响网站的各方面吗?所以我想提高一下设计数据库表的能力,主要想看看大神设计的设计思路

支持(0) 反对(0) 独步青城 | 园豆:8 (初学一级) | 2017-01-01 10:26

@独步青城: cms不消耗性能的

支持(0) 反对(0) 刘宏玺 | 园豆:14020 (专家六级) | 2017-01-01 10:28
1

各行各业的表设计准则都有一定的差异的。主要体现在关系的处理上,还有冗余字段的处理上.

比如说按照严格的第三范式news_daohang字段就应该拆出去单独的类别表。

然后在巨量数据的情况下可能这个表会在拆分成2个表.新闻的详细会单独一个表存.又或者新闻是单独的本地文件.

没有一个什么通用的准则,只能说在行业里,在背景下,在业务有中.适合就是好用的.

 

比如你这个可能会有新闻的审核,会有多张图片,排序,检索等等其他业务.那加上这些业务就不一样了.

czd890 | 园豆:14488 (专家六级) | 2017-01-01 12:49
0

按照对象实体来划分表:

导航用一张表,

新闻列表用一张表,

图片用一张表。

再根据实体之间的关系,一对一的话,可以建立外键。一对多,和多对多的话,可以再增加一张关系表

一剑侵心 | 园豆:281 (菜鸟二级) | 2017-01-13 17:15
0

楼上们说的都不错,多理解一下第三范式吧

一棵小枣树 | 园豆:213 (菜鸟二级) | 2017-02-13 15:08

是的,现在理解了,感觉容易多了

支持(0) 反对(0) 独步青城 | 园豆:8 (初学一级) | 2017-02-16 15:17
0

楼上已经回答很好了,把第三范式好好理解一下吧。

fcyh | 园豆:568 (小虾三级) | 2017-04-04 12:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册