Файл: Методическое пособие к выполнению самостоятельной и лабораторных работ и курсового проекта по дисциплине Организация баз данных для студентов направления подготовки бакалавров.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.10.2023
Просмотров: 69
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
12
определить как данные таблицы связаны между собой, для обеспече- ния полноценной работы с БД – эти связи Access будет использовать в запросах, формах и отчетах.
Для определения связей в БД необходимо в меню Сервис выбрать пункт Схема данных, либо нажать кнопку на панели управления
В результате откроется диалоговое окно Схема данных, а затем – диа- логовое окно Добавление таблицы, в котором следует выбрать соеди- няемые таблицы.
При установлении связи необходимо помнить, что для второй
(подчиненной) таблицы должен быть определен внешний ключ – поле, предназначенное для связи с главной таблицей тип данных и размер которого совпадают с полем первичного ключа главной таблицы.
Например, для сопоставления сведений о товарах и оплате за продан- ный товар следует определить связь по полю «Код_товара» в двух таб- лицах: «Список товаров» (Код_товара, Наименование, Единица изме- рения) и «Оплата» (Код_товара, Дата_продажи, Сумма). В первой таб- лице общее поле является первичным ключом, а во второй – внешним ключом.
Для установления непосредственной связи между двумя выбран- ными таблицами следует перенести с помощью мыши ключевое поле одной таблицы в другую. В результате откроется диалоговое окно Свя- зи (Рисунок 3).
Рисунок 3 – Окно изменения связей между таблицами
В этом окне следует выбрать опцию Обеспечение целостности данных, после чего выбрать пункты Каскадное обновление связанных полей и Каскадное удаление связанных записей, тем самым, обеспечив требование целостности по ссылкам. Для сохранения связи нажмите кнопку Создать, в результате чего в окне Схема данных будет отобра- жена связь между выбранными таблицами (Рисунок 4).
13
Рисунок 4 – Определение связей между таблицами
В СУБД MS Access допускаются следующие типы связей:
«один-ко-многим» является наиболее часто используемым типом связи между таблицами. Например, между таблицами «Список Това- ров» и «Оплата» существует отношение «один-ко-многим»: товар од- ного наименования может продаваться различным покупателям, но каждая оплата была произведена за определенный товар.
"многие-ко-многим" реализуется только с помощью третьей таблицы, ключ которой состоит из ключевых полей тех таблиц, кото- рые необходимо связать. Например, между таблицами «Сотрудники» и
«Должности» имеется отношение «многие-ко-многим», поскольку один сотрудник может занимать несколько должностей и на одну должность может занимать несколько сотрудников, такая связь может быть реализована с помощью дополнительной таблицы «Занимаемые должности».
«один-к-одному». В этом случае каждая запись в одной таблице может быть связана только с одной записью в другой таблице и наобо- рот. Этот тип связи используют редко, поскольку такие данные могут быть помещены в одну таблицу. Например, такую связь используют для разделения очень больших по структуре таблиц, для отделения части таблицы по соображениям защиты и т.п.
Следует помнить, что нельзя изменить тип данных для поля, ко- торое связывает таблицу с другой таблицей. Предварительно нужно удалить установленную связь.
После создания схемы базы данных необходимо заполнить со- зданные таблицы, для чего выберите нужную таблицу и нажмите кнопку «Открыть» в окне Базы данных.
14
Лабораторная работа № 2 «Создание запросов с
помощью построителя запросов в среде MS
Access»
Тема: Создание запросов с помощью построителя запросов в
среде MS Access
Цель работы: создать запросы на выборку, на выборку с пара-
метрами, на обновление записей, на удаление записей в созданных ра-
нее таблицах.
Типы запросов, создаваемых в Microsoft Access
В среде MS ACCESS можно создавать следующие типы запросов:
запросы на выборку;
запросы с параметрами;
перекрестные запросы;
запросы на изменение (запросы на создание таблицы, удале- ние, обновление, добавление записей);
запросы SQL (запросы на объединение, запросы к серверу, управляющие запросы, подчиненные запросы).
Наиболее часто используемым запросом является запрос на вы- борку, возвращающий данные из одной или нескольких таблиц, а так- же результаты, которые при желании пользователь может изменить.
Запрос на выборку можно использовать для группировки записей, для вычисления сумм, средних значений, пересчета и других действий.
Запрос с параметрами – это запрос, содержащий в себе условие для возвращения записей или значение, которое должно содержаться в поле таблицы. Например, можно создать запрос, в результате которого выводится приглашение на ввод временного интервала. В результате будут возвращены все записи, находящиеся между двумя указанными датами.
Запросы на изменение – это запросы, при запуске которых за одну операцию вносятся изменения в несколько записей. Существует четы- ре типа запросов на изменение: на удаление, на обновление и добавле- ние записей, а также на создание таблицы.
Запрос на удаление удаляет группу записей из одной или не- скольких таблиц. С помощью запроса на удаление можно удалить только всю запись, а не содержимое отдельных полей внутри нее.
Запрос на удаление позволяет удалить записи как из одной табли- цы, так и из нескольких таблиц со связями «один-к-одному» или с
15
«один-ко-многим», если при определении связей было установлено каскадное удаление.
Запрос на обновление записей вносит общие изменения в группу записей одной или нескольких таблиц. Например, можно с помощью одного запроса увеличить на 30 процентов стипендию студентов 3-го курса. Запрос на обновление записей позволяет изменять данные толь- ко в существующих таблицах.
Порядок выполнения работы
Все запросы, создаваемые в рамках данной лабораторной работы, должны быть реализованы с помощью построителя запросов в режиме конструктора (Рисунок 5).
Рисунок 5 – Бланк построителя запросов
Для создания нового запроса в окне базы данных (Рисунок 1) перейдите на вкладку Запросы и нажмите кнопку Создание запроса в режиме конструктора. В появившемся окне (Рисунок 6) выберите таб- лицу (таблицы) – источник запроса. Если запрос уже открыт, то для перехода в режим конструктора следует нажать кнопку Вид на панели инструментов.
16
Рисунок 6 – Добавление таблицы
По умолчанию, любой запрос, создаваемый с помощью конструк- тора является запросом на выборку. Для изменения типа запроса в ме- ню Запрос следует выбрать тип создаваемого запроса либо на панели инструментов нажать кнопку Тип запроса
Для сохранения запроса необходимо нажать кнопку на панели инструментов и ввести имя запроса, под которым он будет сохранен.
Создание запроса на выборку
При создании запроса на выборку, необходимо определить поля, которые будут содержаться в результирующем наборе данных, для этого в строке «Имя таблицы» (Рисунок 7) выбрать название таблицы, а в строке Поле выбрать названия полей. Для сортировки записей в строке Сортировка можно указать тип сортировки: по возрастанию или по убыванию значений.
17
Рисунок 7 – Запрос на выборку
Связи между таблицами в окне построителя запросов определя- ются по тому же принципу, что и при определении связей в схеме дан- ных. Для запуска запроса нажмите кнопку Запуск на панели ин- струментов.
Создание запроса с параметрами
Различают два типа запросов с параметрами: с приглашением на ввод условий отбора и с явным указанием условия отбора
Запрос с параметрами отображает одно или несколько определен- ных диалоговых окон, выводящих приглашение пользователю ввести условия отбора.
Для создания запроса с параметрами создайте новый запрос на выборку, после чего, в режиме конструктора для каждого поля, для которого предполагается использовать параметр, введите в ячейку строки Условие отбора текст приглашения, заключенный в квадратные скобки. Это приглашение будет выводиться при запуске запроса. Текст подсказки должен отличаться от имени поля, но может включать его
(Рисунок 8), введенное в окне приглашения значение будет являться значением параметра.
При запуске запроса (Рисунок 8) будет выведена подсказка
Наименование товара. Для явного указания условия отбора, в построи- теле запроса, текстовый параметр необходимо заключить в кавычки:
"Сахар", значение числового параметра указывается без дополнитель- ных символов.
18
Рисунок 8 – Запрос на выборку с параметрами
Создание запроса на обновление записей
Для создания запроса на обновление создайте запрос, выбрав таб- лицу или таблицы, включающие записи, которые необходимо обно- вить, и поля, которые должны быть использованы в условиях отбора.
В режиме конструктора запроса нажмите стрелку рядом с кнопкой Тип запроса на панели инструментов и выберите команду Обновление.
Выберите поля, значения которых необходимо обновить, после чего в строку Обновление введите выражение или значение, которое должно быть использовано для изменения полей (Рисунок 9).
Рисунок 9 – Запрос на обновление
19
В строке Условие отбора укажите условие отбора – значения ка- ких записей следует изменить, в противном случае значения выбран- ных полей будут изменены во всех записях таблицы.
Для просмотра обновляемых записей нажмите кнопку Вид на панели инструментов. Выводимый список будет содержать значения, которые будут изменены. Для возврата в режим конструкто- ра запроса снова нажмите кнопку Вид на панели инструментов.
Для запуска запроса нажмите кнопку Запуск на панели инстру- ментов. Чтобы остановить выполнение запроса, нажмите клавиши
Ctrl+Break.
Создание запроса на удаление
Для создания запроса на удаление создайте запрос, выбрав табли- цу, содержащую записи, которые необходимо удалить.
В режиме конструктора запроса нажмите стрелку рядом с кноп- кой Тип запроса на панели инструментов и выберите команду
Удаление либо выберите тип запроса в меню Запрос.
Следует помнить, что при удалении записей с помощью запроса на удаление отменить данную операцию невозможно. Следовательно, прежде чем выполнить данный запрос, необходимо просмотреть вы- бранные для удаления данные. Для этого на панели инструментов нажмите кнопку Вид и просмотрите в режиме таблицы удаляемые записи.
Для избежания удаления всех записей из таблицы в условии от- бора следует указать значение условия для выборки удаляемых запи- сей.
В результате выполнения запроса на удаление будут удалены за- писи из подчиненных таблиц, для которых установлено Каскадное удаление связанных записей.
20
Лабораторная работа № 3 «Работа с формами»
Тема: Работа с формами
Цель работы: создать ленточную, табличную и сложную формы
в базе данных MS Access, используя в качестве источника записей со-
зданные ранее таблицы и запросы.
Формы MS Access
Формы являются типом объектов базы данных, и используются для отображения и ввода данных в таблицы БД. Форму можно также использовать как кнопочную форму, открывающую другие формы или отчеты БД, а также как пользовательское диалоговое окно.
Обычно для формы выбирается источник записей. В базе данных
Microsoft Access источником записей может быть таблица, запрос или инструкция SQL. В проекте Microsoft Access источником записей мо- жет быть таблица, представление, инструкция SQL или сохраненная процедура. Другие выводящиеся в форме сведения, такие как заголо- вок, дата и номера страниц и др., сохраняются в макете формы.
Связь между формой и ее источником записей создается при по- мощи графических объектов, которые называют элементами управле- ния – это объекты графического интерфейса пользователя (такие как поле, флажок, полоса прокрутки или кнопка), позволяющий пользова- телям управлять приложением. Элементы управления используются для отображения данных или параметров, для выполнения действий, либо для упрощения работы с интерфейсом пользователя. Наиболее часто используемым для вывода и ввода данных типом элементов управления является поле.
Существует несколько типов форм: формы можно открывать в виде таблицы, линейной формы и в режиме простой формы. В этих режимах пользователи могут динамически изменять макет формы для изменения способа представления данных. Существует возможность упорядочивать заголовки строк и столбцов, а также применять филь- тры к полям. При каждом изменении макета сводная форма немедлен- но выполняет вычисления заново в соответствии с новым расположе- нием данных.
Форму можно создать тремя различными способами:
При помощи автоформы на основе таблицы или запроса. С помощью автоформ можно создавать формы, в которых выводятся все поля и записи базовой таблицы или запроса. Если выбранный источ- ник записей имеет связанные таблицы или запросы, то в форме также будут присутствовать все поля и записи этих источников записей.
21
При помощи мастера на основе одной или нескольких таблиц или запросов. Мастер задает подробные вопросы об источниках запи- сей, полях, макете, требуемых форматах и создает форму на основании полученных ответов.
Вручную в режиме конструктора. Сначала создается базовая форма, которая затем изменяется в соответствии с требованиями в ре- жиме конструктора.
В ходе выполнения лабораторной работы должны быть созданы
ленточная, табличная и сложная (содержащая подчиненную) формы.
Ленточная форма – это форма, в которой поля, образующие одну запись, расположены в одной строке; их подписи выводятся один раз в верхней части (заголовке) формы.
Табличная форма – это форма, в которой поля записей располо- жены в формате таблицы, где каждой записи соответствует одна стро- ка, а каждому полю один столбец. Имена полей служат заголовками столбцов.
Подчиненной формой называют форму, вставленную в другую форму. Первичная форма называется главной формой, а форма внутри формы называется подчиненной. Комбинацию «форма/подчиненная форма» часто называют также иерархической формой или комбинаци- ей «родительской» и «дочерней» форм.
Подчиненные формы особенно удобны для вывода данных из таблиц или запросов, связанных с отношением «один-ко-многим».
Например, можно создать форму с подчиненной формой для вывода данных из таблицы «Типы» и из таблицы «Товары». Данные в таблице
«Типы» находятся на стороне «один» отношения. Данные в таблице
«Товары» находятся на стороне «многие» отношения — каждый тип может иметь несколько товаров. В главной форме отображаются дан- ные на стороне отношения «один». В подчиненной форме отобража- ются данные на стороне отношения «многие».
Главная форма и подчиненная форма в этом типе форм связаны таким образом, что в подчиненной форме выводятся только те записи, которые связаны с текущей записью в главной форме. Например, когда главная форма отображает тип «Напитки», подчиненная форма отоб- ражает только те товары, которые входят в тип «Напитки».
Порядок выполнения работы
Создание ленточной табличной и макета сложной формы следует осуществлять с помощью мастера форм. Мастер задает подробные вопросы об источниках записей, полях, макете, требуемых форматах и создает форму на основании полученных ответов.