Раздел: CronosPRO Дата редакции: 29.01.2012 id статьи: 1333

Статусы поля, влияющие на результат идентификации

Если значения полей идентифицирующего набора сохраняемой/загружаемой записи совпали со значениями полей существующей записи, то система будет сверять оставшиеся поля (не входящие в идентифицирующий набор).
На результат идентификации записей будут влиять отсутствие или наличие статусов полей:
  • замена значения;
  • замена непустого значения;
  • множественное.

Слияние записей без использования статусов полей

ПРИМЕР 1: Рассмотрим применение 3-го и 4-го типов идентификации для Базы А (рис. 1, рис. 2).
Идентифицирующий набор Поле 1, поле 2 и поле 3
Статус поля 4 Без статуса
Поле 4 в новой (или существующей) записи пустое. Произойдёт слияние записей, в поле 4 будет записано непустое значение.
Слияние записей без использования статусов полей. Пустое поле в новой записи
Рис. 1. Слияние записей без использования статусов полей. Пустое поле в новой записи
Слияние записей без использования статусов полей. Пустое поле в существующей записи
Рис. 2. Слияние записей без использования статусов полей. Пустое поле в существующей записи
ПРИМЕР 2: Рассмотрим применение 3-го и 4-го типов идентификации для Базы А (рис. 3).
Идентифицирующий набор Поле 1, поле 2 и поле 3
Статус поля 4 Без статуса
Поля, входящие в идентифицирующий набор, идентичны. Значение поля 4 в новой и существующей записях отличается. Слияния записей не произойдёт. Программа не сможет самостоятельно принять решение, какое из двух значений следует оставить. Сохраняемой записи будет присвоен новый системный номер (рис. 3).
Слияние записей без использования статусов полей. Различие значения поля в новой и существующей записях
Рис. 3. Слияние записей без использования статусов полей. Различие значений полей в новой и существующей записях

Статус МНОЖЕСТВЕННОЕ

Статус множественное позволяет хранить в одном поле несколько независимых значений. При слиянии двух записей произойдёт объединение значения в множественном поле.
Обратите внимание
  • Поля со статусом «Множественное» не входят в идентифицирующий набор.
ПРИМЕР 3: Рассмотрим применение 3-го и 4-го типов идентификации для Базы А (рис. 4).
Идентифицирующий набор Поле 1, поле 2 и поле 3
Статус поля 4 множественное
Слияние записей. Статус множественное
Рис. 4. Слияние записей. Статус «Множественное»
Несмотря на то, что значения поля 4 в новой и существующей записях отличается, произойдёт слияние записей. В итоговой записи, в множественном поле 4 содержится уникальный набор значений поля 4 из новой и существующей записей.

Статус ЗАМЕНА ЗНАЧЕНИЯ

Данный статус используется в базах с типом идентификации 3 или 4. При слиянии входной записи и записи базы данных всем полям, имеющим статус «Замена значения», присваивается новое значение, т. е. значения таких полей в существующей записи полностью заменяются (вне зависимости от того, имеются ли у этого поля значения в сливаемых записях) на значения соответствующих полей входной (новой) записи.
ПРИМЕР 4: Рассмотрим применение 3-го и 4-го типов идентификации для Базы А (рис. 5).
Идентифицирующий набор Поле 1, поле 2 и поле 3
Статус поля 4 замена значения
Произойдёт слияние записей. Но, в отличии от примера 1, в существующей записи значение поля 4 будет полностью заменено на значение поля входной (новой) записи, в примере это пустое значение.
Слияние записей. Статус замена значения
Рис. 5. Слияние записей. Статус «Замена значения»
ПРИМЕР 5: Рассмотрим применение 3-го и 4-го типов идентификации для Базы А (рис. 6).
Идентифицирующий набор Поле 1, поле 2 и поле 3
Статус поля 4 множественное + замена значения
Произойдёт слияние записей. Но, в отличии от примера 3, не смотря на наличие у поля 4 статуса «Множественное», значения поля в существующей записи будут полностью заменены на значение поля входной (новой) записи.
Обратите внимание
  • Статус «Замена значения» является приоритетным по отношению к статусу «Множественное».
Слияние записей. Статусы: множественное и замена значения
Рис. 6. Слияние записей. Статусы: «Множественное» и «Замена значения»

Статус ЗАМЕНА НЕПУСТОГО ЗНАЧЕНИЯ

Данный статус аналогичен статусу «Замена значения». Отличие состоит в том, что значения полей существующей записи базы данных заменяются только в тех случаях, когда соответствующие поля входной записи имеют непустые значения.
ПРИМЕР 6: Рассмотрим применение 3-го и 4-го типов идентификации для Базы А (рис. 7).
Идентифицирующий набор Поле 1, поле 2 и поле 3
Статус поля 4 замена непустого значения
Произойдёт слияние записей. Но, в отличии от примера 4, значение поля 4 в существующей записи не будет заменено на новое, так как значение поля 4 в новой записи пустое.
Слияние записей. Статус замена непустого значения
Рис. 7. Слияние записей. Статус «Замена непустого значения»
Обратите внимание
  • Статус «Замена непустого значения» является приоритетным по отношению к статусу «Множественное» (см. пример 5).
  • Статус «Замена значения» является приоритетным, по отношению к статусу «Замена непустого значения».