Работа в окне конструктора таблиц — КиберПедия 

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Работа в окне конструктора таблиц

2021-06-30 29
Работа в окне конструктора таблиц 0.00 из 5.00 0 оценок
Заказать работу

Лабораторная работа № 5

Цель работы: изучение методов создание связей и объединений в запросах.

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

Добавление нескольких таблиц в окно запроса

Ранее вы познакомились с таблицами базы данных Мо untain А nimal Ноsр it а1, которая состоит из четырех основных таблиц и четырех справочников. Кроме того, вы познакомились с понятиями ключевое поле и внешний ключ и узнали об их роли в объединении двух таблиц. Также рассказывалось о том, как создавать связи между таблицами с помощью команды Сервис Þ Схема данных в окне базы данных. И, наконец, вы узнали об условиях целостности данных в связанных таблицах.

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

После добавления в запрос нескольких таблиц и выделения в них полей информацию из таблиц в базе данных можно просматривать так, как будто она содержится в одной таблице. Например, вы хотите отослать письма всем владельцам змей, которые приносили своих питомцев на процедуры в течение последних двух месяцев. Для получения этих данных необходимо извлечь информацию из таблиц Ре ts, Си st о m е r и Visits. Это можно сделать с помощью таблиц Ре ts и Visits, создав запрос для всех животных, у которых значение поля Туре о f А nimal равно 8паkе (змея), а значение поля Visit Data находится в пределах значений текущая дата и текущая дата минус два месяца. Благодаря связи между таблицами Ре ts и Си st о m е r вы имеете доступ к информации о владельце каждой змеи и можете создать форму отчета на основе данных таблиц Ре ts, Си st о m е r и Visits.

Для создания многотабличного запроса сначала откройте каждую из таблиц в окне запроса. Ниже рассказывается, как открыть таблицы Ре ts, Си st о m е r и Visits в одном запросе.

1. Щелкните на вкладке Запросы в окне базы данных.

2. Для создания запроса щелкните на кнопке Создать.

3. В диалоговом окне Новый запрос выберите опцию Конструктор и щелкните на кнопке ОК.

4. Выберите таблицу Ре ts, дважды щелкнув на ее имени.

5. Выберите таблицу Си st о m е r,  дважды щелкнув на ее имени.

6. Выберите таблицу Visits, дважды щелкнув на ее имени.

7. В диалоговом окне Добавление таблицы щелкните на кнопке Закрыть.

Существует еще один способ добавления таблиц — выделите по отдельности нужные таблицы и щелкните на кнопке Добавит ь.

Верхняя часть окна конструктора запросов с выбранными таблицами Ре ts, Си st о m е r и Visits показана на рис. 1.

Рис. 1. Окно запроса на выборку с тремя выбранными таблицами

Добавлять таблицы можно также с помощью команды Запрос Þ Добавить таблицу из меню окна Конструктора запросов или щелчка на кнопке Добавить таблицу, расположенной на панели инструментов.

Работа в верхней части окна конструктора запросов

Как показано на рис.1, таблицы соединены линией, проходящей от ключевого поля одной таблицы к ключевому полю другой (оно называется полем внешнего ключа). Точнее, на экране вы увидите две линии, соединяющие таблицы Ре ts и Си st о m е r  и одну линию, соединяющую таблицы Си st о m е r и Visits. Ниже вы узнаете, как переместить макет таблиц, чтобы линии на экране не накладывались одна на другую и отображались правильно.

Линия связи

При отображении нескольких связанных таблиц Ассеss помещает между ними линию, которая называется линией связи (j от line). Выглядит она, как обычная линия, обозначающая объединение двух таблиц. В данном примере линия связи проходит от таблицы Ре ts  к таблице Си st о m е г и соединяет два поля Си st о m е г Number. Линия связи также проходит между таблицами Ре ts  и Visits, соединяя поля Ре t Id.

Это объединение создано автоматически, поскольку была установлена связь в окне базы данных. Если Ассеss известно о существовании связи, она автоматически создает объединение при добавлении таблиц в запрос и отображает в виде линии связи между двумя таблицами.

