快活林资源网 Design By www.csstdc.com

privot多对多关系的中间表。PT5框架会自动把privot带上。

我们需要隐藏,因为我们不需要privot,而且pritvot也不在我们模型本身,他是中间数据

另外冗余字段,我们有一个表是记录图片的,另一个表是记录商品的。

我们可以在图片你放商品图片里的url

同时商品里放图片id和图片URL

这两个字段是重复的,这就是数据冗余,我们设计数据库是不要出现冗余信息,为啥我们用冗余呢。

主要是为了出于对查询性能的考虑。

我们在这里做了数据冗余,我们就可以减少对图片表的查询,加速查询速度!

不过推荐大家滥用数据冗余,因为数据冗余对于数据完整性,和一致性维护很困难。有两个地方记录相同的信息,但我们去写入数据的时候,就需要写入到两个地方。最大的问题在于删除和跟新。更新的时候一个地方的IMG改变了,要更改两个。否则就会产生数据不一致。不过数据冗余用的还是挺多的。

在WEB开发中,除了掌握一些必要的数据库优化技巧外,在合适的时候使用冗余字段也可以做到事半功倍的效果。比如下面这样一个例子,有这么几个表,是这么设计的。

  • 用户表[user]:id,userName
  • 项目表[project]:id,projectName, user_id
  • 版本表[version]:id,versionName,project_id
  • 分类表[category]:id,categoryName,version_id
  • 内容表[content]:id,text,category_id

差不多就是这样了。看着很不错,没有字段冗余。也符合数据库设计的三大范式。

那我们先提个问题,命名为问题X吧。

问题X:如果要查询某个版本下的内容列表,sql应该是这么写的:

select c.* from content c, category t where c.category_id=t.id and t.version_id="htmlcode">
select c.* from content c where c.version_id=?

相当简单的sql!

以上说明,有时候,适当的数据库冗余是个不错的选择。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

快活林资源网 Design By www.csstdc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
快活林资源网 Design By www.csstdc.com