gpt4 book ai didi

MySQL/CakePHP 数据库设计问题

转载 作者:行者123 更新时间:2023-11-29 01:33:50 25 4
gpt4 key购买 nike

我们的房地产应用程序有一个表 Events,它过去一直通过 Event.homes_id 列链接到 Homes 表。

最近,我们首次添加了一种与房屋无关,而是与房地产经纪人相关的事件类型。问题:现在向 Events 表添加一个 realtor_id 列是否是一种好的做法?我内心有些反抗为每条记录设置两列 home_id 和 realtor_id 的想法,其中一列对于任何给定记录始终为 null。我的老板说它很有效率并且避免了创建新表的开销。这种情况有哪些是非?

上述问题的必然结果:我们不愿意创建新表的部分原因是我们使用的是 CakePHP,因此通过 SQL 连接对多个链接表进行绝对控制变得更加困难。 (将 Cake 的递归属性设置为最大值可以降低应用程序的爬行速度。)使用 Cake 会影响数据库设计考虑因素吗?还是我们只是错误地使用了 Cake?

最佳答案

Something in me rebels at the idea of having two columns, home_id and realtor_id for every record, one of which will always be null for any given record. My boss says it's efficient and avoids the overhead of creating new tables. What are the rights and wrongs of this situation?

好吧,你是对的,它的效率可能低于最佳状态。但是,添加另一个 50% 的时间为空的列(一个 INT,不少于此)不会影响您的整体数据库效率。

OTOH,重组您的应用程序需要您付出一些努力。通过仅添加此列,您实际上是在进行黑客攻击。

我认为这对于这种情况是可以接受的,尽管您可能不喜欢它的美感。嘿 - 没有人喜欢黑客。它增加了“技术债务”。但是在谷歌上搜索这个词,你会发现很多人都在说拥抱技术债务,因为它能让你继续前进,而不是试图将完美的解决方案归零(这将逃避你,尽管尽了最大努力)。

这是一个业务决策——您的架构和代码库的美学是否值得成本(您的小时费率 * # 小时以“正确”修复它)?在这种情况下,我会说可能不是。

关于MySQL/CakePHP 数据库设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3232368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com