Если при создании связи был установлен флажок Обеспечение целостности данных, Асееss отметит этот факт и выделит начало и конец линии в окне таблицы, как показано на рис. 1. Обратите внимание, что между таблицами Ре ts и Visits проведена линия обычной толщины, которая начинается и заканчивается небольшими утолщениями. Такое изменение толщины линии указывает, что при создании связи между этими двумя таблицами в окне Схема данных был установлен флажок Обеспечение целостности данных. Если связь имеет тип один-ко-многим, сторона связи многие обозначается символом бесконечности (¥).

Если связь между таблицами не задана, но выполняются перечисленные ниже условия, Ассеss автоматически объединит таблицы.

1. В обеих таблицах есть поля с одинаковыми именами.

2. Поля с одинаковыми именами имеют один и тот же тип (текстовый, числовой и т.д.). В одной из таблиц такое поле является ключевым (р rimary key).

Access автоматически объеденяет таблицы, если между ними существует связь. Однако это свойство можно отключить, отменив принятое по умолчанию значение опции Автоматическое объединение в диалоговом окне глобальных параметров. Для изменения этого параметра выберите команду Сервис Þ Параметры, щелкните на вкладке Таблицы/запросы и отмените флажок Автоматическое объединение.

Перемещение макетов таблиц

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

1. Поместите указатель мыши на строку заголовка окна таблицы Си st о m е г.

 

 

Рис. 2. Изменение размеров частей окна конструктора запросов

2. Перетащите ее вниз, чтобы строка заголовка располагалась примерно в том месте, где прежде находилась нижняя часть окна таблицы.

Экран будет выглядеть так, как на рис. 3. Теперь линии связи проходят от ключевого поля в одной таблице к внешнему ключу в другой, не пересекаясь друг с другом.

 

 

Рис.3. Схема базы данных для таблиц Ре ts, Си stо mе r и Visits

Таблицы можно перемещать в любое место в пределах верхней части окна конструктора запросов. Чтобы расширить схему, расположите окна таблиц на расстоянии друг от друга или измените порядок их размещения. Например, таблицу Си st о m е r можно расположить первой, за ней поместить таблицу Ре ts, а затем — таблицу Visits. Напомним, что в рас­сматриваемом примере нужно найти информацию обо всех змеях, которых приносили на прием в последние два месяца, И разослать письма их владельцам. Поэтому имеет смысл разместить таблицы в следующем порядке: Ре ts, Си st о m е r, Visits. Старайтесь всегда размещать таблицы так, чтобы было удобно работать. В данном примере таблица Ре ts  являет» главной, и в ней извлекается информация из таблиц Visits и Си st о m е r.

Удаление таблицы

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

1. В верхней части окна конструктора запросов активизируйте таблицу Visits, щелкнув на ее строке заголовка или на любом ее поле.

2. Нажмите клавишу < D е1е1е > или выберите команду Правка Þ Удалить.

Таблицы удаляются по одной. Команда Правка Þ Очистить бланк используется не для удаления таблицы, а для удаления всех полей из бланка запроса. Таблицу можно также удалить, щелкнув на ней правой кнопкой мыши и выбрав команду Удалить таблицу из контекстного меню.

При удалении таблицы все ее линии связи также удаляются. При этом программа не выводит никаких предупреждении или диалоговых окон подтверждения. Таблица просто исчезает с экрана.

Добавление таблиц

Иногда необходимо добавить несколько таблиц в запрос или вернуть случайно удаленную таблицу. Сделать это можно, выполнив команду Запрос Þ Добавить таблицу либо щелкнув правой кнопкой мыши и выбрав из появившегося контек­стного меню команду Добавить таблицу. При этом в обоих случаях появится диалоговое окно Добавление таблицы, которое возникает всякий раз при создании запроса. Для восстановления таблицы У|3г1з выполните следующие действия.

1. Переместите указатель мыши в верхнюю часть окна конструктора запросов (туда, где нет таблиц) и нажмите пра­вую кнопку мыши. Из появившегося контекстного меню выберите команду Добавить таблицу.

2. Из списка выберите таблицу Visits, дважды щелкнув на ее имени.

3. В диалоговом окне Добавление таблицы щелкните на кнопке Закрыть.

Асеева возвратит таблицу Visits в верхнюю часть окна конструктора запросов и восстановит линию связи.

Изменение размера макета таблицы

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

Создание схемы базы данных

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

