Какой уникальный идентификатор использовать для блогов и комментариев?

0

Это вопрос, который возник из-за последствий другого вопроса здесь: Лучше ли иметь две отдельные пользовательские таблицы или одну?

Предполагая, что у меня есть два типа пользователей: автор и читатель, каждый из которых хранится в реляционных таблицах, привязанных к основной таблице учетных записей, например:

TABLE Accounts {
    id
    email
    password
    salt
    created
    modified
}

TABLE reader {
    id
    user_id
    ...
}

TABLE author {
    id
    user_id
    ...
}

Когда автор публикует блог, должен ли я пометить блог уникальным идентификатором из таблицы авторов или уникальным идентификатором из таблицы учетных записей? То же самое происходит с комментариями читателей - следует ли пометить комментарий уникальным идентификатором таблицы Reader или уникальным идентификатором таблицы счетов?

Итак, в основном либо:

TABLE Blogs {
    id
    author_id
}

ИЛИ

TABLE Blogs {
    id
    account_id
}

Что менее вероятно укусить позже?

  • 0
    Учетные записи. Почему в любом случае таблица Reader или Author имеет отдельный id ?
  • 0
    Ну, я могу быть очень не прав, но, насколько я понимаю, хорошо, что таблица будет иметь ключ со стандартным автоинкрементным ключом. Опять же, я не профессионал.
Показать ещё 2 комментария
Теги:
relational-database
unique-key

2 ответа

3
Лучший ответ
TABLE user {
    id
    email
    password
    salt
    created
    modified
}

TABLE profile {
    user_id
    age
    favorite_movie
    ... other useless stuff...
}

TABLE user_role {
    user_id
    role_id
}

TABLE role {
    id
    name (author, admin, user, subscriber, etc...)
}

TABLE blog {
    id
    user_id
    title
    text
    ...etc...
}


user HASMANY role
user HASONE profile
user HASONE blog

Таким образом, пользователь может быть администратором и автором. Вы можете найти их блоги, глядя для соответствующего блога для этого user_id. Если у вас есть поля, зависящие от типа учетной записи затем поместите их все в таблицу "Профиль".

1

Только вы можете полностью ответить, но моя кишка говорит, что записи в блоге должны быть помечены автором. Единственная причина для использования учетной записи концептуально была бы, если бы не автор мог создать (автора) сообщение в блоге. Пока что с предоставленной информацией это не выглядит так.

Заметьте, что я также считаю, что все авторы должны быть пользователями: каждый пользователь, но только некоторые пользователи также имеют статус авторства.

  • 0
    Спасибо за ответ ... на самом деле авторы и пользователи в этом случае имеют совсем другой набор разрешений, которые в основном не перекрываются. Это определенно странная ситуация. Пользователи и следите за авторами, читайте блоги. Авторы не могут ни за кем следить, но могут писать блоги.
  • 0
    так что авторы не могут прочитать ваш сайт?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню