https://it-a-it.com

Online-образование: лекции, лабораторные работы, рабочие и учебные программы по IT-дисциплинам. Олимпиадные задачи: спортивное программирование, базы данных, компьютерные сети и компьютерная логика.

https://testy-online.com

Тесты-оnline: психологические тесты, любовь и секс, личность, воспитание и педагогика, здоровье, тесты для девочек, тесты по IT-дисциплинам, тесты по IT-дисциплинам с ответами.

Олимпиадные задачи: "Базы данных" (олимпиадные задачи на олимпиаде по специальности "Компьютерные системы и сети", апрель - 2014 год).

Типовые задачи по базам данных (олимпиадные задачи на олимпиаде по специальности "Компьютерные системы и сети", апрель - 2014 год)."

(Задачи без ответов).

ПЕРВАЯ ЗАДАЧА.

Разработать SQL-сценарий на языке Transact-SQL, который создает базу данных Университет в Microsoft SQL Server.

База данных состоит из следующих таблиц: факультеты, кафедры, преподаватели и студенты.

SQL – сценарий должен включать последовательное выполнение sql-запросов, включающий:

1. Создание базы данных Университет, включающее указание параметров к физическому файлу (имя, размещение, размеры файла) и указание параметров к файлу журналу транзакций (имя, размещение, размеры файла).

2. Создание таблицы Факультеты. Таблица включает следующие атрибуты: название факультета, ФИО декана, номер комнаты, телефон деканата. В таблице определить первичный ключ, как уникальное целочисленное поле, значения которого автоматически должны изменяться, начиная с 1 и с шагом равным 1.

3. Создание таблицы Кафедры. Таблица включает следующие атрибуты: название кафедры, факультет, которому данная кафедра принадлежит, ФИО заведующего, номер комнаты, номер корпуса, телефон. В таблице выполнить:

• Определить первичный ключ, как уникальное целочисленное поле, значения которого автоматически должны изменяться, начиная с 1 с шагом равным 1.

• Определить все внешние ключи и установить для них каскадное обновление и удаление данных.

• Номер корпуса, может принимать только определенные значения из заданного диапазона значений, например от 1 до 7. Значение по умолчанию равно 1.

• Телефон, может принимать значения только в виде ##-##-##, где # - произвольная цифра от 0 до 9.

4. Создание таблицы Преподаватели. Таблица включает следующие атрибуты: ФИО преподавателя, кафедра, на которой преподавателя работает, должность, научное звание, зарплата, дата приема на работу, стаж, день рождения, пол, телефон. В таблице выполнить:

• Определить первичный ключ, как уникальное целочисленное поле, значения которого автоматически должны изменяться начиная с 1 с шагом равным 1.

• Определить все внешние ключи и установить для них каскадное обновление и удаление данных.

• Должность, может принимать только определенные значения из списка, например 'профессор', 'доцент', и т.д.

• Научное звание, может принимать только определенные значения из списка.

• Зарплата должна принимать значения в определенном диапазоне.

• Стаж. Его значение не вводится, а является вычисляемым.

5. Создание таблицы Студенты. Таблица включает следующие атрибуты: имя, фамилия, отчество, кафедра, на которой студент учится, размер стипендии, группа, город, дата рождения. В таблице выполнить:

• Определить первичный ключ, как уникальное целочисленное поле, значения которого автоматически должны изменяться, начиная с 1 с шагом равным 1.

• Определить все внешние ключи и установить для них каскадное обновление и удаление данных.

• Стипендия должна принимать значения в определенном диапазоне.

ВТОРАЯ ЗАДАЧА.

Разработать SQL-сценарий на языке Transact-SQL, который включает:

1. Создание файла базы данных Библиотека в Microsoft SQL Server, включающее указание параметров к физическому файлу (имя, размещение, размеры файла) и указание параметров к файлу журналу транзакций (имя, размещение, размеры файла).

2. Создание таблицы Читатели. Таблица включает следующие атрибуты: ФИО, должность, место работы, город, адрес, паспортные данные, дата рождения, телефон. В таблице определить первичный ключ, как уникальное целочисленное поле, значения которого автоматически должны изменяться.

3. Создать функцию пользователя Расчет_суммы для базы данных Библиотека.

• Функция должна иметь три входных параметра – Дата выдачи, Дата возвращения, Категория литературы.

• Функция должна возвращать значение Суммы к оплате как действительное число.

• Внутри функции необходимо рассчитать Длительность взятия литературы на дом и в зависимости от приведенных условий рассчитать значение Цены оплаты в сутки:

• Если Категория литературы = «Современная», то Цена в сутки = 10 грн.

• Если Категория литературы = «Старинная», то Цена в сутки = 50 грн.

• Если Категория литературы = «Имеющая высокую ценность» , то Цена в сутки = 100 грн.

• Посчитать Сумму к оплате.

• Применить функцию в таблице Выдача литературы для расчета поля Сумма к оплате.

4. Создание таблицы Выдача литературы. Таблица включает следующие атрибуты: дата выдачи, дата возвращения, читатель, название литературы, категория литературы, сумма к оплате. В таблице выполнить:

• Определить первичный ключ, как уникальное целочисленное поле, значения которого автоматически должны изменяться.

• Определить внешний ключ и установить для него каскадное обновление и удаление данных.

• Сумма к оплате. Его значение не вводится, а является вычисляемым с использованием функции пользователя.

5. Создать новое имя входа на сервер Microsoft SQL Server Петров_АВ с паролем, создать нового пользователя Петров_АВ к базе данных Библиотека, создать новую роль – Регистратор и присвоить роли все права доступа к таблице Читатели и Выдача литературы.

6. Создать триггер под именем Триггер_upd на обновление строк в таблице Читатели. Допустим, что все читатели старше 50 лет переехали из города Киев в город Лондон. Выполнить, с помощью триггера проверку, если при обновлении всех читателей, проживающих в городе Киев на другой город - Лондон, то запретить выполнение данного запроса, если возраст читателя меньше 50 лет и выдать на экран сообщение «Запрос на изменение не выполнился», а иначе выполнить обновление данных.

7. Создать sql-запрос на обновление данных в таблице Читатели - всех читателей из города Киева изменить на Лондон.

8. Создать sql-запрос на добавление данных в таблицу Выдача литературы.

9. Создать sql-запрос, с помощью которого вывести список всех Читателей, с указанием их фамилий и должностей, и общей суммы задолженности за 2014 год, если количество дней взятия книг превысило более 7 дней.