Упражнения по базам данных MS ACCESS.
Упражнение 1 Система управления базами данных MS Access
Тема: Создание таблиц
· Структура таблиц
· Поля
· Типы данных
· Свойства данных
Задание 1
Создать на своей дискете пустую базу данных. Для этого выполнить следующие действия:
1. Запустить программу MS Access
2. Создать новую базу данных (Файл/создать базу данных)
3. Из раскрывающегося списка ПАПКА выбрать диск 3.5.
4. В поле имя файла ввести имя базы данных “фамилия_группа_БАЗА ДАННЫХ ”, нажать кнопку создать.
5. Окно базы данных состоит из шести вкладок, выбрать вкладку «таблица » и нажать кнопку создать
6. В окне «новая таблица» выбрать пункт «конструктор »
7. Создать структуру таблицы, для этого надо заполнить столбцы «имя поля » и «тип данных» следующим образом:
Имя поля | Тип данных |
Фамилия | Текстовый (щелкните мышкой) |
Имя | Текстовый |
Отчество | Текстовый |
Дата рождени | Дата/время |
Адрес | Текстовый |
Телефон | Текстовый |
Группа | Числовой |
8. Завершив ввод структуры таблицы, сохраните ее с именем «фамилия_группа_база_таблица_анкета », выполнив команду Файл/Сохранить. В ответ на вопрос “ Создать ключевое поле сейчас ” нажмите кнопку да.
В вашей таблице появится поле с именем “код ”. Это поле называется первичным ключом и однозначно идентифицирует каждую запись в таблице. Тип данных у этого поля обозначен как “Счетчик ”. Это означает, что каждый раз при создании новой записи значение счетчика будет увеличиваться на 1. В результате у каждой записи формируется свой номер, который и является первичным ключом.
Поля обладают свойствами. От свойств полей зависит, какие типы данных можно вносить в поле, а какие нет, а также то, что можно делать с данными, содержащимися в поле.
Например маска ввода для поля типа “дата” облегчает ввод дат, позволяет Вам не заботиться о разделителях дня, месяца, года.
Задание 2
1. Определить свойства полей на вкладке “Общие” следующим образом:
Поле | Свойства полей | ||||||
Размер | Формат поля | Маска ввода | Подпись | Значение по умолчанию | Обязательное поле | Индексированное поле | |
Фамилия | Фамилия | да | Да(совпадения допускаются) | ||||
Имя | Имя | да | нет | ||||
Отчество | Отчество | нет | нет | ||||
Дата рождения | Краткий формат даты | Краткий формат | Дата рождения | да | нет | ||
Адрес | Адрес | да | нет | ||||
Телефон | нет | нет | |||||
Группа | Целое | основной | Группа | Номер вашей группы | да | Да(совпадения допускаются) |
Задание 3
1. Открыть таблицу “ Вид/ режим таблицы”.
2. Заполнить строки.
Будьте внимательны при заполнении столбца “дата рождения ” - разделители проставляются автоматически.
На предложение системы дать имя созданной таблице ввести имя «анкета » СОХРАНИТЬ!!!! (файл.сохранить)
Задание 4
1. На основе созданной таблицы создайте список фамилий студентов Вашей группы, для этого в режиме конструктора для поля “фамилия” откройте вкладку “подстановка ”и установите следующие свойства для поля “ фамилия”
Тип элемента управления | Поле со списком |
Тип источника строк | Таблица/запрос |
Источник строк | 1. Щелкните мышкой, 2. Нажмите кнопку ….. 3. В появившемся окне “построителя запросов”: · добавить таблицу “Анкета”, · закрыть окно “добавление таблицы” · перетащить с помощью мыши поле “фамилия” в “поле” бланка запроса · в поле “вывод на экран” должна стоять галочка 4 |
Ограничиться списком | Нет |
4. В результате выполнения Задания 4 в таблице “ Анкета ” в поле “фамилия ” при щелчке мышью должна появиться кнопка, обеспечивающая выбор из списка. Проверьте это. ФАЙЛ/СОХРАНИТЬ!!!!!!!!
Упражнение 2 Система управления базами данных MS Access
Тема: Использование форм для ввода и редактирования данных
· Способы задания форм
· Кнопки перемещения по записям
· Переход из формы в режим таблицы
· Работа со списками
Задание 1
Создать форму для заполнения таблицы «Анкета»
· Откройте окно базы данных
· Перейдите на вкладку «формы»
· Нажмите кнопку создать.
· Выбрать Автоформа: ленточная, в качестве «источника данных » выберете таблицу «анкета ».
Задание 2
Разберитесь с кнопками перемещения по записям
Переход на одну запись вперед | 4y | Переход на последнюю запись | |
Переход на одну запись назад | 4Y | Переход на чистую страницу, где можно ввести новую запись | |
y3 | Переход на первую запись |
Задание 3
1. Создайте таблицу для ввода групп, имеющихся на третьем курсе:
· выбрать вкладку «таблицы»,
· нажать кнопку создать.
· в окне «новая таблица» выбрать пункт «конструктор »
· создать структуру таблицы, для этого надо заполнить столбцы «имя поля » и «тип данных » следующим образом:
Имя поля | Тип данных |
Группа | Текстовый (щелкните мышкой) |
· В ответ на вопрос “ Создать ключевое поле сейчас ” нажмите кнопку нет.
· Таблицу назвать «группы »
Задание 4
Создать форму для заполнения таблицы «группы», заполнить эту форму, выполнив следующие действия:
· Выбрать вкладку «формы »
· Нажать кнопку создать.
· Выбрать «автоформу: в столбец », в качестве источника данных выбрать таблицу «группы»
· Введите данные в форму «группы»
Задание 5
Обратите внимание на то, что если вы в поле «фамилии» введете новую фамилию, то она не появится в раскрывающемся списке фамилий. Убедитесь в этом!!
Задание 6.
Создадть самозаполняющийся список фамилий, чтобы при вводе новой фамилии эта фамилия автоматически попадала в список.и впоследствии эту фамилию можно было бы выбрать из списка, а не набирать заново. Для этого выполните следующие дейчтвия:
1. Создайте форму, основанную на таблице «анкета» с именем «форма для добавления записей». Эта форма будет использоваться для добавления в список новых пунктов.
2. Создайте группу макросов. Будьте очень внимательны при выполнении этого пункта!!!
· Выбрать вкладку «макросы », нажать кнопку создать.
· Ввести макрокоманду «открыть форму »
ü Имя формы: «форма для добавления записей »
ü Режим: Форма
ü Режим данных: Добавление
ü Режим окна: Обычное
· Закрыть окно и сохранить макрос с именем «Добавление»
· Создать следующий макрос:
· Ввести макрокоманду «Выполнить команду »
ü Команда «Сохранить запись (Save Record)»
· Ввести макрокоманду «Выделить обьект »
ü Тип обьекта: Форма
ü Имя обьекта: Анкета
ü В окне базы данных: Нет
· Ввести макрокоманду «Обновление»
ü Имя элемента: Фамилия
· Закрыть окно и сохранить макрос с именем «Закрытие »
3. Переключитесь в форму «Форма для добавления записей » в режиме конструктора.
4. Выбрать режим «вид/свойства »
5. Открыть вкладку «События »
6. Добавить макрос «Закрытие » в свойство «Закрытие формы »
7. Закрыть форму
8. Откройте в режиме конструктора форму «Анкета »
9. Щелкните «правой мышкой» по полю «фамилия » выберете пункт «свойства »
· Открыть вкладку «События »
· Указать имя макроса «Добавление » в поле ввода свойства «Двойное нажатие кнопки »
Задание 7.
1. Проверьте работу созданных Вами макросов по созданию самозаполняющегося списка.
· Переключитесь в режим формы «анкета »
· Дважды щелкните мышкой по полю «фамилия », введите фамилию «Клинтон »,
· Заполните остальные обязательные поля для записи с фамилией «Клинтон »
· закройте форму. Вы опять в главной форме «Анкета »
· Попробуйте раскрыть список фамилий, щелкнув мышкой по кнопке t.
Если Вы аккуратно выполнили Задание 6, то в списке Вы обнаружите фамилию «Клинтон»
2. Закройте форму, сохранив внесенные изменения. ФАЙЛ/СОХРАНИТЬ!!!!!!!!
Упражнение 3 Система управления базами данных MS Access
Тема: Проектирование многотабличных баз данных
· Мастер таблиц.
· Мастер форм.
· Модификация структуры таблицы
Задание 1
1. Создать таблицу «Преподаватели »: Используйте Мастер таблиц.
· Выбрать для создания таблицы образец «Сотрудники » и выбрать из предложенного перечня полей следующие:
ü Фамилия
ü Имя
ü Отчество
ü Должность
ü Название отдела (переименовать, как “ кафедра”)
· Назвать созданную таблицу “Преподаватели ” Связи не определять, т.е. нажать кнопку Далее.
· Выбрать режим “непосредственный ввод данных в таблицу ”
· В режиме конструктора определить тип данных для каждого поля
Имя поля | Тип данных |
Фамилия | Текстовый (щелкните мышкой) |
Имя | Текстовый |
Отчество | Текстовый |
Должность | Текстовый |
Кафедра | Текстовый |
· Определить свойства полей на вкладке “Общие” в режиме конструктора следующим образом:
Поле | Свойства полей | ||||||
Размер | Формат поля | Маска ввода | Подпись | Значение по умолчанию | Обязательное поле | Индексированное поле | |
Фамилия | Фамилия | да | Да(совпадения допускаются) | ||||
Имя | Имя | да | нет | ||||
Отчество | Отчество | Да | нет | ||||
Должность | Должность | нет | нет | ||||
Кафедра | Кафедра | Да | нет |
· Для поля «кафедра » изменить элемент управления следующим образом:
ü Откройте вкладку «Подстановка» и установите следующие свойства для поля «кафедра»
Тип элемента управления | Поле со списком |
Тип источника строк | Список значений. |
Источник строк | Введите список кафедр, используя в качестве разделителя точку с запятой “;“ |
Ограничиться списком | Да |
Задание 2
1. Создайте форму для заполнения таблицы «Преподаватели».
· Выбрать вкладку «Формы », и создать форму, используя Мастер форм, определив в качестве источника таблицу «Преподаватели »
· Отметить мышкой все поля для создания формы
· Выбрать вид формы «ленточная »
· Стиль выбрать на свое усмотрение
· Имя формы «Преподаватели »
· Дальнейшие действия «Открыть форму для просмотра »
2. Заполните форму. Обратите внимание на то, столбец «кафедра » заполняется путем подстановки из сформированного Вами списка.
ФАЙЛ/СОХРАНИТЬ!!!!!!!!
Упражнение 4 Система управления базами данных MS Access
Тема: Проектирование многотабличных баз данных
· Элемент управления типа – «поле со списком »
Задание 1
1. Создать таблицу «Дисциплины» в режиме конструктора с параметрами
Имя поля | Тип данных |
Дисциплина | Текстовый |
2. Определить свойства полей таблицы “ Дисциплины ” на вкладке “ Общие ” следующим образом:
Поле | Свойства полей | |||
Размер | Подпись | Обязательное поле | Индексированное поле | |
Дисциплина | Дисциплина | Да | Да(совпадения не допускаются) |
3. Создайте форму для заполнения таблицы «Дисциплины ». Для этого:
· Перейдите на вкладку «формы »
· Нажмите кнопку создать.
· Выбрать Автоформа: ленточная, в качестве «источника данных » выберете таблицу «Дисциплины ».
4. Введите названия дисциплин, которые читаются на третьем курсе в форму
Задание 2
1. Создайте таблицу «Экзамен» в режиме конструктора таблиц с параметрами
Имя поля | Тип данных |
Дисциплина | Текстовый |
Группа | Числовой |
Студент | Текстовый |
Результат контроля | Текстовый |
2. Определить свойства полей на вкладке “ Общие ” следующим образом:
Поле | Свойства полей | ||||
Размер | Формат поля | Подпись | Обязательное поле | Индексированное поле | |
Дисциплина | Дисциплина | Да | Да(совпадения допускаются) | ||
Группа | Группа | Да | Да(совпадения допускаются) | ||
Студент | Студент | Да | Да(совпадения допускаются) | ||
Результат контроля | Результат контроля | Да | Да(совпадения допускаются) |
Так как у Вас в базе уже имеется таблица с перечнем групп, таблица с перечнем дисциплин, а также таблица «Анкета » с перечнем студентов этим надо воспользоваться для автоматического заполнения полей «группа », «дисциплина » и «Студент » в создаваемой Вами таблице «Экзамен » Это можно сделать с помощью элемента управления полем
Задание 3
1. Для поля «группа » изменить элемент управления:
· Откройте вкладку «Подстановка» и установите следующие свойства для поля «группа »
Тип элемента управления | Поле со списком |
Тип источника строк | Таблица/запрос. |
Источник строк | 5. Щелкните мышкой, 6. Нажмите кнопку ….. 7. В появившемся окне “построителя запросов”: · добавить таблицу “Группы”, · закрыть окно “добавление таблицы” · перетащить с помощью мыши поле “Группа” в “поле” бланка запроса в поле “вывод на экран” должна стоять галочка 4 |
Ограничиться списком | Да |
2. Аналогично изменить элемент управления для полей «дисциплина» и «студент», используя в качестве строк соответственно таблицы «дисциплины» и «анкета».
3. Для поля «результат контроля » изменить элемент управления следующим образом:
· Откройте вкладку «Подстановка» и установите следующие свойства для поля «результат контроля»
Тип элемента управления | Поле со списком |
Тип источника строк | Список значений. |
Источник строк | Введите список оценок, используя в качестве разделителя точку с запятой “;“ (отлично;хорошо;удовлетворительно;неудовлетворительно) |
Ограничиться списком | Да |
Задание 4
1. Создайте форму для заполнения таблицы «Экзамен »
· Перейдите на вкладку «формы»
· Нажмите кнопку создать.
· Выбрать Автоформа: ленточная, в качестве «источника данных » выберете таблицу «Экзамен ».
Задание 5
1. Пользуясь созданной в Задании 4 формой «Экзамен » введите данные по двум дисциплинам на Ваш выбор по всем студентам своей группы в таблицу «Экзамен »,. Оценки проставлять произвольно (желательно разнообразные).
Упражнение 5 Система управления базами данных MS Access
Тема: Проектирование многотабличных баз данных
· Элемент управления типа поле со списком
· Элемент управления типа - флажок
Задание 1
1. Создайте таблицу «Зачет » в режиме конструктора таблиц с параметрами
Имя поля | Тип данных |
Дисциплина | Текстовый |
Группа | Числовой |
Студент | Текстовый |
Результат | Логический |
2. Определить свойства полей на вкладке “ Общие ” следующим образом:
Поле | Свойства полей | ||||
Размер | Формат поля | Подпись | Обязательное поле | Индексированное поле | |
Дисциплина | Дисциплина | Да | Да(совпадения допускаются) | ||
Группа | Группа | Да | Да(совпадения допускаются) | ||
Студент | Студент | Да | Да(совпадения допускаются) | ||
Результат | Да/Нет | Результат | Да | Да(совпадения допускаются) |
Так как у Вас в базе уже имеется таблица с перечнем групп, таблица с перечнем дисциплин, а также таблица «Анкета » с перечнем студентов этим надо воспользоваться для автоматического заполнения полей «группа », «дисциплина » и «Студент » в создаваемой Вами таблице «Зачет »
Это можно сделать с помощью элемента управления полем
3. Для поля «группа » изменить элемент управления:
ü Откройте вкладку «Подстановка» и установите следующие свойства для поля «группа»
Тип элемента управления | Поле со списком |
Тип источника строк | Таблица/запрос. |
Источник строк | 8. Щелкните мышкой, 9. Нажмите кнопку ….. 10. В появившемся окне “построителя запросов”: · добавить таблицу “Группы”, · закрыть окно “добавление таблицы” · перетащить с помощью мыши поле “Группа” в “поле” бланка запроса · в поле “вывод на экран” должна стоять галочка 4 |
Ограничиться списком | Да |
4. Аналогично изменить элемент управления для полей «дисциплина» и «студент», используя в качестве строк соответственно таблицы «дисциплины» и «анкета».
Задание 2
1. Создайте форму для заполнения таблицы «Зачет»
· Перейдите на вкладку «формы »
· Нажмите кнопку создать.
· Выбрать Автоформа: ленточная, в качестве «источника данных » выберете таблицу «Зачет ».
2. Пользуясь созданной формой «Зачет » введите данные по всем студентам своей группы по двум дисциплинам на свой выбор.
Зачет отмечайте флажком 4.
У такой формы контроля, как «зачет » может быть два состояния: «зачет » или «незачет ». Для индикации состояния, которое может иметь одно из двух допустимых значений, используется элемент управления типа флажок, в чем Вы и убедились
Теперь сделаем так, чтобы рядом с флажком появлялась надпись « зачет», а если флажка нет (то есть Вы не отметили его галочкой), то пусть появляется надпись «незачет »
Задание 3
Для того, чтобы посредством флажка ввести поле одно из двух значений надо воспользоваться функцией управления Iif, а для этого следует выполнить следующие действия:
1. Откройте форму «Зачет » в режиме конструктора
2. Справа от поля типа флажок (4.) добавить элемент типа «поле »:
· Щелкните мышкой по значку аб на панели инструментов и справа от флажка еще раз щелкните мышкой, появится поле с произвольной надписью (поле…..).
3. Нажмите «правую мышку» на этом поле, раскройте пункт «свойства », Введите в свойство «данные » следующее выражение
=Iif([Результат];”Зачет”;”Незачет”).
4. Установить для свойства “ Вывод на экран ” для надписи (надпись находится слева от поля) поля значение “ нет ”
Задание 4
1. Просмотрите форму «Зачет» в режиме формы. Теперь установленный флажок будет соответствовать значению «зачет», а снятый флажок – значению «незачет».
2. Пользуясь новым элементом управления «флажок» проставьте результаты по зачету заново СОХРАНИТЬ!!!!
Упражнение 6 Система управления базами данных MS Access
Тема: Проектирование многотабличных баз данных
· Связи между таблицами
Таблица состоит из строк и столбцов и имеет уникальное имя в базе данных. База данных содержит множество таблиц, связь между которыми устанавливается с помощью совпадающих полей. MS Access поддерживает четыре типа отношений между таблицами:
Один-к-одному (каждая запись в одной таблице соответствует только одной записи в другой таблице
Один-ко-многим (каждая запись в одной таблице соответствует многим записям в другой таблице)
Много-к-одному (аналогична записи «один-ко-многим)
Много-ко-многим (одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы либо одна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы)
Тип отношения «один-ко-многим» является наиболее общим
Рассмотрим на конкретном примере, для чего может понадобиться связь между таблицами.
Допустим Вы уже по всем группам заполнили таблицы «Экзамен», и «Зачет» полностью и выяснилось, что одна из дисциплин в таблице «дисциплины» названа неверно, что в свою очередь отразилось на заполнении таблиц «Зачет», либо «Экзамен». Аналогичная ситуация может случиться с фамилией студента и.т.д…..
Как сделать, чтобы исправив название дисциплины в таблице «Дисциплины», либо, изменив фамилию студента в таблице «Анкета», таблицы «Зачет» и «Экзамен» были бы исправлены автоматически. Для этого надо установить связи между таблицами:
Задание 1
Установите связь между таблицами «Зачет » –[ «Дисциплины », «Анкета » ]
Отношение «один-ко-многим» создается в том случае, когда поле, по которому устанавливается связь (со стороны отношения «один») должно иметь свойство:
Индексированное поле - Да, совпадения не допускаются»
Это относится к полю «фамилия » в таблице «анкета »
и полю «дисциплина » - в таблице «дисциплины »
Проверьте наличие этих свойств в ваших таблицах, прежде, чем приступить к выполнению задания
1. Для этого выполните следующие действия:
· Перейти в режим «Таблицы »
· Если у вас есть открытые таблицы, или формы - закройте их.
· Нажмите кнопку «Схема данных » на панели управления.
· Пользуясь «правой мышкой» добавьте в схему все таблицы «Зачет »,«Анкета », «Дисциплины »
· Закройте окно «Добавление таблицы » В схеме данных должны появиться три схемы выше указанных таблиц.
· Поместите указатель мыши на поле «Дисциплины » таблицы «Зачет » и, нажмите левую кнопку и, не отпуская ее, перетащите появившийся значок поля на поле «Дисциплина » таблицы «Дисциплины». Появится диалоговое окно «Связи »
· Поставьте флажок «Обеспечение целостности данных »
· Поставьте флажок «Каскадное обновление связанных полей »
· Нажмите кнопку Обьединение.
· Выберете опцию 3, OK.
· Нажмите кнопку Создать., чтобы подтвердить создание связи.
· Перейдите в окно «Схема данных », Вы должны увидеть появившуюся связь «один-ко-многим»
2. Аналогично создайте связь между полем «фамилия» таблицы «анкета» и полем «студент» таблицы «Зачет». (последовательность действий та же, что и при установлении связи между таблицами «Дисциплины» – «Зачет», только связываются другие поля)
Задание 2
Если Вы правильно выполнили задание 1, то:
После установления связи изменение полей «фамилия» и «дисциплина » соответственно в таблицах «анкета» «дисциплины» автоматически повлечет связанных с этими полями полей «дисциплина » и «студент »в таблице «Зачет ». В свою очередь Вы не сможете ввести в таблицу «Зачет » новые фамилии, или дисциплины, если они отсутствуют в таблицах «Анкета » и «Дисциплины »
Проверьте это!!!!!…
Задание 3
1. Установите связь между таблицами «Экзамен » - [«Анкета », «Дисциплины »] Проверьте, как работают связи!!! СОХРАНИТЬ!!!!!!
Упражнение 7 Система управления базами данных MS Access
Тема: Подчиненные формы.
· Просмотр данных, имеющих отношение один-ко-многим
Допустим, Вам требуется посмотреть данные результатов экзамена по каждому студенту в отдельности, либо по каждой дисциплине в отдельности, используя уже готовую таблицу, где у Вас занесены общие результаты по всем студентам и по всем дисциплинам.