V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zealinux
V2EX  ›  程序员

数据库中的字段该怎么起名?业务 ID(非主键)

  •  
  •   zealinux · 2021-06-30 14:54:13 +08:00 · 2400 次点击
    这是一个创建于 1228 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如:

    A 表与 B 表进行关联,但是不是与 B 的主键 ID 关联,而是与 B 表的内部业务 ID 进行关联

    A 表字段: id, B_xid B 表字段: id, B_xid

    这个 B_xid,大家一般起名字叫什么?

    最好不要叫 B_id 的,因为会让别人误解以为是 B 表的 id

    15 条回复    2021-06-30 17:01:32 +08:00
    littleshy
        1
    littleshy  
       2021-06-30 14:57:58 +08:00
    我们一般用 Code, Number 之类的,一般叫 业务编号或编码。
    no1xsyzy
        2
    no1xsyzy  
       2021-06-30 14:58:40 +08:00
    把 B.B_xid 中的 . 简单替换成 _
    B_B_xid
    liangchen1ce
        3
    liangchen1ce  
       2021-06-30 15:00:14 +08:00   ❤️ 1
    biz_no
    msaionyc
        4
    msaionyc  
       2021-06-30 15:02:01 +08:00   ❤️ 1
    ref_id
    zealinux
        5
    zealinux  
    OP
       2021-06-30 15:08:28 +08:00
    @no1xsyzy
    B 可能是个比较长的表名,
    B_B_xid,肯定比较抢眼。
    no1xsyzy
        6
    no1xsyzy  
       2021-06-30 15:18:21 +08:00
    @zealinux 所以你为什么要 B_xid 呢?

    其实应该是 B(id, xid) 然后 A(id, B_xid)
    这样 JOIN 的时候也是写 B_xid = B.xid ,有一种对仗感在。

    还有一种就是 A(id, AB_link_id) B(id, AB_link_id)
    其实是反演了 A(id) B(id) AB_link(id, A_id, B_id)
    starxg
        7
    starxg  
       2021-06-30 15:32:39 +08:00
    objectId
    toxicant
        8
    toxicant  
       2021-06-30 15:58:06 +08:00
    叫什么都无所谓 关联 id 而已 注释写好就行吧
    zengxs
        9
    zengxs  
       2021-06-30 16:01:41 +08:00
    [表名]_[字段名]

    比如你要关联的表叫 table1, 要关联的字段叫 id1,就起名为 table1_id1
    zealinux
        10
    zealinux  
    OP
       2021-06-30 16:02:32 +08:00
    @no1xsyzy
    嗯,对的
    但是*xid*这个词不太好,
    希望有个好的名字。
    zengxs
        11
    zengxs  
       2021-06-30 16:03:12 +08:00
    @zengxs #9 如果表名或字段名中可能有 _ 那就用两个下划线分割
    bthulu
        12
    bthulu  
       2021-06-30 16:06:54 +08:00
    直接关联 id 啊, 不要关联业务 id
    baobao1270
        13
    baobao1270  
       2021-06-30 16:09:57 +08:00
    叫 business_id/biz_id/bid 都可以啊 这里的 bid 的 b 是 business 的 b 。
    jorneyr
        14
    jorneyr  
       2021-06-30 16:36:21 +08:00
    order_sn
    lixingjun
        15
    lixingjun  
       2021-06-30 17:01:32 +08:00
    只要 A 表用了任何 B 的任意字段作为外键,那么 A 表内这个字段名一般命名为 B_字段名,并且备注:外键来自 B.字段名
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2991 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:15 · PVG 08:15 · LAX 16:15 · JFK 19:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.