На рис.4 верхняя часть окна увеличена до максимального размера, так что бланк запроса не виден. Для доступа к бланку запроса переместите полосу разделения вверх. При этом старайтесь сделать это так, чтобы были полностью видны обе его части. В полноэкранном режиме с помощью клавиши < F 6 > можно переключаться из верхней части окна конструктора запросов в бланк запроса и обратно. Однако при этом курсор в бланке запроса не будет виден.

В нашем примере измените размеры частей окна так, чтобы были видны и верхняя часть окна, и бланк за­проса.

 

 

Рис.4. Схема базы данных с увеличенными окнами таблиц в полноэкранном режиме

Добавление полей из нескольких таблиц

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

Добавление одного поля

Выбрать одно поле из любой таблицы можно одним из следующих способов.

• Дважды щелкните на имени поля в верхней части окна конструктора запросов.

• Щелкните на имени поля в верхней части окна конструктора запросов и перетащите его в бланк запроса.

• Щелкните на пустой ячейке строки Поле и введите имя поля.

• Щелкните на пустой ячейке строки Поле и выберите поле из раскрывающегося списка.

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

В раскрывающемся списке строки Поле к именам полей добавлено имя таблицы, разделенное точкой. Например, по­ле Pets Id из таблицы Pets будет отображено как Pets. Pets Id. Такой способ записи помогает правильно выбрать имя поля, если оно используется в нескольких таблицах.

Проще всего выбрать поля, дважды щелкнув на их именах в макетах таблиц. Для этого измените их размеры так, что­бы на экране были видны те поля, которые вы хотите выбрать. Например, для выбора полей Customer Name, Pet Name, Туре of Animal и Visit Data сделайте следующее.

1. Дважды щелкните на поле Customer Name в таблице Custome.


2. Дважды щелкните на поле Pet Name в таблице Pet s.

3. Дважды щелкните на поле Туре of Animal в таблице Pet s.

4. Дважды щелкните на поле Visit Data в таблице Visit s.

Просмотр имен таблиц

Работая с несколькими таблицами, можно легко запутаться в именах полей, которые были добавлены в бланк запроса. Например, когда-нибудь вам придется задуматься, какой из таблиц принадлежит каждое из полей с именем Customer Number.

Ассехв автоматически запоминает и по умолчанию отображает имена таблиц, которые связаны с полями, помещенными в бланк запроса. Однако если вам нужно убрать имена таблиц с экрана, воспользуйтесь командой Вид Þ Имена таблиц.

При добавлении полей в бланк запроса имена соответствующих таблиц сразу же отображаются под именами полей. На рис..5 показан бланк запроса со строкой Имя таблицы, которая находится под строкой Поле. Обратите внимание на то, что в ней содержатся имена таблиц для каждого из полей.

 

Рис.5. Бланк запроса с отображенными именами таблиц

Ассехз всегда запоминает имя таблицы для каждого из полей, поэтому вы при необходимости можете отобразить их на экране.

После добавления полей в запрос информацию можно просмотреть. Для этого в меню Вид отметьте опцию Режим таблицы. Напомним, что в нашем примере рассматриваются данные о змеях, которых приносили на прием за два по­следних месяца. На рис.6 показаны данные, выбранные из базы. При этом были изменены размеры полей, чтобы на экране поместилась вся информация.

Добавление нескольких полей

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

Чтобы выделить несколько смежных полей, щелкните на первом поле в списке и, удерживая нажатой клавишу < Shift >, щелкните на последнем поле. Для выбора из списка несмежных полей щелкните на них, удерживая нажатой клавишу < С t г1 >.

Связывание таблиц

На рис.8 показаны связанные таблицы Pet и Customer. Таблицы в запросе не будут связываться автоматически, если они не связаны на уровне таблиц, не имеют общего поля с одним именем для первичного ключа или если снят флажок Автоматическое объединение.

Рис.8. Объединение таблиц в конструкторе запросов

Чтобы связать таблицы Pets и Customer, выполните следующие действия.

1. Находясь в верхней части окна конструктора запросов, выберите поле Customer Number таблицы Customer.

2. Перетащите выделенное поле в таблицу Pets (при перетаскивании указатель мыши примет вид пиктограммы Поле).

3. Опустите пиктограмму Поле на поле Customer Number таблицы Pets.

