Использование взаимосвязей
Анализ содержимого таблиц для создания связей
Похоже, работа над структурой базы данных наконец-то завершена? Посмотрим, согласится ли с этим предположением анализатор таблиц. Этот инструмент просматривает текущие записи базы данных и предлагает способы их оптимизации.
Анализатор выявляет повторяющиеся данные и помогает скопировать их в новую связанную таблицу. Далеко не в каждой таблице понадобится производить модификацию, однако лишний раз провести анализ никогда не помешает. Кроме того, пользователи, пока что не уверенные в своих знаниях и способностях, могут доверить анализатору создание упорядоченных таблиц (определение процесса упорядочения приводится в главе 4). Для того чтобы проанализировать таблицу Растения, следует выполнить такие действия.
- Выберите команду Сервис › Анализ › Таблица.
- В первом окне мастера приведены варианты описания проблем, связанных с возможным дублированием данных. Просмотрите представленные там примеры и щелкните на кнопке Далее.
- В следующем окне даны примеры разделения анализатором таблиц. Ознакомьтесь с каким-либо примером и щелкните на кнопке Далее.
- Выберите для анализа таблицу Растения и щелкните на кнопке Далее.
- Безусловно, хотелось бы, чтобы мастер львиную долю работы выполнил самостоятельно. Поэтому позволим ему выбирать поля, которые будут перенесены в новую таблицу, активизировав переключатель Да, разделение полей выполняется мастером. Щелкните на кнопке Далее. В другом переключателе нет необходимости, ведь если бы мы знали, как разделить таблицы вручную, зачем бы тогда пользовались мастером?
- В следующем окне, представленном на рис. 6.9, отображается предлагаемая мастером схема разделения таблицы. Не правда ли, она нам знакома? Именно такой была схема, созданная в главе 4, на этапе первоначальной разработки базы данных. На данный момент таблицы Растения и Каталоги не связаны между собой, поэтому мастер не знает о существовании таблицы каталогов.
Рис. 6.9. Предлагаемое мастером решение - Можно было бы завершить выполнение задачи, однако имеет смысл продолжить знакомство с анализатором. Просто запомните, что база данных имеет нормальную структуру – не хватает лишь связи между двумя таблицами.
- Откройте окно Таблица 1 и щелкните в нем на кнопке Переименовать таблицу (рис. 6.9). Введите название НовыеРастения и щелкните на кнопке ОК.
- Повторив п. 8, переименуйте окно Таблица 2 в НовыеКаталоги, после чего щелкните на кнопке Далее.
- Теперь появилась возможность установить первичный ключ повторно. Мастер предложит добавить к таблице НовыеКаталоги поле автоматически присваиваемого уникального кода записи и использовать его в качестве первичного ключа. Однако для таблицы НовыеРастения первичный ключ не указывается, поэтому придется сделать это самостоятельно. Выберите в списке НовыеРастения поле Имя и щелкните на кнопке Ключевое поле. Рядом с полем появится значок с изображением ключа. Щелкните на кнопке Далее.
- В последнем окне мастер предложить создать запрос. Пока что выберите переключатель Нет, запрос создавать не нужно. Кроме того, можно снять флажок Вывести справку по работе с новой таблицей или запросом, иначе придется закрывать еще одно окно. Щелкните на кнопке Готово.
Две созданные таблицы – НовыеРастения и НовыеКаталоги – во многом напоминают таблицы Растения и Каталоги. Два поля в таблице НовыеКаталоги мы поменяли местами, что, однако, не имеет значения. Кроме того, в таблицу НовыеРастения добавлено второе подстановочное поле. Для того чтобы отобразить поле подстановки, выберите любое значение в поле Подстановка НовыеКаталоги. Поле, показанное на рис. 6.10, было автоматически создано анализатором таблицы.
Рис. 6.10. Анализатор добавил второе подстановочное поле в таблицу НовыеРастения
На данном этапе были созданы две связи:
- между полями Номер Типа в таблице Растения и таблицей Типы;
- между полями Код в таблице НовыеКаталоги и полем Подстановка НовыеКаталоги в таблице НовыеРастения (связь создана автоматически анализатором).
Это упражнение выполнялось с целью изучить работу анализатора, следовательно, таблицы НовыеРастения и НовыеКаталоги можно смело удалить. Для этого достаточно выбрать таблицу в основном окне и нажать клавишу Delete. После удаления двух таблиц, созданных анализатором, останется только одна связь – между таблицами Растения и Типы, созданная мастером подстановки в первом разделе этой главы. В таком виде новые таблицы можно и оставить, они не будут пересекаться с другими объектами.