Упражнения по базам данных 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. Создайте группу макросов. Будьте очень внимательны при выполнении этого пункта!!!
- Выбрать вкладку «макросы», нажать кнопку создать.
- Ввести макрокоманду «открыть форму»
u Имя формы: « форма для добавления записей»
u Режим: Форма
u Режим данных: Добавление
u Режим окна: Обычное
- Закрыть окно и сохранить макрос с именем «Добавление»
- Создать следующий макрос:
- Ввести макрокоманду «Выполнить команду»
u Команда «Сохранить запись (Save Record)»
- Ввести макрокоманду «Выделить обьект»
u Тип обьекта: Форма
u Имя обьекта: Анкета
u В окне базы данных: Нет
- Ввести макрокоманду «Обновление»
u Имя элемента: Фамилия
- Закрыть окно и сохранить макрос с именем «Закрытие»
3. Переключитесь в форму «Форма для добавления записей» в режиме конструктора.
4. Выбрать режим «вид/свойства»
5. Открыть вкладку «События»
6. Добавить макрос «Закрытие» в свойство «Закрытие формы»
7. Закрыть форму
8. Откройте в режиме конструктора форму «Анкета»
9. Щелкните «правой мышкой» по полю «фамилия» выберете пункт «свойства»
- Открыть вкладку «События»
- Указать имя макроса «Добавление» в поле ввода свойства «Двойное нажатие кнопки»
Задание 7.
1. Проверьте работу созданных Вами макросов по созданию самозаполняющегося списка.
- Переключитесь в режим формы « анкета»
- Дважды щелкните мышкой по полю «фамилия», введите фамилию «Клинтон»,
- Заполните остальные обязательные поля для записи с фамилией «Клинтон»
- закройте форму. Вы опять в главной форме «Анкета»
- Попробуйте раскрыть список фамилий, щелкнув мышкой по кнопке t .
Если Вы аккуратно выполнили Задание 6, то в списке Вы обнаружите фамилию «Клинтон»
2. Закройте форму, сохранив внесенные изменения. ФАЙЛ/СОХРАНИТЬ!!!!!!!!
Упражнение 3 Система управления базами данных MS Access
Тема: Проектирование многотабличных баз данных
- Мастер таблиц.
- Мастер форм.
- Модификация структуры таблицы
Задание 1
1. Создать таблицу «Преподаватели»: Используйте Мастер таблиц.
- Выбрать для создания таблицы образец «Сотрудники» и выбрать из предложенного перечня полей следующие:
u Фамилия
u Имя
u Отчество
u Должность
u Название отдела (переименовать, как “кафедра”)
- Назвать созданную таблицу “Преподаватели” Связи не определять, т.е. нажать кнопку Далее.
- Выбрать режим “непосредственный ввод данных в таблицу”
- В режиме конструктора определить тип данных для каждого поля
Имя поля | Тип данных |
Фамилия | Текстовый (щелкните мышкой) |
Имя | Текстовый |
Отчество | Текстовый |
Должность | Текстовый |
Кафедра | Текстовый |
- Определить свойства полей на вкладке “Общие” в режиме конструктора следующим образом:
Поле | Свойства полей | ||||||
Размер | Формат поля | Маска ввода | Подпись | Значение по умолчанию | Обязательное поле | Индексированное поле | |
Фамилия | Фамилия | да | Да(совпадения допускаются) | ||||
Имя | Имя | да | нет | ||||
Отчество | Отчество | Да | нет | ||||
Должность | Должность | нет | нет | ||||
Кафедра | Кафедра | Да | нет |
- Для поля «кафедра» изменить элемент управления следующим образом:
u Откройте вкладку «Подстановка» и установите следующие свойства для поля «кафедра»
Тип элемента управления | Поле со списком |
Тип источника строк | Список значений. |
Источник строк | Введите список кафедр, используя в качестве разделителя точку с запятой “ ;“ |
Ограничиться списком | Да |
Задание 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. Для поля «группа» изменить элемент управления:
u Откройте вкладку «Подстановка» и установите следующие свойства для поля «группа»
Тип элемента управления | Поле со списком |
Тип источника строк | Таблица/запрос. |
Источник строк | 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
Тема: Подчиненные формы.
- Просмотр данных, имеющих отношение один-ко-многим
Допустим, Вам требуется посмотреть данные результатов экзамена по каждому студенту в отдельности, либо по каждой дисциплине в отдельности, используя уже готовую таблицу, где у Вас занесены общие результаты по всем студентам и по всем дисциплинам.