Цель – сформировать навык создания запросов в СУБД Access, осуществлять взаимосвязь между таблицами.
Задание: Создайте в базе данных Автосалон таблицу Поставщики, в таблицу Автомобили добавьте столбец Поставщик и создайте связь этих таблиц.
Для этого выполните следующие действия.
1. Откройте таблицу Автомобили в режиме конструктора, для чего, указав в списке объектов базы данных Автосалон вкладку Таблицы, выберите таблицу Автомобили и щелкните кнопку «Конструктор».
2. Вставьте в таблицу Автомобили новое поле, для чего выберите в меню Вставка команду Строки. Введите в новой строке следующее описание:
Имя поля | Тип данных | Размер, формат | Описание |
Поставщик | Текстовый | 30 символов | Фирма-поставщик автомобиля |
4. Сохраните изменения в структуре таблицы, для чего щелкните кнопку «Сохранить» на панели инструментов, а затем закройте ее, выбрав вменю Файл команду Закрыть.
5. Создайте таблицу Поставщики, описав ее поля следующим образом:
Имя поля | Тип данных | Размер поля, формат | Описание |
Фирма | Текстовый | 30 символов, ключевое поле | Название фирмы |
ФИО | Текстовый | 50 символов | Фамилия, имя отчество руководителя |
Телефон | Текстовый | 12 символов, маска ввода, (9999)-999-99-99 | Номер телефона |
Адрес | Текстовый | 50 символов | Почтовый адрес |
Для создания таблицы выберите вкладку Таблицы и щелкните кнопку «Создание таблицы» в режиме конструктора.
В режиме конструктора таблицы в столбце Имя поля введите имя Фирма. В столбце Тип данных оставьте тип Текстовый. В столбце Описание можно ввести описание данных, которые будет содержать это поле, например, Название фирмы. Перейдите в бланк Свойства поля в нижней части окна и задайте значения Размер поля: 30 символов. Действуя аналогично, задайте названия, укажите тип и свойства данных для остальных полей.
Для поля Телефон в бланке Свойства поля задайте маску ввода, которая обеспечит контроль ввода телефонного номера с кодом города, например, (0243)-456-75-98. Для этого введите в строке Маска ввода текст маски (9999)-999-99-99.
В качестве ключевого поля таблицы Поставщики укажите поле Фирма, значения которого в таблице являются уникальными. Закройте таблицу Поставщики с сохранением структуры.
6. Установите связь между таблицами Автомобили и Поставщики. Для этого выберите вкладку Работа с базами данных, меню Отношения - Схема данных. После этого раскроется пустое окно Схема данных, а в главном меню Access появится новый пункт меню Связи. Выбрав в меню Связи команду Добавить таблицу, в диалоговом окне Добавление таблицы выберите вкладку Таблицы. Выбирая из списка таблиц открытой базы данных Автосалон и щелкая кнопку «Добавить», добавьте в окно схемы данных таблицы Автомобили и Поставщики. Закройте окно «Добавление таблицы», щелкнув кнопку «Закрыть».
Для установления связи между двумя таблицами методом «Drag-and-Drop» переместите имя поля с первичным ключом главной таблицы (Фирма) на поле Поставщик подчиненной таблицы. Как только вы отпустите левую кнопку мыши, на экране появится диалоговое окно Изменение связей. Для включения механизма поддержки целостности данных в связываемых таблицах установите флажок Обеспечение целостности данных.
Активизируйте флажок Обеспечение целостности данных, а затем включите переключатели каскадной модификации - обновления и удаления связанных записей. Завершите создание связи, щелкнув кнопку «Создать». После этого в окне Схема данных появится графическое изображение установленной связи. Пометки у концов линии связи 1 - ∞ означают, что одна запись таблицы Поставщики может иметь сколько угодно связанных записей в таблице Автомобили.
Задание 2. Создать запрос к таблицам базы данных Автосалон, который отберет данные об автомобилях, произведенных не ранее 1997 г. и поставленных фирмой АвтоВАЗ.
1. Загрузите программу Access и откройте базу данных Автосалоны. Выбрав вкладку Запросы, щелкните кнопку «Создание запроса» в режиме конструктора.
2. В окне Добавление таблицы, выделяя таблицы Поставщики, а затем - Автомобили и щелкая кнопку «Добавить», добавьте обе таблицы базы данных Автосалон. Щелкнув кнопку «Закрыть», закройте окно Добавление таблицы.
3. Перетаскивая поля из таблиц Автомобили и Поставщики в бланк запроса, определите поля таблиц для запроса, порядок их размещения. В строке Вывод на экран включите флаг отображения полей. В строке Условие отбора в столбце Фирма задайте условие отбора «АвтоВАЗ »,а в столбце Год выпуска задайте условие отбора > 1997, как показано на рис.
Рис.. Сформированный запрос в режиме конструктора
4. Перейдем в режим таблицы и просмотрим записи базы данных, отобранные согласно созданному запросу. Закроем окно запроса, сохранив макет запроса под именем Запрос АвтоВАЗ не старше 1997 г.
Задание 3. Создать запрос с параметром Поиск автомобилей по марке.
1. Для создания запроса с параметром, выбрав вкладку Запросы, щелкните кнопку «Создание запроса в режиме конструктора». В окне Добавление таблицы, выделяя таблицы Поставщики, а затем - Автомобили и щелкая кнопку «Добавить», добавьте обе таблицы базы данных Автосалон. Щелкнув кнопку «Закрыть», закройте окно Добавление таблицы. Перетаскивая поля из таблиц Автомобили и Поставщики в бланк запроса, определите поля таблиц для запроса, порядок их размещения. В строке Вывод на экран включите флаг отображения полей. В строке Условие отбора в столбце поля Фирма, которое предполагается использовать как параметр, введите в ячейку строки Условие отбора текст приглашения [Введите марку автомобиля]. Сохраните запрос, задав ему имя Запрос нужной марки авто.
2. Для проверки действия запроса выберите в меню Вид опцию Режим таблицы. В окне Введите значение параметра введите значение искомой марки автомобиля. Для поиска автомобилей других марок закройте окно запроса и, выбрав Режим таблицы, задайте новый параметр поиска.
3. Закройте окно таблицы-запроса и завершите работу программы MS Access.