- •45 Типы диаграмм
- •Связь диаграммы с таблицей
- •Удаление диаграммы
- •[Основные функции субд
- •[Править]Классификации субд [править]По модели данных
- •[Править]По степени распределённости
- •[Править]По способу доступа к бд
- •Глава I. Что такое база данных?
- •Поиск текста в записях
- •Поиск текста в текущем поле:
- •Поиск текста во всех полях:
- •Просмотр заданных записей с помощью фильтра
- •Создание сложных фильтров с помощью Конструктора фильтров
- •Создание и-фильтра:
- •Создание или-фильтра:
- •Сортировка данных (в режиме таблицы)
- •Фильтрация данных (в режиме таблицы)
- •Условие: имя: н* (сотрудники, имена которых начинаются на букву н)
- •1.7. Ключевые поля.
- •1.8. Определение в базе данных связей между таблицами.
- •1.9. Обеспечение целостности данных в Microsoft Access.
- •Импорт данных из другой базы данных Access или связывание с данными в ней
- •Общие представления об импорте и связывании данных из другой базы данных Access
- •Обычные сценарии импорта данных или объектов из базы данных Access
- •Обычные сценарии создания связи с таблицей базы данных Access
- •Импорт данных из базы данных Microsoft Access
- •Подготовка к импорту
- •Импорт данных
- •Сохранение спецификации импорта
- •Создание связи с данными другой базы данных Access
- •Подготовка к созданию связей с таблицами базы данных Access
- •Связь с данными
- •49 2.4.5. Проектирование форм и работа с ними
- •2.4.5.1. Создание формы с помощью Мастера
- •2.4.5.2. Создание формы с помощью Конструктора
- •50 7.4.3. Технология создания запросов на выборку
- •7.4.4. Технология создания запросов “с параметром”
- •7.4.5. Технология создания итогового запроса
- •Разработка запросов к базе данных
- •51 2.4.6. Создание отчета как объекта базы данных
- •2.4.6.1. Структура отчета в режиме Конструктора
- •2.4.6.2. Способы создания отчета
- •2.4.6.3. Создание отчета
1.8. Определение в базе данных связей между таблицами.
Для создания запросов, форм и отчетов, в которых выводятся данные из нескольких таблиц сразу, необходимо установить связи между таблицами. Связь между таблицами устанавливает отношения между совпадающими значениями в ключевых полях, обычно между полями разных таблиц (для удобства рекомендуется задавать для этих полей одинаковые имена). В большинстве случаев с ключевым полем одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы.
Для того чтобы определить связь между таблицами, следует добавить таблицы в окно Схема данных(например, с помощью контекстного меню) и перенести с помощью мыши ключевое поле одной таблицы в другую таблицу. Тип создаваемой связи зависит от полей, для которых определяется связь. Окно Схема данных вызывается командой Схема данных меню Сервис. |
|
Рассмотрим типы связей более подробно на примере базы данных "Отдел кадров", в состав которой входят четыре таблицы:
Список отделов - перечень всех отделов предприятия;
Список сотрудников - индивидуальные данные сотрудников, работающих на этом предприятии;
Назначения - распределение сотрудников по отделам, причем каждый сотрудник может работать в нескольких отделах (внутреннее совместительство);
Медицинский осмотр - результаты медицинского осмотра сотрудников.
Отношение не определено, если поле КодСотрудника ни в одной из таблиц не является ключевым и не имеет уникального индекса. В запросах, содержащих таблицы с неопределенным отношением, Microsoft Access по умолчанию создает линию объединения между таблицами, но условия целостности данных при этом не накладываются и нет гарантии уникальности записей в любой из таблиц. |
Отношение "один-ко-многим" является наиболее часто используемым типом связи между таблицами. Каждой записи в таблице "Список сотрудников" могут соответствовать несколько записей в таблице"Назначения", а запись в таблице "Назначения" не может иметь более одной соответствующей ей записи в таблице "Список сотрудников". |
Отношение "многие-ко-многим" реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит по крайней мере из двух полей, которые являются полями внешнего ключа в основных таблицах. В нашем примере связующей является таблица "Назначения". С одной стороны каждый сотрудник может иметь несколько назначений, а с другой стороны для каждого отдела тоже может существовать несколько назначений. Таким образом для таблиц "Список сотрудников" и "Список отделов" реализовано отношение "многие-ко-многим": каждый сотрудник может работать в нескольких отделах и каждый отдел может иметь нескольких сотрудников. |
При отношении "один-к-одному" запись в одной таблице может иметь не более одной связанной записи в другой таблице и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением "один-к-одному" используют для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.
Например, для того чтобы застраховать сотрудников, был проведен медицинский осмотр. Результаты можно поместить в таблицу "Список сотрудников", но в этом случае сложнее защитить данные от несанкционированного просмотра. Поэтому выгоднее хранить эту секретную и, скорее всего, разовую информацию в отдельной таблице Медицинский осмотр. |