命名关系表而不会变得荒谬

时间:2010-11-25 09:05:05

标签: sql-server-2008 naming-conventions many-to-many

我有一个分层数据结构,据我所知,它需要有一系列连续的多对多关系。

它是这样的:

Company
Account
Treaty
Benefit
Policy
Person

具有以下关系:

Company 1---8 Account
Account 1---8 Treaty

......一切都还很有趣

然后,很多甚至很多:
Treaty 8---8 Benefit,所以我创建了关系表TreatyBenefit,并执行:

Treaty 1---8 TreatyBenefit 8---1 Benefit

现在,对于特定条约和特定福利(即条约福利),可以有许多政策。但同样,单一政策也可能属于多种条约福利

那么,我有TreatyBenefit 1---8 TreatyBenefitPolicy 8---1 Policy

当然,这同样适用于Person,所以我也得到:

TreatyBenefitPolicy 1---8 TreatyBenefitPolicyPerson 8---1 Person

我想知道的是,是否存在命名表的任何约定,以便您可以避免名称变得太长以至于它们基本上没有意义?或者是否有更好的设计方法可以完全避免这种结构?

感谢
卡尔

1 个答案:

答案 0 :(得分:2)

恕我直言,除非这些实体/概念还有其他强大的,广泛接受的,有意义的以商业为中心的名称,然后我会坚持使用可信的许多:你已经描述过的许多破损。

此外,您列出的6个实体中的每一个都相当简洁,因此在缩写中似乎没什么意义。 Ben,Per,Pol,Acc,Co等会造成更多混乱而不是利益。