Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Цель работы:
Разработать набор скриптов с использованием средств языка определения и
манипулирования данными T-SQL, реализующих работу базы данных
«Библиотека». Разработать SQL-запросы на добавление, обновление и выборку
данных
Задание:
Разработать SQL-сценарий на языке Transact-SQL, который включает:
1. Создание файла базы данных Библиотека в Microsoft SQL Server,
включающее указание параметров к физическому файлу (имя, размещение,
размеры файла) и указание параметров к файлу журнала транзакций (имя,
размещение, размеры файла);
2. Создание таблицы Читатели. Таблица включает следующие атрибуты:
ФИО, должность, место работы, город, адрес, паспортные данные, дата рождения,
телефон. В таблице определить первичный ключ, как уникальное целочисленное
поле, значения которого автоматически должны изменяться;
3. Создание таблицы Выдача литературы. Таблица включает следующие
атрибуты: дата выдачи, дата возвращения, читатель, название литературы,
категория литературы, сумма к оплате. В таблице выполнить:
определить первичный ключ, как уникальное целочисленное поле,
значения которого автоматически должны изменяться;
определить внешний ключ и установить для него каскадное
обновление и удаление данных;
сумма к оплате; его значение не вводится, а является вычисляемым с
использованием функции пользователя;
4. Создать функцию пользователя Расчет_суммы для базы данных
Библиотека.
функция должна иметь три входных параметра: Дата выдачи, Дата
возвращения, Категория литературы (Современная, старинная,
имеющая высокую ценность);
функция должна возвращать значение Суммы к оплате как
действительное число;
внутри функции необходимо рассчитать Длительность взятия
литературы на дом и в зависимости от приведенных условий
рассчитать значение Цены оплаты в сутки:
Если Категория литературы = «Современная», то Цена в сутки = 10 руб.
Если Категория литературы = «Старинная», то Цена в сутки = 50 руб.
Если Категория литературы = «Имеющая высокую ценность», то Цена в
сутки = 100 руб.
Посчитать Сумму к оплате.
Применить функцию в таблице Выдача литературы для расчета поля
Сумма к оплате;
5. Создать новое имя входа на сервер Microsoft SQL Server Петров_ПП с
паролем, создать нового пользователя Иванов_ИИ к базе данных Библиотека,
создать новую роль – Регистратор и присвоить роли все права доступа к таблице
Читатели и Выдача литературы;
6. Создать триггер под именем Триггер_upd на обновление строк в таблице
Читатели. Допустим, что все читатели старше 50 лет переехали из города
Хабаровск в город Калининград. Выполнить, с помощью триггера проверку по
условию: если читатель, проживает в г. Хабаровск и его возраст меньше 50 лет –
выдать на экран сообщение «Запрос на изменение выполнен», а иначе –
выполнить обновление данных;
7. Создать SQL-запрос на обновление данных в таблице Читатели – всех
читателей из города Хабаровск «переместить» в город Калининград;
8. Создать SQL-запрос на добавление данных в таблицу Выдача
литературы;
9. Создать SQL-запрос, с помощью которого вывести список всех
Читателей, с указанием их фамилий и должностей, и общей суммы задолженности
за 2022 год, если количество дней взятия книг превысило более 7 дней.
Выполнение:
Создаем файлы базы данных Библиотека, включающее указание параметров
к физическому файлу (имя, размещение, размеры файла) и указание параметров к
файлу журнала транзакций (имя, размещение, размеры файла):