На рис.8 показан процесс связывания таблиц. Сначала пиктограмма Поле появится в поле Customer Number таблицы Customer. Перетащите ее в таблицу Pets. При этом указатель мыши примет вид перечеркнутой окружности. Это означает, что в области между таблицами кнопку мыши отпускать нельзя. В поле Customer Number курсор примет свой прежний вид, указывая, что кнопку мыши можно отпустить. После того как вы отпустите кнопку мыши, появится линия связи.

Вы, конечно, можете создать любые связи между таблицами, даже совершенно бессмысленные, но при просмотре данных вы получите крайне нежелательный результат. Если два связанных поля не имеют общих значений, в режиме таблицы вы не увидите ни одной записи или получите декартово произведение, в котором каждая запись в одной таблице будет объединена с каждой записью в другой таблице. Если в одной таблице 100 записей, а в другой — 200, то декартово произведение создаст таблицу с 20000 записей и полученные результаты не будут иметь смысла. При связывании вы можете выбрать первой любую таблицу.

Удаление связей

Для удаления определенной линии связи между двумя таблицами выберите эту линию и нажмите клавишу < D е1е1е >. Чтобы выделить линию связи, щелкните на ней. Например, создайте новый запрос, добавив таблицы Customer и Pets, а затем удалите линию связи между ними, выполнив следующие действия.

1. Выберите линию связи между полями Customer Number в таблицах Pets и Custome г, поместив указатель мыши на линию связи и щелкнув на ней левой кнопкой мыши.

2. После выделения линии связи нажмите клавишу < D е1е1е >, и линия исчезнет.

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

Связь также можно удалить, выделив нужную линию и выполнив команду Правка Þ Удалить.

Помните, что, если вы удалили связь между таблицами и эти таблицы остались в окне конструктора запроса, не имея связей с другими таблицами, результаты выборки данных будут весьма неожиданными. Дело в том, что Асcеss создаст декартово произведение для этих двух таблиц, которое будет действительно только для текущего запроса, а связь останется незатронутой.

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

Типы связей между таблицами

Между таблицами и запросами можно установить следующие типы связей.

• Один-к-одному

• Один-ко-многим

• Многие-к-одному

• Многие-ко-многим

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

Для просмотра данных в двух таблицах следует объединить их общим полем (или группой полей) в обеих таблицах. Такой метод связывания таблиц называется объединением (joining ). В запросах таблицы с установленными связями соединены линиями. Внутри запроса можно создать новые связи или изменить существующие. Ниже вы узнаете о следующих типах объединений.

• Внутренние объединения

• Внешние объединения

• Самообъединения

• Перекрестные (декартовы) объединения

Внутренние объединения

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

В руководстве пользователя Ассезз на объединение, принятое по умолчанию, ссылаются как на равное объединение (в теории реляционных баз данных его обычно называют ). Эти термины взаимозаменяемы и будут использоваться в этой главе.

Например, вспомним таблицы Customer и Pets. Имейте в виду, что вы ищете все записи из этих таблиц, у которых совпадают поля. Поля Customer Number являются общими для обеих таблиц. Поэтому в результате равного объединения не будут выбраны записи, относящиеся к клиентам, которые не имеют домашних животных, а также записи, относящиеся к домашним животным, которые не имеют реального номера клиента. Правила целостности данных позволяют отсеять записи о тех домашних животных, которые не связаны с номером клиента. Можно, конечно, удалить все записи о домашних животных конкретного клиента или создать запись для нового клиента, в которой не будет записей о домашних животных. Однако всякое домашнее животное всегда должно иметь реального клиента — владельца. Таким образом, условия целостности данных предохраняют поле Customer Number от удаления или изменения, если оно связано с каким-нибудь домашним животным.

Может случиться, что в таблице Customer есть запись о клиенте, не имеющем домашних животных. Маловероятно, но теоретически возможно, существование домашнего животного без реального владельца. При создании запроса для отображения клиентов и их домашних животных каждая запись о клиенте без домашних животных или запись о домашнем животном без владельца не будет показана в итоговом динамическом наборе данных, полученном в результате выполнения запроса.

Иногда нужно выполнить поиск утраченных записей. При этом реализуется одно из преимуществ запроса — способность создавать связи различных типов.

Ассеss может найти утраченные записи, т.е. записи в одной таблице, не имеющие подчиненных записей в другой таблице. В этом случае при создании запроса в окне Новый запрос выберите опцию Записи без подчиненных.

Изменение свойств связи

