SQL联结表命名:使其可读与遵循约定[关闭]

问题描述 投票:0回答:1

考虑以下“用户”表:

CREATE TABLE user (
    user_id INTEGER PRIMARY KEY NOT NULL,
    nick_name TEXT NOT NULL UNIQUE
)

现在我有一个多对多的引用表,它以“跟随”关系连接2个用户(这不是双向关系btw)。

我已经阅读了很多关于在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个用户(比如阻塞表),这就是为什么我不确定命名(联结)表的正确方法。

也许还有另一种方法可以遵循惯例,同时保持可读性。我很感激每一个提示。

sql database sqlite naming create-table
1个回答
2
投票

每次都要考虑可读性。善待维护你的sql代码的人;可能是你在6个月后。另外,请检查您所关注的“惯例”来自何处。任何人都有什么理由来定义一个会议,消除对你正在做的事情的任何解释(如第二个例子)? 您可能会发现这有用:the names we give things

© www.soinside.com 2019 - 2024. All rights reserved.