Подумайте дважды, прежде чем изменять структуру таблиц 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Подумайте дважды, прежде чем изменять структуру таблиц



Программа Access проявляет удивительную смекалку при отслеживании связей запросов с конкретными таблицами. Это особенность становится актуальной, когда вы распа­хиваете таблицу в Конструкторе для изменения ее структуры.

Предположим, что вы переименовываете таблицу Orders (заказы) в таблицу Sales (продажи) и поле DatePlaced (дата размещения) в поле OrderDate (дата заказа). В сле­дующий раз, когда вы запустите запрос FirstQuarterOrders_2007 (см. рис. 6.6), то с удивлением обнаружите, что он все еще действует. Программа Access знает о том, что запрос FirstQuarterOrders_2007 зависит от таблицы Orders. Когда вы изменяете имена в таблице, программа соответствующим образом корректирует запрос.

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

1. Выберите Работа с базами данных → Показать или скрыть → Зависимости объектов (Database Tools Show/Hide Object Dependencies). В правой части окна программы Access появляется область Зависимости объектов. (Для того чтобы скрыть ее, выберите ту же последовательность еще раз.)

2. В области переходов выберите объект БД, который вы хотите исследовать.

3. В области Зависимости объектов выберите переключатель Объекты, зависящие от данного (Objects that depend on me), чтобы увидеть объекты, использующие данный, или переключатель Объекты, от которых зависит данный (Objects that I depend on), чтобы увидеть все объекты, которые использует данный объект.

4. В верхней части области Зависимости объектов щелкните кнопкой мыши ссылку Обновить (Refresh). В области Зависимости объектов выводятся все соответствующие объекты, разделенные на категории в зависимости от их типа (рис. 6.15).

Программа Access не может отследить все зависимости, например, если вам нужно про­никнуть в Режим SQL для формирования запроса, который нельзя создать в режиме Конструктора. Если создается запрос на объединение (как в предыдущем примере), у Access не хватает сообразительности для того, чтобы выяснить, от каких таблиц зависит ваш запрос. Если вы изменили структуру этих таблиц, то при следующем выполнении запроса получите сообщение об ошибке, говорящее о том, что программа не может най­ти нужное поле или таблицу. (Для исправления ошибки необходимо снова открыть за­прос в Режиме SQL и заменить имена полей или таблиц их новыми значениями.)


 
 

Рис. 6.15. На рисунке в области Зависимости объектов анализируется таблица Products. Отображены три таблицы, связанные с Products, и четыре запроса, использующие таблицу Products. В любой объект можно углубиться, щелкнув кнопкой мыши квадратик со знаком "плюс" (+), расположенный рядом с именем объекта. (Щелкните кнопкой мыши + рядом с именем TopProducts, чтобы выяснить, используют ли другие объекты БД данный запрос.) В конце списка находится раздел Пропущенные объекты. В нем отображен запрос на объединение CustomersAndEmployees, и это свидетельствует о том, что у программы Access нет данных о его зависимостях

Запросы и связанные таблицы

В главе 5 вы узнали, как делить данные на базовые фрагменты и сохранять их в отдельных хорошо организованных таблицах. У такого проекта есть лишь одна проблема — гораздо труднее представить общую картину, если связанные данные хранятся в разных местах. К счастью, Access обладает чудесным средством — вы можете снова соединить таблицы при выводе на экран с помощью операции объединения (join).

Объединение — операция запроса, извлекающая столбцы из двух таблиц и соединяющая их на листе результатов. Объединение применяется для усиления подчиненных таблиц дан­ными из таблицы-родителя.


Далее приведено несколько примеров.

В БД кукол-болванчиков можно отобразить список кукол (извлеченный из таблицы Dolls) совместно с данными об изготовителе каждой куклы-болванчика (из таблицы-родителя Manufacturers).

В БД школы Cacophone music можно получить список учебных классов, снабженный информацией о преподавателях.

Из БД Boutique Fudge можно извлечь список заказов, дополнив его сведениями о клиен­те, сделавшем заказ.

 

 
 

Примечание

Вы уже научились создавать таблицы подстановок для отображений части информации из свя­занной таблицы. Подстановка может вывести название категории изделия из поля ProductID вместо кода изделия. Но запрос с использованием операции объединения гораздо мощнее. Он может выбрать массу сведений из связанной таблицы — гораздо больше, чем может вместить одно поле.

 

 

На рис. 6.16 показано объединение таблиц.

 

Рис. 6.16. Сама по себе таблица Classes содержит данные о каждом классе, но она предоставляет только идентификационный номер назначенного преподавателя. Соедините эту таблицу с таблицей Teachers, и вы получите любую интересующую вас информацию из связанной записи о преподавателе — включая его имя и фамилию

 

 



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 119; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.12.172 (0.038 с.)