2016-02-08 4 views
1

Хорошо хранить владельцев (тех, кто имеет доступ к основным панелям проекта) в той же схеме базы данных, где хранятся обычные пользователи? Если да, то как это лучше: в той же таблице «пользователи» с флагом «роль» или в независимой таблице «владельцы».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 
); 

ответ

0

Я рекомендую хранить пользователей в одной таблице.

Вот почему:

  • Одна таблица хранения очень похожий вид данных
  • легче обновить пользователя суперпользователем
  • Обслуживание
  • Последующие операторы SQL с помощью пользователей будет меньше complex
+0

Я вижу те же преимущества, но у меня возникли сомнения по поводу хранения данных владельцев в одной таблице. – forkfork

+0

Это довольно распространенное явление, поэтому таблица должна быть доступна только приложению. Поэтому, если у кого-то есть доступ к нему, ему будет еще проще, если вы создадите собственную таблицу с именем «владельцы» :) – stb

0

Я бы сказал, что иметь только одну таблицу проще в обслуживании и упрощает логику приложения. Поле «role» позволяет будущему расширению, если вы хотите добавить новые типы ролей. Безопасность, имеющая одну или две таблицы, должна быть очень схожей. Но это зависит от того, как вы обращаетесь к таблице, разрешениям, ...
Я не уверен, что этот ответ очень полезен, но нам нужно немного больше контекста, чтобы помочь вам в дальнейшем ...

Смежные вопросы