PostgreSQL - 在哪里存储所有者数据?

时间:2016-02-08 21:59:16

标签: sql database postgresql

可以将所有者(访问主项目仪表板的人)存储在存储普通用户的同一数据库模式中吗?如果是这样,它是如何最好的:在具有标志“角色”的相同“用户”表中或在独立表“所有者”中。

CREATE TABLE users (
    id BIGSERIAL NOT NULL PRIMARY KEY,
    email TEXT NOT NULL UNIQUE,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE owners (
    id BIGSERIAL NOT NULL PRIMARY KEY,
    email TEXT NOT NULL UNIQUE,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE users (
    id BIGSERIAL NOT NULL PRIMARY KEY,
    email TEXT NOT NULL UNIQUE,
    role INT NOT NULL,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

2 个答案:

答案 0 :(得分:0)

我建议将用户存储在一个表中。

原因如下:

  • 一个存储非常相似类型数据的表
  • 将用户升级为超级用户
  • 更容易
  • 维护
  • 使用用户的后续sql语句将不那么复杂

答案 1 :(得分:0)

我想说只有一个表更易于维护并简化了应用程序的逻辑。如果您想添加新的角色类型,“角色”字段允许将来扩展。安全方面,有一个或两个表应该非常相似。但这取决于你如何访问表,权限,...
我不确定这个答案是否有用,但我们需要更多的背景来帮助你进一步...