Файл: Лабораторные работы по курсу "Базы данных" (2й модуль 3го курса).doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 128

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Примечание: одинаковый товар может лежать на складе в нескольких местах (от разных поставок).

Отношение "Заказы" (поля "Заказчик" (ВнК), "Товар" (ВнК), "Количество", "Дата поступления заказа", "Дата выполнения заказа").

Л.р. №2. Выборка данных. Один из запросов надо написать двумя способами и объяснить, какой из вариантов будет работать быстрее и почему.

Создать упорядоченные списки:

товаров с указанием их суммарного количества и веса;

поставщиков и товаров, которые они поставляют;

поставщиков, от которых не было поставок;

товаров, остаток которых равен количеству поступившего товара и которых нет в текущих заказах.

Проверить, достаточно ли на складе товара для выполнения конкретного заказа.

Л.р. №3. Работа с представлениями. Для созданных представлений необходимо проверить с помощью запросов UPDATE, DELETE и INSERT, являются ли они обновляемыми, и объяснить полученный результат.

Представление "Товары, которых в настоящее время нет на складе".

Представление "Невыполнимые заказы" (на товары, которых не хватает или совсем нет на складе): заказчик – название товара – заказанное количество – общее количество этого товара на складе.

Представление "Вес заказов, выполненных сегодня": номер заказа – общий вес заказанного товара.

Л.р. №4. Изучение операций реляционной алгебры. Необходимо написать на языке SQL запросы, которые реализуют операции реляционной алгебры. Если для демонстрации операций РА недостаточно отношений, созданных во время выполнения работы №1, то следует создать дополнительные отношения.

Вариант 14.

Л. р. №1. Создание и заполнение отношений БД магазина.

Отношение "Поставщики" (поля "Идентификатор" (ПК), "Поставщик" и "Адрес").

Отношение "Категории товара" (поля "Название" (ПК), "Срок реализации, дней").

Отношение "Товары" (поля "Артикул товара" (ПК), "Название товара", "Категория товара" (ВнК), "Единица измерения", "Вес единицы товара", "Минимум запаса в магазине").

Отношение "Поставки":

Содержимое поля

Тип

Длина

Дес.

Примечание

Шифр поставки

N

6

0

первичный ключ

Поставщик

N

6

0

внешний ключ к таблице "Поставщики"

Артикул товара

C

8




внешний ключ к таблице "Товары"

Количество товара

N

7

2

обязательное поле, больше 0

Цена единицы товара

N

8

2

больше 0

Дата поставки

D







обязательное поле

Остаток товара

N

7

2

не может превышать количество поставленного товара и быть меньше 0


Л.р. №2. Выборка данных. Один из запросов надо написать двумя способами и объяснить, какой из вариантов будет работать быстрее и почему.

Создать список поставщиков, от которых нет поставок. Создать упорядоченные списки:

поставщиков, чьи товары в данное время есть в магазине;

товаров, срок реализации которых подошёл к концу (заканчивается сегодня или уже закончился);

товар – общий вес товара по всем поставкам;

товаров, чей остаток меньше установленного минимума.

Л.р. №3. Работа с представлениями. Для созданных представлений необходимо проверить с помощью запросов UPDATE, DELETE и INSERT, являются ли они обновляемыми, и объяснить полученный результат.

Представление "Товары, поставленные в течение последних трех дней, остаток которых меньше 10% от первоначального количества".

Представление "Общая стоимость остатков товаров": категория – название товара – общая стоимость.

Представление "Остатки товаров": товар – общий остаток – остаток с неистёкшим сроком реализации – остаток с истёкшим сроком реализации.

Л.р. №4. Изучение операций реляционной алгебры. Необходимо написать на языке SQL запросы, которые реализуют операции реляционной алгебры. Если для демонстрации операций РА недостаточно отношений, созданных во время выполнения работы №1, то следует создать дополнительные отношения.

Вариант 15.

Л.р. №1. Создание и заполнение отношений БД деканата.

Отношение "Кафедры" (поля "Шифр кафедры" (ПК), "Название кафедры").

Отношение "Преподаватели" (поля "Идентификатор" (ПК), "ФИО", "Должность (старший преподаватель, доцент, профессор)", "Ученая степень (кандидат или доктор наук)", "Кафедра").

Отношение "Дисциплины" (поле "Шифр дисциплины" (ПК), "Название дисциплины").

Отношение "Расписание занятий":

Содержимое поля

Тип

Длина

Дес.

Примечание

Идентификатор

N

5

0

первичный ключ

Дисциплина

N

6

0

внешний ключ к таблице "Дисциплины"

Группы

C

15




перечисление через запятую

Тип занятий

С

20




лекция, семинар, лабораторная работа

Преподаватель

C

6




внешний ключ к таблице "Преподаватели"

День недели

С

2




пн, вт, ср, чт, пт, сб

Время

Т










Аудитория

N

3

0





