我试图做一个专门从事房主的会计软件'协会(我必须搜索翻译,只是一个建筑物的所有者协会,为维护和其他建筑需求付费)供我个人使用,因为这是我的工作超过十年。
我阅读和阅读越来越多,设计我的数据库试图规范化而不是:47表35其中有两列相同,一个整数Id用于关联(建筑物)和另一个整数纳税年度的ID。
起初我以为只是将两个数据放在表的名称中,我想做了不同的表,但是我读动态表名是个坏主意。然后我读了很多关于多租户和分区的内容,但我现在仍然感到困惑,现在我越读越困惑。
现在我可以想到四种可能性:
现在,我坚持认为,我读的越多,我就越困惑。有人说这取决于行数,有人说它取决于"平衡"在SELECT
和UPDATE
之间,其他人说各种数据库都是维护噩梦,其他人说各种数据库都比较好,有些人说你在设计阶段尝试做性能事情......
鉴于我多年来在专业会计方面的工作经验,我知道我无法保证数据的大小或数量。虽然一栋建筑可以有五个居民,其数据量非常少,但下一个可以有一个,三个或五百个居民,每个纳税年度有数十万个会计交易(当然,这个数字会在不同的表格中成倍增加)。此外,你可以在建筑物一年工作并被解雇,但在十年以上的另一个工作:建筑物不断来来往往,有时甚至在几年后回来。
所有的事情本质上都是不稳定的,因为每个人都有自己的思维方式,但他们都有自己的住房,因此一栋建筑物中有各种类型,个性,专业和年龄的人都可以想象,一切都搞砸了。
所以,我过度复杂了吗?我应该闭嘴,更简单(添加两列),然后测量结果并修改?我应该选择其他可能性吗?我应该继续阅读,直到我对解决方案感到满意(哎哟,更多阅读?:S)?也许不是严格按照一种方式坚持下去,并以不同的方式做不同的建筑需求?
似乎我无法找到关于所有这些的严格规则,所以任何帮助或建议都会受到赞赏。
编辑:
鉴于Luke Ryan的评论,这里是我在building/tax year dependant tables的app.quickdatabasediagrams.com上做的初步图表的链接,没有两个引用的列。我也是在MYSQL工作台上做的,但我还没有完成它。
此外,没有依赖关系的表是these ones。在最后一个图中,表的主键称为" comunidad "和" ejercicio "是其他表依赖的列。
答案 0 :(得分:2)
我在聊天时与Nox交谈并推荐以下内容:
不要为纳税年度添加外键并构建所有表格。这将使架构变得复杂并影响性能。您可以找到不需要此模型的模型。