Создание и изменение ключевых полей
- Откройте таблицу в режиме конструктора.
- Выделите одно или несколько полей, которые необходимо определить как ключевые. Для выделения одного поля выберите область выделения строки нужного поля. Для выделения нескольких полей нажмите и удерживайте клавишу CTRL и выберите область выделения для каждого поля.
- Нажмите кнопку Ключевое поле на панели инструментов.
Допускается назначение ключевым полем поля, содержащего данные, однако, если в этом поле имеются повторяющиеся или пустые значения, будет выведено сообщение об ошибке. Получивший такое сообщение пользователь имеет три возможности: выполнить запрос на поиск повторяющихся записей для поиска записей, содержащих повторяющиеся или пустые значения в поле, и изменить эти значения; выбрать другое поле или добавить поле счетчика и определить его как ключевое.
Для составного ключа существенным может оказаться порядок образующих ключ полей. Сортировка записей осуществляется в соответствии с порядком ключевых полей в бланке в режиме конструктора таблицы. Если необходимо указать другой порядок сортировки без изменения порядка ключевых полей, то сначала определите ключ, как это описано выше, а затем нажатием кнопки Индексы на панели инструментов откройте окно "Индексы" и укажите другой порядок полей для индекса с именем "PrimaryKey".
Определение в базе данных связей между таблицами.
Для создания запросов, форм и отчетов, в которых выводятся данные из нескольких таблиц сразу, необходимо установить связи между таблицами. Связь между таблицами устанавливает отношения между совпадающими значениями в ключевых полях, обычно между полями разных таблиц (для удобства рекомендуется задавать для этих полей одинаковые имена). В большинстве случаев с ключевым полем одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы.
| Для того чтобы определить связь между таблицами, следует добавить таблицы в окно Схема данных (например, с помощью контекстного меню) и перенести с помощью мыши ключевое поле одной таблицы в другую таблицу. Тип создаваемой связи зависит от полей, для которых определяется связь. Окно Схема данных вызывается командой Схема данных меню Сервис.
| |
Рассмотрим типы связей более подробно на примере базы данных "Отдел кадров", в состав которой входят четыре таблицы:
- Список отделов - перечень всех отделов предприятия;
- Список сотрудников - индивидуальные данные сотрудников, работающих на этом предприятии;
- Назначения - распределение сотрудников по отделам, причем каждый сотрудник может работать в нескольких отделах (внутреннее совместительство);
- Медицинский осмотр - результаты медицинского осмотра сотрудников.
Отношение не определено, если поле КодСотрудника ни в одной из таблиц не является ключевым и не имеет уникального индекса. В запросах, содержащих таблицы с неопределенным отношением, Microsoft Access по умолчанию создает линию объединения между таблицами, но условия целостности данных при этом не накладываются и нет гарантии уникальности записей в любой из таблиц.
|
|
| Отношение "один-ко-многим" является наиболее часто используемым типом связи между таблицами. Каждой записи в таблице "Список сотрудников" могут соответствовать несколько записей в таблице "Назначения", а запись в таблице "Назначения" не может иметь более одной соответствующей ей записи в таблице "Список сотрудников".
|
Отношение "многие-ко-многим" реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит по крайней мере из двух полей, которые являются полями внешнего ключа в основных таблицах. В нашем примере связующей является таблица "Назначения". С одной стороны каждый сотрудник может иметь несколько назначений, а с другой стороны для каждого отдела тоже может существовать несколько назначений. Таким образом для таблиц "Список сотрудников" и "Список отделов" реализовано отношение "многие-ко-многим": каждый сотрудник может работать в нескольких отделах и каждый отдел может иметь нескольких сотрудников.
|
|
При отношении "один-к-одному" запись в одной таблице может иметь не более одной связанной записи в другой таблице и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением "один-к-одному" используют для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.
| Например, для того чтобы застраховать сотрудников, был проведен медицинский осмотр. Результаты можно поместить в таблицу "Список сотрудников", но в этом случае сложнее защитить данные от несанкционированного просмотра. Поэтому выгоднее хранить эту секретную и, скорее всего, разовую информацию в отдельной таблице Медицинский осмотр.
|
Воспользуйтесь поиском по сайту: