MS Access - присоединяется
База данных - это набор таблиц данных, которые позволяют логически связывать друг друга. Вы используете отношения для соединения таблиц по общим полям. Таблица может быть частью любого количества отношений, но каждая связь всегда имеет ровно две таблицы. В запросе связь представленаJoin.
Что такое присоединиться
Соединение указывает, как объединить записи из двух или более таблиц в базе данных. Концептуально соединение очень похоже на отношение таблиц. Фактически, соединения предназначены для запросов, каковы отношения к таблицам.
Ниже приведены два основных типа объединений, которые мы обсудим в этой главе.
- Внутреннее соединение
- Внешнее соединение
И то, и другое можно легко создать из queries design view.
Внутреннее соединение
Давайте теперь поймем Inner Join -
- Наиболее распространенным типом соединения является внутреннее соединение, которое также является типом соединения по умолчанию в Microsoft Access.
- Внутреннее объединение отобразит только строки или записи, в которых объединенные поля из обеих таблиц равны.
- Этот тип соединения просматривает эти общие поля и содержащиеся в них данные. Он отображает только совпадения.
Внешнее соединение
Давайте теперь поймем, что такое Outer Join это -
- Внешнее объединение отображает все строки из одной таблицы и только те строки или записи из другой таблицы, в которых объединенные поля равны.
- Другими словами, внешнее соединение показывает все строки из одной таблицы и только соответствующие строки из другой таблицы.
Есть и другие типы соединения -
Левое внешнее соединение и правое внешнее соединение
Давайте теперь поймем Left Outer Join и Right Outer Join -
- Вы можете выбрать таблицу, в которой будут отображаться все строки.
- Вы можете создать левое внешнее соединение, которое будет включать все строки из первой таблицы.
- Вы можете создать правое внешнее соединение, которое будет включать все строки из второй таблицы.
Давайте теперь перейдем к Create вкладка и создайте запрос из Design View. ВыбратьtblProjects и tblTasks и закройте диалоговое окно Показать таблицу, как показано на следующем снимке экрана.
Добавить ProjectName поле из tblProjects, и TaskTitle, StartDate и DueDate из tblTasks стол.
Давайте теперь запустим запрос.
Мы только отображаем записи из нескольких проектов. У пары этих проектов есть много задач, связанных с этим проектом, и эта информация связана черезProjectID поле.
Когда мы создаем этот запрос в Microsoft Access, Access берет эту взаимосвязь из созданных нами отношений.
По умолчанию он создает так называемый Inner Join between these two fields, между этими двумя таблицами, и именно так он связывает эту информацию из этих двух таблиц.
Он показывает нам только совпадения, поэтому, когда мы запустим этот запрос, в списке будет много других проектов. tblProjects которые не отображаются как часть наших записей, установленных в этом запросе, и это связано с тем, как эти две таблицы объединяются вместе посредством этого внутреннего соединения, которое, опять же, является объединением по умолчанию для любого запроса.
Однако, если вы хотите изменить отношения, допустим, вы хотите создать внешнее соединение, или, другими словами, показать все проекты из tblProjects, каждая запись в этой таблице вместе со всеми задачами из tblTasks- Открыть свойства соединения; мы можем сделать это, просто дважды щелкнув линию связи.
Access отобразит имя левой таблицы и имя правой таблицы в диалоговом окне «Свойства объединения».
Имя левого столбца, имя правого столбца и первый переключатель должны включать только строки, в которых поля соединения из обеих таблиц равны, и это внутреннее соединение, и это то, что выбирается по умолчанию при создании отношений, при создании объединения. в запросе, но вы можете его изменить.
У нас также есть два других варианта; мы можем включить все записи изtblProjects, и только записи из tblTasks где объединенные поля равны, а это - левое внешнее соединение.
У нас есть третий вариант: включить все записи из tblTasks и только те записи из tblProjects, в которых объединенные поля равны, а это - правое внешнее соединение.
Это различные типы объединений, которые можно легко создать в представлении «Дизайн». Давайте выберем вторую опцию, Left Outer Join, и нажмемOk.
Давайте теперь посмотрим на другие шаги -
Когда вы посмотрите на линию взаимоотношений, вы увидите маленькую стрелку, указывающую на ProjectID в tblTasks. Когда вы запустите этот запрос, вы увидите следующие результаты.
Как вы можете видеть, он показывает нам каждое имя проекта, независимо от того, связана ли с ним задача или нет. Вы также увидите кучу пустых полей. Все это будет пустым, потому что вtblTasks, откуда берутся эти поля. Давайте теперь перейдем кDesign View еще раз и дважды щелкните линию связи.
В диалоговом окне «Свойства соединения» выберите третий вариант, предназначенный для правого внешнего соединения, и нажмите Ok.
А теперь посмотрите на нашу линию отношений. Вы увидите, что теперь маленькая стрелка указывает наProjectID в tblProjects. Когда вы запустите этот запрос, вы увидите следующие результаты.
Самостоятельное присоединение
Самостоятельное присоединение - это еще один тип соединения. Самосоединение связывает совпадающие поля из одной таблицы. Например, посмотрите на таблицу сотрудника с полем супервизора, которое ссылается на тот же тип числа, хранящийся в другом поле той же таблицы - идентификатор сотрудника.
Если мы захотим узнать, кто такой супервизор Кейтлин Расмуссен, нам нужно будет взять номер, хранящийся в этом поле супервизора, и найти его в той же таблице в этом поле идентификатора сотрудника, чтобы узнать, что Чарити Хендрикс является супервизором.
Эта таблица не является идеальной структурой для реляционной базы данных, потому что она не нормализована.
Если у нас есть ситуация, когда мы хотим создать запрос, который просто перечисляет имена сотрудников вместе с именами их руководителей, нет простого способа сделать это, если мы не создадим самосоединение.
Чтобы увидеть самосоединение, создайте таблицу со следующими полями и введите данные.
Здесь мы хотим снова создать список с именем сотрудника, а затем с именем руководителя. Создадим запрос изquery design view.
Теперь добавьте tblEmployees таблицы.
Закройте это диалоговое окно.
Теперь добавьте имя и фамилию наших сотрудников.
Теперь нам нужен способ создать связь между этой таблицей и самим собой. Для этого нам нужно открытьthe show table dialog box и еще раз добавьте tblEmployees.
Мы создали еще одну копию той же таблицы в этом представлении запроса. Теперь нам нужно создать самосоединение. Для этого щелкните Supervisor вtblEmployees стол и, удерживая кнопку мыши, поместите его прямо на EmployeeID в этой скопированной таблице - tblEmployees_1. Затем добавьте имя и фамилию из этой скопированной таблицы.
Позвольте нам запустить ваш запрос, и вы увидите следующие результаты.
Он отображает имена сотрудников рядом с именами их руководителей. И вот как вы создаете самостоятельное присоединение в Microsoft Access.