散点分,大家来讨论一个优化问题,欢迎参与
对于数据库关系(主外键)的设计,不外乎几种
第一种是层层关联,相关的数据只存储一份,这样在增加修改时数据量少,但在查询时必然得通过视图或程序取出相同数据,此种方式,强调数据间的连系紧密性,优点很明白,就是能减少存储量,减少数据的不一致性,不会出现同一个编号的东西,在某一环节叫A,另一环节叫B的情况,但可能出现要取一个完整的数据信息时,需要多层反推,或者是视图内嵌视图的情况,
第二种是遍地开发,把数据复制到多个表中,程序可能变更复杂些,但每个表里的每条记录都是完整或基本完整的,这样在列示或查看时,可以显著地减少工作量,但由此带来的为了保证数据同步而增加了系统开销,如修改基本数据时,相关联的表,可能名称也要同时UPDATE
第三中,两种结合形,优势互补,也不失为中庸之道
个人认为:这两种方法都无可厚非,关系看应用的不同,如果WEB上,现在一些论坛,select操作的量可能要占到80%或更多,这时,似乎应该选用第2种更实际些,
但一些商用MIS系统,却经常让数据库设计显得很为难,不知如何取舍,
在这里,小弟抛臭砖一块,期待能引出大家之美玉,谈谈想法,比如各在系统设计时如何考虑,实施后碰到的问题,以及根据哪些应用进行取舍?
第一种是层层关联,相关的数据只存储一份,这样在增加修改时数据量少,但在查询时必然得通过视图或程序取出相同数据,此种方式,强调数据间的连系紧密性,优点很明白,就是能减少存储量,减少数据的不一致性,不会出现同一个编号的东西,在某一环节叫A,另一环节叫B的情况,但可能出现要取一个完整的数据信息时,需要多层反推,或者是视图内嵌视图的情况,
第二种是遍地开发,把数据复制到多个表中,程序可能变更复杂些,但每个表里的每条记录都是完整或基本完整的,这样在列示或查看时,可以显著地减少工作量,但由此带来的为了保证数据同步而增加了系统开销,如修改基本数据时,相关联的表,可能名称也要同时UPDATE
第三中,两种结合形,优势互补,也不失为中庸之道
个人认为:这两种方法都无可厚非,关系看应用的不同,如果WEB上,现在一些论坛,select操作的量可能要占到80%或更多,这时,似乎应该选用第2种更实际些,
但一些商用MIS系统,却经常让数据库设计显得很为难,不知如何取舍,
在这里,小弟抛臭砖一块,期待能引出大家之美玉,谈谈想法,比如各在系统设计时如何考虑,实施后碰到的问题,以及根据哪些应用进行取舍?
...全文
相关推荐
mysql面试遇到的问题,欢迎提交到issues里,大家一起讨论
同时,参与如“mysql_interview--main”这样的讨论论坛,可以获取更多实际问题和解决方案,增强对MySQL的理解。
android欢迎界面简单实现
在"android欢迎界面"这个话题中,我们将重点讨论如何创建一个简单的加载视图(LoadingView)。加载视图是欢迎界面的一种常见形式,它可以显示动态的加载动画,增加用户的等待趣味性。
基于AndroidStudio的欢迎界面跳转
通过以上步骤,我们就可以在Android Studio中创建一个具有2秒延迟跳转功能的欢迎界面。这个过程中,开发者不仅需要掌握基本的Android编程概念,还需要具备良好的用户体验设计和性能优化意识。
Android项目冷启动优化——欢迎页
通过以上策略,可以有效优化Android应用的冷启动性能,提升欢迎页的用户体验,并保证应用在后台时能够快速恢复。在实际开发中,应根据项目需求和设备性能灵活调整优化策略。
消失的点餐台—智能点餐的优劣讨论.docx
智能点餐系统收集的消费者点餐数据,可以帮助餐厅了解顾客的消费习惯和口味偏好,从而优化菜品设置,实施精准营销。


