世界上的事情都是有正反两个方面的,有利有弊!
没有只是好的东西,怎么样合适,这才是要追寻的。
数据库设计,如果才能体现和是这一步呢。
TOM.NET(23292828) 12:37:35
有关数据库的设计:
类别表a aid aname
产品标b bid bname aid
需求如果想获得 a表的aname aid 以及 属于a类别中的 b产品的数量


TOM.NET(23292828) 12:40:49
我看到有些人是这样设计的
a表 aid aname acount
b表 bid bname aid
acount 表示 属于a类别中的 b产品的数量
可以通过两种方法维持 acount 和 b表数据的统一
1.源代码中控制
2.触发器 在对b表增减的时候更新a表中的acount


TOM.NET(23292828) 12:42:30
请问如果我按照 类别表a aid aname这样设计,怎样才能 最好的方式获得 a类别的aname,aid 以及b表中属于aid类别的总数呢!
以上的方法再不通过系统,或者是自己手动添加数据的时候导致 数据的不一致性
就是acount 和 b中的数量不相同
以上就是一些问题

吕震宇 老师的文章 第1章 数据库基础
其实运用当中,因为获得某个类别的数含有的内容。这是一个很常见的需求
遵守了 书本的设计规者之后 利与弊的体现就出来了

如果设计成一个表
bid bname aname
1 lg-8180 lg
2 lg-8080 lg
3 Mot-va860 摩托罗拉
得到各品牌的手机数目 只需要 select aname ,count(*) from a group by aname
利直接获得
弊aname更新麻烦

如果设计成两张表
aid aname
1 lg
2 摩托罗拉

bid bname aid
1 lg-8180 1
2 lg-8080 1
3 Mot-va860 2

得到各品牌的手机数目
利 aname更新很简单

弊 得到各品牌的手机数目
代码级别 需要循环

如何才能解决这个矛盾呢

我看到了 两种的利弊 ,又不能分析好。以前是逃避,现在不逃避。但是不是转牛角尖呢!

posted on 2005-12-16 13:07  早起的鸟儿有虫吃  阅读(599)  评论(1编辑  收藏  举报