При объединении таблиц Customer и Pets в них появляются некоторые особенности (или свойства связи). Свойство связи это правило, которое управляет отображением всех записей (для заданных полей), соответствующих символам поля Customer Number таблицы Customer и поля Customer Number таблицы Pets.

Для разъяснения этого правила рассмотрим, что происходит в таблицах Customer и Pets..

• Если в таблице Customer есть запись с номером клиента, который не обнаружен в таблице Customer, то эта запись таблицы Customer не будет показана.

• Если в таблице Pets есть запись с номером клиента, который не обнаружен в таблице Customer, то эта запись таблицы Pets не будет показана.

В большинстве случаев эти правила имеют определенный смысл (например, если вы не хотите видеть записей о клиентах, не имеющих домашних животных).

Свойство связи — это правило, которому следует Ассеss при интерпретации любых исключений (а возможно и ошибок) в таблицах (например, должны ли отображаться записи без подчиненных записей).

Ассеss имеет несколько типов объединения с собственными характеристиками. Программа позволяет быстро изменять тип объединения путем изменения его свойств. Для изменения свойств объединения выберите линию связи и дважды щелкните на ней левой кнопкой мыши. На экране появится диалоговое окно Параметры объединения. Диалоговое окно, показанное на рис.9, является результатом выбора линии связи между таблицами Customer и Pets.

В диалоговом окне Параметры объединения есть три переключателя, которые для таблиц Customer и Pets предстают в следующем виде.

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

2. Объединение всех записей из  Customer и только тех записей из Pets,в которых связанные поля совпадают,

3. Объединение всех записей из Pets и только тех записей из  Customer, в которых связанные поля совпадают.

 

 

Рис.9. Диалоговое окно Параметры объединения

Первый вариант обычно называют внутренним объединением, а два следующих— внешними. Эти объединения управляют Асееss при построении динамического набора данных текущего запроса.

Резюме

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

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

• Ассеss автоматически создает линии связи для всех таблиц, в которых установлена связь на уровне таблиц.

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

• Для просмотра данных из двух или более таблиц их следует объединить.

• Объединить таблицы можно путем перетаскивания поля из одной таблицы и опускания его в другую таблицу. При этом Асееss создаст между этими полями линию связи.

• Существует два типа объединений — внутренние (равные) и внешние.

• Внутренние объединения отображают все записи, которые имеют общее поле в обеих таблицах с соответствующими друг другу данными в этих полях.

• Внешние объединения отображают все записи, которые имеют соответствующие друг другу данные в обоих полях. Они также показывают записи из одной таблицы, которые не имеют подчиненных им данных в другой таблице.

• Существует два вида внешних объединений: левые и правые. Для указания вида объединения в Ассеss в верхней части окна конструктора запроса используется стрелка.

 

Лабораторная работа № 5

Цель работы: изучение методов создание связей и объединений в запросах.

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

Добавление нескольких таблиц в окно запроса

Ранее вы познакомились с таблицами базы данных Мо untain А nimal Ноsр it а1, которая состоит из четырех основных таблиц и четырех справочников. Кроме того, вы познакомились с понятиями ключевое поле и внешний ключ и узнали об их роли в объединении двух таблиц. Также рассказывалось о том, как создавать связи между таблицами с помощью команды Сервис Þ Схема данных в окне базы данных. И, наконец, вы узнали об условиях целостности данных в связанных таблицах.

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

После добавления в запрос нескольких таблиц и выделения в них полей информацию из таблиц в базе данных можно просматривать так, как будто она содержится в одной таблице. Например, вы хотите отослать письма всем владельцам змей, которые приносили своих питомцев на процедуры в течение последних двух месяцев. Для получения этих данных необходимо извлечь информацию из таблиц Ре ts, Си st о m е r и Visits. Это можно сделать с помощью таблиц Ре ts и Visits, создав запрос для всех животных, у которых значение поля Туре о f А nimal равно 8паkе (змея), а значение поля Visit Data находится в пределах значений текущая дата и текущая дата минус два месяца. Благодаря связи между таблицами Ре ts и Си st о m е r вы имеете доступ к информации о владельце каждой змеи и можете создать форму отчета на основе данных таблиц Ре ts, Си st о m е r и Visits.

Для создания многотабличного запроса сначала откройте каждую из таблиц в окне запроса. Ниже рассказывается, как открыть таблицы Ре ts, Си st о m е r и Visits в одном запросе.

1. Щелкните на вкладке Запросы в окне базы данных.

2. Для создания запроса щелкните на кнопке Создать.

3. В диалоговом окне Новый запрос выберите опцию Конструктор и щелкните на кнопке ОК.

4. Выберите таблицу Ре ts, дважды щелкнув на ее имени.

5. Выберите таблицу Си st о m е r,  дважды щелкнув на ее имени.

6. Выберите таблицу Visits, дважды щелкнув на ее имени.

7. В диалоговом окне Добавление таблицы щелкните на кнопке Закрыть.

Существует еще один способ добавления таблиц — выделите по отдельности нужные таблицы и щелкните на кнопке Добавит ь.

Верхняя часть окна конструктора запросов с выбранными таблицами Ре ts, Си st о m е r и Visits показана на рис. 1.

Рис. 1. Окно запроса на выборку с тремя выбранными таблицами

Добавлять таблицы можно также с помощью команды Запрос Þ Добавить таблицу из меню окна Конструктора запросов или щелчка на кнопке Добавить таблицу, расположенной на панели инструментов.

Работа в верхней части окна конструктора запросов

Как показано на рис.1, таблицы соединены линией, проходящей от ключевого поля одной таблицы к ключевому полю другой (оно называется полем внешнего ключа). Точнее, на экране вы увидите две линии, соединяющие таблицы Ре ts и Си st о m е r  и одну линию, соединяющую таблицы Си st о m е r и Visits. Ниже вы узнаете, как переместить макет таблиц, чтобы линии на экране не накладывались одна на другую и отображались правильно.

Линия связи

При отображении нескольких связанных таблиц Ассеss помещает между ними линию, которая называется линией связи (j от line). Выглядит она, как обычная линия, обозначающая объединение двух таблиц. В данном примере линия связи проходит от таблицы Ре ts  к таблице Си st о m е г и соединяет два поля Си st о m е г Number. Линия связи также проходит между таблицами Ре ts  и Visits, соединяя поля Ре t Id.

Это объединение создано автоматически, поскольку была установлена связь в окне базы данных. Если Ассеss известно о существовании связи, она автоматически создает объединение при добавлении таблиц в запрос и отображает в виде линии связи между двумя таблицами.

Если при создании связи был установлен флажок Обеспечение целостности данных, Асееss отметит этот факт и выделит начало и конец линии в окне таблицы, как показано на рис. 1. Обратите внимание, что между таблицами Ре ts и Visits проведена линия обычной толщины, которая начинается и заканчивается небольшими утолщениями. Такое изменение толщины линии указывает, что при создании связи между этими двумя таблицами в окне Схема данных был установлен флажок Обеспечение целостности данных. Если связь имеет тип один-ко-многим, сторона связи многие обозначается символом бесконечности (¥).

Если связь между таблицами не задана, но выполняются перечисленные ниже условия, Ассеss автоматически объединит таблицы.

1. В обеих таблицах есть поля с одинаковыми именами.

2. Поля с одинаковыми именами имеют один и тот же тип (текстовый, числовой и т.д.). В одной из таблиц такое поле является ключевым (р rimary key).

Access автоматически объеденяет таблицы, если между ними существует связь. Однако это свойство можно отключить, отменив принятое по умолчанию значение опции Автоматическое объединение в диалоговом окне глобальных параметров. Для изменения этого параметра выберите команду Сервис Þ Параметры, щелкните на вкладке Таблицы/запросы и отмените флажок Автоматическое объединение.

Работа в окне конструктора таблиц

Каждое открываемое окно конструктора таблиц имеет фиксированный размер, который позволяет отобразить в каждом поле приблизительно 4 поля и 12 символов. Данное окно ничем не отличается от других диалоговых окон, а это означает, что можно изменить его размеры и переместить в любую точку экрана. Если в вашей таблице содержится множество полей и все они не помещаются в окне конструктора таблиц, то в окно автоматически будет добавлена полоса прокрутки. Она позволяет прокрутить окно конструктора таблиц и вывести на экран невидимые поля.

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

При работе с несколькими таблицами эти линии могут пересекаться и накладываться одна на другую. Однако при перемещении по полям вдоль таблицы эти линии можно легко различить.


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

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.118 с.