应用mysql数据库 没有用Hibernate框架
实体A A为一张表
实体B B为一张表 如果A为某明星 B为她得新歌
现在 如果insert 一个新B 要在A中显示B的数量 1.在A中有字段 表示B的数量 每insert B 再update A 中数量字段。2.显示A中B数量 没有表示B数量的字段 每次查询B表 得到属于A的B数量。请问1和2哪种数据库设计比较优一些?
实体A A为一张表
实体B B为一张表 如果A为某明星 B为她得新歌
现在 如果insert 一个新B 要在A中显示B的数量 1.在A中有字段 表示B的数量 每insert B 再update A 中数量字段。2.显示A中B数量 没有表示B数量的字段 每次查询B表 得到属于A的B数量。请问1和2哪种数据库设计比较优一些?
解决方案 »
- 帮忙看一下这个mysql函数,用来返回两个日期之间的年数
- ubuntu mysql配置错误导致无法启动mysql,希望达人前来帮助。
- mysql中,如何获得刚插入一条记录的ID号,系统需要刚插入记录的Id做一些处理
- 令我抓狂一天的MySql导入问题!
- 在postgresql里建表的问题
- 启动不了MYSQL服务
- mysql 一个表外键能关联多个表吗
- MySQL中如何设置一个字段默认值为同一个表中另一个字段的值或另一个字段减去一个固定值
- 困惑了很久的小菜鸟
- 求助!!db2怎么查看sql执行时间
- ERROR 126 (HY000): Incorrect key file for table '/tmp/#sql_6f81_0.MYI'; try to r
- 高分求解 急!!!!
B中记录它所属的A的id:什么形式?1,2,3这种?
B中记录它所属的A的id:什么形式?1,2,3这种?
还是
1
2
3
?
ID Name
A001 张一二
A002 王三四B
SongID SingerID SongTitle
1 A001 歌曲0001
2 A002 歌曲0002
3 A001 歌曲0003
4 A001 歌曲0004
5 A002 歌曲0005
然后你直接 select a.*,count(b.SongID) as 数量 from a left join b on a.ID=b.SingerID group by a.ID 就行了。
如果效率不够,则完全可以行执行 select * from a 然后再 select count(*) from b where singerID=xxx;