Много-многозначные связи не могут непосредственно реализоваться в реляционной базе данных. Поэтому, если выявлены такие связи, их может понадобиться преобразовать, путем введения дополнительного объекта «связка». Исходные объекты будут связаны с этим объектом одно-многозначными связями. Объект-связка является подчиненным в одно-многозначных связях по отношению к каждому из исходных объектов. Покажем схему преобразования связи типа M:N через объект, выполняющий роль «связки».
|
M:N
![]() |
|
|
Обеспечение целостности данных
При создании схемы данных пользователь включает в нее таблицы, устанавливает связи между таблицами. Для связей типа 1:1 и 1:М можно задать параметр обеспечения целостности данных, а также автоматическое каскадное обновление и удаление связанных записей.
Обеспечение целостности данных означает выполнение для взаимосвязанных таблиц перечисленных ниже условий корректировки базы данных:
- в подчиненную таблицу нельзя добавлять запись с несуществующим в главной таблице значением ключа связи;
- в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
- изменение значений ключа связи главной таблицы должно приводить к изменению соответствующих значений в записях подчиненной таблицы.
При попытке пользователя нарушить эти условия Access выводит соответствующее сообщение и не допускает выполнения операции.
Установление между двумя таблицами связи типа 1:М или 1:1 и задание параметров целостности данных возможно при следующих условиях:
- связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными,
- обе таблицы сохраняются в одной базе данных Access,
- главная таблица связывается с подчиненной по первичному простому или составному ключу (уникальному индексу) главной таблицы.
Если между таблицами в схеме данных установлена связь с параметрами обеспечения целостности, Access автоматически отслеживает целостность данных. При вводе некорректных данных в связанные таблицы выводится сообщение. Access не позволяет создавать связи с параметрами целостности в схеме данных, если ранее введенные в таблицы данные не отвечают требованиям целостности.
Каскадное обновление и удаление связанных записей
Если для выбранной связи обеспечивается поддержание целостности, можно задать режим каскадного обновления и удаления связанных записей.
В режиме каскадного обновления связанных записей при изменении значения в поле связи главной таблицы Access автоматически изменит значения в соответствующем поле в подчиненных записях.
В режиме каскадного удаления связанных записей при удалении записи из главной таблицы Access выполняет каскадное удаление подчиненных записей на всех уровнях. В таком режиме при удалении записи из главной таблицы автоматически удаляются все связанные записи в подчиненных таблицах.
При удалении записей через форму или непосредственно в таблице выводится предупреждение о возможности удаления связанных записей. Однако при удалении записей с помощью запроса на удаление записи в связанных таблицах удаляются автоматически без вывода предупреждения.
Поиск записей
Для поиска записей таблицы по заданному значению поля нужно нажать кнопку панели инструментов Найти или выполнить команду меню Правка/Найти. Курсор целесообразно предварительно установить в это поле. В окне Поиск в поле: <Имя поля> строка Образец заполняется задаваемым значением поля, устанавливается область поиска Только в текущем поле. Это означает поиск по текущему полю во всех записях. Направление поиска устанавливается в строке Просмотр. После нажатия в диалоговом окне кнопки найти отыскивается первая запись, удовлетворяющая условию поиска.
Сортировка записей
Сортировка записей в порядке возрастания или убывания значений одного поля. Она может быть выполнена как в режиме таблицы, так и в режиме формы. Для чего курсор устанавливается в поле сортировки и нажимается соответствующая кнопка на панели инструментов.
Сортировка записей может быть выполнена также командой меню Записи/Сортировка.
Отбор записей с помощью фильтра
Для просмотра и корректировки записей БД предусмотрена фильтрация таблицы. Фильтр – это набор условий, применяемый для отбора подмножества записей из таблицы, формы или запроса.
Фильтр по выделенному. Простейшим способом задания условия отбора записей является выделение в таблице или форме некоторого значения поля или его части. Рассмотрим этот способ фильтрации на примере таблицы СТУДЕНТ.
§ Пусть нужно найти все записи о студентах, фамилии которых начинаются с буквы К.
Откроем таблицу СТУДЕНТ в режиме таблицы. выделим букву К в поле ФИО одной из записей, где фамилия начинается с этой буквы. Выполним команду меню Записи/Фильтр/Фильтр по выделенному или нажмем соответствующую кнопку на панели инструментов. В результате фильтрации в таблице будут отображены только записи, в которых фамилия студента начинается с К.
§ На полученном подмножестве записей продолжим фильтрацию по дополнительному условию отбора. Среди найденных студентов выберем тех, кто родился в 1990году.
Для этого в поле ГОДР выделим одну запись с значением 1990. После выполнения команды Фильтр по выделенному из всех записей в таблице останутся только те, в которых поле ГОДР имеет значение 1990.
Отменить действие фильтра, чтобы работать со всеми записями таблицы, можно выполнить команду меню Записи/Удалить фильтр или нажав соответствующую кнопку на панели инструментов.
Обычный и расширенный фильтр. Обычный фильтр вызывается командой меню Записи/Фильтр/Изменить фильтр, а расширенный командой Записи/Фильтр/Расширенный фильтр.
Для уничтожения фильтра надо нажать кнопку Очистить бланк и затем кнопку Применить фильтр на панели инструментов Фильтр/сортировка. Только при этом фильтр, сохраняемый с таблицей уничтожается.
Для сохранения подготовительного фильтра для дальнейшего надо выполнить команду Сохранить как запрос. Чтобы заново не создавать новый фильтр, необходимо использовать уже созданный фильтр, выполнив команду Загрузить из запроса. В окне Применяемый фильтр выбирается нужный фильтр.
Запросы
Основным инструментом обработки данных являются запросы. Запрос строится на основе одной или нескольких таблиц. Могут использоваться таблицы базы данных и сохраненные таблицы, полученные в процессе выполнения других запросов. Запрос может строиться на другом запросе с использованием его временной таблицы с результатами.
Запрос позволяет выбрать данные из одной или нескольких взаимосвязанных таблиц, произвести вычисления и получить результат в виде таблицы. Через запрос можно производить обновление данных в таблицах, добавление и удаление записей.
С помощью запроса можно выполнить следующие виды обработки данных:
¾ выбрать записи, удовлетворяющие условиям отбора,
¾ включить в результирующую таблицу запроса заданные пользователем поля,
¾ произвести вычисления в каждой из полученных записей,
¾ сгруппировать записи с одинаковыми значениями в одном или нескольких полях для выполнения над ними групповых функций,
¾ произвести обновление полей в выбранном подмножестве записей,
¾ создать новую таблицу базы данных, используя данные из существующих таблиц,
¾ удалить выбранное подмножество записей из таблицы базы данных,
¾ добавить выбранное подмножество записей в другую таблицу.
Многотабличный запрос позволяет сформировать записи путем объединения взаимосвязанных записей из таблиц базы данных и включения нужных полей из нескольких таблиц.
В Access может быть создано несколько видов запросов:
¾ Запрос на выборку.
¾ Запрос на создание таблицы.
¾ Запрос на обновление.
Основные принципы конструирования запроса заложены в технологии конструирования запроса на выборку, являющегося основой всех видов запроса.
Запрос на выборку позволяет выбрать данные из одной или нескольких взаимосвязанных таблиц. Результаты выполнения запроса отображаются в виде таблицы. Записи этой таблицы формируются на основе задаваемых запросов условий отбора записей в исходных таблицах и связей между этими таблицами, имеющихся в схеме данных запроса. Поля, составляющие записи результата, указываются пользователем в бланке запроса.
Таблица с результатами запроса может применяться при дальнейшей обработке данных. В запросе на выборку могут использоваться не только таблицы базы данных, но и ранее созданные запросы. Результаты выполнения запроса выводятся в режиме таблицы.
Условием отбора является выражение, которое состоит из операторов сравнения и операндов, используемых для сравнения. В качестве операндов могут использоваться литералы, константы, идентификаторы(ссылки). Литералом является значение, которое не воспринимается как значение переменной или результат выражения, например, число, строка, дата.
Идентификатор представляет собой ссылку на значение поля, элемент управления или свойство. Идентификаторами могут быть имена полей, таблиц, запросов, форм и отчетов. Они должны заключаться в квадратные скобки. Если необходимо указать ссылку на поле в конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком.
Средства Access по разработке отчетов предназначены для создания макета отчета, по которому может быть осуществлен вывод данных из таблицы в виде выходного печатного документа. Эти средства позволяют конструировать отчет сложной структуры, обеспечивающий вывод взаимосвязанных данных из многих таблиц. При этом могут быть выполнены самые высокие требования к оформлению документа.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |



