- •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. Терминология модели «Клиент-сервер». Логические компоненты модели.
23. Запросы, вносящие изменения. Проблемы, возникающие при работе с ними.
Запрос, вносящий изменения, можно рассматривать как обычный запрос на выборку, который должен еще выполнить некоторые операции над указанной группой записей. Чтобы перейти к требуемому типу запроса нужно выбрать в меню конструктора запроса один из нескольких типов запросов на изменения: Создание таблицы, Обновление, Добавление, Удаление. После создания одного из этих запросов в окне базы данных появится пиктограмма с !:
Практически запросы, вносящие изменения, можно использовать в следующих случаях:
• для удаления из таблицы или группы таблиц указанных записей;
• для добавления записей из одной таблицы в другую;
• для обновления информации в группе записей;
• для создания новой таблицы из записей, указанных в запросе.
Типичное применение запросов на удаление - удаление давно не используемых записей или записей, устаревших по какому-либо критерию.
Применение запроса на добавление: старый покупатель сделал заказ - взять записи о нем из архивной таблицы и перенести в оперативную базу.
Специфика:
Необходимо учитывать, что действия таких запросов необратимы, поэтому желательно создавать резервные копии БД и проверять данные.
Один из приемов - сначала сделать запрос на выборку и предоставить возможность просмотра результата, затем сделать такой же запрос, но преобразовать его в запрос на обновление (или другое изменение). Для преобразования запроса используется команда Запрос Обновление. При этом изменится заголовок запроса (слово «выборка» заменится словом «обновление») и в бланке запроса появится строка «обновление», в которой вписывается значение обновляемого поля.
Новые значения можно вставить в любые поля этой строки, включая те, которые содержат условия выбора.
Д ля запуска запроса нажать кнопку
После запуска можно убедиться в правильности, вернув запрос в положение «Выборка» (очевидно, что если обновлялись поля отбора, то там нужно проставлять уже новое значение).
Подобным образом создается запрос на создание таблицы. Например, необходимо составить таблицу всех покупателей, сделавших заказ в последние месяцы, чтобы разослать купоны, дающие скидку.
Нажать или кнопку «Тип запроса» или «Запрос / Создать таблицу» в меню, появится диалоговое окно для ввода имени таблицы и указания в какой БД делать таблицу.
Как и в других случаях появится информационное сообщение о количестве записей.
В таблице, построенной с помощью запроса на создание, поля унаследуют только тип данных полей таблицы запроса - никакие другие свойства сохранены не будут. При необходимости указание первичного ключа или другие свойства изменения нужно вносить непосредственно в новую таблицу.
Типичное применение запроса на создание новой таблицы - создание резервных копий.
Запросы на добавление.
Условия применения:
1. Если таблица, в которую добавляют записи, имеет ключевое поле, то добавляемые записи не могут иметь в этом поле NULL или повторяющихся значений.
2. При добавлении в другую БД необходимо знать ее местоположение и имя.
3. Если добавляются записи с полем Счетчик (ключевое поле), добавлять само поле Счетчик не следует (если в таблице, куда добавляем, уже есть это поле см. П.1).
Все остальное аналогично предыдущим.
Запросы на удаление.
Особенность этих запросов в том, что если затронуты связи, для которых включена «Целостность данных» и «Каскадное удаление», то автоматически оно пройдет по всем связям.
Запрос на удаление удаляет данные безвозвратно.
Проблемы, возникающие при работе с запросами на изменение.
• Могут появиться сообщения о том, что утеряно несколько записей из-за возможности разрушения ключа, или записи могут быть заблокированы на время выполнения запроса.
• Если тип данных добавляемых записей не подходит, то записи создаются (ключи), но пустые.
• При добавлении записей может возникнуть конфликт ключевых полей, поскольку Access не допускает обновления ключевого поля если оно уже задано. Изменять его можно только в случае отсутствия связи с полями других таблиц.
• Не позволяется удаление содержимого поля со стороны «один» при связи «один ко многим» до удаления всех записей со стороны «многие».
Заблокированные поля относятся к многопользовательской среде. При таком обстоятельстве необходимо решить продолжать ли выполнение запроса (или прервать его). Если продолжить, то он выполнится для незаблокированных записей, но потом будет трудно определить недостающие записи.
При добавлении или изменении текстовых полей с превышением длины произойдет усечение (без выдачи каких-либо сообщений).
Сохранение запросов.
При сохранении запроса Access может переупорядочить или уничтожить некоторые поля, руководствуясь следующими правилами:
• Если для поля не включена опция «Вывод на экран», но указаны условия отбора, оно расположится справа.
• Если для поля не включена опция «Вывод на экран» и не указаны условия отбора или сортировки, оно будет удалено из запроса.
Иногда нужно при отображении запроса переименовать поле. При этом нужно набрать новое имя перед имеющимся и разделить их двоеточием. Например,
Имя Покупателя : Customer Name