Олимпиада SQL. Олимпиада Transact. Олимпиада Transactsql
Скачать 130.43 Kb.
|
Олимпиада Transact-SQL Представленная ниже структура БД позволяет вести учет сотрудников, работающих на предприятии, а также хранить все выданные заработные платы с их расшифровкой по доходным и расходным статьям (например, оклад, районный коэффициент, подоходный налог и т.д.). Примечания Сервер – sql1c Логин – stud Пароль – 123456789 Откройте окно запросов, сохраните в своей сетевой папке, под именем OlimpФИО.sql (не правильно сохраненная работа не будет проверяться). Систематически выполняйте сохранения. Все выполненные задания не удаляйте, а оформляйте следующим образов: Цифры 1,2,….. – номера заданий Задания можно выполнять не по порядку Задания (100 баллов) Создание и модификация структуры БД (28 баллов) Создайте БД, назвав ее Olimp_№ (где № номер компьютера), которая состоять из одного файла данных (первичный файл), логическое имя – ваше имя, физическое имя – ваша фамилия, размер файла 7mb, шаг приращения 15%, и одного файла журнала транзакций, логическое имя – ваше имя плюс прификс _log, физическое имя – ваша фамилия плюс прификс _log, размер 2mb, шаг приращения 1mb. Например: Имя БД – Olimp_1, логическое имя первичного файла – Sergey, физическое имя первичного файла – Vaganov.mdf, логическое имя журнала транзакций – Sergey_log и физическое имя журнала транзакций – Vaganov_log.ldf (5 баллов) Установите соединение с созданной БД (1 бал) Создайте таблицу Staff (Списка сотрудников) (4 баллов)
Добавьте еще 3 поля (2 балла):
Создайте ограничение на столбец Post, вводимые значения должны начинаться со слова «Должность: » Paies'>(1 балла) Создайте уникальный составной индекс по полям Surname, Name, Lastname (2 балла) Создайте таблицу Paies (учета выданной зарплаты) (3 баллов)
Установите первичный ключ по полю Code_pay (1 балла) Создайте таблицу Items_pay (расшифровки каждой зарплаты по статьям) (3 баллов)
Установите ссылочную целостность между таблицами. Удаляя записи из таблицы Paies, автоматически удаляются записи из таблицы Items_pay (3 баллов) Нельзя удалить записи в таблице Staff пока есть записи в таблице Paies (3 баллов) Запроса на выборку (72 балла) Выполните соединение с БД Zarabotnaya_Plata (1 бал) Вывести все сведения о сотрудниках из таблицы Staff и отсортировать результат по табельному номеру (1 балла) Вывести все сведения о сотрудниках из таблицы Staff таким образом, чтобы в результате порядок столбцов был следующим: Name, Lastname, Surname, Post, Date_input, Phone, Birthday, T_number, Type_post (1 бал) Вывести список фамилий, имен, отчеств сотрудников, их должности, отсортировать результат по названиям должностей по возрастанию и по фамилиям по убыванию (1 балла) Вывести список сотрудников и их телефоны, значения которых находятся в диапазоне с 111111 по 222222 (1 балла) Вывести среднюю зарплату (1 балла) Вывести список сотрудников с должностью, название которой начинается со слова «главный» (1 балла) Вывести список сотрудников, фамилии которых начинаются с «Ива» (2 балла) Вывести список сотрудников с должностями «начальник отдела кадров», «специалист отдела кадров», «главный инженер» (2 балла) Объединить данные фамилии, имена, отчества в одном столбце с названием FIO (2 балла) Вывести список сотрудников, у которых фамилия начинается на одну из букв диапазона «Р» – «У» (2 балла) Вывести список фамилий, имен, отчеств сотрудников (поля Surname, Name, Lastname), а также значения их заработных плат (поле Sum_pay) и даты получения (поле Sum_pay) (3 балла) Вывести список сотрудников и их должности, которые не являются служащими (3 балла) Вывести табельные номера, даты получения зарплаты и ее расклад по статьям, результат отсортировать по табельному номеру сотрудника (3 баллов) Вывести список сотрудников и суммарную зарплату каждого (4 баллов) Вывести неповторяющийся список всех сотрудников, у которых размер зарплаты составил от 9000 до 15000 руб (4 баллов) Вывести список сотрудников и размеры полученных зарплат за февраль месяц (4 баллов) Вывести список сотрудников, получающих одну из следующих надбавок к зарплате: «премию», «оплата учебы», «поощрение» (5 баллов) Вывести зарплату каждого работника используя только таблицу Items_pay после чего выполнить сравнение с таблицей Paies (5 баллов) Вывести список фамилий и табельных номеров сотрудников, а также значения их заработных плат и даты получения с раскладкой каждой зарплаты по статьям (6 баллов) Вывести неповторяющийся список сотрудников, которые получали премию (6 баллов) Вывести список сотрудников, которые получали заработную плату со статьей «премия» (7 баллов) Вывести список сотрудников, их табельные номера, даты и суммы получения зарплаты на руки и зарплаты, если бы у них не брали ‘подоходный’, результат поместить в столбец Sum_With_Nalog (7 баллов) |