- •10.14. Общие сведения об ms Access
- •10.14.1. Что такое Microsoft Access 2.0
- •10.14.2. Принципиальная схема работы с ms Access
- •10.14.3. Основные понятия ms Access Объекты ms Access
- •Окно приложения ms Access и окно базы данных
- •Типы данных в ms Access
- •Выражения в ms access
- •10.14.4. Как создавать объекты в ms Access
- •Вопросы и задания
- •10.15. Работа с таблицами в ms Access
- •10.15.1. Создание и модификация макета таблицы
- •10.15.2. Работа с таблицей
- •10.15.3. Форма
- •10.15.4. Таблица и форма
- •Вопросы и задания
- •10.16. Связь между таблицами и целостность данных
- •10.16.1. Общие положения
- •10.16.2. Техника создания связей между таблицами
- •Вопросы и задания
- •10.17. Запрос-выборка в ms Access
- •10.17.1. Что такое запрос?
- •10.17.2. Как создать запрос-выборку
- •10.17.3. Запрос с параметром
- •Вопросы и задания
- •10.18. Отчеты
- •Итоговое задание по реляционным бд
- •Ответьте на вопросы.
10.15.4. Таблица и форма
Таблица и форма - основные объекты в современных информационных системах. Они неотделимы друг от друга, и очень часто разработчики совмещают их в одном окне документа, на разных вкладках. Основную идею такого подхода мы проиллюстрируем фрагментом телефонного справочника, описанного, в п.10.4 и включенного в современную ИС «Вариант» (п.10.20).
Таблица - это просто список экземпляров объекта (рис. 10.13), и в нем находятся лишь «ключевые», основные столбцы, - например, фамилии лиц и их должности или номера телефонов и имена абонентов. Такой список можно просматривать, но изменять его нельзя.
Выделив какую-либо строку списка, вы можете щелкнуть на вкладке Форма и получить более подробные сведения о выделенном экземпляре объекта (рис. 10.14).
Обратите внимание на кнопку со знаком вопроса у поля Категория. Эта кнопка эквивалентна кнопке раскрывающегося списка и позволяет выдать на экран классификатор категорий (а затем выбрать из него категорию: «Родственники», «Магазины» и т. п.).
На вкладке Форма вы можете и просмотреть данные по выделенному экземпляру объекта, и модифицировать их, и ввести новый экземпляр объекта.
Вопросы и задания
1. Что такое свойства поля в MS Access?
2. Пользуясь экранными подсказками, составьте перечень свойств поля для каждого типа данных, допустимого в MS Access.
3. Пользуясь экранными подсказками, изучите свойство поля «Маска ввода». В каких случаях удобно использовать маску ввода?
4. Объясните смысл свойства «Обязательное поле».
5. Перечислите основные операции, которые можно проводить в окне таблицы (рис. 10.9).
6. Пользуясь кнопками на панели инструментов, рассортируйте таблицу заказы (рис. 10.9) по возрастанию кода клиента, а затем - по убыванию дат.
7- Что такое фильтр? Установите и примените несколько фильтров к таблице заказы (рис. 10.9). Можно ли использовать фильтр с формой?
8. Пользуясь экранными подсказками, изучите функции кнопок панели инструментов для таблицы в оперативном режиме.
9. Чем отличается форма от таблицы? В чем преимущества применения формы?
10. Пользуясь Мастером форм, вставьте в форму (рис. 10.12) поле со списком «Код продукта».
11. Как используются таблицы и формы в информационных системах?
10.16. Связь между таблицами и целостность данных
10.16.1. Общие положения
Между одноименными полями двух таблиц MS Access автоматически устанавливает связь. Например, между таблицами
SLOVKAT и TELEFON устанавливается связь по полю катег.
Что это означает?
Это означает, что при формировании запроса к этой паре таблиц Access сможет объединить строки таблиц, в которых значения поля катег совпадают. Например, вы создали запрос, в котором потребовали выдать на экран список телефонов из TELEFON с указанием наименования категории абонента. Access соединит каждую запись с конкретным наименованием из SLOVKAT (например, Друзья) со всеми записями TELEFON, в которых значение поля катег совпадает со значением этого поля в записи SLOVKAT (например, ДР).
Кроме того. Access позволяет вручную установить связь между таблицами по разноименным полям, однако этой возможностью лучше не пользоваться: это запутывает и аналитиков, и пользователей.
! В общем случае допускается связь по двум, трем и более одноименным полям, но для простоты изложения этот случай мы не рассматриваем.
Целостность данных. Итак, если установлена связь между двумя таблицами (автоматически или вручную), данные из обеих таблиц можно объединять. Иногда этого достаточно (например, при ведении простого телефонного справочника), однако при создании серьезных баз данных нам придется позаботиться о дополнительных средствах контроля связанных данных, вводимых в разные таблицы. Например, при ведении таблицы заказы (см. п. 10.15.2) нельзя допустить случайный ввод в эту таблицу данных о несуществующих клиентах или продуктах, нельзя удалять из словарей записи о клиентах, которые заказывают продукты и т. п.
Механизм, который обеспечивает согласованность данных между двумя связанными таблицами, называется так: поддержка целостности данных. Чтобы обеспечить целостность данных, при установлении связи между двумя таблицами нужно активизировать переключатель, описанный в п. 10.16.2.
Если пользователь включил механизм поддержки целостности, он должен одновременно указать тип связи: «Один-к-Одному» или «Ояин-ко-Многим» (см. п.10.12).
Целостность данных означает;
1) в связанное поле подчиненной таблицы можно вводить только те значения, которые имеются в связанном поле главной таблицы (например, в таблицу заказы нельзя ввести запись с кодом клиента, который отсутствует в таблице клиенты);
2) из главной таблицы нельзя удалить запись, у которой значение связанного поля совпадает хотя бы с одним значением того же поля в подчиненной таблице (например, из таблицы клиенты нельзя удалить код клиента, который еще не удален из таблицы заказы).
• При попытке нарушить эти запреты, MS Access выдает сообщение об ошибке.
Каскадное обновление и удаление записей. Включив механизм поддержки целостности, вы можете (но не обязаны) потребовать, чтобы при модификации данных система запускала следующие процессы:
• каскадное обновление связанных полей',
• каскадное удаление связанных записей.
Каскадное обновление означает, что изменение значения связанного поля в главной таблице (например, кода клиента) автоматически будет отражено в связанных записях подчиненной таблицы. Например, если вы замените в таблице клиенты код клиента 80 на 85, то код клиента 80 во всех записях таблицы заказы изменится на 85.
Каскадное удаление означает, что при удалении записи из главной таблицы (например, записи с кодом клиента 20), из подчиненной таблицы будут удалены все записи, у которых значение связанного поля совпадает с удаляемым значением (например, клиенты с кодом 20).
