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

sql server 中的数据储存问题
我现在想建一个菜市场价格的数据库,每天一个价格,我把字段分为 菜名、时间、价格。
可是时间变化菜价也不一样,还要把原来的价格保存起来,总不能一天建一个字段吧。有没有什么好的办法?最好能存一个集合!或有更好的办法!!
 我这里会有许多 的菜名的,又不是一种菜!!每种菜最好可以多期的价格!

------解决方案--------------------
时间字段用datetime,不就包括了日期和时间吗,主键设置为菜名+时间就可以了

------解决方案--------------------
我的方案:你某个菜名不是有一个时间吗?加一列,和这个时间组合起来,一个作为起始日期,一个作为结束日期。来表示菜价的时间段。如:

菜名,起始日期,结束日期,价格

这样,那么就可以查询到某天菜价对应的价格,记住这里的相同菜名,如果一直只有一个价格,那么起始日期就用录入日期,而结束日期可以给一个无限大的数如29991231,因为这些菜价一般不需要精确到秒,所以可以精确到天,而用int来存储就很好了,如果要精确到秒再换类型。然后同一个菜价的下一条数据的起始日期要为上一条数据的结束日期加一天,达到连续的效果。这样只需要增加行而不需要增加列。
------解决方案--------------------
引用:
引用:
我的方案:你某个菜名不是有一个时间吗?加一列,和这个时间组合起来,一个作为起始日期,一个作为结束日期。来表示菜价的时间段。如:

菜名,起始日期,结束日期,价格

这样,那么就可以查询到某天菜价对应的价格,记住这里的相同菜名,如果一直只有一个价格,那么起始日期就用录入日期,而结束日期可以给一个无限大的数如29991231,因为这些菜价一般不……
你这样做以后就后悔了,菜名虽然一大堆,但是日期between 起始日期 and 结束日期就可以了。千万别老想着加列。