- •2. Модели бд: простая двумерная структура, иерархическая структура, реляционная модель.
- •708 Тульский механический завод.
- •3. Понятия первичного и внешнего ключа.
- •9. Задача поиска информации. Индексные файлы, их структура и принцип работы, хеширование.
- •10. Проблема достоверности информации, семантические ошибки. Защита и сохранность бд.
- •11. Оперативные таблицы, справочники, словари.
- •12. Функции универсальной информационной системы (основные и вспомогательные). Документальные системы.
- •13. Структура интерфейса субд «Access». Объекты, режим конструктора. Создание таблицы в режиме конструктора, типы полей, свойства полей.
- •14. Определение связей между таблицами, типы связей, их обозначение и просмотр. Понятие целостности данных.
- •15. Присоединённые таблицы, ввод изменение и просмотр данных.
- •16. Создание простых форм. Типы форм. Элементы форм.
- •1 7. Понятие запроса, типы запросов, создание простого запроса.
- •18. Понятие отчёта, создание простых отчётов.
- •19. Анализ таблиц, понятие подстановки.
- •20. Создание связей и объединений в запросах. Ограничения в многотабличных запросах.
- •21. Создание связей для запросов. Объединения и их типы. Объединение в запросе двух копий одной таблицы (самообъединение).
- •22. Использование в запросе автоподстановки для автоввода данных. Создание параметризованных запросов.
- •23. Запросы, вносящие изменения. Проблемы, возникающие при работе с ними.
- •24. Создание и использование подчинённых форм (с помощью мастера и без него). Связывание главной и подчинённой форм. Создание итогов в подчинённых формах.
- •25. Язык sql, его основные команды и их структура, понятие предиката. Понятие транзакции.
- •26. Команда select, устранение избыточности данных - distinct. Определение выборки - where.
- •27. Операторы in, between... And, like, is null.
- •28. Применение функций агрегирования, специальные атрибуты в count, скалярные выражения.
- •29. Предложения group by и having.
- •30. Форматирование результатов запросов, упорядочивание выходных полей, команда order by.
- •32. Вложенные запросы (подзапросы). Связанные подзапросы, оператор exists.
- •33. Объединение множества запросов в один - предложение union.
- •34. Построение запросов для ввода, удаления и изменения значений полей. Вставка результата запроса в таблицу.
- •35. Создание, изменение и удаление таблиц. Понятие представления (View).
- •38. Терминология модели «Клиент-сервер». Логические компоненты модели.
20. Создание связей и объединений в запросах. Ограничения в многотабличных запросах.
Чаще всего запрос строится на основе нескольких связанных таблиц. В конструкторе запроса имеется возможность выбора нужных таблиц и добавления их в верхнюю часть окна.
При отображении нескольких таблиц связи появляются автоматически. Если был установлен флажок «Целостность данных», то это отображается утолщениями на концах.
Д аже если связь между таблицами не установлена, Access объединит таблицы автоматически при наличии следующих условий:
- в обеих таблицах есть поля с одинаковыми именами;
- поля с одинаковыми именами имеют один и тот же тип;
- в одной из таблиц такое поле является первичным ключом.
Свойство автообъединения может быть отключено в глобальных параметрах Сервис Параметры. Наименее интуитивно понятно перемена местоположения столбца в таблице. Вторая особенность, требующая пояснений - символ * в верхней части окна таблицы.
Он также как и везде означает групповую операцию (*- представитель группы). Сразу все поля можно перетащить в запрос.
Ограничения в многотабличных запросах
Запрос является виртуальной таблицей, но специфической, поскольку на ее редактирование накладываются некоторые ограничения.
Чтобы иметь возможность редактировать таблицу посредством запроса, величина в заданной записи запроса должна быть представлена одной записью таблицы. Т.е. нельзя изменять поля в перекрестных запросах или других итоговых запросах, так как они не отображают выбранные из редактируемых таблиц данные, а отображают результаты обработки.
Существуют следующие правила редактирования для запросов:
Тип запроса или поля |
Возможность редактирования |
Одна таблица |
да |
Отношение один к одному |
да |
Отношение один ко многим |
как правило |
Перекрестный запрос |
нет |
Обобщающие запросы Sum и т.п. |
нет |
Рассчитываемые поля |
нет |
Поля, заблокированные другим пользователем |
нет |
Редактирование полей справочников
Иногда возникает необходимость изменить поля связи в обеих таблицах. При этом создается новое значение первичного ключа (со стороны «один»), а со стороны «многие» происходит каскадное обновление связанных полей, для чего для данной связи должна быть включена «Целостность данных» и «Каскадное обновление». При отборе полей для запроса возникает вопрос, какое поле брать из связанных.
Практические правила по созданию запросов, обновляющих содержимое полей.
• Предпочтительнее включать в запрос поле связи из таблицы со стороны «многие», а не со стороны «один».
• Для обеспечения добавления записей в обе таблицы со связью «один ко многим» в запрос следует включить поле связи со стороны многие.
• Если необходимо запретить обновление любого поля, задайте для свойства формы «Разрешить изменения»- НЕТ.
• Если нужно запретить изменение для некоторых полей в форме нужно задать ДА для свойства «Блокировка» элемента управления этих полей.
• Изменив в запросе записи, находящиеся в таблице со стороны «один» нельзя вносить изменения в таблице со стороны «многие» до тех пор, пока внесенные изменения не будут сохранены.