表名应该用单数,还是复数?

2023-08-13 19:28:11 +08:00
 Ayanokouji
7119 次点击
所在节点    程序员
71 条回复
zm2020
2023-08-13 22:06:55 +08:00
根据之前用 Laravel 框架开发来看,里面默认的表名都是复数
picone
2023-08-13 22:55:49 +08:00
这个只要有统一规范就好。切勿一个人用单数,一个人用复数,写起代码来还得查一下是单数还是复数
akira
2023-08-13 23:17:36 +08:00
在一个项目里面 统一就行,具体看你喜欢
IvanLi127
2023-08-13 23:41:17 +08:00
我用了几个语言的 ORM ,一般是复数。
IvanLi127
2023-08-13 23:44:53 +08:00
表不是类,是记录行的集合。这样想就得是复数了。再怎么想表是 Array<Apple> 这样的存在吧。。。
leonshaw
2023-08-14 00:21:56 +08:00
单数,不然当要做一些代码生成时就只能一个一个表列出来,或者写一堆单复数转换的规则和例外。
lingo
2023-08-14 00:37:31 +08:00
@kkwa56188 还是你这个实在,区分实体表和关系表才是有用的。。单数复数讲真没提供一丝有用的信息(除非应用层有约定)。。统一就行了。
FightPig
2023-08-14 00:40:26 +08:00
@jlmzzz rails 里全是复数啊
msg7086
2023-08-14 04:59:47 +08:00
@leonshaw
框架里早就有成熟的单复数转换了。
Rails 从初版 1.0 起就有单复数转换,所以一直可以无压力使用复数表名。
如果你用的框架没有单复数转换,那的确用单数表名会比较方便。

@kkwa56188
使用成熟的 ORM 以后一般不需要直接对接数据库,直接用 ORM 内置规则生成数据表就行了。
比如你建一个 items 表,建一个 orders 表,然后只要 create_join_table :orders, :items 就能根据内置规则自动生成多对多关系表。关系表的名称会是 items_orders (每个关系表按照字母顺序排列,免得搞不清是 orders_items 还是 items_orders ),但这个表对程序员是不可见的,平时还是通过操作对象来获取关联数据。

(当然,每个人/组/公司都有自己的最佳实践,自己用起来舒服就行了,不需要跟着别人乱改。)
kkwa56188
2023-08-14 06:09:43 +08:00
盲猜一下, 口口声声 ORM 的, 是不是 leetcode 的 SQL 题都刷不过中级? 开玩笑的. 狗头
jlmzzz
2023-08-14 06:28:41 +08:00
@FightPig 看来单复数都可以并且都有不少再用,我最近 Django 用的多,教程什么的也单数居多。可能这个问题需要指定语言或框架才比较意义,否则就随开发者喜好单复数都可以。
mytsing520
2023-08-14 07:19:24 +08:00
随我喜欢。
不过,一旦确定,后面也遵循这个规则。
oneisall8955
2023-08-14 07:30:38 +08:00
能跑就行,单数复数都行,统一一种风格
loading
2023-08-14 08:23:52 +08:00
你可以用全拼名,没有单复数,哈。
uxstone
2023-08-14 08:32:51 +08:00
在实际业务中有些表名是直接用的汉语拼音,所以统一用单数。
chenyu8674
2023-08-14 08:38:44 +08:00
单数
有些复数的英文不是简单加 s 的,有时容易第一眼看不出来
netnr
2023-08-14 08:49:34 +08:00
我目前在用的一种规则
sys_users
sys_user_role
docx
2023-08-14 08:58:30 +08:00
用原型,表示内容是什么
ccppgo
2023-08-14 09:05:13 +08:00
非母语就不跟风了, 跟楼上一样, 要是看不懂复数还得查一下啥意思, 老老实实单数代表类型
varzy
2023-08-14 09:15:39 +08:00
我习惯按照 laravel 规范,很优雅~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/964925

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX