Таблицы данных СУБД в 1С

Таблица основных данных справочника содержит информацию о стандартных реквизитах и реквизитах, которые мы добавляем в конфигураторе.

Курс 1С: Эксперт. Таблицы справочника. Основные данные
Основные данные.

Если реквизит составной, то он имеет так же и дополнительные колонки, указывающие на тип.

  1. Реквизит из нескольких примитивных типов. Например, код подтверждения, который может быть и числом, и строкой и булевом и датой. Тогда на уровне СУБД поле будет храниться в 5-ти полях.
  2. Реквизит из нескольких ссылок. Например, поле «Первый документ контрагента» – это может быть любой документ в системе. Тогда реквизит «Первый документ контрагента» на уровне СУБД будет храниться в 3-х полях.
  3. Реквизит из всех возможных типов, то это будет выглядеть как комбинацию из предыдущих вариантов, т.е. колонки: 1. Тип, 2. значение Числа, 3. Значение Булева, 4. Значение Даты, 5. Значение строки 6. Тип ссылки 7. Значение Ссылки.
Курс 1С: Эксперт. Таблицы СУБД. Реквизит составного типа
Реквизит составного типа 1С.
Курс 1С: Эксперт. Таблицы СУБД. Реквизит составного типа в СУБД
Реквизит составного типа в СУБД

Что такое Первичный ключ

Чтобы ответить на этот вопрос, необходимо разобрать такое понятие, как первичный ключ (primary key, PK).

Primary key – это колонка, которая задает уникальность строки в таблице. Другими словами, это такая колонка, значения в которой уникальны в рамках всей таблицы, но не уникальный в рамках всей Базы Данных (БД).

Потенциальным PK называется любая колонка, которая может удовлетворять требованиям primary key. Например, ИНН, ФИО, СНИЛС, Номер паспорта, ФИО + Дата рождения – это будет потенциальный составной PK. Но у всех этих полей есть нюансы, например, какие-то их них все-таки могут дублироваться, например, ФИО, а какие-то могут быть не заполнены, например ИНН, если контрагент нам его пока не сообщил.

Курс 1С: Эксперт. Таблицы СУБД. Первичный ключ (Primary key)
Как задается уникальность строки в СУБД.

Тем не менее, такие PK, которые являются частью реальных данных, называются естественными ключами. Например, в Налоговой скорее всего PK физических лиц может быть СНИЛС, потому что любое физическое лицо, которое заводится в базу, сразу имеет свой уникальный номер в рамках всей страны в целом, и без номера в базе данных существовать не может.

Для стабильности и надежности используют суррогатные ключи – это такие PK, которые генерируются искусственно, но имеют 100% уникальность в рамках своей таблицы. Таким образом, это позволяет указывать не полные данные, например, контрагента, а только PK его строки. А СУБД по primary key уже сможет найти все данные этого контрагента в основной его таблице.

Первичный ключ одной строки, который указывается в другой, т.е. поле одной строки имеет связь через это значение с данными другой строки, называется Внешним ключом (foreign key).

Реляционная база данных

Установка связей (relations) между таблицами через PK и FK, с целью минимизировать объем хранимых данных (чтобы не дублировать одинаковые значения) называется – нормализация (normalization).

СУБД, в которой, все таблицы нормализованы, называется реляционная СУБД, т.е. у всех таблиц установлены связи между собой и данные в БД не дублируются.

Что такое ссылка в 1С

В 1С первичные ключи являются суррогатными, генерируются по правилам GUID, и называются ссылками.

Если где-то встречается 2 раза ООО «Ромашка» с ИНН 12986754129, то указывается просто «первичный ключ» строки таблицы «Контрагенты» (Ссылка), а не указываются все данные контрагента: Наименование, ИНН, Контактные данные и т.д.

Данная тема подробнее рассматривается в пакете видео-курса «Секреты 1С: Эксперта» Шаг 2. Занятие 03-01 Структура таблиц / Справочники.

Константин Ефимов | 1С: Эксперт. Оптимизация производительности 1С.

КОНСТАНТИН ЕФИМОВ
Комментарии и вопросы