日期:2014-05-17  浏览次数:20428 次

求大神这个数据表该怎么建
我现在想设计个工作计划管理的小软件,我的工作计划分周计划、月计划、年计划,这个工作计划表是不是要分别建立周表,月表,年表,还是直接建一个工作计划表呢?请大神帮忙分析一下。
      现在我的想法是这样的,建立三个表,周表,月表,年表。但是周表得包含属于哪个月的,属于哪一年的,月表得包含属于哪一年的。这样的会不会有冗余数据呢?请大神指点。

------解决方案--------------------
不知道你要存的是什么内容,如果可以的话一个表即可,用类型标识这是周,月,还是年的。
如果存储的是时间,可以用不同的视图得到不同的报表。
也可以用存储过程,把类型当做参数来处理。
如果数据量超级大,考虑分区。
------解决方案--------------------
没必要啊,只要你的日期列能够标识,那么一个表足够了,用between and来统计周、月年的范围,这样更快,当表很大的时候,按照日期列来做分区也很好。
------解决方案--------------------
引用:
引用:不知道你要存的是什么内容,如果可以的话一个表即可,用类型标识这是周,月,还是年的。
如果存储的是时间,可以用不同的视图得到不同的报表。
也可以用存储过程,把类型当做参数来处理。
如果数据量超级大,考虑分区。
就是存储工作计划的内容,比如说字段有序号,计划工作内容,工作措施,备注。数据量的话就是周计划会多,年计划一年才一个,……

那就一个表就行了
加个类型(周计划,月季花,年计划) 
字段的话,加个日期,对于周计划,可以再加一个字段 存储是当月的第几周
------解决方案--------------------
从时间上看月年的归属关系很容易。
------解决方案--------------------
引用:
引用:从时间上看月年的归属关系很容易。
版主您好,我每条记录都有时间的,现在我想查询3月份第二周的全部工作计划,这个该怎么实现呢?应该怎么定位日期的起止时间呢?怎么得到第二周是几号到几号?


参考:
http://bbs.csdn.net/topics/390159439
------解决方案--------------------
只要有日期时间就行了,周,月,星期几,季度。。。。都是可以检索的。

有个datepart()函数
------解决方案--------------------
感觉好像设计上的思路反了。
都是在考虑以数据库里面的数据为标准:范围查询数据库日期—符合条件则显示

这种用途的模型,应该是以某个指定的日期为标准吧?
用户进去后,指定一个日期为标准(比如2013-03-29),然后再去读取相关的记录。

字段如下
ID  int,自增+1,主键
适用日期-开始  date
适用日期-结束  date
类型   int(周计划、月计划、年计划等)
内容   nvarchar(max)

界面及功能大致如下
1、给个input,name=date_check,value=date()。
2、一排列表下去,date_check between 适用日期-开始 and 适用日期-结束。
当然,这里是否按照“类型”来排序看实际业务。
3、给出一些链接,下月、下周、10天后……具体日期的计算简单的。
周计算什么的似乎不需要,只计算具体的日期而已
select * from 表 date_check>=适用日期-开始 and date_check<=适用日期-结束
4、当然,是否无视date_check而置顶给出月计划、年计划什么的,实际需求。
5、特别备注:SQL语句、索引以及其他细节自己优化下吧,那方面我是菜鸟。
(或者将日期转换为int格式的,int比较大小貌似比较快咧?)