Лабораторная
работа № 9
ПРОФЕССИОНАЛЬНАЯ
РАБОТА С ПРОГРАММОЙ MSACCESS
ЦЕЛЬ
РАБОТЫ: научиться использовать возможности программы
MSAccess 2010 (создавать межтабличные связи, осуществлять
запросы на выборку).
Для выполнения работы необходимо знать назначение
и возможности БД MSAccess, области применения программы в
профессиональной деятельности, правила создания запросов, правила создания
межтабличных связей. уметь создавать и редактировать базу данных,
устанавливать межтабличные связи, осуществлять поиск в БД в режиме запроса.
Выполнение данной
лабораторной работы способствует формированию общих компетенций ОК 1. Понимать сущность и социальную значимость
своей будущей профессии, проявлять к ней устойчивый интерес; ОК 2. Организовывать собственную
деятельность, исходя из цели и способов ее достижения, определенных
руководителем; ОК 5. Использовать информационно-коммуникационные технологии в
профессиональной деятельности.
ВРЕМЯ
ВЫПОЛНЕНИЯ: 90 минут.
ОБОРУДОВАНИЕ: ПК, ОС Windows, ПО MSAccess 2010.
КРАТКАЯ ТЕОРИЯ
И МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ:
Однотабличные и многотабличные базы данных.
Достаточно часто встречается ситуация, когда хранить
всю базу данных в одной таблице неудобно и нерационально. Таблица может
содержать слишком большое количество полей, что неудобно пользователю.
Различные записи при этом во многих полях дублируют друг друга, что увеличивает
информационный объем базы данных и замедляет процедуры ее обработки.
Поясним это на примере. Пусть табличная база данных
«Комплектующие компьютера и поставщики» содержит информацию о различных
комплектующих и имеет поля:«Счетчик», «Наименование», «Описание», «Название фирмы»,
«Адрес», «Цена» (в рублях) - табл. 1.
Счетчик
|
Наименование
|
Описание
|
Название фирмы
|
Адрес
|
Цена
|
1
|
Крыло
ВАЗ 2104 заднее левое
|
Ижевск
|
Фирма1
|
Адрес1
|
2000
|
2
|
Крыло
ВАЗ 2107 заднее левое
|
Начало
|
Фирма2
|
Адрес2
|
540
|
3
|
Капот
ВАЗ 2109
|
Двигатель
|
Фирма1
|
Адрес1
|
1550
|
4
|
Капот
21230-8402010
|
Шеви-Нива
|
Фирма2
|
Адрес2
|
10100
|
5
|
Брызговик
передний 05 лев
|
ВАЗ
|
Фирма1
|
Адрес1
|
1500
|
6
|
Рем
крыла 2705
|
Хвост
\ОДО.К.Д.лев
|
Фирма2
|
Адрес2
|
340
|
7
|
Панель
задняя
|
НИВА
|
Фирма1
|
Адрес1
|
1000
|
8
|
Лонжерон
пола сресредний
|
ВАЗ
|
Фирма2
|
Адрес2
|
550
|
Почти половину объема таблицы составляет избыточная, дублированная
информация. Проанализируем причину дублирования. Комплектующие компьютера имеют
два неотъемлемых свойства: «Наименование» и «Описание». «Название фирмы»,
«Адрес» и «Цена» не являются свойствами комплектующих компьютера, они являются
свойствами поставщика.
Естественно разделить исходную таблицу на две: «Комплектующие»
(табл. 2) и «Поставщики» (табл. 3).
Каждая таблица должна содержать, по крайней мере, одно
ключевое поле, содержимое которого уникально для каждой записи в этой таблице.
В таблицу «Комплектующие» введем поле «Код комплектующих». Именно это поле
будет ключевым в данной таблице.
Код комплекту-ющих
|
Наименование
|
Описание
|
К1
|
Крыло ВАЗ 2104 заднее левое
|
Ижевск
|
К2
|
Крыло ВАЗ 2107 заднее левое
|
Начало
|
КЗ
|
Капот ВАЗ 2109
|
Двигатель
|
К4
|
Капот 21230-8402010
|
Шеви-Нива
|
В таблицу «Поставщики» введем дополнительное поле «Код
поставщика». Именно это поле будет ключевым в данной таблице.
Код поставщика
поставщика
|
Название
фирмы
|
Адрес
|
П1
|
Фирма1
|
Адрес 1
|
П2
|
Фирма2
|
Адрес2
|
Связывание таблиц
После создания различных таблиц, содержащих данные,
относящиеся к различным аспектам базы данных, необходимо обеспечить
целостность базы данных. Для этого надо связать таблицы между собой.
При связи «один-ко-многим» каждой записи в одной
(главной) таблице могут соответствовать несколько записей в другой
(подчиненной) таблице, а запись в подчиненной таблице не может иметь более
одной соответствующей ей записи в главной таблице.
Если одной записи в первой таблице могут
соответствовать несколько записей во второй таблице и, наоборот, одной записи
во второй таблице - несколько записей в первой таблице, то реализуется связь
«многие-ко-многим».
В нашем случае реализуется именно такая связь. Одной
записи в таблице «Комплектующие» соответствуют две записи в таблице
«Поставщики», так как устройства одного типа продаются двумя фирмами. Одной же
записи таблицы «Поставщики» соответствуют четыре записи таблицы
«Комплектующие», так как одна фирма продает устройства четырех типов.
Две таблицы, находящиеся в отношении
«многие-ко-многим», могут быть связаны только с помощью третьей (связующей)
таблицы. Таблицы «Комплектующие» и «Поставщики» можно связать в отношении
«многие-ко-многим» путем создания двух связей «один-ко-многим» по отношению к
таблице «Цена».
Таблицы «Комплектующие» и «Поставщики» будут являться
главными по отношению к таблице «Цена».
Связь между таблицами устанавливает отношения между
совпадающими значениями в полях с одинаковыми именами. С ключевым полем
главной таблицы (первичный ключ) связывается одноименное поле
подчиненной таблицы (внешний ключ).
В главной таблице «Комплектующие» поле «Код комплектующих»
является первичным ключом, соответственно в подчиненной таблице «Цена» должно существовать
одноименное поле, которое является внешним ключом.
Таблица «Поставщики» также является главной по отношению
к таблице «Цена». Ее поле «Код поставщика» является первичным ключом,
соответственно в подчиненной таблице «Цена» должно существовать одноименное
поле, которое является внешним ключом.
Таким образом, таблица «Цена» должна содержать следующие
поля (табл. 4):
«Счетчик» (ключевое поле), «Код комплектующих» (поле внешнего ключа для
таблицы «Комплектующие»), «Код поставщика» (поле внешнего ключа для таблиц)
«Поставщики»), «Цена» (числовое поле).
Счетчик
|
Код комплектующих
|
Код поставщика
|
Цена
|
1
|
К1
|
П1
|
|
2
|
К1
|
П2
|
|
3
|
К2
|
П1
|
|
4
|
К2
|
П2
|
|
5
|
КЗ
|
П1
|
|
6
|
КЗ
|
П2
|
|
7
|
К4
|
П1
|
|
8
|
К4
|
П2
|
|
Межтабличная связь обеспечивает целостность данных.
Связанные таблицы представляют собой единую базу данных, в которой можно
создавать новые таблицы, а также запросы и отчеты, содержащие данные из
связанных таблиц.
Базы данных, состоящие из связанных двумерных таблиц,
принято называть реляционными.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ И ФОРМА ОТЧЕТНОСТИ:
Создание реляционной базы данных.
Задание 1.Система управления реляционными базами данных MicrosoftAccess
позволяет создавать реляционные базы данных, а также обеспечивать их обработку
с помощью запросов, форм и отчетов.
Создадим реляционную базу данных «Автозапчасти», в качестве
основных объектов которой будут использованы три таблицы: «Комплектующие»,
«Поставщики» и «Цена». Таблицы «Комплектующие» и «Поставщики» должны быть
связаны отношением «многие-ко-многим» с помощью таблицы «Цена».
Итак, прежде всего, необходимо создать три таблицы:
«Комплектующие» «Поставщики» и «Цена».
1. Создать в приложении Access новую базу данных
с именем «Автозапчасти».
2. В окне Автозапчасти: база данных выбрать
группу объектов Таблицы и пункт Создание таблицы в режиме
конструктора.
Таблица «Комплектующие» должна содержать три текстовых
поля: «Код комплектующих», «Наименование» и «Описание». Ключевым полем
является поле «Код комплектующих».
3.В окне Комплектующие:таблица ввести
имена полей, тип данных и параметры полей (рис.1). В качестве ключевого поля
задать поле «Код комплектующих». Для сохранения таблицы ввести команду [Файл
- Сохранить]. Присвоить таблице имя «Комплектующие».
4.Для ввода данных в таблицу щелкнуть на значке Комплектующие.
Ввестиданные в таблицу (самостоятельно).
Таблица «Поставщики» должна содержать три текстовых поля: «Код
поставщика», «Название фирмы» и «Адрес». Ключевым полем является поле «Код
поставщика»
5. Создать таблицу «Поставщики» (рис.2),
выполнив рассмотренную выше последовательность действий. Ввести данные.
Таблица «Цена» должна содержать поля Счетчик,
Кодкомплектующих, Кодпоставщика, а также поле Цена. В
качестве ключа этой таблицы будет использоваться поле Счетчик.
6. С помощью аналогичных действий создать таблицу
«Цена» и ввести данные (рис.3). В полях внешних ключей не могут содержаться значения,
отсутствующие в соответствующих ключевых полях главных таблиц.
Таблицы «Комплектующие» и «Поставщики» должны быть
связаны отношением «один-ко-многим» с таблицей «Цена». Таблица «Цена» содержит
однотипные с полями первых двух таблиц поля «Код комплектующих» и «Код поставщика»,
являющиеся внешними ключами исходных таблиц.
Установим связи между таблицами с помощью окна Схема
данных.
7. Ввести команду Конструктор-Схема данных. Появится
диалоговая панель Добавление таблицы (рисунок 4). Выделить в этом окне
нужные таблицы и щелкнуть по кнопкеДобавить.
8. Выделенные таблицы будут добавлены в специальное
окно – Схема данных (рисунок 5).
Для
установки между таблицами «Комплектующие» и «Поставщики» связи в отношении
«многие-ко-многим» необходимо связать их с таблицей «Цена» в отношении
«один-ко-многим».
9.Перетащить мышью из таблицы «Комплектующие» ключевое
поле — «Код комплектующих» (оно выделено жирным шрифтом) к одноименному полю
внешнего ключа таблицы «Цена».
10. На появившейся диалоговой панели Изменение
связей установить необходимые опции (смотри рис. 6) В завершение щелкнуть
по кнопкеСоздать.
Теперь установим связь в отношении «один-ко-многим» между таблицами
«Поставщики» и «Цена».
11.Перетащить мышью из таблицы «Поставщики» ключевое
поле — «Код поставщика» (оно выделено жирным шрифтом) к одноименному полю – внешнему
ключу таблицы «Цена».
12. На появившейся диалоговой панели Связи
установить опции (смотри пункт 10). В завершение щелкнуть на кнопкеСоздать.
Теперь связь в отношении «многие-ко-многим» таблицами «Комплектующие» и
«Поставщики» через таблицу «Цена» установлена.
13. Это наглядно представлено в окне Схема данных.
Созданная реляционная база данных «Компьютеры» состоит из трех
связанных таблиц и поэтому обладает целостностью данных.
Задание 2. А) Выберите из созданной БД Автозапчасти
комплектующие, цена которых превышает 2000 рублей. Б) Выберите из созданной БД Автозапчасти
комплектующие, название которых начинается на букву «К».
Результат продемонстрируйте преподавателю.
КОНТРОЛЬНЫЕ
ВОПРОСЫ:
1. Какие базы данных называются реляционными, в
каких случаях они используются?
2. Как вы понимаете связь в реляционной БД
«многие-ко-многим», «один-ко-многим»?
3. Что такое ключевое поле?
4.
Перечислите для чего и в
каких целях можно использовать возможности программыMSAccess
в вашей профессии.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.