【发布时间】:2018-06-11 01:12:47
【问题描述】:
考虑以下“用户”表:
CREATE TABLE user (
user_id INTEGER PRIMARY KEY NOT NULL,
nick_name TEXT NOT NULL UNIQUE
)
现在我有一个多对多参考表,它连接 2 个用户 “跟随”关系(顺便说一句,这不是双向关系)。
我已经阅读了很多关于在 sql 中命名的内容,但大多数时候是 确实不一致(有人说是 PascalCase,比如一些蛇形大小写)。
我的问题是,以下哪个命名更好?
可读性>约定:
CREATE TABLE user_following_user (
follower_user_id INTEGER NOT NULL,
target_user_id INTEGER NOT NULL,
FOREIGN KEY ...
PRIMARY KEY ...
)
约定>可读性:
CREATE TABLE user_user_xref (
user1_id INTEGER NOT NULL,
user2_id INTEGER NOT NULL,
FOREIGN KEY ...
PRIMARY KEY ...
)
请记住,可能还有其他表也有 2 个相关用户(例如阻塞表),这就是为什么我不确定命名(连接)表的正确方法是什么。
也许还有另一种方法可以在保持可读性的同时遵循约定。我很感激每一个提示。
【问题讨论】:
-
我写了一篇关于这个常见术语问题的博文:world.hey.com/jdmo/how-to-name-your-junction-tables-3735fdc9
标签: sql database sqlite naming create-table