Database tables naming, plural or singular
在命名数据库的表和模式时,最好使用单数或复数。例如。应该是客户还是客户?
在命名时,它应该是资本,如客户还是客户?有关于命名的最佳实践吗?
这个问题需要一场宗教战争。
我毫不怀疑它应该是复数,因为…
- 表是行的集合。
- SQL语法变得更自然了——
SELECT * FROM Customers ,而不是SELECT * FROM Customer 。 - 与OOP类似——你有一个类
Customer 和一个名为Customers 的客户列表或其他集合。 SELECT * FROM Customers AS Customer WHERE Customer.FirstName = 'John' —Customers 表示整张表,Customer 表示当前行。
消极的事情
在发展过程中,人们必须多次在单数和复数之间转换。您可以从概念模型(例如实体关系模型)开始,其中自然选择命名实体
如果您必须手动执行此操作,因为该工具缺乏支持(例如.NET 4.0之前的EntityFramework),那么保持表名的唯一性可能是一个合理的选择,但在不手动更改它的情况下,可以先获取一个类
单一命名。
这都是关于元组的,而不是表的,一个元组是一个客户,而不是客户。另外,我更喜欢在较低的情况下命名,但这是没有原因的,我只是在学校里学的。
最后,正如其他人所说,这更多的是一个偏好问题。如果使用复数或单数,比选择更重要的是要保持一致,并且对所有表都采用相同的方式——如果将pluar和单数命名混合起来,那就真是一团糟。
这在很大程度上是一个偏好问题
您选择的是
…还是从
您选择的是
…还是从
我认为一致性比公约本身更重要。就我个人而言,我更喜欢单一的、小写的表名,但我不会极力捍卫这种选择。
我的选择是单一和标题:)
客户是一个实体。表是多个实体的逻辑集合。所以复数是首选。
对于表名,pascal case更好。即客户经理。
最好使用前缀,如tblcustomermmaster。
如果您使用组名作为前缀,则使用大写字母,例如,新客户、老客户