Создание межтабличных связей

Наличие связей между таблицами позволяет включать данные из нескольких таблиц в запросы, формы и отчёты. Таблицы связываются между собой через ключевые поля.

Создание межтабличных связей начинается в окне Access с активизации вкладки Работа с базами данных. В группе Отношения необходимо выполнить щелчок на кнопке Схема данных, после чего открывается диалоговое окно Добавление таблицы (рис.9).

Создание межтабличных связей - student2.ru На вкладке Таблицы окна Добавление таблицы можно выбрать таблицы, между которыми создаются связи. Эти таблицы выбираются щелчком на кнопке Добавить. После выбора таблиц выполняется щелчок на кнопке Закрыть окна Добавление таблицы. Списки полей выбранных таблиц, например, таблиц Сотрудник, Адрес, Администрация (см. рис. 4) отображаются на вкладке Схема данных.

Рис. 9. Окно добавления таблицы
В таблицах Сотрудник и Адрес ключевым является поле Табельный номер. Это поле в таблице Сотрудник “перетаскивается” мышью на поле Табельный номер таблицы Адрес, и на экране появляется окно Изменение связей (рис. 10).

Рис. 10. Окно изменения связей
Создание межтабличных связей - student2.ru На левой панели окна Изменение связей будет отображено поле Табельный номер таблицы Сотрудник, которая считается главной, а на правой панели высвечивается поле Табельный номер таблицы Адрес, которая является связанной, т. е. отображаются имена полей, участвующих в связи. В окне Изменение связей можно установить флажок параметру Обеспечение целостности данных. В этом случае данные из ключевого поля главной таблицы Сотрудник удалять нельзя. Внизу окна указывается тип отношения, в данном примере используется связь «один к одному».

Для создания связи между таблицами Администрация и Адрес в окне Изменение связейполе Район проживания из таблицы Администрация
“перетаскивается” на поле Район проживания таблицы Адрес, и обязательно устанавливается флажок параметру Обеспечение целостности данных. После щелчка на кнопке Создатьрядом с полем Район проживания таблицы Администрация над линией связи отобразится символ «1», а рядом с полем Район проживания таблицы Адрес – символ бесконечности «∞», что говорит о создании связи «один ко многим» (см. рис. 4).

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

Ввод данных в таблицы

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

Непосредственно ввод данных осуществляется в режиме таблицы. Переход в этот режим осуществляется из окна Accessдвойным щелчком на значке таблицы (в левой стороне окна). Таблица не имеет записей, а содержит только наименования столбцов (полей). Для заполнения таблицы данными курсор устанавливается в требуемую ячейку указателем мыши. Переход к следующей ячейке можно выполнить с помощью клавиш [Tab], [Enter], [→], а в предыдущее поле можно попасть с помощью комбинации клавиш [Shift +Tab] или клавиши [←]. Переходить к любой ячейке таблицы можно также с помощью мыши.

После заполнения таблицы данными сохранять их не надо, т.к. Access все введённые данные сохраняет автоматически. Однако если при работе с таблицей происходит изменение её структуры (например, менялась ширина столбцов), то Access “попросит” подтвердить эти изменения. Для увеличения или уменьшения ширины столбцов в таблице (в режиме таблицы) необходимо указатель мыши установить в строку заголовка столбцов на границу между столбцами (указатель примет форму чёрного креста с двунаправленной горизонтальной стрелкой) и “перетащить” мышь вправо или влево.

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

Между таблицами Район проживания и Адрес установлена связь «один ко многим». Таблица Район проживания считается главной, а таблица Адрес – подчинённой. Поэтому целесообразно для контроля правильности ввода данных в таблицу Адрес вначале заполнить таблицу Район проживания, а затем таблицу Адрес.

На рис. 11 приведены заполненные таблицаы Сотрудник, Адрес и Администрация. Данные поля Зарплата таблицы Сотрудник будет в дальнейшем введены с помощью запроса на обновление (см. раздел 6.4). Кроме того Access 2010 позволяет в режиме конструктора задать полю Зарплата тип Вычисляемый и тем самым автоматизировать процесс заполнения данного поля (см. раздел 5.5).

