Практическое занятие №18
Тема: Технология получение информации из БД Access. Создание базы данных. Операции с таблицами в Access. Создание и использование формы в Access
Цель работы: изучение приемов задания структуры таблиц базы данных, заполнения их записями, изучение приемов создания простых форм, базирующихся на таблицах, а также главной кнопочной формы.
Время работы: 2 часа.
Оборудование: Компьютер с установленным программным обеспечением и подключенный к Internet
Основные теоретические сведения
ОСНОВНЫЕ ПОНЯТИЯ БАЗ ДАННЫХ
База данных — это совокупность специальным образом организованных данных о конкретной
предметной области.
Реляционная база данных — база данных, представленная в виде таблиц.
Таблица состоит из озаглавленных столбцов (полей) и строк (записей или кортежей).
Ключ таблицы - минимальное подмножество полей таблицы, значения которых однозначно определяют запись. Один из ключей выбирают в качестве первичного ключа. Связь таблиц в базе данных устанавливается с помощью дублирования ключа одной таблицы в другой. Поле (или совокупность полей), которое в рассматриваемой таблице не является первичным ключом, а в другой - является, называется вторичным ключом. Microsoft Access является программой для разработки структуры базы данных, ввода, редактирования и поиска данных. Microsoft Access также содержит
средства для разработки
приложений баз данных, автоматизирующих работу с базой данных.
Создание таблицы в режиме конструктора
щёлкнуть по
значку Создание таблицы в режиме конструктора. Откроется окно Конструктора ( рис. 1).
Рис. 1. Вид таблицы в режиме конструктора
Заполнить имена полей,
(перемещаясь по ячейкам с помощью клавиш Tab или стрелками управления курсором);
Выбрать из раскрывающегося списка типы данных;
Задать ключевое поле:
щёлкнуть на его имени правой кнопкой мыши и
в контекстном меню выбрать пункт Ключевое поле.
5. Бланк закрывают, после чего дают таблице имя.
Созданную таблицу открывают двойным щелчком на её значке. Новая таблица имеет только
названия столбцов.
рис. 2. Вид в режиме таблицы
При заполнении таблицы данными сохранение их происходит автоматически ( рис. 2). Но если произошло изменение макета таблицы (ширина столбцов), то СУБД попросит подтверждение сохранения этих изменений.
Рис. 3. Переход из режима конструктор в режим таблицы и наоборот Для изменения структуры Таблицы её надо открыть в режиме Конструктора (3)
Создание межтабличных связей
Целостность данных - это набор правил, гарантирующих, что Access будет работать только с непротиворечивыми данными и разрешёнными операциями.
Активизировать команду Сервис \ Схема данных в диалоговом окне Схема данных:
Щёлкнуть по кнопке Добавить таблицу.
В диалоговом окне из списков выбрать таблицы, между которыми создаются связи. Закрыть окно Добавление таблицы. Искомые таблицы появятся в окне Схема данных.
Выделить в 1-й таблице ключевое поле и с помощью мыши перетащить его на одноименное поле 2-й таблицы. При отпускании кнопки мыши откроется диалоговое окно Связи.
Установить флаг Обеспечение целостности данных.
Щёлкнуть по кнопке Создать. Появится связь 1:1.
Предположим, что требуется установить связь между таблицами "Кафедра" и "Преподаватель" через поле ККАФ (код кафедры). В таблице "Кафедра" это поле является уникальным ключом, а в таблице "Преподаватель" - внешним ключом. Если схема данных создается заново, то при нажатии на кнопку "Схема данных" поверх окна схемы данных появится окно "Добавление таблицы". В этом окне следует выделить требуемые таблицы и нажать "Добавить"( рис. 4)
Рис. 4. Окно добавления таблиц
В результате в окно схемы данных будут добавлены графические образы двух таблиц:
Рис. 5. Установление связей
Необходимо перетащить мышью поле ККАФ таблица "Кафедра" на поле ККАФ таблицы
"Преподаватель". В открывшемся окне "Изменение связей" следует установить флажок "Обеспечение
целостности данных". В этом случае Access будет выдаватьпредупреждающие сообщения о
неправильном вводе данных, если, например, в поле ККАФ подчиненной таблицы "Преподаватель"
будет введено значение, отсутствующее в поле ККАФ базовой таблицы "Кафедра" ( рис. 5).
Обратите внимание, что Access автоматически определил тип связи как "один-ко-многим" ( рис.6).
Рис. 6. Изменение связей
Можно также установить флажки "каскадное обновление связей" и "каскадное удаление
связей". В этом случае Access автоматически скорректирует (удалит) записи в подчиненных таблицах, если будут изменены записи в базовой таблице.
После нажатия на кнопку "Создать", образы таблиц будут соединены связями как показано на рисунке. Ключевые в базовых таблицах выделяются жирным шрифтом ( рис. 7).
Рис. 7. Установление связей
Для установления связей по составному ключу необходимо в окне "Изменение связей" в полях "Таблица/Запрос" и "Связанная таблица/запрос" вручную выбрать из списков пары связываемых полей. На рис. 8 показан пример связи по составному ключу.
Рис. 8. Установление связей с составными ключами
Если перетащить поле, не являющееся ключевым и не имеющее уникального индекса, на другое
поле, которое также не является ключевым и не имеет уникального индекса, создается неопределенное отношение. В запросах, содержащих таблицы с неопределенным отношением, Microsoft Access по умолчанию отображает линию объединения между таблицами, но условия целостности данных при этом не накладываются и нет гарантии уникальности записей в любой из таблиц.
Образовавшиеся межтабличные данные отображаются в окне Схема данных в виде линий, соединяющие 2 поля разных таблиц. Одна из таблиц считается главной, а другая - связанной. Главная - это та таблица, которая участвует в связи своим ключевым полем.
Связь между таблицами позволяет:
Исключить возможность удаления или изменения данных в ключевом поле главной таблицы, если с этим полем связаны поля других таблиц;
Установить флаг Обеспечение целостности данных.
При удалении данных в ключевом поле главной таблицы автоматически удалить соответствующие данные в полях связанных таблиц.
Установить дополнительно флаги Каскадное обновление связанных полей и Каскадное удаление связанных записей.
Ход работы
Задание 1: Создайте новую базу данных с именем Список.
Вызовите программу MS Access;
Выберите команду Новая база данных;
В диалоговом окне Новая база данных укажите имя файла и место его хранения;
Задание 2: Создайте таблицу Группы.
Выберите вкладку Создание → Конструктор таблиц;
Добавьте поля Кабинет и Преподаватель;
Задайте типы данных полей: Кабинет – числовой (выберите тип из ниспадающего списка), Преподаватель – текстовый;
Сделайте поле Кабинет ключевым (поместите курсор на имя поля и щёлкните по кнопке
в горизонтальном меню);
Сохраните таблицу с именем Группы;
Сохраните таблицу.
Задание 3: Создайте таблицу Список со следующими полями и типами данных:
Код – счётчик, Фамилия– текстовый, Имя– текстовый, Отчество – текстовый, Год рождения – числовой, Школа – числовой, Класс – числовой, Кабинет – числовой. Ключевым сделайте поле Код. Значения поля Кабинет нужно выбирать из списка. Для этого нужно выделить поле кабинет, внизу во вкладке Подстановка выбрать Поле со списком, источник строк – Группы.
Задание 4: Создайте схему данных таблиц Список и Группы.
В диалоговом окне Добавление таблицы выделите таблицы Группа и Список → нажмите кнопку Добавить → закройте диалоговое окно;
Увеличьте окно таблицы Список так, чтобы были видны все поля;
Поставьте мышку на имя Кабинет в таблице Группы и, не отпуская кнопку мыши, перетащите её на поле Кабинет в таблице Список → отпустите мышку → появится диалоговое окно Изменение связей;
Включите флажок Обеспечение целостности данных, Каскадное обновление связанных полей, Каскадное удаление связанных записей;
Щёлкните по кнопке Создать, появится связь «один-ко-многим»;
Закройте схему данных, сохранив её.
Задание 5: Заполните таблицу Группы значениями. Сохраните | Кабинет | Преподаватель |
и закройте её. | | |
206 | Безносова О.Ю. |
Задание 6: Используя Конструктор таблиц, создайте таблицу | | |
209 | Богачёва М.А. |
Личные данные со следующими полями и типами данных: |
228 | Некипелова А.С. |
Код студента - счетчик, Адрес - текстовое, Номер телефона - |
229 | Петкевич Л.В. |
числовое, Word - числовое, Excel - числовое, Access - |
221 | Якубовский А.Н. |
числовое. Ключевым сделайте поле Код студента. |
| |
Задание 7: Исправьте схему данных. | | |
Щёлкните по кнопке
– Отобразить таблицу → выделите таблицу Личные данные → Добавить → Закрыть;
Свяжите поля КодСтудента из таблицы Личные данные и Код из таблицы Список;
В диалоговом окне Изменение связей включите флажок Обеспечение целостности данных → Создать (появится связь «один-к-одному») → закройте схему данных.
Задание 8: Создайте форму для ввода данных.
Выберите вкладку Создание – Мастер Форм: в диалоговом окне Создание Форм выберите все поля из таблиц Список и Личные данные → Далее → в один столбец → Далее → задайте имя
формы: Общая форма → Готово.
Задание 9: Заполните таблицы данными, используя созданную форму.
Откройте форму Общая форма;
Поля Код и КодСтудента заполняются автоматически;
Данные таблицы Список
Код | Фамилия | Имя | Отчество | Год | Школа | Класс | Кабинет |
рождения |
| | | | | | |
1 | Иванов | Антон | Андреевич | 1980 | 39 | 10 | 206 |
2 | Баранова | Анна | Владимировна | 1980 | 39 | 10 | 206 |
3 | Петров | Сергей | Сергеевич | 1978 | 38 | 9 | 209 |
4 | Клементьева | Екатерина | Александровна | 1978 | 40 | 9 | 228 |
5 | Сидоров | Павел | Клементьевич | 1978 | 2 | 10 | 229 |
6 | Кандрашкин | Владимир | Павлович | 1977 | 2 | 8 | 229 |
| | | | | | | |
Код Студента | Адрес | Номер | Word | Excel | Access |
телефона |
| | | | |
1 | Центральная 11-5 | 45-44-38 | 5 | 5 | 5 |
2 | Солнечная 8-117 | 45-44-02 | 4 | 4 | 4 |
3 | Ярославского 215-30 | 38-09-08 | 5 | 5 | 5 |
4 | Школьная 123-78 | 23-78-90 | 4 | 4 | 4 |
5 | Центральная 11-8 | 45-78-34 | 5 | 5 | 4 |
6 | Ярославского 216-6 | 38-89-90 | 3 | 3 | 3 |
Закройте форму, сохранив её;
Убедитесь, что в таблицах Список и Личные данные появились записи.
Задание 10: Добавьте новое поле Портрет (рисунки или фотографии) в таблицу Список.
Откройте таблицу Список → перейдите в режим Конструктора → добавьте поле Портрет с типом данных Поле объекта OLE → сохраните;
Перейдите в режим Таблица → щёлкните правой кнопкой мыши по клетке где должно быть значение поля Портрет → Вставить Объект →Bitmap Image →ОК → нарисуйте портрет → закройте окно рисунка;
Задание № 11: Научитесь использовать фильтр.
Щёлкните по кнопке Дополнительно в меню Сортировка и Фильтр – Изменить фильтр;
Щёлкните мышкой по полю Год рождения. У активного поля появится стрелка выбора;
Отмените фильтр: нажмите эту же кнопку, которая теперь называется Удалить фильтр;
Щёлкните по кнопке Изменить фильтр и удалите всё в поле Год рождения, выделив значение и нажав клавишу Delete;
Измените фильтр так, чтобы в таблицы были видны только ученики школы № 2, 10 класса (одновременный запрос в двух полях – Школа и Класс);
Измените фильтр. Допустимо указывать границы изменения значений. В поле Год рождения наберите 1977. Примените фильтр и вы увидите таблицу, в которой присутствуют записи с годами рождения больше 1977;
Чтобы получить записи учеников, у которых фамилии начинаются на букву «С», в соответствующем поле наберите Like «С*» (С – русская буква);
Запрос Not «С*» будет означать все записи, у которых фамилии не начинаются на букву «С».
Составьте этот запрос.
Задание 12: Использование фильтра (самостоятельная работа).
Выберите учеников всех школ, кроме школы № 40;
Выберите всех учеников школы № 2, фамилии которых начинаются на букву «К»;
Выберите учеников, год рождения которых 1980 или 1977 (запрос 1980 or 1977);
Отмените все запросы.
Методические указания:
Запустите Microsoft Access 2010: Пуск – Все программы – Microsoft Office – Microsoft Access 2010.
Откройте вкладку «Файл» слева выберите команду «Создать».
В основной части окна программы «Доступные шаблоны» нажмите на кнопку «Новая база данных».
Сохраните базу данных в своей папке как Перевозки, для этого:
С правой стороны в строке Имя файла введите новое имя базы данных – Перевозки:
З
атем, необходимо сохранить базу в своей папке, для этого нажмите на кнопку
(она находится рядом со строкой, в которой вы вводили название).
Откройте свою папку и нажмите на кнопку ОК.
5. Для перехода к работе с самой базой нажмите на кнопку «Создать» .
После нажатия на кнопку Создать появляется пустая таблица, в которой
следует сначала ввести названия полей (т.е. названия столбцов), а уже потом вносить данные.
Внимание! Для того чтобы ввести название поля, необходимо:
Открыть вкладку «Поля» в блоке «Режимы», нажать на кнопку «Режим» и выбрать команду «Конструктор».
В появившемся диалоговом окне «Сохранение» введите имя таблицы – Транспорт. Нажмите кнопку ОК.
В появившейся таблице введите названия полей (столбцов) и укажите соответствующий тип данных.
Задайте ключевое поле таблицы (указаны в задании). Для этого выделите строку, описывающую ключевое поле, и на панели инструментов нажмите кнопку "Ключевое поле". В левой части строки, описывающей ключевое поле, должен появиться значок ключа.
Роль ключевого поля могут играть несколько полей таблицы. Для этого надо выделить эти поля при нажатой клавише Ctrl и нажать кнопку "Ключевое поле".
Завершите описание структуры закрытием окна описания структуры. На вопрос "Сохранить изменения макета или структуры таблицы “Таблица 1 ,?" ответьте "Да".
Повторите пп. 3-5 для описания структуры оставшихся таблиц проекта.
Заполните таблицы записями. Для этого выделите нужную таблицу в окне БД и нажмите "Открыть". Введите данные в поля таблицы (10-20 записей, в зависимости от смысла таблицы). Для ключевых полей, тип которых не является счетчиком, разработайте систему кодов. Код должен быть коротким и, в определенной степени, отражать содержимое записи.
Контрольные вопросы:
Как можно изменить название поля?
Как можно добавить новое поле в таблицу?