Mysql 2个表的数据库设计,这些表由一个id关联
我目前正在开发一个工具,它有以下表格和相应的列Mysql 2个表的数据库设计,这些表由一个id关联,mysql,database,Mysql,Database,我目前正在开发一个工具,它有以下表格和相应的列 Budget Category Transactions budget_id category_id transaction_id category_id category_id 目前,我们正在使用category_id将预算记录映射到交易记录。 但是我们的设计有一个小毛病。如果两个预算项目具有相同的类别id,则事务将映射到两
Budget Category Transactions
budget_id category_id transaction_id
category_id category_id
目前,我们正在使用category_id将预算记录映射到交易记录。
但是我们的设计有一个小毛病。如果两个预算项目具有相同的类别id,则事务将映射到两个预算。如何设计一种将交易项目与预算项目一一对应,但仍保持松散耦合的设计?问题是……如果在添加交易项目后再添加预算项目,会发生什么情况?我们是否将事务中的budget_id保留为默认值,然后在发生冲突时更新?在budget之后存储事务我们正在构建一个工具,您可以在其中添加/删除预算项并独立输入事务。因此,我们不能强制流将记录添加到这些表中。如果我们添加另一个表,我们能做得更好吗?这是否意味着该事务在一段时间内可能有不同的预算?如果该事务只能绑定到一个预算,@RomanNewaza建议的就是您想要做的,尽管听起来您也希望在事务表中维护category_id。如果在插入事务时没有预算ID(这似乎很奇怪-钱从哪里来?),则需要将其保留为空,并在适当时更新表。如果一个事务可以与多个预算相关,则创建另一个表,该表仅为预算ID和事务ID,以维护多对多关系。根据您稍后的评论,您不会看到1对1关系。
Budget Category Transactions
budget_id category_id transaction_id
category_id budget_id