Связанные таблицы
Содержание:
- Навигация по столам
- Зачем создавать связи между таблицами?
- 2.4. Системы управления базами данных и экспертные системы
- 2.4. Microsoft Access 2007
- 2.4. Microsoft Access 2007
- Изменение линий сетки
- Параметры форматирования таблиц
- Зачем создавать связи между таблицами?
- Пределы и ограничения
- Как определить связи между таблицами
- Определения основных понятий
- Показывать строки, в которых есть общее значение в обеих Объединенных таблицах
Навигация по столам
Чтобы перемещаться по записям в таблице, вы можете использовать клавиши со стрелками вверх и вниз, прокручивать вверх и вниз или использовать стрелки на панели навигации записи, расположенной в нижней части таблицы. Вы также можете найти любую запись в текущей открытой таблице, выполнив ее поиск, используя окно поиска записей. Просто поместите курсор в поле поиска, введите любое слово, которое появляется в записи, которую вы хотите найти, и нажмите Enter. Чтобы просмотреть дополнительные записи, соответствующие вашему поиску, нажмите Enter еще раз.
Чтобы перемещаться между полями, вы можете использовать клавиши со стрелками влево и вправо или прокручивать влево и вправо.
Зачем создавать связи между таблицами?
Связи между таблицами можно создать непосредственно с помощью окна «Схема данных» или путем перетаскивания поля из области Список полей. Access использует связи между таблицами для того, чтобы решить, как связать таблицы для использования их в объекте базы данных. Существует несколько причин для создания связей между таблицами перед созданием других объектов базы данных (форм, запросов, отчетов).
Связи между таблицами предоставляют сведения для структурирования запросов
Для работы с записями из нескольких таблиц часто приходится создавать запросы, соединяющие таблицы. Запрос сопоставляет значения в поле первичного ключа первой таблицы с полем внешнего ключа второй таблицы. Например, чтобы получить строки, в которых перечисляются все заказы для каждого из клиентов, можно создать запрос, соединяющий таблицу «Клиенты» с таблицей «Заказы» на основе поля «Код клиента». В окне «Схема данных» можно вручную указать поля для соединения. Но если связь между таблицами уже существует, Access использует соединение по умолчанию на основе существующей связи между таблицами. Кроме того, при использовании одного из мастеров запросов Access использует сведения об уже определенных связях между таблицами, чтобы предоставить пользователю выбор и подставить в параметры свойств соответствующие значения по умолчанию.
Связи между таблицами предоставляют сведения для структурирования форм и отчетов
При создании формы или отчета в Access используются сведения об уже определенных межтабличных связях, чтобы предоставить пользователю выбор и предварительно заполнить параметры свойств соответствующими значениями по умолчанию.
Связи между таблицами — это та основа, с помощью которой можно обеспечить целостность данных, чтобы в базе данных не было потерянных записей. Потерянная запись — это запись со ссылкой на несуществующую запись (например, запись заказа со ссылкой на отсутствующую запись клиента).
При создании базы данных сведения распределяются по таблицам, в каждой из которых есть первичный ключ. После этого к связанным таблицам добавляются внешние ключи, имеющие ссылки на первичные ключи. Эти пары из внешнего и первичного ключей формируют основу для связей между таблицами и многотабличных запросов
Поэтому важно, чтобы ссылки «внешний ключ — первичный ключ» оставались синхронизированными. Целостность данных, которая зависит от связей в таблице, гарантирует, что ссылки остаются синхронизированными
2.4. Системы управления базами данных и экспертные системы
2.4.3.2. Установка связей между таблицами в СУБД Access
После создания структуры таблиц (Студенты, Группы студентов, Дисциплины, Успеваемость) для сущностей базы данных «Деканат» необходимо установить связи между таблицами. Связи между таблицами в БД используются при формировании запросов, разработке форм, при создании отчетов.
Для создания связей необходимо закрыть все таблицы и выбрать команду «Схема данных» из меню Сервис, появится активное диалоговое окно «Добавление таблицы» на фоне неактивного окна Схема данных.
В появившемся диалоговом окне Добавление таблиц необходимо выделить имена таблиц и нажать кнопку Добавить, при этом в окне «Схема данных» добавляются таблицы. После появления всех таблиц в окне Схема данных необходимо закрыть окно Добавление таблицы, щелкнув левой кнопкой мыши на кнопке Закрыть.
Следующий шаг — это установка связей между таблицами в окне Схема данных. Для этого в окне Схема данных необходимо отбуксировать (переместить) поле КодГруппы из таблицы Группы на соответствующее поле таблицы Студенты, в результате этой операции появится окно «Изменение связей».
В появившемся окне диалога «Изменение связей» необходимо активизировать флажки: «Обеспечить целостность данных», «каскадное обновление связанных полей» и «каскадное удаление связанных записей», убедиться в том, что установлен тип отношений один-ко-многим и нажать кнопку Создать.
В окне Схема данных появится связь один-ко-многим между таблицами Группы студентов и Студенты. Аналогичным образом надо связать поля КодСтудента в таблицах Студенты и Успеваемость, а затем поля КодДисциплины в таблицах Успеваемость и Дисциплины. В итоге получим Схему данных, представленную на рисунке.
После установки связей между таблицами, окно Схема данных необходимо закрыть.
Далее необходимо осуществить заполнение всех таблиц. Заполнение таблиц целесообразно начинать с таблицы Группы студентов, так как поле Код группы таблицы Студенты используется в качестве столбца подстановки для заполнения соответствующего поля таблицы Студенты.
2.4.3.3. Заполнение таблиц
Заполнение таблиц можно начать и с заполнения таблицы Студенты. В окне Базы данных выделяем нужную таблицу, затем выполняем щелчок на кнопке Открыть.
На экране появится структура таблицы БД в режиме таблицы. Новая таблица состоит из одной пустой строки.
Заполнение производится по записям, т.е. вводится информация для всей строки целиком. Поле счетчика заполняется автоматически. После ввода первой записи пустая запись смещается в конец таблицы. Переход к следующему полю осуществляется нажатием клавиши ТаЬ.
Для заполнения поля MEMO в таблице (колонка Место рождения) нажимаем комбинацию клавиш , предварительно установив курсор в поле MEMO. Открывается диалоговое окно Область ввода, после ввода или редактирования данных в этом окне щелкаем на кнопке ОК.
После заполнения таблица Студенты имеет следующий вид.
Аналогичным образом заполняются остальные таблицы: Группы Студентов, Успеваемость, Дисциплины.
В приложении Access применяются различные методы перемещения по таблице. Переходить от записи к записи можно с помощью: клавиш управления курсором; кнопки из области Запись, расположенной внизу таблицы в режиме таблицы; команды Правка — Перейти.. Для перемещения от поля к полю (слева направо) применяются клавиши Tab и Enter, а в обратном направлении Shift+Tab.
Поиск данных в таблице большого объема, который выполняется с помощью кнопок перехода, может занять много времени, поэтому для поиска и замены данных в полях необходимо использовать команду Правка — Найти. Откроется окно диалога. В поле Образец диалогового окна поиска указывается искомый объект и осуществляется поиск. Для замены данных в полях необходимо перейти на вкладку Замена.
После создания структуры таблиц, их заполнении и установки связей между таблицами можно приступать к построению запросов.
Обучение в интернет, . Обратная связь
2.4. Microsoft Access 2007
2.4.4. Заполнение таблиц БД Access 2007
Tables БД Access 2007 необходимо заполнять данными в определенной последовательности. Сначала надо заполнять главные tables, а затем подчиненные. Заполнение таблиц для БД Деканат целесообразно выполнять в такой последовательности: Группы студентов, Студенты, Дисциплины и Успеваемость. В этом случае для заполнения полей вторичных ключей (КодГруппы, КодСтудентов, КодДисциплины) можно использовать раскрывающийся список данных.
Раскрывающийся список данных для вторичных ключей появится только в том случае, если при создании структуры подчиненных таблиц в режиме конструктор для полей вторичных ключей выбран тип данных «Мастер подстановок».
Рассмотрим заполнение таблицы Группы студентов. В окне базы данных Деканат_2007 в области объектов выбираем таблицу Группы студентов, и выполняем на ней двойной щелчок. В окне редактирования появится структура табл. «Группы студентов» в режиме таблицы. Новая table состоит из одной пустой строки.
Заполнение производится по записям (по строкам). Поле счетчика (поле КодСтудента) заполняется автоматически. Переход к следующему полю осуществляется нажатием клавиши ТаЬ. После ввода первой записи курсор смещается на следующую запись. После заполнения table Группы студентов имеет следующий вид (рисунок 1).
Рис. 2.
Аналогичным образом заполняется table Студенты (рис.2). Необходимо отметить, что в табл. Студенты поле КодГруппы заполняется из раскрывающегося списка.
Рис. 2.
Если раскрывающийся список не появляется, то необходимо закрыть таблицу Студенты и открыть окно Схема данных. В этом окне для таблицы Студенты разорвать связи, т.е. удалить отношения. Для этого щелкаем правой кнопкой мыши на одну из связей и из контекстного меню выбираем команду Удалить. Затем удаляем другую связь. Закрываем окно Схема данных. Открываем табл. «Студенты» в режиме Конструктор.
Из списка выбираем тип данных для поля КодГруппы «Мастер подстановок». В процессе назначения типа данных «Мастер подстановок» для поля КодГруппы табл. «Студенты» выбираем следующие данные: на первом шаге Группы студентов, а затем Название и далее щелкаем Готово. Закрываем таблицу Студенты. После этого восстанавливаем связи (отношения) в окне Схема данных. Продолжаем заполнение таблицы Студенты с использованием раскрывающегося списка для поля КодГруппы.
Далее заполняется table Дисциплины (рис. 3).
Рис. 3.
Затем заполняется table Успеваемость (рис. 4).
Рис. 4.
В таблице Успеваемость поля КодДисциплины и КодСтудента заполняются из раскрывающихся списков.
Необходимо отметить, что в базах данных Access 2007 применяются различные методы перемещения по таблице. Переходить от записи к записи можно с помощью: клавиш управления курсором; кнопок из области Запись, расположенных внизу таблицы в режиме таблицы; команды Перейти в группе Найти, расположенной на ленте. Для перемещения от поля к полю (слева направо) применяются клавиши Tab и Enter, а в обратном направлении Shift+Tab.
Поиск данных в таблице большого объема, можно осуществлять командой поиск расположенный внизу таблицы в режиме таблицы или командой Найти в группе Найти, расположенной на ленте. Для замены данных в полях необходимо использовать команду Заменить в группе Найти, расположенной на ленте.
После создания структуры таблиц, их заполнения и установления отношений (логических связей) между таблицами можно приступать к построению запросов.
Далее >>> Раздел: 2.4.5. Создание запросов в базе данных Access 2007
2.4. Microsoft Access 2007
2.4.3. Установка логических связей в БД Access 2007
Логические связи устанавливаются между одноименными полями таблиц базы данных Access 2007. Связь данных в одной таблице с данными в других таблицах осуществляется через уникальные идентификаторы (ключи) или ключевые поля. В нашем случае мы должны установить логические связи между таблицами: Группы студентов, Студенты, Дисциплины и Успеваемость.
Для установления связей используем ключевые поля: КодГруппы, КодСтудентов и КодДисциплины. Например, между первичным ключом (КодГруппы) tables Группы студентов и вторичным ключом (КодГруппы) tables Студенты устанавливаем связь один — ко — многим.
Прежде чем приступить к созданию логических связей надо в Окне редактирования закрыть все tables и перейти на вкладку Работа с базами данных. Затем щелкнуть на пиктограмме Схема данных, в окне редактирования появится активное диалоговое окно «Добавление таблицы» на фоне неактивного окна Схема данных (рис. 1).
Рис. 1.
В окне Добавление таблиц необходимо выделить имена таблиц и нажать кнопку Добавить, при этом в окне «Схема данных» появятся все tables (рис. 2). После этого необходимо закрыть окно диалога.
Рис. 2.
Далее необходимо установить связи между табл. в окне Схема данных. Для этого в окне Схема данных необходимо отбуксировать (переместить) поле КодГруппы из таблицы Группы студентов на соответствующее поле tables Студенты, в результате этой операции появится окно «Изменение связей» (рис. 3) .
Рис. 3.
В появившемся окне диалога «Изменение связей» (рис. 3) необходимо установить флажки: «Обеспечить целостность данных», «каскадное обновление связанных полей» и «каскадное удаление связанных записей», убедиться в том, что установлен тип отношений один-ко-многим и нажать кнопку Создать.
В окне Схема данных появится связь один-ко-многим между таблицами Группы студентов и Студенты. Аналогичным образом надо связать поля КодСтудента в таблицах Студенты и Успеваемость, а затем поля КодДисциплины в таблицах Успеваемость и Дисциплины. В итоге получим Схему данных, представленную на рисунке 4.
Рис. 4.
После установки связей между таблицами, окно Схема данных необходимо закрыть. Далее необходимо осуществить заполнение всех таблиц. Заполнение целесообразно начинать с табл. Группы студентов, так как поле КодГруппы табл. Студенты используется в качестве столбца подстановки для заполнения соответствующего поля табл. Студенты.
Затем установить связи между табл.
«Студенты» и «Успеваемость», «Дисциплины» и «Успеваемость», так как поля КодСтуденты и КодДисциплины табл. Успеваемость используется в качестве столбца подстановки для заполнения соответствующих полей таблицы Успеваемость.
Далее >>> Раздел: 2.4.4. Заполнение таблиц базы данных Access 2007
Изменение линий сетки
Другим способом Access упрощает чтение ваших таблиц путем добавления линий сетки, которые отмечают границы каждой ячейки. Gridlines(линии сетки) — это тонкие линии, которые появляются между каждой ячейкой, строкой и столбцом таблицы. По умолчанию сетчатые линии темно-серого цвета и появляются со всех сторон ячейки, но вы можете изменить их цвет или скрыть нежелательные линии сетки.
Чтобы настроить отображение линий сетки:
- 1. Выберите вкладку «Главная» и найдите группу форматирования текста.
- 2. Щелкните стрелку раскрывающегося списка Gridlines.
- 3. Выберите линии сетки, которые вы хотите отобразить. Вы можете выбрать горизонтальные линии сетки между строками, вертикальными градиентами между столбцами, обоими типами линий сетки или вообще ничем.
- 4. Строки сетки на вашем столе будут обновлены.
Параметры форматирования таблиц
Цвет чередующихся строк
По умолчанию фон любой другой строки в таблице Access представляет собой несколько оттенков, более темных, чем фон остальной части таблицы. Этот более темный цвет чередующихся строк упрощает чтение вашей таблицы, предлагая визуальное различие между каждой записью и записями непосредственно выше и ниже нее.
Чтобы изменить цвет другой строки:
- 1. Выберите вкладку «Главная» и найдите группу форматирования текста.
- 2. Нажмите стрелку раскрывающегося списка «Альтернативный ряд».
- 3. Выберите цвет в раскрывающемся меню или выберите «Нет цвета», чтобы удалить цвет другой строки.
- 4. Цвет вашей альтернативной строки будет обновлен.
Зачем создавать связи между таблицами?
Связи между таблицами можно создать непосредственно с помощью окна «Схема данных» или путем перетаскивания поля из области Список полей. Access использует связи между таблицами для того, чтобы решить, как связать таблицы для использования их в объекте базы данных. Существует несколько причин для создания связей между таблицами перед созданием других объектов базы данных (форм, запросов, отчетов).
Связи между таблицами предоставляют сведения для структурирования запросов
Для работы с записями из нескольких таблиц часто приходится создавать запросы, соединяющие таблицы. Запрос сопоставляет значения в поле первичного ключа первой таблицы с полем внешнего ключа второй таблицы. Например, чтобы получить строки, в которых перечисляются все заказы для каждого из клиентов, можно создать запрос, соединяющий таблицу «Клиенты» с таблицей «Заказы» на основе поля «Код клиента». В окне «Схема данных» можно вручную указать поля для соединения. Но если связь между таблицами уже существует, Access использует соединение по умолчанию на основе существующей связи между таблицами. Кроме того, при использовании одного из мастеров запросов Access использует сведения об уже определенных связях между таблицами, чтобы предоставить пользователю выбор и подставить в параметры свойств соответствующие значения по умолчанию.
Связи между таблицами предоставляют сведения для структурирования форм и отчетов
При создании формы или отчета в Access используются сведения об уже определенных межтабличных связях, чтобы предоставить пользователю выбор и предварительно заполнить параметры свойств соответствующими значениями по умолчанию.
Связи между таблицами — это та основа, с помощью которой можно обеспечить целостность данных, чтобы в базе данных не было потерянных записей. Потерянная запись — это запись со ссылкой на несуществующую запись (например, запись заказа со ссылкой на отсутствующую запись клиента).
При создании базы данных сведения распределяются по таблицам, в каждой из которых есть первичный ключ. После этого к связанным таблицам добавляются внешние ключи, имеющие ссылки на первичные ключи. Эти пары из внешнего и первичного ключей формируют основу для связей между таблицами и многотабличных запросов
Поэтому важно, чтобы ссылки «внешний ключ — первичный ключ» оставались синхронизированными. Целостность данных, которая зависит от связей в таблице, гарантирует, что ссылки остаются синхронизированными
Пределы и ограничения
-
Ограничение внешнего ключа не обязательно должно быть связано только с ограничением первичного ключа в другой таблице. Внешние ключи также могут быть определены, чтобы ссылаться на столбцы ограничения UNIQUE в другой таблице.
-
Если столбцу, имеющему ограничение внешнего ключа, задается значение, отличное от NULL, такое же значение должно существовать и в указываемом столбце. В противном случае будет возвращено сообщение о нарушении внешнего ключа. Для обеспечения проверки всех значений сложного ограничения внешнего ключа задайте параметр NOT NULL для всех столбцов, участвующих в индексе.
-
Ограничения FOREIGN KEY могут ссылаться только на таблицы в пределах той же базы данных на том же сервере. Межбазовую ссылочную целостность необходимо реализовать посредством триггеров. Дополнительные сведения см. в статье об инструкции CREATE TRIGGER.
-
Ограничения FOREIGN KEY могут ссылаться на другие столбцы той же таблицы и считаются ссылками на себя.
-
Ограничение FOREIGN KEY, определенное на уровне столбцов, может содержать только один ссылочный столбец. Этот столбец должен принадлежать к тому же типу данных, что и столбец, для которого определяется ограничение.
-
Ограничение FOREIGN KEY, определенное на уровне таблицы, должно содержать такое же число ссылочных столбцов, какое содержится в списке столбцов в ограничении. Тип данных каждого ссылочного столбца должен также совпадать с типом соответствующего столбца в списке столбцов.
-
Компонент Database Engine не имеет предопределенного ограничения на число ограничений FOREIGN KEY, которые могут содержаться в таблице, ссылающейся на другие таблицы. Компонент Database Engine также не ограничивает число ограничений FOREIGN KEY, принадлежащих другим таблицам, которые ссылаются на определенную таблицу. Но фактическое количество используемых ограничений FOREIGN KEY ограничивается конфигурацией оборудования, базы данных и приложения. Максимальное количество таблиц и столбцов, на которые может ссылаться таблица в качестве внешних ключей (исходящих ссылок), равно 253. SQL Server 2016 (13.x); и последующие версии увеличивает ограничение на количество других таблиц и столбцов, которые могут ссылаться на столбцы в одной таблице (входящие ссылки), с 253 до 10 000. (Требуется уровень совместимости не менее 130.) Увеличение имеет следующие ограничения:
- Превышение 253 ссылок на внешние ключи поддерживается только для операций DELETE и UPDATE DML. Операции MERGE не поддерживаются.
- Таблица со ссылкой внешнего ключа на саму себя по-прежнему ограничена 253 ссылками на внешние ключи.
- Превышение числа в 253 ссылки на внешние ключи в настоящее время недоступно для индексов columnstore, оптимизированных для памяти таблиц или Stretch Database.
-
Ограничения FOREIGN KEY не применяются к временным таблицам.
-
Если внешний ключ определен на столбце определяемого пользователем типа данных CLR, реализация этого типа должна поддерживать двоичную сортировку. Дополнительные сведения об определяемых пользователем типах данных CLR см. в разделе Определяемые пользователем типы данных CLR.
-
Столбец типа varchar(max) может участвовать в ограничении FOREIGN KEY только при условии, что первичный ключ, на который он ссылается, также имеет тип данных varchar(max) .
Как определить связи между таблицами
При создании связи между таблицами связанные поля не должны иметь одни и те же имена. Однако связанные поля должны иметь один и тот же тип данных, если только поле первичного ключа не является полем AutoNumber. Вы можете сопоставить поле AutoNumber с полем Number, только если свойство FieldSize обоих совпадающих полей совпадает. Например, можно сопоставить поле AutoNumber и поле Number, если свойство theFieldSizeproperty обоих полей имеет значение Long Integer. Даже если оба совпадающих поля являются числовыми полями, они должны иметь параметр sameFieldSizeproperty.
Как определить связи «один ко многим» или «один к одному»
Чтобы создать связь «один ко многим» или «один к одному», выполните следующие действия.
-
Закройте все таблицы. Нельзя создавать или изменять связи между открытыми таблицами.
-
В Access 2002 и Access 2003 выполните следующие действия.
- Нажмите F11, чтобы переключиться в окно базы данных.
- В меню Инструменты выберите Связи.
В Access 2007, Access 2010 или Access 2013 нажмите Связи в группе Показать/Скрыть на вкладке Инструменты базы данных.
-
Если вы еще не определили какие-либо связи в базе данных, автоматически отобразится диалоговое окно Показать таблицу. Если вы хотите добавить таблицы, которые нужно связать, но диалоговое окно Показать таблицу не отображается, нажмите Показать таблицу в меню Связи.
-
Дважды щелкните названия таблиц, которые вы хотите связать, а затем закройте диалоговое окно Показать таблицу. Чтобы создать связь между одной и той же таблицей, добавьте эту таблицу два раза.
-
Перетащите поле, которое вы хотите связать, из одной таблицы в связанное поле в другой таблице. Чтобы перетащить несколько полей, нажмите Ctrl, нажмите на каждое поле, а затем перетащите их.
В большинстве случаев вы перетаскиваете поле первичного ключа (это поле отображается жирным текстом) из одной таблицы в аналогичное поле (это поле часто имеет одно и то же имя), которое называется внешним ключом в другой таблице.
-
Откроется диалоговое окно Изменение связей. Убедитесь, что имена полей, отображаемые в двух столбцах, верны. Вы можете изменить имена, если это необходимо.
При необходимости установите параметры связей. Если у вас есть информация о конкретном элементе в диалоговом окне Изменение связей, нажмите кнопку со знаком вопроса, а затем нажмите на элемент. (Эти параметры будут подробно описаны ниже в этой статье.)
-
Нажмите кнопку Создать, чтобы создать связь.
-
Повторите шаги с 4 по 7 для каждой пары таблиц, которые вы хотите связать.
При закрытии диалогового окна Изменение связей Access спрашивает, хотите ли вы сохранить макет. Сохраняете ли вы макет или не сохраняете макет, созданные вами связи сохраняются в базе данных.
Примечание
Можно создавать связи не только в таблицах, но и в запросах. Однако целостность данных связывания не обеспечивается с помощью запросов.
Как определить связь «многие ко многим»
Чтобы создать связь «многие ко многим», выполните следующие действия.
-
Создайте две таблицы, которые будут иметь связь «многие ко многим».
-
Создайте третью таблицу. Это стыковочная таблица. В таблице соединения добавьте новые поля, которые имеют те же определения, что и основные ключевые поля из каждой таблицы, созданной в шаге 1. В связующей таблице основные ключевые поля функционируют как внешние ключи. Вы можете добавить другие поля в связующую таблицу, так же, как и в любую другую таблицу.
-
В связующей таблице установите первичный ключ, чтобы включить основные ключевые поля из двух других таблиц. Например, в связующей таблице «TitleAuthors» первичный ключ будет состоять из полей OrderID и ProductID.
Примечание
Чтобы создать первичный ключ, выполните следующие действия:
-
Откройте таблицу в Конструкторе.
-
Выберите поле или поля, которые вы хотите определить в качестве первичного ключа. Чтобы выбрать одно поле, нажмите на селектор строки для нужного поля. Чтобы выбрать несколько полей, удерживайте клавишу Ctrl, а затем нажмите селектор строки для каждого поля.
-
В Access 2002 или в Access 2003 нажмите на Первичный ключ на панели инструментов.
В Access 2007 нажмите на Первичный ключ в группе Инструменты на вкладке Дизайн.
Примечание
Если вы хотите, чтобы порядок полей в первичном ключе с несколькими полями отличался от порядка этих полей в таблице, нажмите Индексы на панели инструментов для отображения диалогового окна Indexes, а затем заново упорядочите имена полей для индекса с именем PrimaryKey.
-
-
Определите связь один-ко-многим между каждой основной и связующей таблицами.
Определения основных понятий
Без базовых знаний об элементах управления и объектах, использующихся при создании и конфигурации БД, нельзя успешно понять принцип и особенности настройки предметной области. Поэтому сейчас я постараюсь простым языком объяснить суть всех важных элементов. Итак, начнем:
- Предметная область – множество созданных таблиц в базе данных, которые связаны между собой с помощью первичных и вторичных ключей.
- Сущность – отдельная таблица базы данных.
- Атрибут – заголовок отдельного столбца в таблице.
- Кортеж – это строка, принимающая значение всех атрибутов.
- Первичный ключ – это уникальное значение (id), которое присваивается каждому кортежу.
- Вторичный ключ таблицы «Б» – это уникальное значение таблицы «А», использующееся в таблице «Б».
- SQL запрос – это специальное выражение, выполняющее определенное действие с базой данных: добавление, редактирование, удаление полей, создание выборок.
Теперь, когда в общих чертах есть представление о том, с чем мы будем работать, можно приступить к созданию БД.
Показывать строки, в которых есть общее значение в обеих Объединенных таблицах
Если вы хотите, чтобы в присоединенном поле отображались только те строки, которые содержат совпадающие значения, используется внутреннее соединение. Microsoft Access автоматически создает внутреннее соединение.
Внутреннее объединение — это самый распространенный тип объединения. Они указывают на то, что строки из одной из Объединенных таблиц соответствуют строкам другой таблицы на основе данных в Объединенных полях. При выполнении запроса с внутренним соединением в операции запроса будут включены только те строки, в которых есть общее значение в обеих Объединенных таблицах.
Как использовать внутреннее соединение?
В большинстве случаев вам не нужно ничего делать, чтобы использовать внутреннее соединение. Если таблицы, добавленные в запрос, уже имеют отношения, Access автоматически создает внутреннее соединение между каждой парой связанных таблиц при добавлении таблиц. Если используется целостность данных, Access также отображает «1» над линией соединения, чтобы показать, какая таблица находится на стороне «один» элемента отношение «один-ко-многим» и символ бесконечности (∞), чтобы показать, какая таблица находится на стороне «многие».
Даже если вы не создали связи, Access автоматически создает внутреннее соединение при добавлении двух таблиц в запрос, и эти таблицы содержат поле с одинаковым или совместимым типом данных, а одно из полей объединения — первичный ключ. В этом случае символы «один» и «многие» не отображаются, так как целостность данных не применяется.
Если вы добавите запросы в запрос и не создали связь между этими запросами, Access не будет автоматически создавать внутренние соединения между этими запросами или между запросами и таблицами. Как правило, вы должны создать их самостоятельно. Вы можете создать внутреннее соединение, перетащив поле из одного источника данных в поле другого источника данных. Access добавит линию между двумя полями, чтобы показать, что они соединены.
Синтаксис SQL для внутреннего соединения
Внутренние соединения задаются в SQL в предложении FROM, как показано ниже.
FROM таблица1 INNER JOIN таблица2 ON таблица1.field1 сравнить Table2.поле2
Операция INNER JOIN состоит из следующих элементов: