Практические задания
по теме «Технология работы с базами данных»
Замечание. Вы можете использовать любую версию MS Access.
Все задания необходимо выполнять последовательно.
Все созданные объекты (таблицы, формы, запросы отчеты) хранятся в одной БД.
Задания
Работа с таблицами
Создайте файл базы данных (БД) с именем Сведения о сотрудниках.
В данной базе данных в Режиме таблицы создайте структуру таблицы «Штат» (табл. 1), последовательно заменяя условное имя поля Код на Код должности, Должность и Оклад и определяя тип полей.
В режиме Конструктора создайте структуру таблиц «Сотрудники» (табл. 2) и «Список» (табл. 3). Для этого задайте имена, типы и свойства полей, а также определите ключевое поле.
Таблица 1
Структура записи таблицы «Штат»1
|
Код
должности |
Должность (текстовый) |
Оклад (числовой) |
Таблица 2
Структура записи таблицы «Сотрудники»
|
Ключ |
Имя поля |
Тип данных |
Свойства |
||
|
Размер |
Маска ввода |
Обязательное поле |
|||
|
Код сотрудника |
Текстовый |
5 |
да |
||
|
ФИО |
Текстовый |
30 |
|||
|
Пол |
Текстовый |
5 |
|||
|
Образование |
Текстовый |
30 |
|||
|
Дата рождения |
Дата/время |
да |
|||
|
Адрес |
Текстовый |
50 |
|||
|
Телефон |
Текстовый |
15 |
999\-99\-99 |
||
|
Иждивенцы |
Текстовый |
5 |
|||
|
Льготы |
Логический |
||||
Таблица 3
Структура записи таблицы «Список»
|
Ключ |
Имя поля |
Тип данных |
Свойства |
|
Размер |
|||
|
Код сотрудника |
Текстовый |
5 |
|
|
Код должности |
Текстовый |
3 |
|
|
Дата принятия на работу |
Дата/время |
Откройте таблицу «Штат» в режиме Конструктора и:
задайте размер полей для таблицы (Код должности – 3; Должность – 40);
определите ключевое поле (Код должности).
Заполните таблицы «Список», «Сотрудники» и «Штат» данными в соответствии с табл. 4-6.
Таблица 4
Данные для таблицы «Список»
|
Код сотрудника |
Код должности |
Дата принятия на работу |
|
001 |
01 |
10.01.2005 |
|
002 |
02 |
15.01.2005 |
|
003 |
09 |
20.02.2005 |
|
004 |
09 |
01.12.2007 |
|
005 |
09 |
15.03.2007 |
|
006 |
03 |
12.04.2005 |
|
007 |
05 |
01.05.2006 |
|
008 |
06 |
01.08.2006 |
|
009 |
10 |
20.02 2005 |
|
010 |
10 |
01.03.2005 |
|
011 |
10 |
10.12.2005 |
|
012 |
07 |
15.01.2005 |
|
013 |
03 |
01.03.2005 |
Таблица 5
Данные для таблицы «Сотрудники»
|
Код сотрудника |
ФИО |
Пол |
Образование |
Дата рождения |
Адрес |
Телефон |
Иждивенцы |
Льготы |
|
001 |
Орлов И.Б. |
муж |
высшее |
01.03.1970 |
Новосибирск, К.Маркса, 26/1, 30 |
346-58-10 |
2 |
Да |
|
002 |
Козлов А.А. |
муж |
высшее |
15.02.1965 |
Новосибирск, Красный пр, 75,10 |
223-15-20 |
1 |
Нет |
|
003 |
Петрова Н.В. |
жен |
высшее |
03.10.1980 |
НСО, Бердск, Ленина, 5, 20 |
46-15-20 |
Нет |
|
|
004 |
Иванова Е.С. |
жен |
высшее |
10.11.1978 |
Новосибирск, Д.Ковальчук, 125, 200 |
226-65-33 |
2 |
Да |
|
005 |
Иванов С.Б. |
муж |
высшее |
20.02.1975 |
Новосибирск, Д.Ковальчук, 125, 200 |
226-65-33 |
2 |
Да |
|
006 |
Цой И.Б. |
муж |
высшее |
13.11.1971 |
Новосибирск, Титова, 20, 2 |
314-50-20 |
1 |
Нет |
|
007 |
Борисов В.П. |
муж |
высшее |
11.09.1969 |
НСО, Искитим, Народная, 15, 10 |
Нет |
||
|
008 |
Антонова А.А. |
жен |
спец. среднее |
05.04.1980 |
Новосибирск, Новогодняя, 9, 35 |
Нет |
||
|
009 |
Ким М.Б. |
жен |
спец. среднее |
08.03.1990 |
НСО, Бердск, Маркса, 10, 3 |
Да |
||
|
010 |
Аксенова Т.В. |
жен |
спец. среднее |
22.07.1989 |
Новосибирск, Ленина, 15, 46 |
221-98-16 |
Нет |
|
|
011 |
Егорова К.В. |
жен |
спец. среднее |
12.02.1975 |
Новосибирск, Космическая, 10, 28 |
346-53-27 |
1 |
Нет |
|
012 |
Потапов В.В. |
муж |
высшее |
23.12.1970 |
Новосибирск, Плахотного, 26/1, 17 |
341-99-48 |
3 |
Да |
|
013 |
Дроздова Е.С. |
муж |
высшее |
05.10.1965 |
Новосибирск, Зорге, 106, 45 |
342-15-15 |
Нет |
Таблица 5
Данные для таблицы «Штат»
|
Код должности |
Должность |
Оклад |
|
01 |
генеральный. директор |
50000 |
|
02 |
исполнительный директор |
40000 |
|
03 |
юрист |
35000 |
|
04 |
инженер |
30000 |
|
05 |
спец. по рекламе |
25000 |
|
06 |
спец. по связи с общественностью |
25000 |
|
07 |
бухгалтер |
30000 |
|
08 |
главный бухгалтер |
35000 |
|
09 |
программист |
35000 |
|
10 |
оператор |
15000 |
|
11 |
уборщица |
10000 |
|
12 |
грузчик |
10000 |
|
13 |
сетевой администратор |
45000 |
Установите связь между таблицами с соблюдением условия обеспечения целостности и каскадных изменений. В результате должна получиться схема данных (рис.1). Обратите внимание на то, что между таблицами «Сотрудники» и «Список» устанавливается отношение «один-к-одному», а между таблицами «Штат» и «Список» – отношение «один-ко-многим».
Рис. 1. Схема данных
Для полей Код должности и Код сотрудника из таблицы «Список» создайте столбцы подстановок на основе данных из таблиц «Штат» и «Сотрудники», соответственно. В результате при раскрытии поля Код сотрудника в таблице «Список» можно будет просмотреть соответствие кодов сотрудников и ФИО (рис. 2), а при раскрытии поля Код должности соответствие между кодами должностей и их названиями (рис. 3).
Рис. 2. Столбец подстановки для поля Код сотрудника
Рис. 3. Столбец подстановки для поля Код должности
Работа с Формами
Создайте на основе таблицы «Сотрудники» форму с помощью инструмента Форма и сохраните её под именем «Сотрудники_форма» (рис. 4).
Рис. 4. Форма на основе таблицы «Сотрудники», созданная инструментом Форма
С помощью созданной формы введите свои личные данные, а также еще 2-3 записи (можно о Ваших друзьях или родственниках)2
На основе таблицы «Список» постройте Разделенную форму и сохраните ее под именем «Список_разделенная» (рис. 5).
С помощью Мастера форм постройте форму на основе всех таблиц, включите в нее следующие поля: ФИО; Образование; Телефон; Дата принятия на работу; Должность и Оклад.
Разместите эти данные в наиболее удобном для просмотра и работы виде.
Создайте Форму с вкладками Основная и Дополнительная и разместите на вкладке Основная следующие поля – ФИО, Образование, Должность и Оклад, а на вкладке Дополнительная – поля ФИО, Дата принятия на работу и Телефон.
Рис. 5. Форма на основе таблицы «Список», созданная инструментом Разделенная форма
Работа с запросами
Выведите список сотрудников, имеющих льготы, и сохраните его под именем Запрос_льготы.
Сформируйте запрос, содержащий информацию о сотрудниках с высшим образованием, занимающим должность программиста (Запрос_програм-мисты).
Сформируйте запрос, содержащий информацию об адресе, телефоне и ФИО генерального директора фирмы (Запрос_директор).
Сформируйте запрос, содержащий информацию о сотрудниках, принятых на работу в 2006-2007 гг., имеющих иждивенцев (Запрос_иждивенцы).
Сформируйте запрос, содержащий информацию о сотрудниках, не проживающих в г. Новосибирске (Запрос_иногородние).
Определите, есть ли в фирме вакансии в штатном расписании (используйте пункт Записи без подчиненных в Мастере запросов). Запрос сохраните под именем Запрос_вакансии.
Используя итоговый запрос, выведите средний оклад сотрудников с высшим образованием (Запрос_группировка).
Используя запрос на создание таблицы, сформируйте новую таблицу, включив в нее поля ФИО, Образование, Дата принятия на работу, Телефон, Должность и Оклад (Новая_объединенная).
Сформируйте запрос, содержащий информацию об окладах сотрудников, и всем сотрудникам, имеющим оклад меньше 20000, начислите премию в размере 30% от оклада. Для этого следует в запрос включить вычисляемое поле Премия и использовать Построитель выражений (Запрос_премия). Запрос в режиме Конструктора приведен на рис. 6
Рис. 6. Запрос с вычисляемым полем
Работа с отчетами
На основе таблицы «Сотрудники» постройте отчет с помощью инструмента Отчет, а затем доработайте его в режиме Конструктора таким образом, чтобы все поля одновременно отображались на экране (Отчет_простой, рис. 7).
Рис. 7. Отчет, построенный с помощью инструмента Отчет и доработанный в Конструкторе очетов.
Используя Мастер отчетов, постройте отчет, форма которого приведена на рис. 8. Для построения используйте группировку по полю Образование и итоги (среднее значение) по полю Оклад. Для вывода величины среднего значения по группе задайте в окне Свойств (F4) Формат поля – Фиксированный и Число десятичных знаков – 2. Сохраните отчет под именем Сотрудники_группировка.
Рис. 8.
Отчет, построенный с помощью инструмента
Мастер
отчетом
с использованием Группировки (по
Образованию) и Итогов (среднее по полю
Оклад)
УСПЕХОВ ВАМ В РАБОТЕ!!!
1 Имя таблицы задается при ее сохранении или закрытии
2 Эта информация условная, ее можно просто придумать. Вводя новые данные, соблюдайте условия целостности. Если Вы, например, введете новую должность, то информацию о ней обязательно следует включить в таблицу «Штат» и т.д.