• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ

一个数据库设计上的问题,了解的请进来一下

离子漂浮物 2008-11-22 10:12:43
每个分类下有许多商品,
每个商品下有许多价格,
现在有个表,需要人工指定一批价格并记录指定的时间

然后作个页面列出价格,商品名,商品分类,指定时间这几个参数。

以我现在的库作出这个页面需要联合查询四个表(类别,商品,价格,被指定的价格编号列表)

有什么办法能减少库的数量呢...
...全文
92 点赞 收藏 14
写回复
14 条回复
hubofly 2008年11月24日
每个分类下有许多商品,
每个商品下有许多价格,
现在有个表,需要人工指定一批价格并记录指定的时间

然后作个页面列出价格,商品名,商品分类,指定时间这几个参数。


每个分类有很多商品 你肯定可以搞定的

每个商品有很多价格 可能你会搞出问题来 ,我有个解决方法,就是有一张商品价格表,所有的价格都在这个表里面
这个表有最少三个字段 productid price flag(bool) productid 就是商品的ID price 商品的价格 flag 该价格是否当前使用 此时 ,如果商品有三个价格 那么 该表里面就有三条记录 但是 flag 有个标志位true false ,控制每种商品的价格 只有一个标志位为true的,其余为false ,以后如果修改商品价格,只是修改flag的true false
回复 点赞
踏平扶桑 2008年11月24日
可以用视图来生成一个表
查询数据从视图里进行查询。
回复 点赞
dermotfly2010 2008年11月24日
用视图最简单了,加入你所需要的字段
在数据绑定的时候, 直接绑定建的视图
回复 点赞
离子漂浮物 2008年11月24日
[Quote=引用 9 楼 5653325 的回复:]
可以用视图来生成一个表
查询数据从视图里进行查询。
[/Quote]

嗯,就用这个方法了。
回复 点赞
离子漂浮物 2008年11月24日
[Quote=引用 10 楼 hubofly 的回复:]
每个分类下有许多商品,
每个商品下有许多价格,
现在有个表,需要人工指定一批价格并记录指定的时间

然后作个页面列出价格,商品名,商品分类,指定时间这几个参数。


每个分类有很多商品 你肯定可以搞定的

每个商品有很多价格 可能你会搞出问题来 ,我有个解决方法,就是有一张商品价格表,所有的价格都在这个表里面
这个表有最少三个字段 productid price flag(bool) productid 就是商品的ID price 商品…
[/Quote]


啊,谢谢,关于价格表方面还是好处理的,一个商品多个价格,每个价格都是要用的,至于用哪个价格,这个是由用户决定的。
现主要还是实现最后说的那个人工指定的价格列表。

现在我的实现方式暂定为六楼说的那样,在指定价格表内作一套复制字段,在更新相关字段时同步这个表的内容。不好的地方就是,如果列表需要添加显示内容的话就要修改表结构和程序了。
回复 点赞
chinaxc 2008年11月24日
顶9楼
回复 点赞
pinyu 2008年11月23日
[Quote=引用 6 楼 BlueskyWide 的回复:]
SQL codet_product表:
p_type, --商品类别
p_name, --商品名称
price_old, --原价
price, --价格
p_time, --定价时间
p_count --数量




引用楼主 oyiboy 的帖子:
每个分类下有许多商品,
每个商品下有许多价格,
现在有个表,需要人工指定一批价格并记录指定的时间

然后作个页面列出价格,商品名,商品分类,指定时间这几个参数。

以我现在的库作出这个页面需要联合查询四…
[/Quote]

你的这个表还没解决规范化的问题,因为商品名称和价格,定价时间是一对多的关系,必须拆分成2个表
回复 点赞
BlueskyWide 2008年11月23日
t_product表:
p_type, --商品类别
p_name, --商品名称
price_old, --原价
price, --价格
p_time, --定价时间
p_count --数量





[Quote=引用楼主 oyiboy 的帖子:]
每个分类下有许多商品,
每个商品下有许多价格,
现在有个表,需要人工指定一批价格并记录指定的时间

然后作个页面列出价格,商品名,商品分类,指定时间这几个参数。

以我现在的库作出这个页面需要联合查询四个表(类别,商品,价格,被指定的价格编号列表)

有什么办法能减少库的数量呢...
[/Quote]
回复 点赞
离子漂浮物 2008年11月23日
[Quote=引用 6 楼 BlueskyWide 的回复:]
SQL codet_product表:
p_type, --商品类别
p_name, --商品名称
price_old, --原价
price, --价格
p_time, --定价时间
p_count --数量




引用楼主 oyiboy 的帖子:
每个分类下有许多商品,
每个商品下有许多价格,
现在有个表,需要人工指定一批价格并记录指定的时间

然后作个页面列出价格,商品名,商品分类,指定时间这几个参数。

以我现在的库作出这个页面需要联合查询四…
[/Quote]

你的意思就是说,在最后的那个指定表里将有显示的内容复制一份,在显示时不需要联合查询,但在更新相关内容时需要同步更新。是这样吗?
回复 点赞
pinyu 2008年11月22日
其实你这个就是涉及到数据库设计中的规范化问题
回复 点赞
pinyu 2008年11月22日
还是用中文吧


即表一:
类别编号,类别名称

表二
商品编号,类别编号,商品名称

表三
记录号,商品编号,价格,时间
回复 点赞
怫悰 2008年11月22日
冒泡帮顶接分

对于数据库的效率也是有很多疑问
什么范式啦,到底怎样最好?
回复 点赞
pinyu 2008年11月22日
ClassID ClassName


SPID SPNAME CLASSID


ID SPID PRICE TIME
回复 点赞
wennxxin 2008年11月22日
最后一个价格编号列表不知道什么
这么看的话类别,商品,价格一个也不能少
回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告