所以我目前正在设计一个包含交易数据的数据库,每个交易都与一个账户相关联。我还在编写一个可以在这些事务中运行数据报告的应用程序。
我有一个帐户表,其中包含以下字段(简化) -
Account_ID
Account_Name
Company_ID (This is nullable - not every account has to have a company)
你可以从上面猜到;我还有一个公司表 - 公司可以与许多账户相关联,并且表格是相互关联的。公司表包含以下字段:
Company_ID
Company_Name
我努力解决的问题是拥有“群组”的最佳方式。表。我希望能够将账户和公司组合在一起,甚至可以将一个包含公司和组的组合在一起。
最终我想要实现的是,如果某人运行报告并选择一个组作为标准,则从该组中的所有帐户以及参与任何公司的帐户返回交易。小组 - 如果有意义的话?
目前我正在思考一个小组'表:
Group_ID
Group_Name
两个多对多的'表 -
GroupsAccounts:
Group_ID
Account_ID
GroupsCompanies:
Group_ID
Company_ID
让应用程序对后台的那两个表进行联合查询,然后我可以在第二个查询中使用,但这似乎是一种相当混乱的方式 - 我想知道是否有人之前遇到过此问题并且已经任何有关更多正确'的建议这样做的方式?
我一直在谷歌搜索试图找到任何这方面的例子 - 但我还没有发现像我想要实现的任何事情!是否有充分的理由我无疑会从你的回答中看到。
提前致谢!
答案 0 :(得分:0)
如果我理解正确,我会建议
帐户表
Account_ID
Account_Name
Company_ID (nullable)
Group_ID (nullable)
公司表
Company_ID
Company_Name
Group_ID (nullable)
组表
Group_ID
Group_Name
此结构假定,虽然公司可能有多个帐户,而帐户可能没有公司,但帐户/公司不会链接到多个组。
编辑:如果帐户/公司可以在多个组中,那么请删除Group_ID参考列并使用下表。
AccountCompanyToGroup表
Group_ID
Account_ID
Company_ID