1
BaseException 2023-08-13 19:28:38 +08:00 via iPhone
单数
|
2
jlmzzz 2023-08-13 19:29:33 +08:00
没见过用复数的
|
3
lanlanye 2023-08-13 19:31:12 +08:00 via iPhone
我用复数,实际上随你喜欢……
|
4
msg7086 2023-08-13 19:32:04 +08:00
Rails 里都用的复数。一张数据表里存了多条数据也就是多个对象,用复数很正常。
|
5
fox0001 2023-08-13 19:33:05 +08:00 via Android
单数
|
6
thinkershare 2023-08-13 19:35:37 +08:00 3
无关紧要的事情, 有时候用单数, 有时候用复数, 看心情.
|
7
totoro52 2023-08-13 19:38:29 +08:00
老外喜欢用复数, 单用单用复都没啥区别。。
|
8
msg7086 2023-08-13 19:39:47 +08:00 1
一般的规则是不要混用单复数,要么全用单数,要么全用复数。确定下来用哪种以后,就一直用这种,不要换。
|
9
jaynsw 2023-08-13 19:50:12 +08:00 via Android 4
單數,因為表達的是類型。例如“用戶”
|
10
kongkx 2023-08-13 19:54:33 +08:00 via iPhone
项目内统一规范就好,php laravel 是 the "snake case", plural name 。js prisma 默认直接用 model name
|
11
kkwa56188 2023-08-13 20:15:21 +08:00 5
在 RESTful API 里, 资源用复数 例如 items/item_id. 这样一看到 名词复数 就知道是一个资源的集合
在关系数据库里, 表名 没有那么强烈的要求用复数, 因为不会出现 像上例 一长串 url 里 容易 混淆的情况. 反而关系数据库里 讲求的 一眼看出 是 实体表还是关系表, 所以可以做以下 最佳实践: 1. 实体表 用单数, 甚至可以加上 _tbl 表示是实体表, 例如 : ITEM 或者 ITEM_TBL 2. 关系表 用上两(多)个实体名称, 甚至 可以加上 _rel 表示是关系, 例如: Order_Item, 或者 Order_Item_Rel |
12
Leon406 2023-08-13 20:17:59 +08:00 2
|
13
lhbc 2023-08-13 21:13:06 +08:00 via Android
单数
因为指的是种类不是数量 User 指的是用户 Users 指特定的多个用户 |
14
cpstar 2023-08-13 21:20:30 +08:00
都有道理:
User ,这个表存储的东西是用户 Users ,这个表里存储了很多用户 |
15
lingo 2023-08-13 21:23:17 +08:00 2
我用单数是因为不是每个词我都知道正经的复数怎么拼🤣
反正公司项目随项目本身,自己的项目无所谓。 |
16
veike 2023-08-13 21:24:12 +08:00
规范用什么就用什么!
PHP Laravel 里的默认是复数。 |
18
isbase 2023-08-13 21:28:58 +08:00
单数,表名表示的是存储的内容是什么,不是有多少个
|
19
Xusually 2023-08-13 22:01:18 +08:00 via iPhone
看约定规范吧,系统里都统一就行了。
|
20
zjp 2023-08-13 22:03:43 +08:00
不可能因为表名是单数就认为表里只有一条数据,所以复数没有提供什么多余的信息
|
21
zm2020 2023-08-13 22:06:55 +08:00
根据之前用 Laravel 框架开发来看,里面默认的表名都是复数
|
22
picone 2023-08-13 22:55:49 +08:00 1
这个只要有统一规范就好。切勿一个人用单数,一个人用复数,写起代码来还得查一下是单数还是复数
|
23
akira 2023-08-13 23:17:36 +08:00
在一个项目里面 统一就行,具体看你喜欢
|
24
IvanLi127 2023-08-13 23:41:17 +08:00 via Android
我用了几个语言的 ORM ,一般是复数。
|
25
IvanLi127 2023-08-13 23:44:53 +08:00 via Android
表不是类,是记录行的集合。这样想就得是复数了。再怎么想表是 Array<Apple> 这样的存在吧。。。
|
26
leonshaw 2023-08-14 00:21:56 +08:00
单数,不然当要做一些代码生成时就只能一个一个表列出来,或者写一堆单复数转换的规则和例外。
|
27
lingo 2023-08-14 00:37:31 +08:00
@kkwa56188 还是你这个实在,区分实体表和关系表才是有用的。。单数复数讲真没提供一丝有用的信息(除非应用层有约定)。。统一就行了。
|
29
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 ),但这个表对程序员是不可见的,平时还是通过操作对象来获取关联数据。 (当然,每个人/组/公司都有自己的最佳实践,自己用起来舒服就行了,不需要跟着别人乱改。) |
30
kkwa56188 2023-08-14 06:09:43 +08:00
盲猜一下, 口口声声 ORM 的, 是不是 leetcode 的 SQL 题都刷不过中级? 开玩笑的. 狗头
|
31
jlmzzz 2023-08-14 06:28:41 +08:00
@FightPig 看来单复数都可以并且都有不少再用,我最近 Django 用的多,教程什么的也单数居多。可能这个问题需要指定语言或框架才比较意义,否则就随开发者喜好单复数都可以。
|
32
mytsing520 2023-08-14 07:19:24 +08:00
随我喜欢。
不过,一旦确定,后面也遵循这个规则。 |
33
oneisall8955 2023-08-14 07:30:38 +08:00 via Android
能跑就行,单数复数都行,统一一种风格
|
34
loading 2023-08-14 08:23:52 +08:00
你可以用全拼名,没有单复数,哈。
|
35
uxstone 2023-08-14 08:32:51 +08:00
在实际业务中有些表名是直接用的汉语拼音,所以统一用单数。
|
36
chenyu8674 2023-08-14 08:38:44 +08:00
单数
有些复数的英文不是简单加 s 的,有时容易第一眼看不出来 |
37
netnr 2023-08-14 08:49:34 +08:00 via Android
我目前在用的一种规则
sys_users sys_user_role |
38
docx 2023-08-14 08:58:30 +08:00 via iPhone
用原型,表示内容是什么
|
39
ccppgo 2023-08-14 09:05:13 +08:00
非母语就不跟风了, 跟楼上一样, 要是看不懂复数还得查一下啥意思, 老老实实单数代表类型
|
40
varzy 2023-08-14 09:15:39 +08:00 via iPhone
我习惯按照 laravel 规范,很优雅~
|
41
tomatocici2333 2023-08-14 09:17:09 +08:00
@Leon406 这思维导图可以分享一下吗 老哥
|
42
wupher 2023-08-14 09:18:33 +08:00
看团队使用的规范,如果是你自己的独立项目,可随意。
Rails 系一般使用复数 |
43
dddd1919 2023-08-14 09:19:12 +08:00
如果使用的技术栈支持复数那当然是复数,遵照 restful 风格,比如 rails ,框架本身有单复数转换规则,不容易拼错
如果不支持,单数还是更方便一点 |
44
henryhu 2023-08-14 09:29:54 +08:00
复数
|
45
Govda 2023-08-14 09:40:08 +08:00
当然是复数,user = users::find(1); 用户(多个)里面找 ID 是 1 的
英文有复数 那默认 user 是 object ,users 是 iterable 这是中英文的区别,如果用中文就没有单复数区别了,用户就是用户,总不能表明叫“用户们”吧 |
46
nothingistrue 2023-08-14 09:47:43 +08:00
先有表( Table ),后又记录( Rows ),那表名就是专有名词,须单数。
如果没有表,直接就是数据集合(典型的就是 Excel 数据),那表名就只是一个标记,应视数据集合本身的单复数性质来决定其单复数,通常是复数。 |
47
Felldeadbird 2023-08-14 09:47:51 +08:00
我建议是单数,你作为新人入职公司,业务是读取用户表。这时候你写代码首先想到的是 users 还是 user ?
总的来说还是要看公司规定。 |
48
qiumaoyuan 2023-08-14 09:48:28 +08:00
哈哈哈哈哈
|
49
echoZero 2023-08-14 09:49:44 +08:00
go ent 默认的是复数,单数要指定
|
50
xz410236056 2023-08-14 10:09:32 +08:00
都 2023 年了,还在纠结回字的写法
|
51
Huelse 2023-08-14 10:23:30 +08:00
不可数的用单数,可数的用复数。
表里有多少数据你是不知道的,但你取出来的时候是 limit 的。 |
52
puras 2023-08-14 10:29:54 +08:00
用单数,还加了前缀。。。
|
53
kneo 2023-08-14 12:18:03 +08:00 via Android
随便,统一就行。一般来说使用单数会简单点。
|
54
Daniel17 2023-08-14 12:25:44 +08:00
看你们规范,又不影响性能
|
55
largezhou 2023-08-14 12:45:14 +08:00
之前用 laravel ,按约定是用复数,后面觉得英文复数又不能简单的加 s ,还不如单数清晰
|
56
hjq632233317 2023-08-14 13:41:23 +08:00
单数 那用复数岂不是每个表就叫 xxxs ,很烦复数的 s 结尾,包括字段,有时候打代码都忘了自己设置的是负数还是单数了 还得再看一遍表 或者就是忘了自己设置的是复数 然后报错 很烦
|
57
coolair 2023-08-14 13:49:36 +08:00
国外的项目都是复数,国内的项目乱七八糟,怎么用的都有,自己看着办。
|
58
manasheep 2023-08-14 13:53:59 +08:00 1
我觉得复数本来就是英语的糟粕,就跟汉语无意义的量词一样,做开发没必要还照搬这个。
|
59
8355 2023-08-14 13:58:11 +08:00
个人理解表名应该是名词 不是复数
只有查多条数据的时候变量才用复数 |
60
manasheep 2023-08-14 14:13:23 +08:00
日程表/日程安排表 - Schedule/Planner
任务清单 - To-do List 会议议程表 - Meeting Agenda 会议记录表 - Meeting Minutes 项目计划表 - Project Plan 项目进度表 - Project Timeline/Progress Report 预算表 - Budget Sheet 费用报销表 - Expense Report 销售报表 - Sales Report 客户信息表 - Customer Information Sheet 员工信息表 - Employee Information Sheet 考勤记录表 - Attendance Sheet 学习计划表 - Study Plan 笔记表格 - Note-taking Template 目标设定表 - Goal Setting Worksheet 问题追踪表 - Issue Tracking Sheet 数据收集表 - Data Collection Form 调查问卷 - Survey Questionnaire 评估表 - Evaluation Form 学习反馈表 - Feedback Form 看看这里有多少表格名称用的是复数形式? 而且编程是实用为先,复数尽可能不用,即使在处理多个实例时,也不一定要用复数表示变量和参数,因为这有可能给搜索造成障碍。 |
61
FightPig 2023-08-14 14:33:11 +08:00
@jlmzzz 这倒是,我主要一直用 rails 了,所以一直按 rails 的习惯,不管用啥写,表名全是复数的。只要团队遵循规则就行了,随便怎么搞。还接过好多项目二开,里面表直接拼音缩写的🐶
|
62
DOLLOR 2023-08-14 14:42:15 +08:00
我是避免用复数形式。如果是表示多个项目的集合,用 xxList 、xxArr 这样的后缀。
因为复数形式还得考虑英语的不规则变化,比如 activity vs activities foot vs feet ,不够统一。 |
63
libook 2023-08-14 14:51:04 +08:00
英语的复数是一种不可靠的变形规则,遇到特殊变形和单复同形的,就会很麻烦。
可以采用单数形式,或者单数+List/Collection/Array 等后缀,具体采取哪种方案需要团队定个统一标准。 |
64
kernelpanic 2023-08-14 14:56:53 +08:00
单数
model 一般跟表名对应, 如果 t_items, 变成了 Items, 那么 new Items() 是啥玩意? addItems 呢? |
65
bzj 2023-08-14 15:04:14 +08:00
用拼音怎么说
|
66
fengpan567 2023-08-14 15:06:36 +08:00
随便
|
67
maxssy 2023-08-14 17:26:34 +08:00
国人喜欢用单数, 外国人喜欢用复数
我站国人 实际上我觉得复数这个语法都 TM 是扯淡 |
68
Leon406 2023-08-14 18:41:29 +08:00
@tomatocici2333 #41 自己看完阿里规约 ,总结才会印象深刻
个人笔记 并不适合所有人, 周末花个一天就能有自己的思维导图 |
69
superchijinpeng 2023-08-14 18:43:32 +08:00
单数
|
70
superchijinpeng 2023-08-14 18:43:53 +08:00
可以看下 TPC-DS 或者 TPC-DS 里的
|
71
cquan 2023-08-14 23:37:18 +08:00
小写加下划线就好
|