数据库设计好不好,分配很重要。

以前遇到一个需求,现抽象为每个会员可以为自己增加一些任务

自然的,表很好设计

表1 :taskid、userid、content、status、createtime

后来加了需求,要管理员可以为会员增加任务

自然的,再加了三个表

表2 : staskid、content、createtime
表3 : allotid、staskid、userid、isdel 分配表
表4 : id、staskid、userid、status 完成状态表

然后表2、表3、表4通过各种联接成表1的形式,再通为union合为一张表,

最后发现以前很多的数值统计什么的都要改,都要因为后面多了一个staskid而不同。

后来想想,如果我们一开始就设计成

表5 :taskid、type、content、createtime (多了一个type,区分是会员自己创建的还是管理员创建的)
表3 :allotid、taskid、userid、isdel 分配表
表4 :id、taskid、userid、status 完成状态表

这样的话,扩展性就要好些。。。

时间: 2024-11-05 02:37:50

数据库设计好不好,分配很重要。的相关文章

数据库设计与性能优化

转自:http://blog.51cto.com/jimshu/1250066 一.数据库设计与性能优化--概述 jimshu关注2人评论5892人阅读2013-07-16 08:02:14 前言 我1998年第一次接触SQL Server 6.5 for Windows NT 4.0,当时的感觉就认为SQL Server只是一个功能强大的Excel文件.现在回想起来,当年抱着这样一种态度,我开发的那些应用程序应该是非常幼稚的,其性能可想而知.记得那时候随便查询一笔记录就要花费十几秒,已是司空见

数据库设计之“有时不得不违背的第三范式”

数据库设计之“有时不得不违背的第三范式” 在博客园上看到了一篇关于数据库范式的文章<数据库设计中的五个范式>:  第三范式规则查找以消除没有直接依赖于第一范式和第二范式形成的表的主键的属性.我们为没有与表的主键关联的所有信息建立了一张新表.每张新表保存了来自源表的信息和它们所依赖的主键.    关于第三范式的思想,我想有很多朋友都熟悉,在数据库设计时,也是我们尽可能采用的范式之一,第三范式的出发点是什么?就是尽可能的减小“数据冗余”.并也能得到“数据”的整洁性,提高维护性,不容怀疑,第三范式是

论需求分析和数据库设计的重要性

直至昨天,我才意识到了软件开始之前,为什么要做好需求分析,需求完成之后,又为什么要先坐好数据库设计!亲身的实践让我明白了这些,下面就我的毕业设计来谈一谈数据库设计的重要性! 做之前想过我要做一个什么样的软件,应该有什么功能,想好之后,也在本子上记下了这些,防止后边忘记.然后我就以为做好了需求,因为当时想到的就这么多.接下来就是数据库的设计了,数据库涉及到很简陋,基本上没有什么表的嵌套查询,用一个表就新建一个表,用什么关键字,就写什么关键字,前期还好,想做的功能基本上都会有对应的表来去查询,可是随

11 个重要的数据库设计规则

英文原文: 11 Important Database designing rules 简介 在您开始阅读这篇文章之前,我得明确地告诉您,我并不是一个数据库设计领域的大师.以下列出的 11 点是我对自己在平时项目实践和阅读中学习到的经验总结出来的个人见解.我个人认为它们对我的数据库设计提供了很大的帮助.实属一家之言,欢迎拍砖 : ) 我之所以写下这篇这么完整的文章是因为,很多开发者一参与到数据库设计,就会很自然地把 “三范式” 当作银弹一样来使用.他们往往认为遵循这个规范就是数据库设计的唯一标准

11个重要的数据库设计规则

英文原文: 11 Important Database designing rules 简介 在您开始阅读这篇文章之前,我得明确地告诉您,我并不是一个数据库设计领域的大师.以下列出的 11 点是我对自己在平时项目实践和阅读中学习到的经验总结出来的个人见解.我个人认为它们对我的数据库设计提供了很大的帮助.实属一家之言,欢迎拍砖 : ) 我之所以写下这篇这么完整的文章是因为,很多开发者一参与到数据库设计,就会很自然地把 “三范式” 当作银弹一样来使用.他们往往认为遵循这个规范就是数据库设计的唯一标准

数据库设计——11 个重要的数据库设计规则

简介 在您开始阅读这篇文章之前,我得明确地告诉您,我并不是一个数据库设计领域的大师.以下列出的 11 点是我对自己在平时项目实践和阅读中学习到的经验总结出来的个人见解.我个人认为它们对我的数据库设计提供了很大的帮助.实属一家之言,欢迎拍砖 : ) 我之所以写下这篇这么完整的文章是因为,很多开发者一参与到数据库设计,就会很自然地把 “三范式” 当作银弹一样来使用.他们往往认为遵循这个规范就是数据库设计的唯一标准.由于这种心态,他们往往尽管一路碰壁也会坚持把项目做下去. 如果你对 “三范式” 不清楚

Oracle笔记(十六) 数据库设计范式

Oracle笔记(十六) 数据库设计范式 数据库设计范式是一个很重要的概念,但是这个重要程度只适合于参考.使用数据库设计范式,可以让数据表更好的进行数据的保存,因为再合理的设计,如果数据量一大也肯定会存在性能上的问题.所以在开发之中,唯一可以称为设计的宝典 -- 设计的时候尽量避免日后的程序出现多表关联查询. 一.第一范式 所谓的第一范式指的就是数据表中的数据列不可再分. 例如,现在有如下一张数据表: CREATE TABLE member ( mid NUMBER PRIMARY KEY, n

数据库设计(1/9):数据元(Data Elements)

对于设计和创建数据库完全是个新手?没关系,Joe Celko,世界上读者数量最多的SQL作者之一,会告诉你这些基础.和往常一样,即使是最专业的数据库老手,也会给他们带来惊喜.Joe是DMBS杂志是多年来最受读者喜爱的作者.他在美国.英国,北欧,南美及非洲传授SQL知识.他在ANSI / ISO SQL标准委员会工作了10年,为SQL-89和SQL-92标准做出了杰出贡献. 在你开始考虑你的数据库架构或表前,你需要细想下你的数据:数据是什么类型,你使用值的范围.它应该是唯一的,精确的且不含糊的.然

数据库设计中一对多的解决方法.

1.位运算的思想 原文连接:http://www.tiyee.net/post/178 作者:tiyee 当我们在设计数据库的数据表时,经常会遇到一对多的数据结构,如文章的tag等,比如本人之前在设计手机app的后端的时候,就碰到了这个问题, 当时涉及中小学教材的诗歌诗歌表(poetry)和出版社表(poetry_press),因为一首诗可能会涉及多个出版社,而且出版社的数量并不是很多.为了便于搜索,如果把所有出版社的ID用分隔符组合成一个字符串肯定不符合要求.所以一般都是单独使用一个表来存储他