Шаг 30.
Анализ таблиц

   На этом шаге вы познакомитесь с анализом таблиц базы данных.

   Даже при самой тщательной разработке структуры БД может возникнуть ситуация, когда в одной таблице хранятся повторяющиеся данные. При работе с большими объемами информации это приводит к нерациональному использованию дискового пространства и к увеличению продолжительности обработки БД.Чтобы определить, не встречаются ли в той или иной таблице часто повторяющиеся данные, можно воспользоваться средством анализа таблиц.

   Например, пусть в рассматриваемой учебной БД Образование информация о предметах и фамилиях преподавателей хранится в одной и той же таблице, которую можно назвать КопияПредметы (таблица 1).

Таблица 1. Содержимое таблицы КопияПредметы

   При этом вместо поля КодПреподавателя, имеющегося в таблице Предметы, в таблице КопияПредметы будет присутствовать поле Преподаватель с фамилией преподавателя.

   Если каждый преподаватель ведет занятия только по одному предмету, то при данном наборе полей в таблице КопияПредметы уникальность хранящейся информации будет соблюдаться. Однако в том случае, если один и тот же преподаватель будет вести занятия по нескольким предметам, то в поле Преподаватели возникнет дублирование одних и тех же значений. В частности, преподаватель Позднякова ведет Экономику и Экологию а Загарийчук - Философию, Социологию и Политологию.

   В рассматриваемом примере не составит никакого труда разбить таблицу КопияПредметы на две таблицы, чтобы в одной таблице (Предметы1) хранились информация о предметах и коды преподавателей, а в другой таблице (Преподаватели1) - уникальные коды и фамилии преподавателей. Однако если в таблице содержится несколько сотен или тысяч записей, то разбить ее на несколько таблиц будет весьма затруднительно.

   Для решения подобных задач следует использовать процедуру анализа таблиц. Для вызова процедуры анализа необходимо открыть БД и выполнить команду Сервис | Анализ | Таблица. После этого на экране будет отображено исходное окно мастера анализа, содержащее описание часто возникающей проблемы дублирования данных (рис. 1).


Рис. 1. Анализ таблиц. Постановка задачи

    После нажатия кнопки Далее> появится еще одно вводное окно, в котором описывается принцип действия мастера анализа таблиц (рис. 2).


Рис. 2. Анализ таблиц. Решение задачи

   Затем необходимо снова нажать Далее>, после чего будет отображено окно, в котором необходимо выбрать таблицу с многократно повторяющимися данными, в частности, КопияПредметы и нажать Далее> (рис. 3).


Рис. 3. Анализ таблиц. Выбор таблицы

   На следующем этапе необходимо выбрать автоматический или ручной режим разбиения таблиц, при этом следует воспользоваться возможностью автоматического разбиения (первый пункт) и нажать Далее> (рис. 4).


Рис. 4. Анализ таблиц. Разделение полей по таблицам

   Если в таблице повторяющиеся данные встречаются достаточно часто, то на очередном этапе мастер анализа предложит разгруппировать эту таблицу, чтобы в каждой из полученных таблиц хранились только уникальные данные. В рассматриваемом примере предлагается разбить таблицу КопияПредметы на две таблицы (рис. 5).


Рис. 5. Анализ таблиц. Группировка данных

   В данном случае мастер предложил правильный способ разбиения одной таблицы на две с установлением связи "многие-к-одному". Если же группировка данных была выполнена не совсем верно, т.е. некоторые поля должны находиться в другой таблице, или группировка выполняется вручную, то требуемое поле можно перетащить из одной таблицы в другую.

   Чтобы изменить предлагаемое название таблицы, нужно выделить таблицу, например, Таблица1, и затем, нажав кнопку Переименовать таблицу , указать в диалоговом окне новое имя таблицы, например, Предметы1 (рис. 6).


Рис. 6. Анализ таблиц. Новое имя таблицы

   Аналогичным образом для второй таблицы следует изменить название с Таблица2 на Преподаватели1. Для получения справочной информации по поводу данного этапа работы мастера анализа можно воспользоваться кнопкой Справка .

   После проверки размещения полей и указания названий для таблиц следует нажать кнопку Далее>.

   На следующем этапе следует проверить, правильно ли установлены ключевые поля новых таблиц. Чтобы сделать в таблице одно из имеющихся полей ключевым, в частности, поле КодПредмета таблицы Предметы1, нужно выделить это поле и нажать в окне мастера кнопку Ключевое поле .

   Если же необходимо создать новое поле в качестве первичного ключа, то следует воспользоваться кнопкой Добавить ключ . После определения ключевых полей нужно нажать Далее>.

   Затем мастер проводит анализ возможных опечаток в повторяющихся значениях, и после этого отображается окно последнего этапа, в котором можно выбрать режим создания запроса, который может расширить возможности таблицы. Здесь следует выбрать пункт Нет, запрос создавать не нужно и снять флажок для вывода справочной информации. После этого нажатие кнопки Готово завершает работу мастера анализа таблиц.

   В результате будут получены две новые таблицы. Таблица Предметы1 (рис. 7) содержит поля КодПредмета, Название и КоличествоЧасов, а также поле Подстановка, в котором отображаются фамилии преподавателей из таблицы Преподаватели1.


Рис. 7. Таблица Предметы1

   С другой стороны, в таблице Преподаватели1 (рис. 8) содержатся поля Преподаватель и Код, а также для этой таблицы была автоматически создана подтаблица с информацией о предметах, которые ведет тот или иной преподаватель.


Рис. 8. Таблица Преподаватели1

Реализацию этих действий можно увидеть здесь, а взять клип здесь.

   На следующем шаге вы познакомитесь с созданием запросов.



Предыдущий шаг Содержание Следующий шаг