Типы связи в Access
Один – к - одному (1:1) – каждая запись из первой таблицы связана с единственной записью из второй таблицы и наоборот. Однако это не самый популярный вид связи.
Иногда по соображениям безопасности применяют связь один – к - одному, чтобы разнести информацию по двум таблицам. Например, поля с конфиденциальными сведениями о клиентах (кредитный лимит, процент скидки). Сохраняют в отдельной таблице. Это позволяет с помощью пароля защитить таблицу с конфиденциальными сведениями от несанкционированного доступа. Эту связь используют также для разделения крупных таблиц.
Один – ко - многим (1:∞)– каждая запись главной таблицы связана с одной или несколькими записями из связанной таблицы, но каждая запись из связанной таблицы связана с единственной записью из главной таблицы.
Это наиболее популярный вид связи. Например, часто связь один – ко - многим существует между таблицей Клиенты и таблицей Заказы, поскольку каждый клиент может сделать несколько заказов, однако каждый заказ принадлежит только одному клиенту.
Многие – ко – многим (∞:∞) – каждая запись из первой таблицы связана с несколькими записями из второй, а каждая запись из второй таблицы связана с несколькими записями из первой. Чтобы создать между таблицами такое соотношение приходиться создавать связующую таблицу и устанавливать связи один – ко - многим между третьей таблицей и двумя первыми. Ключевое поле третьей таблицы состоит из ключевых полей А и В. Как правило, большая часть информации связанной подобным образом, должна находиться в одной таблице.
|
| ||||
|
|
Итак, если установлена связь между двумя таблицами (автоматически или вручную), данные из обеих таблиц можно объединять. При создании серьезных баз данных разработчику приходится заботиться о дополнительных средствах контроля связанных данных, вводимых в разные таблицы. Например, при ведении таблицы Заказы нельзя допустить случайный ввод в эту таблицу данных о несуществующих клиентах или продуктах, нельзя удалять из словарей записи о клиентах, которые заказывают продукцию, т.п. и т.д.
Связи между таблицами MS Access создают и модифицируют в диалоговом окне Работа с базой данных/ Схема данных. Если в БД отсутствуют связи, при первом открытии Схемы данных появляется окно Добавить, далее Закрыть. Связываем поля одной таблицы с полем другой, после этого всплывает ДО – Связи. Мы в окне диалога установили флажок Обеспечение целостности данных.
Целостность данных – это набор правил, которые позволяют Access поддерживать соответствие между связанными таблицами при внесении изменений в базу. Они гарантируют достоверность связей между записями в связанныхтаблицах и исключают случайное удаление или изменение связанных данных.
Контроль целостности данных может быть установлен, если
1. Главная таблица связывается с подчиненной по первичному простому (или составному) ключу главной таблицы.
2. Связанные поля содержат данные одного и того же типа, (имена полей могут быть различными).
3. Все таблицы находятся в одной базе данных.
При активизировании контроля целостности данных следует помнить, что
1) добавлять запись в связанную таблицу можно лишь при наличии соответствующей записи в главной таблице
2) Access не позволяет удалить запись из главной таблицы, если существуют соответствующие записи в связанной таблице
3) Access не позволяетизменить значение основного ключа в главной таблице, если существуют соответствующие записи в связанной таблице.
Если Вы согласны, чтобы Access соблюдала эти правила, то при создании связи щелкните флажок Обеспечение целостности данных. При включенном режиме целостности данных на экране появится предупреждение в случае возможного нарушения одного из перечисленных выше правил.
Включив механизм поддержки целостности данных, можно (но необязательно) потребовать, чтобы при модификации данных система запускала следующие процессы:
· каскадное обновление связанных полей
· каскадное удаление связанных записей.
Каскадное обновление означает, что изменение значения связанного поля в главной таблице, автоматически будет отражено в связанных записях подчиненной таблицы. Например, если заменить в таблице Клиенты код клиента с 80 на85, то код клиента 80 во всех записях таблицы Заказы изменится на 85.
Каскадное удаление означает, что при удалении записи из главной таблицы (например, записи с кодом клиента 20), из подчиненной таблицы будут удалены все записи, у которых значение связанного поля совпадает с удаляемым (например, клиент с кодом 20).
Пометки в схеме данных у концов линий связи означает, что одна запись таблицы Клиенты может иметь сколь угодно связанных записей в таблице Заказы.
Сортировка данных
После того как все записи импортированы, связаны или введены в базу данных, проявляется подлинная мощь Access. Теперь эти данные можно сортировать и фильтровать, кроме того, можно создавать запросы, отчёты и разные формы для ввода данных.
Простая сортировка по алфавиту
Сортировка по возрастанию или убыванию.
- Откройте таблицу (клиент) в окне Базы Данных в Режиме таблицы.
- Выделите щелчком столбец (строки)
- а) Щелкните на панели инструментов Таблица в режиме таблицы на кнопке Сортировка по возрастанию или Сортировка по убыванию.
б) команда Записи / Сортировка / Сортировка по возрастанию (Сортировка по убыванию).
в) или 1 п.щ. на столбце – контекстное меню.