如何更好设计数据库

世界上的事情都是有正反两个方面的,有利有弊!
没有只是好的东西,怎么样合适,这才是要追寻的。
数据库设计,如果才能体现和是这一步呢。
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更新很简单

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

如何才能解决这个矛盾呢

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

转载于:https://www.cnblogs.com/aspcat/archive/2005/12/16/298418.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值