А.В. Брешенков
8
• данные из таблицы, включаемые в существующую БД, уже
представлены в ней несколькими таблицами;
• таблица в БД не удовлетворяет условиям нормализации.
Одним из самых простых является случай, когда несколько оди-
наковых по сути таблиц требуется объединить в одну. Решение зада-
чи может свестись к выбору исходной таблицы и добавлению в нее
записей с данными из других таблиц. Однако, если столбцы исход-
ных таблиц не расположены в одинаковой последовательности, ис-
ходные таблицы необходимо предварительно преобразовать к нуж-
ному виду. Кроме того, в соответствии с требованиями к таблицам
БД их записи должны быть уникальны, т. е. в них должны отличаться
значения хотя бы одного поля. Это требование далеко не всегда вы-
полняется, например, когда в исходных таблицах записи отличаются
только порядковыми номерами, а эти номера в различных таблицах
могут совпадать. В связи с этим может возникнуть необходимость
добавления в таблицу специального ключевого поля, значение кото-
рого должно быть уникальным для каждой записи.
Более сложным является случай, когда требуется объединить не-
сколько таблиц, дополняющих по данным друг друга. При этом как
количество, так и смысловая нагрузка столбцов исходных таблиц мо-
гут не совпадать. Тогда кроме проблем объединения возникают но-
вые проблемы. Чтобы решить задачу объединения такого характера,
необходимо выявить поля в исходных таблицах, по которым можно
провести объединение. Эти поля, называемые ключевыми, должны
присутствовать во всех таблицах и иметь одинаковую смысловую
нагрузку. Затем необходимо формировать записи целевой таблицы из
записей исходных таблиц. При этом критериями формирования но-
вых записей являются одинаковые значения ключевых полей в ис-
ходных таблицах. Кроме того, в процессе формирования записи ис-
ключаются заголовки и данные одинаковых столбцов.
В случае необходимости разбиения одной таблицы на несколько
следует руководствоваться критериями эффективности построения
новой БД на основе использования исходных таблиц. В частности,
следует руководствоваться требованиями нормализации таблиц. Если
БД уже существует, то руководствуются составом таблиц БД, их
структурой и связями между таблицами. При разбиении таблиц
необходимо иметь в виду, что пользователю БД может потребоваться
обработка информации из нескольких таблиц одновременно. Поэто-
му между результирующими таблицами должны быть обеспечены
связи, например, через механизм первичных и внешних ключей.
Необходимо обеспечить объединение записей отношений:
,
S SA SB