Базы данных
Заказать
Варианты контрольной работы №1
Вариант 1
Задание 1. Нормализуйте (если необходимо) отношения и постройте концептуальную модель на заданном множестве отношений (определить ключи и связи между отношениями). Какого типа получилась структура?
Поставщики
Код постав-щика Республика Об-ласть Форма собст-венности Ф.И.О. ди-ректора
Договора
Код поставщика Код мате-риала Цена материа-ла План поставок
Поставки
Код материала Код постав-щика Дата постав-ки Объем поставки
Склад
Код материа-ла Потребность на год Поступило с начала года Передано в цеха с начала года
Материал
Код материала Единица измерения Наименование мате-риала
Наименования поставщиков
Код поставщика Наименование поставщика
Задание 2. Выполните операцию взятия прямого декартова произведения представленных ниже отношений R1, R2, предварительно обеспечив совместимость отношений по взятию произведения.
R1 R2
Факуль-тет Команда Капитан Факуль-тет Команда Капитан
ФВС МС Иванков ФЭТ Инко Сидоренко
ФСУ АСУ Смирнов ФПМК КБ Игумнов
РТФ Радио Комов МФУ Управле-нец Ткаченко
Порядок выполнения работы
1. Ответ на вопрос 1.
Результатом ответа на 1-й вопрос первой контрольной работы должна быть схема базы данных, состоящая из набора именованных схем отношений. При этом отношения должны быть нормализованы, т.е. приведены к первой нормальной форме. В отношениях должны быть определены первичные ключи (PK) и внешние ключи (FK), установлены взаимосвязи между соответствующими отношениями. Следует указать, какому типу дореляционных структур (линейному, иерархическому, сетевому) ближе соответствует полученная структура данных. При определении типа структуры необходимо учесть, что направление связей в данном случае указывается от первичного ключа к внешнему (от старшей таблицы к подчиненной).
Пример: Пусть даны следующие отношения (рис. 1).
Студенты
№ группы Информация о студентах
№ зачетной книжки ФИО Место
рождения Дата
рождения
Группы
№ группы ФИО Куратора
Успеваемость
Код студента № семестра Средний балл
Рис. 1 - Набор схем отношений
Отношение Студенты не находится в 1-й нормальной форме, поскольку имеется составной атрибут Информация о студентах. В результате нормализации получим отношение Студенты следующего вида (рис. 2).
Студенты
№ группы № зачетной книжки ФИО Место
рождения Дата
рождения
Рис. 2 - Нормализованное отношение Студенты
Тогда связи между отношениями будут представлены следующим образом (рис. 3).
В результате получили древовидную иерархическую структуру, первичным ключем в отношении ГРУППЫ является атрибут № группы, в отношении СТУДЕНТЫ - атрибут № зачетной книжки, в отношении УСПЕВАЕМОСТЬ - являются составной атрибут № зачетной книжки, № семестра; внешними ключами в отношении студенты является атрибут № группы, в отношении УСПЕВАЕМОСТЬ - атрибут № зачетной книжки.
Следует учесть, что в данной работе направление связи указывается от старшей таблицы к подчиненной, т.е. от первичного ключа к внешнему, что характерно для дореляционных моделей данных.
В задании 2 следует выполнить предложенные операции реляционной алгебры над отношениями. Для выполнения задания необходимо изучить материал, представленный в разделе 4 настоящего пособия.
9.1.2 Контрольная работа № 2. Нормализация отношений
Контрольная работа № 2 заключается в проверке знаний по теме Нормализация отношений.
Вариант 1
Задание 1. Дайте определение третьей нормальной формы
Задание 2. Укажите атрибуты, обуславливающие нарушение третьей нормальной формы (атрибут Место рождения считать простым). Ответ обоснуйте.
1 Личный номер работника
2 Ф.И.О.
3 День рождения
4 Месяц рождения
5 Год рождения
6 Место рождения
7 Полное название последнего оконченного учебного заведения
8 ФИО ректора
9 Год окончания учебного заведения
10 Полученная специальность
Задание 3. Заполните значения атрибутов отношения R, выявите первичный ключ и все возможные зависимости, нормализуйте отношение по 2НФ (атрибуты Адрес пациента и ФИО хирурга считать составными атрибутами).
R (№ пациента, Фамилия пациента, Дата операции, Адрес пациента, ФИО хирурга, Наименование операции).
9.1.3 Контрольная работа № 3. Создание SQL-запросов
Контрольная работа № 3 заключается в проверке знаний по теме "Языки манипулирования данными".
Варианты индивидуальных заданий
Вариант 1
База данных содержит две таблицы:
"Продажа товара клиентам" [КОД_ПРОДАЖ, Да-та_продажи, Сумма_продажи, Сумма_первой_проплаты] и "Оплата за проданный товар" [КОД_ПРОДАЖ, Дата_оплаты , Сумма_оплаты], связанные по ключу КОД_ПРОДАЖ. Связь между таблицами "Продажа товара клиентам" и "Оплата за проданный товар" определяется как 1:М, т.е. оплата за проданный товар может производиться частями.
1. Сформировать SQL-запросы на создание данных таблиц, обеспечив первичные ключи и соответствующие связи.
2. Создать запрос на выборку сведений о не полностью оплаченных товарах. Запрос сформировать с группировкой по месяцам и по годам.
Порядок выполнения работы
1. Формирование запросов на создание таблиц.
Перед созданием SQL-запросов обучаемому рекоменду-ется повторить главу 7 .
Инструкция CREATE TABLE создает новую таблицу и используется для описания ее полей и индексов. Для каждого поля необходимо определить размер и тип данных. Ключи отношений желательно определять целочисленного типа.
В следующем примере создается таблица СТУДЕНТЫ, содержащая три поля, первичным ключом является поле Код_студента:
CREATE TABLE Студенты (Номер_зачетной_книжки integer PRYMARY KEY, ФИО_студента TEXT (50), Ме-сто_рождения TEXT (50));
В следующем примере создается таблица ЗАДОЛЖЕН-НОСТЬ с внешним ключом, связанным с полем Код_студента в таблице СТУДЕНТЫ:
CREATE TABLE Задолженность_за_обучение
(Код_задолженности integer PRIMARY KEY, Но-мер_зачетной_книжки integer, constraint f1_i foreign key (Но-мер_зачетной_книжки) references Студенты (Номер_зачет-ной_книжки));
На рис. 4 представлен результат выполнения запросов и определения связей типа 1:М (один-ко-многим) между таблицами.
Рис. 4 - Схема БД, полученная в результате выполнения запросов на создание таблиц
2. Формирование запросов на выборку
SQL-запросы на выборку создаются с помощью инст-рукции SELECT. Следующая инструкция SQL отберет поле ФИО из таблицы Студенты и Сумма_задолженности из таблицы Задолженность:
SELECT Студенты.ФИО, Задолженность.Сумма_задолженности
FROM Задолженность, Студенты
WHERE Студенты.Код_студента = Задолжен-ность.Код_студента;
Для группировки по датам в предложении GROUP BY необходимо воспользоваться функциями обработки дат:
Day(дата) возвращает значение дня месяца в диапазоне от 1 до 31;
Month(дата) возвращает значение месяца года в диапазоне от 1 до 12;
Year(дата) возвращает значение года в диапазоне от 100 до 9999
Для удобства наших клиентов, проходящих обучение на ФДО ТУСУРа, была создана данная форма заказа, с помощью которой Вы можете БЕСПЛАТНО УЗНАТЬ СТОИМОСТЬ оказания помощи в выполнении работ по тем дисциплинам, которые Вам необходимы. Если Вы хотите заказать ОПТОМ выполнение одного и более семестров, то мы предложим Вам выполнение работ под ключ по самым выгодным ценам. Пожалуйста свяжитесь с нами по следующим контактам