单数或复数数据库表名称?
确切的重复
表命名困境:单数名称与复数名称
使用单数还是复数数据库表名更好? 有一个公认的标准吗?
我听到赞成和反对的论点,你们怎么看?
恕我直言,表名称应该像客户复数。
如果客户映射到“客户”表中的一行,那么类名称应与“客户”类似。
单数,所以你可以有:
- 顾客
- CustomerAddress
- CustomerAddressAuditTrail
等等
我喜欢单数的名字,但似乎在less数。
我个人的理念是使用复数数据库表名是多余的,除非你只计划表中包含一行。
我喜欢使用像Agent这样具有PK名称的独特名称。
但那只是我:o)
我喜欢使用复数forms,只是因为一个表包含几个实体,所以对我来说似乎更自然。
在创build数据实体时,Linq to SQL将复数forms的表名转换为单数forms。 我假设微软不会实施这个function,如果他们认为复杂的表格名称不好的做法。
在我目前的公司,我们使用Plural表名。 推理是这样的:如果我们有一个Customers表,我们考虑每一行Customer,所以表本身就是一个客户的集合。
那么,显然你的数据库表名已经绝对必须以“标准”的方式来命名,而这个方式我至今是任意定义的。
首先,所有的表名都应该以“t_”作为前缀。 在此之后,StudlyCaps中的单数实体名称,例如“Customer”。 紧接着,这将包含在模式的第一个版本中创build的列的数量,为了历史目的,后面跟着一个下划线,以及数据的精确的标准forms; 用于BCNF的“1”,“2”,“3”或“B”。 任何更高的正常forms应用“P”表示。
一些可接受名称的例子是:
t_Customer_6_3 t_Order_5_B t_OrderLine_4_2
我认为我的观点是,只要名称是合理的描述性的,命名是一致的就没有关系 。
最重要的是要保持一致。 不得不记住哪些表格是复数,哪些不是。 与你的字段名称相同的东西,select一个标准,并使用它。 不要让可怜的开发者决定这个表是否使用person_id或者personid或者personid或者person $ id等等。当你没有标准来记住哪个表使用的时候,你会浪费很多时间什么。
对于这个问题,没有应该或者必须是这样或那样的正确答案。 这取决于数据库和软件的devise者。
至于我,我通常使用单数名称,因为当我做ER图时,我有一个实体客户,而不是客户,所以我保持相同,以免混淆。
当然有些框架确实喜欢这种或那种风格,所以当你注意到这些风格时,你应该尽量遵循这些风格。
每个人都有很多争论,但这一切都归结为你感到舒服的地方。 两者都不是错的。
真正重要的是你是一致的。 select一个标准并坚持下去,你select哪一个并不重要。
恕我直言,这并不重要,只要做一些适合你和使用数据库的人员。
我想我下意识地列出主要数据表和s和“select列表”或外键表和单数。
与许多这些types的问题一样,最好的答案通常是“一致的”。 你可以争辩这个表代表一个单一的实体,因此这个值得一个单独的名称,或者它包含一个实体的多个实例,所以它应该是复数。 我的build议是翻转一个硬币,并为它整个数据库(或坚持已经拥有多数的公约)。