застрял на дизайн базы данных для приложения управления пользователями - PullRequest
0 голосов
/ 08 марта 2011

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

Я думаю, что структура базы данных будет структурирована примерно так:

Пользователи

  • user_id
  • first_name
  • фамилия
  • электронная почта

Счета

  • account_id
  • ldap_access
  • drupal_access
  • billing_app_access
  • facebook_access

Заметки

  • note_id
  • описание
  • date_added

И я считаю, что сопоставление будет выглядеть следующим образом:

Один пользователь может иметь один набор учетных записей (1: 1)

В одном наборе учетных записей может быть много пользователей (1: м)

В одном наборе учетных записей может быть много заметок (1: м)

Многие заметки могут иметь множество наборов учетных записей (м: м)

Это правильный способ структурирования базы данных?Я действительно запутался, поскольку хотел бы, чтобы поля приложений были логическими значениями true / false для этого конкретного пользователя.(Если у них есть учетная запись там или нет), и примечания будут соответствовать КАЖДОМ из полей в базе данных учетных записей.(т.е.: note_id: 1 будет соответствовать пользователю johndoe, application: facebook, note_description = "у пользователя больше нет facebook")

Имеет ли это смысл?

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

2 голосов
/ 08 марта 2011

Может, как-то так:

enter image description here

Я до сих пор не понимаю всех ваших потребностей.

0 голосов
/ 25 июня 2015

Я предпочитаю этот дизайн (используется во многих системах, таких как Windows или Oracle)

Таблица пользователь Пользователь-Role Роль Доступ заявка Примечание (все еще интересно, для чего это)

Роль полезна, если у вас много пользователей с похожими характеристиками.

...