Сотрудник
Табельный номер Фамилия и инициалы Должность Оклад Зарплата
Иванов А.В. мастер 15 000,00р.  
Петров В.Л. инженер 17 000,00р.  
Борисов Д.А. инженер 17 000,00р.  
Абрамов А.Д. слесарь 12 000,00р.  
Воронин А.П. мастер 15 000,00р.  
Матвеев А.А. слесарь 12 000,00р.  
Сидоров К.Н. мастер 15 000,00р.  
Родионов В.Н. слесарь 12 000,00р.  
Королёв С.Е. слесарь 12 000,00р.  
Бойко Р.П. водитель 16 500,00р.  
Адрес
Табельный номер Фамилия и инициалы Дата рождения Район проживания Адрес проживания
Иванов А.В. 12.04.1984 Приморский СПб, пр. Королёва, д. 23, кв. 56
Петров В.Л. 02.02.1967 Калининский СПб, ул. Солнечная, д. 34, кв.123
Борисов Д.А. 23.01.1973 Светлый СПб, ул. Строителей, д. 67, кв.143
Абрамов А.Д. 03.11.1981 Калининский СПб, пр. Краснова, д. 34, кв.75
Воронин А.П. 11.10.1951 Светлый СПб, ул. Широкая, д. 31, кв. 8
Матвеев А.А. 03.05.1990 Приморский СПб, ул. Цветочная, д. 31, кв. 54
Сидоров К.Н. 29.07.1985 Приморский СПб, ул. Яблоневая, д. 81, кв. 3
Родионов В.Н. 23.12.1962 Калининский СПб, пр. Космонавтов, д. 17, кв. 17
Королёв С.Е. 25.02.1976 Светлый СПб, ул. Туристов, д. 25, кв.35
Бойко Р.П. 17.07.1989 Светлый СПб, ул. Строителей, д. 143, кв. 21
Администрация
Район проживания Адрес администрации Телефон администрации
Калининский ул. Солнечная, д. 56 432-06-05
Приморский ул. Цветочная, д. 57 234-34-75
Рис. 11. Таблицы Сотрудник, Адрес, Администрация
Светлый

ул. Строителей, д. 15 334-45-44

При открытии уже заполненной таблицы пользователь может добавить в неё записи, удалить или исправить их. Для удаления записей их предварительно необходимо промаркировать с помощью селекторной колонки, а затем нажать на клавишу [Delete].Данные, занесённые в таблицу, можно копировать в буфер обмена, сортировать по возрастанию или убыванию, проверять орфографию всех текстовых значений полей таблицы и т. д.

Вычисляемые поля

Вычисляемые поля в предыдущих версиях Access создавались с помощью запросов. Такая возможность сохранилась и в Microsoft Access 2010 (см. раздел 6.5). Результаты расчёта в этих полях отображаются только при открытии запроса. Однако в Microsoft Access 2010 появилась возможность задавать вычисляемые поля непосредственно в таблицах, выбрав тип данных для этого поля Вычисляемый. Следует помнить, что ессли таблица содержит поля других типов, например, Денежный, то заменить этот тип поля на тип Вычисляемыйне представляется возможным.

Можно проиллюстрировать создание вычисляемого поля в Access 2010, добавив в таблицу Сотрудник новое поле Зарплата 1 (как было сказано ранее, поле Зарплата таблицы Сотрудник будет в дальнейшем заполнено с помощью запроса на обновление).

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

Создание межтабличных связей - student2.ru

Рис. 12. Окно построителя выражений

Для добавления имени поля в выражение необходимо в столбце Категории выраженийдважды щёлкнуть на имени поля, например, на имени поля Оклад. В выражении это поле отобразится в квадратных скобках. После щелчка на кнопке ОКв окне построителя выражений на экран выводится окно конструктора, в котором в строке Тип результатазадаётся тип Денежный, а в строке Число десятичных знаков выбирается число, допустим, 0. Чтобы просмотреть результаты вычислений, необходимо перейти в Режим таблицы, предварительно сохранив её.

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

Создание межтабличных связей - student2.ru

Рис. 13. Формирование вычисляемого поля в режиме таблицы  

Фильтрация данных в таблице

С помощью фильтрации данных можно отображать не все записи таблицы, а только записи, соответствующие определённым условиям, например, в таблице Сотрудник требуется вывести на экран данные о работниках заданной должности. С этой целью необходимо щёлкнуть на кнопке раскрывающегося списка поля Должность (кнопка выполнена в виде треугольника, вершина которого направлена вниз), в появившемся окне поставить флажок параметру, допустим мастер, и выполнить щелчок на кнопке OK. В результате на экране отобразятся только записи, соответствующие критерию поиска мастер, а в строке заголовка поля Должность правее кнопки раскрывающегося списка появится значок фильтра (см. рис. 14).

Создание межтабличных связей - student2.ru

Рис. 14. Результаты фильтрации данных по критерию мастер

Наши рекомендации