Модификации базы данных. Использование связанных таблиц.
Лабораторная работа 1
Создание базы данных, операции с таблицами [1, 2, 3]
Задание.Создать базу данных Лабораторные работы БД, состоящую из одной таблицы Кривошипные прессы, которая имеет следующую структуру, представленную в табл. 1.
Таблица 1
Структура таблицы Кривошипные прессы
Имя поля | Тип данных | Размер поля, формат |
Модель | Текстовый | 30 символов |
Усилие | Числовой | Целое |
Область применения | Текстовый | 50 символов |
Простое или двойное действие | Текстовый | 30 символов |
Количество кривошипов | Текстовый | 30 символов |
Наличие подушки | Логический | Да/Нет |
Тип станины | Текстовый | 30 символов |
Год выпуска | Числовой | Целое |
Инвентарный номер | Числовой | Целое, ключевое поле |
Создать фильтры, отбирающие из таблицы записи, удовлетворяющие определенным условиям.
Для этого необходимо выполнить следующие действия [1, c. 24, c. 32], [2, c. 58].
1. Для создания базы данных запустите Microsoft Access и выберите в меню Файлкоманду Создать.Затем в панели задач Создание файла выберите вариант Новая база данных. После этого в окне Файл новой базы данных откройте нужную папку, например Лабораторные работы БД, и задайте имя создаваемого файла базы данных «Кузнечно-штамповочное оборудование.mdb».
2. Вызвав справку Access, на вкладке Содержание выберите тему Создание баз данных и работа с ними. Изучите разделы справки: Разработка баз данных, Поиск и открытие баз данных. Выбрав тему Работа с таблицами, изучите разделы: Создание таблицы, Настройка полей. После изучения справочной информации закройте окно справки.
3. Для создания таблицы выберите в списке вкладок в левой части окна
базы данных вкладку Таблица. После этого в окне базы данных будут отображены ярлыки вариантов создания таблицы: в режиме конструктора, с помощью мастера и путем ввода данных. Дважды щелкнув мышью по строке «Создание таблицы в режиме конструктора», откройте окно таблицы в режиме конструктора.
4. В режиме конструктора таблицы в столбце Имя поля введите имя Модель. В столбце Тип данных оставьте тип Текстовый. В столбце Описание введите описание данных, которые будет содержать это поле, например, модель кривошипного листоштамповочного пресса. Текст описания будет выводиться в строке состояния при добавлении данных в поле, а также будет включен в описание объекта таблицы. Вводить описание не обязательно. Перейдите в бланк Свойства поля в нижней части окна и задайте значение Размер поля: 30 символов. Действуя аналогично, задайте названия, укажите тип и свойства данных для остальных полей, как показано на рис. 1.
5. После ввода описания всех полей таблицы укажите ключевое поле, для чего, щелкнув область выделения строки с записью поля Инвентарный номер, нажмите кнопку «Ключевое поле» на панели инструментов. После этого в области выделения поля Инвентарный номер появится знак ключевого поля - ключ, как показано на рис. 1.
6. Сохраните структуру таблицы командой Файл | Сохранить как. В диалоговом окне Сохранение задайте имя таблицы Кривошипные прессы, в поле Как выберите вариант Таблица, и щелкните кнопку «ОК» для сохранения и закройте окно конструктора таблицы. После этого в окне базы данных Кузнечно-штамповочное оборудование на вкладке Таблицы появится новый объект - таблица Кривошипные прессы.
7. Выбрав объект Таблица, выделите таблицу Кривошипные прессы, щелкните по кнопке «Открыть» и введите данные, как показано на рис. 2 (для перехода к следующему полю нажимайте клавишу Tab, в конце каждой записи нажимайте Enter).
8. Сохраните таблицу, щелкнув кнопку Сохранить на панели инструментов, и закройте ее.
Рис. 1. Создание таблицы в режиме конструктора
Рис. 2. Таблица Кривошипные прессы
9. Откройте таблицу Кривошипные прессы и выполните сортировку записей по усилию в порядке убывания. Для этого, установив курсор в столбец
Усилие, щелкните кнопку Сортировка по убыванию на панели инструментов.
Отсортируйте записи по году выпуска в порядке возрастания, для чего, установив курсор в столбец Год выпуска, щелкните кнопку Сортировка по возрастанию на панели инструментов.
10. Используя фильтр [1, c. 38], выберите в таблице Кривошипные прессы записи о прессах с наличием подушки. Для этого в поле Наличие подушки найдите экземпляр с подушкой (стоит «галочка»). Выделив это значение, щелкните кнопку Фильтр по выделенному на панели инструментов. Просмотрев отфильтрованные записи, для отмены фильтра щелкните кнопку Удалить фильтр на панели инструментов.
11. Используя расширенный фильтр, выберите в таблице Кривошипные прессы записи о прессах двойного действия, год выпуска которых не старше 2000 г. Для этого выберите в меню Записикоманду Фильтр,а затем - опцию Расширенный фильтр. После этого на экране будет раскрыт бланк создания расширенного фильтра.
Добавьте в бланк поля Простое или двойное действие и Год выпуска. Затем, установив курсор в строке Условие отбора в поле Год выпуска, задайте с помощью Построителя выражений условие отбора >2000. Построитель выражений вызывается щелчком правой кнопки и выбором в меню команды Построить...
В этой же строке в поле Простое или двойное действие задайте условие отбора Двойного действия. Чтобы указать порядок сортировки, выберите ячейку Сортировка в поле Год выпуска и, щелкнув стрелку, выберите порядок сортировки по возрастанию. Чтобы применить фильтр, нажмите кнопку Применение фильтра на панели инструментов. После этого данные в таблице будут отображаться, как показано на рис. 3.
После просмотра отфильтрованных записей для отмены фильтра
щелкните кнопку Удалить фильтр на панели инструментов.
Рис. 3. Таблица с отфильтрованными записями
12. Откройте таблицу Кривошипные прессы в режиме Конструктор. Выберите поле Простое или двойное действие и в свойствах поля в строке Условие на значение задайте условие "Простого действия" Or "Двойного действия" [2, c. 64].
В строке Сообщение об ошибке задайте сообщение Допустимы только значения "Простого действия" или "Двойного действия".
Теперь при заполнении таблицы будет осуществляться контроль вводимых записей и при ошибочной записи будет выдаваться соответствующее сообщение. Соответствующие условия на значение и сообщение об ошибке задайте и в других полях таблицы.
13. Базы данных могут содержать кроме текстовых или числовых записей фотографии, чертежи, рисунки, т.е. различные изображения. Формулы можно также вставить в виде изображения. Рассмотрим пример с записью в базу данных фотографии.
Откройте таблицу Кривошипные прессы в режиме Конструктор. Добавьте поле Фотография после поля Инвентарный номер. В типе данных поля Фотография установите Поле объекта OLE. Теперь при заполнении таблицы в поле Фотография вставьте файл с фотографией пресса, например, типа .jpg. Для этого выделить ячейку в поле Фотография и выполнить команды: Вставка | Объект | Создать из файла | Обзор | Связь. Найдите адрес файла, в котором содержится фотография, и нажмите Ok.
В выделенной ячейке поля Фотография появится запись Package (рис. 4). Теперь при двойном щелчке на эту ячейку появится изображение с фотографией пресса.
14. Закройте таблицу с сохранением и завершите работу СУБД MS Access.
Рис. 4. Таблица с добавленным полем Фотография
Контрольные вопросы
1. Опишите возможности СУБД Access.
2. Какие объекты входят в состав файла БД Access?
3. Как соотносятся друг с другом таблицы и БД?
4. Чем отличаются режимы работы с объектами БД в Access: оперативный режим, режим конструктора?
5. Какие типы данных полей вам известны?
6. Какие свойства полей имеются в Access?
7. Для чего служат характеристики полей Значение по умолчанию и Условие на значение?
8. Какие операции с данными в таблице БД вы знаете?
9. Каково назначение сортировки данных в таблице? Какие бывают виды сортировок?
10. Что такое фильтр? Каковы особенности расширенного фильтра?
11. Каково назначение построителя выражений?
12. Что такое первичный ключ таблицы? Почему его необходимо устанавливать для каждой таблицы?
13. Как выполнить встраивание и импортирование таблицы?
14. Что такое размер поля? Какие размеры рекомендуется указывать для каждого типа поля?
15. Как добавить данные в таблицу?
16. Что такое индексы и для чего они предназначены?
17. Как создать индекс таблицы?
Лабораторная работа 2
Модификации базы данных. Использование связанных таблиц.
Создание форм и отчетов [1, 2, 3]
Задание.Создайте в базе данных Кузнечно-штамповочное оборудование таблицу Поставщики. В таблицу Кривошипные прессы добавьте столбец Поставщик и создайте связь этих таблиц. Создайте форму и отчет для связанных таблиц.
Для этого выполните следующие действия.
1. Загрузите программу MS Access и откройте базу данных Кузнечно-
штамповочное оборудование.
2. Откройте таблицу Кривошипные прессы в режиме конструктора, для чего, указав в списке объектов базы данных Кузнечно-штамповочное оборудование вкладку Таблицы, выберите таблицу Кривошипные прессы и щелкните кнопку Конструктор.
3. Вставьте в таблицу Кривошипные прессы новое поле, для чего, выделив поле Усилие, выберите в меню Вставка команду Строки. Введите в новой строке описание, представленное в табл. 2.
Таблица 2
Описание поля Поставщик
Имя поля | Тип данных | Размер, формат | Описание |
Поставщик | Текстовый | 50 символов | Фирма-поставщик прессов и запчастей к ним |
4. Сохраните изменения в структуре таблицы, для чего щелкните кнопку Сохранить на панели инструментов, а затем закройте ее, выбрав в меню Файл команду Закрыть.
Откройте таблицу Кривошипные прессы и заполните поле Поставщик названиями фирм в следующем порядке (в столбец сверху вниз): Завод КПО, Завод мехпресс, Завод тяжмехпресс, Завод тяжмехпресс, Завод КПО, Завод КПО, Завод КПО, Завод мехпресс. Сохраните изменения в таблице.
5. Создайте таблицу Поставщики, описание полей которой представлено в табл. 3.
Таблица 3
Описание полей таблицы Поставщики
Имя поля | Тип данных | Paзмер поля, формат | Описание |
Фирма | Текстовый | 50 символов, ключевое поле | Название фирмы |
ФИО | Текстовый | 50 символов | Фамилия, имя отчество руководителя |
Телефон | Текстовый | 12 символов, маска ввода, (9999)-999-99-99 | Номер телефона |
Адрес | Текстовый | 50 символов | Почтовый адрес |
Для создания таблицы выберите вкладку Таблицы и щелкните кнопку Создание таблицы в режиме конструктора.
В режиме конструктора таблицы в столбце Имя поля введите имя Фирма.
В столбце Тип данных оставьте тип Текстовый. В столбце Описание можно ввести описание данных, которые будет содержать это поле, например, Название фирмы. Перейдите в бланк Свойства поля в нижней части окна и задайте значения Размер поля: 50 символов. Действуя аналогично, задайте названия, укажите тип и свойства данных для остальных полей.
Для поля Телефон в бланке Свойства поля задайте маску ввода, которая обеспечит контроль ввода телефонного номера с кодом города, например, (0243)-456-75-98. Для этого введите в строке Маска ввода текст маски (9999)-999-99-99.
В качестве ключевого поля таблицы Поставщики укажите поле Фирма, значения которого в таблице являются уникальными. Закройте таблицу Поставщики с сохранением структуры.
Заполните таблицу Поставщики, записав в поле Фирма названия трех фирм из пункта 4.
6. Установите связь между таблицами Кривошипные прессы и Поставщики [1, c. 78, c. 82], [2, c. 87]. Для этого выберите команду Схема данных в меню Сервис. После этого раскроется пустое окно Схема данных,а в главном меню Access появится новый пункт меню Связи. Выбрав в меню Связи команду Добавление таблицы,в диалоговом окне Добавление таблицы выберите вкладку Таблицы. Выбирая из списка таблиц открытой базы данных Кузнечно-штамповочное оборудование и щелкая кнопку Добавить, добавьте в окно схемы данных таблицы Кривошипные прессы и Поставщики. Закройте окно Добавление таблицы, щелкнув кнопку Закрыть.
Для установления связи между двумя таблицами методом Drag-and-Drop (перетащить и бросить) переместите имя поля с первичным ключом главной таблицы (Фирма) на поле Поставщик подчиненной таблицы. Как только вы отпустите левую кнопку мыши, на экране появится диалоговое окно Изменение связей. Для включения механизма поддержки целостности данных в связываемых таблицах установите флажок Обеспечение целостности данных.
Активизируйте флажок Обеспечение целостности данных,а затем включите переключатели каскадной модификации - обновления и удаления связанных записей. Завершите создание связи, щелкнув кнопку Создать. После этого в окне Схема данных появится графическое изображение установленной связи (рис. 5). Пометки у концов линии связи 1- ∞ означают, что одна запись таблицы Поставщики может иметь сколько угодно связанных записей в таблице Кривошипные прессы.
Рис. 5. Схема данных с установленной связью
7. Создайте форму для связанных таблиц [1, c. 40, c, 85], [2, c. 143, c. 152]. Для этого откройте базу данных Кузнечно-штамповочное оборудование и, выбрав объект Формы, щелкните в правой области окна кнопку Создание формы с помощью мастера.
На первом шаге диалога мастера Создание форм, выбрав таблицу Поставщики, а затем Кривошипные прессы, включите в форму все поля таблицы Поставщики, а также все поля таблицы Кривошипные прессы, кроме поля Поставщик (это поле дублирует поле Фирма таблицы Поставщики), и щелкните кнопку Далее.
Нa следующем шаге диалога с мастером выберите вид представления данных, указав в качестве главной таблицу Поставщики и включив опцию Подчиненные формы. Щелкнув кнопку Далее, выберите внешний вид подчиненной
формы - табличный, далее выберите стиль оформления Рисовая бумага.
На следующих этапах диалога с мастером Создание форм задайте имя для
каждой из связанных форм и выберите в качестве дальнейших действий вариант Открыть форму для просмотра и ввода данных. Завершите создание форм, щелкнув кнопку Готово.
Для запуска созданной формы щелкните ярлычок главной формы Поставщики. После этого на экране раскроется окно формы Поставщики с подчиненной формой Кривошипные прессы.
8. Попробуйте ввести новые данные в форме. Например, введите фирму Звезда с заполнением полей ФИО, Телефон, Адрес и данные по двум прессам, которые поставляет эта фирма. Причем инвентарные номера этих прессов должны быть уникальными, т.е. отличаться от уже ранее введенных в таблице Кривошипные прессы.
Если вы обнаружите, что размер поля в форме мал для представления данных, то изменитe форму. Для этого, закрыв окно формы, укажите главную форму Поставщики и щелкните кнопку Конструктор на панели инструментов. Измените размеры элементов управления формы, как показано на рис. 6, и закройте режим конструктора, сохранив изменения макета формы.
9. Введите данные о фирме-поставщике Звезда и двух прессах, затем закройте окно формы и, открыв таблицы Поставщики и Кривошипные прессы,
Рис. 6. Изменение размеров поля Адрес в форме Поставщики
просмотрите внесенные записи и убедитесь, что в обеих таблицах внесены связанные записи.
10. Создайте отчет [1, c. 52], [2, c. 190], для чего, выбрав в списке объектов Отчеты, щелкните кнопку Создание отчета с помощью мастера. На первом шаге мастера Создание отчетов, выбрав таблицу Поставщики, включите в отчет поля Фирма и Телефон. Выбрав таблицу Кривошипные прессы, включите в отчет поля Модель, Усилие, Область применения, Год выпуска, Инвентарный номер. Щелкнув кнопку Далее, выберите в качестве главной таблицу Поставщики. На следующем шаге диалога с мастером Создание отчетов добавьте уровень группировки, выбрав поле Модель. Щелкнув кнопку Далее, выберите сортировку по возрастанию по полю Год выпуска. Щелкнув кнопку Итоги, включите опцию Мах в поле Усилие.
Включите опцию Данные и итоги и, щелкнув кнопку ОК, закройте окно выбора вычисляемых итогов. Щелкнув кнопку Далее, выберите вид макета Ступенчатый и включите опцию настройки ширины полей для размещения их на одной странице. Затем выберете стиль оформления создаваемого отчета Деловой. На заключительном этапе Создания отчета задайте имя Пример отчета и, выбрав просмотр отчета, щелкните кнопку Готово для завершения создания отчета и просмотра полученного отчета. После просмотра отчета закройте его, щелкнув кнопку Закрыть на панели инструментов.
Изменить размещение и размеры элементов отчета можно, открыв Пример отчета в режиме Конструктор.
11. Завершите работу СУБД Access.
Контрольные вопросы
1. Как установить связь между таблицами?
2. Зачем устанавливается связь между таблицами? Какие типы связи между таблицами возможны?
3. Зачем для связанных таблиц используется механизм поддержки целостности данных? В чем заключается его действие?
4. Как установить ссылочную целостность между таблицами?
5. Что понимается под ссылочной целостностью и для чего она служит?
6. Что такое схема данных БД и с помощью каких команд вывести на экран схему конкретной БД?
7. Зачем в БД используются формы?
8. Какие типы форм существуют в Access?
9. Что такое главная форма и подчиненная форма?
10. Какие разделы имеются в форме и зачем они предназначены?
11. Какими способами можно создать форму?
12. В чем заключается отличие отчетов от форм?
13. Для чего нужен отчет?
14. Какие сведения отображаются в отчете?
15. Какова структура отчета?
16. Какими способами можно создать отчет?
17. Из каких областей состоит отчет и какие функции выполняют отдельные области?
18. Как создать вычисляемое поле?
Лабораторная работа 3