|
|
|
Разные пользователи сайта, разные данные. Отличные поля.
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Попытаюсь не занимать много времени лишним текстом, перейду к вопросу. Думаю, как организовать базу данных для сайта. Мускул. Есть пользователи. Они разделяются на много категорий Пример пользователей: клиент, студент, менеджер, администрация etc. каждый из этих пользователей имеет свои собственные данные, которые должны храниться в базе: Студент: Вуз, Факультет etc. Клиент: Название фирмы, гос. регистрационный номер etc. etc. Вот думаю, как организовать базу данных. Можно хранить основные данные(login, password, email, status) в таблице users, а доп. данные (гос. регистрационный номер, ВУЗ, факультет) хранит в отдельных таблицах clients, students etc. Можно просто создавать таблиц столько, сколько типов пользователей есть. В каждой будут ВСЕ данные о пользователе. Когда пользователь входит в систему, надо будет при запросе перебирать не одну таблицу, а несколько. Получиться, что будет надо проверять user_password==md5($provided_pass), а будет student_password==md5($provided_pass), client_password==md5($provided_pass) Как лучше поступить? Я склоняюсь к тому, чтоб основные данные хранить в одной таблице (users), а всякие детали уже в каждой другой, отдельной таблице, которые как-бы расширяет основную. Кто может сталкивался или может знает лучше решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 00:25 |
|
||
|
Разные пользователи сайта, разные данные. Отличные поля.
|
|||
|---|---|---|---|
|
#18+
Проведи сравнительный анализ. Какой вариант наберёт больше баллов, тот и используй. Делов то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 01:03 |
|
||
|
Разные пользователи сайта, разные данные. Отличные поля.
|
|||
|---|---|---|---|
|
#18+
Разделите сущности студент, клиент, etc и сущность пользователь. Эта две больише разности (с). Пользователь может быть однорвеменно и студентом и клиентом и менеджером, в этмо сымсле он должен быть один. Но как студент, должен быть в сущности сутдент, как клиент - в сущности клиент и т.п. Все пользователи сос воими атрибутами (логинами, паролямиЮ, датой регистрации и т.п.) в одном месте, а все остальное в другом, в частности возможно по разным таблицам. Да, у пользователя не забудьте установить соответствие между разными группам (студент/клиент/менеджер etc) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 02:46 |
|
||
|
Разные пользователи сайта, разные данные. Отличные поля.
|
|||
|---|---|---|---|
|
#18+
Сравнительный анализ это подлая штуковина(: 2Mainframe_старый В общем я ночью лежал и думал над этим и пришел тоже к такому выводу. Что самое оптимально будет их просто разделить! Спасибо большое, думаю, тему можно закрывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2008, 13:54 |
|
||
|
Разные пользователи сайта, разные данные. Отличные поля.
|
|||
|---|---|---|---|
|
#18+
Для обоснования решения нужно выбрать правильную классификацию и уровень абстракции. Если говорить о разных подтипах пользователей, то получается как то замысловато и такая информационная модель плохо ложится в ряционную модель данных, поскольку ориентирована на моделирование мира, а не документов. А можно рассматривать разные виды форм посредством которых формализуются и учитываются сведения о реальных объектах учёта. Общая для всех форма - учётная запись пользователя системы состоящая из логина, пароля и т.п. системной информации. Прочие формы, заполняемые клиентами, студентами, менеджерами и т.д. не зависят от учётной записи, но могут быть ассоциированы с ней. Более того, почему владельцем учётной записи не может быть студент являющийся одновременно и менеджером? От форм легко перейти к реляционным отношениям БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2008, 05:15 |
|
||
|
Разные пользователи сайта, разные данные. Отличные поля.
|
|||
|---|---|---|---|
|
#18+
2 mcureenab Именно такая концепция и получилась. Все пользователи заполняют системные данные, а если нужно расширить их права или еще что-то, их аккаунт "расширяется" до менеджера клиента и так далее. Сейчас пока нет необходимсти вводить многоролевого (и студент и клиент) пользователя, но в будущем, обязательно это реализую! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2008, 23:22 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35103702&tid=1544045]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 522ms |

| 0 / 0 |