Л.р. №2. Выборка данных. Один из запросов надо написать двумя способами и объяснить, какой из вариантов будет работать быстрее и почему.

Создать упорядоченные по кафедрам списки:

кафедра – преподаватель – дисциплина;

преподавателей, у которых должность не соответствует учёной степени (для кандидата соответствующая должность доцент, для доктора – профессор);

дисциплин, по которым нет лекций.

Убедиться с помощью запроса, что у каждого преподавателя не более 3-х занятий в день. Выдать расписание занятий для группы М-214.

Л.р. №3. Работа с представлениями. Для созданных представлений необходимо проверить с помощью запросов UPDATE, DELETE и INSERT, являются ли они обновляемыми, и объяснить полученный результат.

Представление "Качественный состав сотрудников кафедр": кафедра – количество профессоров – количество доцентов.

Представление "Дисциплины, по которым нет лабораторных работ".

Представление "Нагрузка преподавателей": кафедра – преподаватель – количество дисциплин, которые он ведёт.

Л.р. №4. Изучение операций реляционной алгебры. Необходимо написать на языке SQL запросы, которые реализуют операции реляционной алгебры. Если для демонстрации операций РА недостаточно отношений, созданных во время выполнения работы №1, то следует создать дополнительные отношения.

Вариант 16.

Л. р. №1. Создание и заполнение отношений БД владельцев автомобилей.

Отношение "Владельцы" (поля "Идентификатор" (ПК), "ФИО", "Дата рождения", "Место рождения").

Отношение "Модели автомобилей" (поля "Название марки", "Модель" (ПК), "Категория").

Отношение "Автомобили":

Содержимое поля

Тип

Длина

Дес.

Примечание

Владелец

N

6

0

обязательный внешний ключ к таблице "Владельцы"

Государственный номерной знак

С

9

0

первичный ключ

VIN

С

17




обязательное поле

Модель

С

15




обязательный внешний ключ к таблице "Модели"

Год выпуска

N

4

0

обязательное поле

Номер кузова

С

17







Номер двигателя

С

17







Цвет

С

25




обязательное поле

Дата постановки на учет

D







обязательное поле

Дата снятия с учета

D











Отношение "Штрафы" (поля "Автомобиль" (ВнК), "Дата выписки", "№ протокола", "Сумма штрафа", "Дата оплаты").

Л.р. №2. Выборка данных. Один из запросов надо написать двумя способами и объяснить, какой из вариантов будет работать быстрее и почему.

Создать упорядоченные списки:

автомобилей модели Honda Accord, снятых с учета за последнюю неделю;

автомобилей категории 'B', для которых не указан номер двигателя;

владельцев, у которых в настоящее время более 10 автомобилей;

владельцев, у которых есть неоплаченные штрафы;

автомобилей, на которые не наложены штрафы в настоящее время.

Л.р. №3. Работа с представлениями. Для созданных представлений необходимо проверить с помощью запросов UPDATE и INSERT, являются ли они обновляемыми, и объяснить полученный результат.

Представление "Автомобили, у которых не менялся владелец" (VIN этого автомобиля не повторяется в таблице и дата снятия с учета не определена).

Представление "Статистика штрафов": владелец – сумма наложенных штрафов – сумма оплаченных штрафов.

Представление "Смена владельцев": модель – год – количество поставленных на учет – количество снятых с учета.

Л.р. №4. Изучение операций реляционной алгебры. Необходимо написать на языке SQL запросы, которые реализуют операции реляционной алгебры. Если для демонстрации операций РА недостаточно отношений, созданных во время выполнения работы №1, то следует создать дополнительные отношения.


Вариант 17.

Л. р. №1. Создание и заполнение отношений БД кинологического клуба.

Отношение "Породы" (поля "Группа пород" (терьеры, таксы и проч.), "Название породы" (ПК)).

Отношение "Владельцы" (поля "Идентификатор" (ПК), "ФИО", "Адрес", "Телефон").

Отношение "Собаки":

Содержимое поля

Тип

Длина

Дес.

Примечание

Идентификатор

N

6

0

первичный ключ

Кличка

C

50




обязательное поле

Владелец

N

5

0

внешний ключ к таблице "Владельцы"

Дата рождения

D







обязательное поле

Пол

С

1




список значений 'м' и 'ж'

Порода

N

3

0

внешний ключ к таблице "Породы"

Отец

N

6

0

внешний ключ к таблице "Собаки", необязательное поле

Мать

N

6

0

внешний ключ к таблице "Собаки", необязательное поле

Описание

С

300







Дата смерти

D










Отношение "Награды" (поля "Собака" (ВнК), "Награда", "Дата получения").

Л.р. №2. Выборка данных. Один из запросов надо написать двумя способами и объяснить, какой из вариантов будет работать быстрее и почему.

Вывести список пород, которых нет в клубе. Создать упорядоченные списки:

самок, родившихся в прошлом и позапрошлом году;

собак, у которых отец и мать являются членами этого клуба;