Задание База данных "Зарплата" MS Access (2 вариант)..
База данных должна содержать следующие элементы:
Таблица «Должности»: код должности; должность.
Таблица «Тарифы»: код должности; разряд; ставка, р./ч.
Таблица «Работники»: отдел; код должности; разряд; табельный номер; Ф.И.О.
Таблица «Табель»: год; месяц; табельный номер; количество отработанных часов; дата начисления зарплаты
Поле со списком – таблица «Работники», поле Отдел.
Поле подстановки – Код должности в таблице «Тарифы», источник таблица «Должности».
Запросы на выборку:
1. Должность и тарифная ставка работника Р. Л. Иванова.
2. Работники отдела «Проектирование» с тарифной ставкой от 180 до 250 р./ч.
3. Работники отдела «Проектирование», разряд которых выше 10-го.
Запрос с вычисляемым полем
Зарплата работника (таблица «Табель»).
Групповой запрос:
Количество отработанных часов каждым работником (таблица «Работники»).
Запрос с параметром:
Работники отдела N
Отчет по работникам, сгруппированный по отделам, сортировка по уменьшению тарифной ставки.
Подробное описание, как можно выполнить такое задание, приведено в нулевом и первом вариантах. Все остальные варианты опишу вкратце.
После предварительного составления таблиц и логической схемы, описания типов данных и прочих параметров полей переходим в СУБД MS Access и начинаем составлять таблицы. Потом устанавливаем связи.
Вот какая получается схема данных в MS Access.
База данных несложная. Но есть одна особенность – составной ключ в таблице «Тарифы». Он состоит из полей «Код должности» и «Разряд». То есть получается, что по отдельности одно и то же значение кода должности или тарифа может встречаться в таблице не один раз, но сочетание их должно быть уникально. У нас не может быть двух конструкторов с одинаковыми разрядами в одной таблице. И, как видим, связь между таблицами «Тарифы» и «Работники» не имеет свойства «Обеспечение целостности данных». Ввиду неуникальности ключа «Разряд» вид этой связи многие-ко-многим. Но, как мы и говорили, сочетание «Код должности + Разряд» уникально, так что все в порядке, в конечном итоге получается один-ко-многим.
По структуре таблиц базы данных. Таблицы «Должности» и «Тарифы» – это справочники-классификаторы. Таблица «Должности – главная к таблицам «Работники» и «Тарифы» (поля связи Код должности). Таблица «Работники» содержит сведения о сотрудниках и является главной к «Табелю». В «Табеле» содержится вся информация по отработанному времени сотрудников.
Дальше делаем запросы.
Первый запрос на выборку:
Второй запрос на выборку
В этом запросе используем функцию Between. Она возвращает значения из указанного диапазона, в данном случае ставку от 180 до 250 р/ч.
Третий запрос на выборку
Запрос с вычисляемым полем
Групповой запрос
Запрос с параметром
Делаем отчет. Многотабличный запрос
Отчет в режиме конструктора:
База данных должна содержать следующие элементы:
Таблица «Должности»: код должности; должность.
Таблица «Тарифы»: код должности; разряд; ставка, р./ч.
Таблица «Работники»: отдел; код должности; разряд; табельный номер; Ф.И.О.
Таблица «Табель»: год; месяц; табельный номер; количество отработанных часов; дата начисления зарплаты
Поле со списком – таблица «Работники», поле Отдел.
Поле подстановки – Код должности в таблице «Тарифы», источник таблица «Должности».
Запросы на выборку:
1. Должность и тарифная ставка работника Р. Л. Иванова.
2. Работники отдела «Проектирование» с тарифной ставкой от 180 до 250 р./ч.
3. Работники отдела «Проектирование», разряд которых выше 10-го.
Запрос с вычисляемым полем
Зарплата работника (таблица «Табель»).
Групповой запрос:
Количество отработанных часов каждым работником (таблица «Работники»).
Запрос с параметром:
Работники отдела N
Отчет по работникам, сгруппированный по отделам, сортировка по уменьшению тарифной ставки.
Подробное описание, как можно выполнить такое задание, приведено в нулевом и первом вариантах. Все остальные варианты опишу вкратце.
После предварительного составления таблиц и логической схемы, описания типов данных и прочих параметров полей переходим в СУБД MS Access и начинаем составлять таблицы. Потом устанавливаем связи.
Вот какая получается схема данных в MS Access.
База данных несложная. Но есть одна особенность – составной ключ в таблице «Тарифы». Он состоит из полей «Код должности» и «Разряд». То есть получается, что по отдельности одно и то же значение кода должности или тарифа может встречаться в таблице не один раз, но сочетание их должно быть уникально. У нас не может быть двух конструкторов с одинаковыми разрядами в одной таблице. И, как видим, связь между таблицами «Тарифы» и «Работники» не имеет свойства «Обеспечение целостности данных». Ввиду неуникальности ключа «Разряд» вид этой связи многие-ко-многим. Но, как мы и говорили, сочетание «Код должности + Разряд» уникально, так что все в порядке, в конечном итоге получается один-ко-многим.
По структуре таблиц базы данных. Таблицы «Должности» и «Тарифы» – это справочники-классификаторы. Таблица «Должности – главная к таблицам «Работники» и «Тарифы» (поля связи Код должности). Таблица «Работники» содержит сведения о сотрудниках и является главной к «Табелю». В «Табеле» содержится вся информация по отработанному времени сотрудников.
Дальше делаем запросы.
Первый запрос на выборку:
Второй запрос на выборку
В этом запросе используем функцию Between. Она возвращает значения из указанного диапазона, в данном случае ставку от 180 до 250 р/ч.
Третий запрос на выборку
Запрос с вычисляемым полем
Групповой запрос
Запрос с параметром
Делаем отчет. Многотабличный запрос
Отчет в режиме конструктора:
