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

2023-08-13 19:28:11 +08:00
 Ayanokouji
7116 次点击
所在节点    程序员
71 条回复
BaseException
2023-08-13 19:28:38 +08:00
单数
jlmzzz
2023-08-13 19:29:33 +08:00
没见过用复数的
lanlanye
2023-08-13 19:31:12 +08:00
我用复数,实际上随你喜欢……
msg7086
2023-08-13 19:32:04 +08:00
Rails 里都用的复数。一张数据表里存了多条数据也就是多个对象,用复数很正常。
fox0001
2023-08-13 19:33:05 +08:00
单数
thinkershare
2023-08-13 19:35:37 +08:00
无关紧要的事情, 有时候用单数, 有时候用复数, 看心情.
totoro52
2023-08-13 19:38:29 +08:00
老外喜欢用复数, 单用单用复都没啥区别。。
msg7086
2023-08-13 19:39:47 +08:00
一般的规则是不要混用单复数,要么全用单数,要么全用复数。确定下来用哪种以后,就一直用这种,不要换。
jaynsw
2023-08-13 19:50:12 +08:00
單數,因為表達的是類型。例如“用戶”
kongkx
2023-08-13 19:54:33 +08:00
项目内统一规范就好,php laravel 是 the "snake case", plural name 。js prisma 默认直接用 model name
kkwa56188
2023-08-13 20:15:21 +08:00
在 RESTful API 里, 资源用复数 例如 items/item_id. 这样一看到 名词复数 就知道是一个资源的集合

在关系数据库里, 表名 没有那么强烈的要求用复数, 因为不会出现 像上例 一长串 url 里 容易 混淆的情况.

反而关系数据库里 讲求的 一眼看出 是 实体表还是关系表, 所以可以做以下 最佳实践:
1. 实体表 用单数, 甚至可以加上 _tbl 表示是实体表, 例如 : ITEM 或者 ITEM_TBL
2. 关系表 用上两(多)个实体名称, 甚至 可以加上 _rel 表示是关系, 例如: Order_Item, 或者 Order_Item_Rel
Leon406
2023-08-13 20:17:59 +08:00
阿里规约是强制 单数, 个人认为也是单数
lhbc
2023-08-13 21:13:06 +08:00
单数
因为指的是种类不是数量

User 指的是用户
Users 指特定的多个用户
cpstar
2023-08-13 21:20:30 +08:00
都有道理:
User ,这个表存储的东西是用户
Users ,这个表里存储了很多用户
lingo
2023-08-13 21:23:17 +08:00
我用单数是因为不是每个词我都知道正经的复数怎么拼🤣
反正公司项目随项目本身,自己的项目无所谓。
veike
2023-08-13 21:24:12 +08:00
规范用什么就用什么!
PHP Laravel 里的默认是复数。
veike
2023-08-13 21:25:02 +08:00
@cpstar 数据表里存储的是多个用户的信息,所以使用复数。
isbase
2023-08-13 21:28:58 +08:00
单数,表名表示的是存储的内容是什么,不是有多少个
Xusually
2023-08-13 22:01:18 +08:00
看约定规范吧,系统里都统一就行了。
zjp
2023-08-13 22:03:43 +08:00
不可能因为表名是单数就认为表里只有一条数据,所以复数没有提供什么多余的信息

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

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

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

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

© 2021 V2EX