- •I. Иерархическая модель
- •II. Сетевая модель
- •III. Реляционная модель
- •Базовые понятия реляционных баз данных (рбд)
- •Правила (нормализации) построения реляционной бд
- •Реляционная система управления базами данных (рсубд)
- •Создание таблицы бд с помощью Конструктора
- •Задание имени поля
- •Окно бд в Access
- •Основные объекты субд Access
- •Режимы работы с объектами
- •Определение типа данных
- •Описание свойств полей
- •Определение ключевого поля
- •Сохранение таблицы
- •Ввод данных
- •Сортировка данных в таблице
- •Целостность данных
- •Каскадные операции
- •Удаление (изменение) связей
- •Понятие запроса к базе данных
- •Создание запросов выбора с помощью Конструктора
- •Добавление (удаление) полей в Бланке запроса
- •Сортировка результатов выборки
- •Запуск запроса
- •Вычисляемые поля в запросах. Построитель выражений.
- •Формирование Условий отбора
- •Сложные критерии выборки
- •Условие отбора для даты и времени
- •Функции Iif( ) и Format( )
- •Проектирование параметрических запросов
- •Проектирование итоговых запросов
- •Проектирование перекрестных запросов
- •1. Основная литература:
- •2. Дополнительная литература:
Каскадные операции
Целостность данных в связанных таблицах обеспечивают каскадные операции двух видов:
операции каскадного обновления;
операции каскадного удаления.
Эти операции можно включать и выключать путем установки соответствующих флажков: «Каскадное обновление связанных полей» и «Каскадное удаление связанных полей».
Если установлен флажок «Каскадное обновление связанных полей», то любые изменения в значении ключевого поля в главной таблице, которая стоит на стороне «один» в отношениях 1:М, ведут к автоматическому обновлению соответствующих значений во всех связанных записях.
При установке флажка «Каскадное удаление связанных таблиц» при удалении записи из главной таблицы обеспечивается автоматическое удаление связанных записей в подчиненных таблицах.
Удаление (изменение) связей
Открыть окно Схема данных;
активизировать левой кнопкой мыши связь, которую необходимо удалить (изменить);
правой кнопкой мыши вызвать контекстно-зависимое меню и выбрать команду Удалить (Изменить) соответственно.
9. Типы отношений между таблицами
Существует три типа отношений между таблицами:
Один-к-одному (1:1). Значению ключа в каждой записи в главной таблице могут соответствовать значения в связанном поле только в одной записи подчиненной таблицы. В этом случае связь между таблицами может быть установлена только через ключевые поля обеих таблиц.
Один-ко-многим (1:М). Значению ключа в каждой записи в главной таблице могут соответствовать значения в связанном поле (полях) в нескольких записях подчиненной таблицы. Этот тип отношения довольно часто используется в реляционных БД.
Много-ко-многим (М:М). Возникает между двумя таблицами, когда одна запись с первой таблицы А (выходная связь) может быть связана больше чем с одной записью другой таблицы В (принимающая), в свою очередь, одна запись с другой таблицы может быть связана больше чем с одной записью первой таблицы. Эта схема реализуется только при помощи третьей соединительной таблицы, ключ связи которой состоит, как минимум, из двух полей. Эти поля являются полями внешнего ключа в таблицах А и В. Первичный ключ для соединительной таблицы – это обычно комбинация из внешних ключей.
Если между таблицами имеются связи типа М:М, создается дополнительная таблица пересечений, с помощью которой связь М:М будет сведена к двум связям типа 1:М. Accеss не позволяет определить прямую связь М:М между двумя таблицами.
10. Формирование запросов
Понятие запроса к базе данных
Запрос (query) есть механизм выбора и представления информации из базы данных. Запрос направляется пользователем или программой в СУБД для поиска отдельных записей в базе данных. Вопрос, сформированный по отношению к базе данных, и есть запрос.
Access позволяет создавать запросы на выборку и активные запросы. Они могут быть однотабличными (в качестве исходной информации используются данные одной таблицы) и многотабличными (в качестве исходной информации используются данные нескольких таблиц).
Запрос на выборку – это наиболее часто используемый тип запроса, который задает вопрос базе данных и отображает полученный ответ виде динамического набора данных. Среди запросов на выборку можно выделить следующие:
простой запрос на выборку – выбирает данные из взаимосвязанных таблиц или других запросов с учетом условий пользователя. Результатом его является таблица, которая существует до закрытия запроса;
запросы с групповыми операциями (итоговый запрос) – выполняют вычисления с использованием данных из групп записей;
запросы с параметром (параметрический запрос) – это запросы, в которых критерий отбора может задать сам пользователь, введя нужный параметр при вызове запроса;
запросы с вычислениями – позволяют осуществлять вычисления над полями БД;
перекрестные запросы – обеспечивают создание результирующей таблицы на основе расчетов, полученных при анализе группы таблиц. С помощью данного запроса можно сгруппировать большой объем информации и представить его в удобном для восприятия виде.
Активные запросы, или запросы-действия, вносят изменения в саму БД. Среди них выделяют следующие:
запросы на создание таблицы - создают новую таблицу БД, в которой сохраняется результат запроса;
запросы на обновление - изменяют информацию в полях таблицы БД;
запросы на добавление - производят добавление записей из таблицы с результатами запроса в таблицу БД;
запросы на удаление - удаляют группу записей из одной таблицы или нескольких взаимосвязанных таблиц базы, для которых задано каскадное удаление связанных записей.
Для выборки информации из БД предназначены Мастера запросов и Конструкторы запросов.
Запрос по образцу (QBE) – средство для отыскания необходимой информации в базе данных (из одной или нескольких таблиц), обычно путем занесения известных значений в таблицу. Запрос формируется не на специальном языке, а путем заполнения бланка запроса в окне Конструктора запросов. Указываются критерии выборки записей в исходной таблице. С точки зрения пользователя, конструирование запроса – это просто пометка нужных элементов формы в окне Конструктора запросов.
