考虑以下"用户"表:
CREATE TABLE user (
user_id INTEGER PRIMARY KEY NOT NULL,
nick_name TEXT NOT NULL UNIQUE
)
现在我有一个多对多的参考表,它连接了一个用户的2个用户 "以下"关系(这不是双向关系)。
我已经阅读了很多关于在sql中命名内容的内容,但大多数时候它都是 真的不一致(有人说PascalCase,有些像蛇一样。)。
我的问题是,以下哪个命名更好?
readablity>约定:
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个用户(比如阻止表),这就是为什么我不确定正确的命名方式(结点)表。
也许还有其他方法可以遵循惯例,同时保持可读性。我很感激每一个提示。
答案 0 :(得分:2)
每次都要考虑可读性。善待维护你的sql代码的人;可能是你在6个月后。另外,请检查您所关注的“惯例”来自何处。任何人都有什么理由来定义一个会议,消除对你正在做的事情的任何解释(如第二个例子)? 您可能会发现这有用:the names we give things。