Bitrix - Структура базы данных модуля пользователей

/ Просмотров: 7638

Таблица `b_user` содержит основные пользовательские данные: внутренний идентификатор, электронный адрес, логин, хэш пароля, хэш контрольного слова, дата регистрации и дополнительные предустановленные поля личных и рабочих данных.


Структура таблицы `b_user` :

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

  `LOGIN` - логин пользователя,
  `PASSWORD` - хэш пароля пользователя,
  `CHECKWORD` - хэш контрольного слова,
  `ACTIVE` - активность пользователя ('Y', 'N'),
  `NAME` - имя пользователя,
  `LAST_NAME` фамилия пользователя,
  `EMAIL` электронный адрес пользователя,
  `LAST_LOGIN` - дата последнего авторизованного входа,
  `DATE_REGISTER` - дата регистрации,
  `LID` привязка к сайту,
  `PERSONAL_* - поля персональных данных
  `WORK_* - поля данных связанных с работой,
  `ADMIN_NOTES` - комментарий админа,
  `PERSONAL_BIRTHDAY` - дата рождения,
  `EXTERNAL_AUTH_ID` - идентификатор внешнего сервиса авторизации,
  `SECOND_NAME` - отчество,
  `CONFIRM_CODE` - код подтверждения при восстановлении пароля,
  `LOGIN_ATTEMPTS` - количество попыток авторизации,
  `LAST_ACTIVITY_DATE` - дата последней активности.

Таблица `b_user_field` хранит набор пользовательских полей для различных модулей, типа блог, пользователи и т.п. Фильтрация по модулю осуществляется с помощью содержимого поля ENTITY_ID (в нашем случае для пользователя там будет указано USER).

Структура таблицы `b_user_field`
ENTITY_ID – идентификатор модуля,
FIELD_NAME – имя поля,
USER_TYPE_ID – тип поля(string, iblock_element, file и т.п.),
XML_ID
SORT – индекс сортировки,
MULTIPLE – является ли поле полем с множественным значением,
MANDATORY – обязательно ли поле,
SHOW_FILTER – показывать в фильтрации административного листинга,
SHOW_IN_LIST – показывать в списке административного листинга,
EDIT_IN_LIST - возможно ли редактирование в списке административного листинга,
IS_SEARCHABLE – возможен поиск по поля,
SETTINGS – дополнительные настройки в сериализованном виде, типа: (a:6:{s:4:"SIZE";i:20;s:4:"ROWS";i:1;s:6:"REGEXP";N;s:10:"MIN_LENGTH";i:0;s:10:"MAX_LENGTH";i:0;s:13:"DEFAULT_VALUE";N;})


Таблица `b_user_field_enum`  предназначена для  хранения значений типа поля enumeration:


Структура таблицы `b_user_field_enum`  : 

ID – идентификатор записи
USER_FIELD_ID – идентификатор пользовательского поля
VALUE – значение
DEF – значение используется как значение по умолчаниию
SORT – индекс сортировки



Мультиязычность для названий пользовательских полей реализуется с помощью таблицы `b_user_field_lang`.
 
Структура таблицы `b_user_field_lang`:
USER_FIELD_ID - идентификатор пользовательского поля
LANGUAGE_ID – идентификатор языка
EDIT_FORM_LABEL – фраза представления поля в форме просмотра и редактирования
LIST_COLUMN_LABEL –фраза представления поля в листинге
LIST_FILTER_LABEL – фраза представления поля в листинге фильтрации
ERROR_MESSAGE – фраза сообщения ошибки при работе с полем
HELP_MESSAGE – фраза помощи при работе с полем


Дополнительные пользовательские свойства хранятся в таблице`b_uts_user`, где каждое поле в структуре таблицы является пользовательским полем. Привязка осуществляется по полю VALUE – идентификатор пользователя, это единственное предустановленное поле в этой таблице, остальные поля соответствуют полям записи из таблицы `b_user_field`.
 
Пример структуры моей таблицы:
VALUE_ID
UF_CITY – пользовательское поле «город»
UF_СOUNTRY – пользовательское поле «страна»


Группы пользователей хранятся в `b_group` .
 
Структура таблицы  `b_group` :
ID –идентификатор записи
TIMESTAMP_X
ACTIVE – активность группы
C_SORT – индекс сортировки
ANONYMOUS
NAME – имя группы
DESCRIPTION - описания
SECURITY_POLICY
STRING_ID


Связь между пользователями и пользовательскими группами осуществляется через таблицу `b_user_group`
 
Структура таблицы `b_user_group`:
USER_ID – идентификатор пользователя
GROUP_ID – идентификатор группы
DATE_ACTIVE_FROM – время активности пользователя в группе с …
DATE_ACTIVE_TO – время активности пользователя в группе по …
Оставьте комментарий!

Комментарий будет опубликован после проверки

Имя и сайт используются только при регистрации

(обязательно)