繁体   English   中英

多变量依赖表的命名约定MySQL

[英]Naming Conventions for Multivariable Dependency Tables MySQL

规范化数据库的约定规定,处理多变量依赖项的最佳做法是将它们分解为两列的表。 一列是原始表的主键(例如,客户名称,其中有一个),而另一列是具有多个值的值(例如,电子邮件或电话,客户可以拥有多个) 。 这两个列共同构成了分离表的主键。

但是,在构建规范化数据库时,我经常发现将这些拆分表命名为麻烦的事情。 很难为这些表提出一个有意义的名称。 有没有一种标准的方法可以将这些表识别为没有其他表就没有意义的多变量依赖表? 我可以想到的一些示例(参考上面的示例)是“ customer_phones”或“ customer_has_phones”。 我认为仅使用“电话”并不是一件好事,因为这并不能确定该表与customers表相关并且在很大程度上依赖于customers表。

在现实生活中,您最终会遇到许多彼此相差很大的组合。

尽量保持清晰,以防其他人最终继承您的设计。 我个人喜欢在父表中保留短名称,这样在关系增长或扩展新孩子时,它们就不会变得太长。

例如,如果我有“客户”,“订阅”,“产品”表,那么我最终将命名它们的链接,例如“ Customer_Subscriptions”或“ Subscriptions_Products”等。

在大多数情况下,它只是取决于在可维护性方面对您更有效的方法。

我们使用的约定是实体表的名称,后跟属性的名称。

在您的示例中,如果实体表是customer ,则重复(多值)属性的表的名称将为customer_phonecustomer_phone_number (基于我们要命名一个元组(行)代表的想法,我们几乎总是以单数形式命名表。(例如,该表中的一行代表一个客户的电话号码)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM