Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


На профессиональном уровне. Сравнение: отношения и объединения




Сравнение: отношения и объединения

 

Важно понимать различия между отношением или связью и запросом с операцией объединения.

Отношение — постоянная связь между двумя таблицами, хранящаяся в БД. Когда создается отношение в БД, есть возможность включить режим обеспечения целостности данных: набора правил, препятствующих проникновению противоречивых данных в связанные таблицы (см. разд. "Целостность на уровне ссылок " главы 5).

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

Если отношение установлено, Access считает, что вы хотите использовать операцию объединения для связи этих таблиц в запросе — единственное действие, имеющее смысл.

После того как вы поместили две таблицы в окно Конструктора запросов и определили операцию объединения, можно выбирать нужные вам поля из обеих таблиц. Можно также добавить условия отбора записей и задать порядок их сортировки, как в запросе любого дру­гого типа. На рис. 6.18 показан пример запроса, использующего операцию объединения, а на рис. 6.19 — результат выполнения этого запроса.

 

Примечание

Если у вас две таблицы, легко забыть, что вы выводите на экран. Если объединяются таблицы Orders и Customers, а затем из каждой выбираются поля, что вы получите в результате: спи­сок заказов или список клиентов? Ответ прост — вы получаете список заказов, дополненный информацией о клиентах. Запросы со связанными таблицами всегда обрабатывают таблицу-потомок и берут дополнительную информацию из таблицы-родителя.

 

 

Примечание

При выполнении объединения вы видите повторяющуюся информацию. Если объединяются таблицы Customers и Orders, вы видите имя и фамилию самого активного клиента рядом с несколькими заказами. Но при этом правило запрета дублирующихся данных не нарушается. Несмотря на то, что сведения о клиенте появляются в нескольких местах на листе данных с ре­зультатами запроса, в таблице Customers они сохраняются всего один раз.

 

 

Когда вы связываете родительскую и дочернюю таблицы с помощью запроса с операцией объединения, то выполняете запрос, получающий все записи из дочерней таблицы, и затем добавляете дополнительную информацию из родительской таблицы. Страница в конце


 

 
 

Рис.6.18. Этот запрос отображает данные из таблиц Orders и Customers. Неважно, из какой таблицы первое поле – в любом случае вы создаете список заказов с дополнительными сведениями о клиентах. Обратите внимание на строку Имя таблицы (Table) (под строкой Поле), указывающую на таблицу, из которой в запрос попадает каждое поле

 

 
 

Рис.6.19. Вы легко можете при беглом просмотре увидеть, кто что заказал. Столбец ID содержит идентификационный номер заказа (хотя вы могли бы отобразить идентификационные номера как таблицы Customers, так и таблицы Orders)

 


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

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

 

 

Примечание

Когда используется несколько таблиц, всегда есть риск наличия одноименных полей в обеих таблицах. Такая возможность не страшна, если вы не собираетесь отображать эти поля в ва­шем запросе, но если это не так, возможны проблемы. Единственный способ различить по­ля — переименовать одно из них на листе данных с результатами запроса. Из примечания "Малоизвестная или недооцененная возможность, Переименование поля в запросе" в разд. "Определение вычисляемого поля" главы 7 вы узнаете, как это сделать с помощью вычисляе­мого поля.

 

 





Поделиться с друзьями:


Дата добавления: 2016-03-28; Мы поможем в написании ваших работ!; просмотров: 411 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студенческая общага - это место, где меня научили готовить 20 блюд из макарон и 40 из доширака. А майонез - это вообще десерт. © Неизвестно
==> читать все изречения...

2372 - | 2321 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.