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

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

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

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

Добавлен: 30.11.2023

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

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

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

Отношение "Читатели" (поля "Идентификатор" (ПК), "ФИО", "Адрес" и "Паспортные данные", "E-mail").

Отношение "Абонемент" (поля "Читатель" (ВнК), "Книга" (ВнК), "Дата выдачи" и "Дата возврата").

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

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

новых (за последние три года относительно текущей даты) поступлений (по рубрикам и годам);

издательств с указанием количества книг, изданных этими издательствами;

рубрик, по которым нет книг;

читателей-должников (которые взяли книги больше 30 дней назад и не вернули их) с указанием количества взятых книг;

книг, в числе авторов которых есть Кодд (Codd).

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

Представление "Издания, не пользующиеся спросом" (те книги, которые выпущены более года назад и их ни разу не выдавали читателям).

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

Представление "Читатели-должники" (которые взяли книги больше 30 дней назад и не вернули их) c указанием невозвращенных книг.

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

Вариант 10.

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

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

2. Отношение "Рубрикатор" (поля "Шифр" (ПК) и "Название рубрики").

3. Отношение "Выпуски журналов" (поля "Идентификатор" (ПК), "Индекс журнала" (ВнК), "Год", "Номер выпуска").

4. Отношение "Публикации":

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

Тип

Длина

Дес.

Примечание




Автор(ы) публикации

С

50




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

составной первичный ключ

Название публикации

C

60




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


Идентификатор выпуска

N

6

0

внешний ключ к таблице "Выпуски журналов"


Шифр рубрики

C

6




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

Страницы

С

7




например: 35, 56-62, 98-111

Примечание

C

30




название раздела журнала


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

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

новых (за последние три года) публикаций (по журналам, годам и авторам);

публикаций по разделу "Базы данных" и СУБД;

рубрик, по которым нет публикаций;

журналы, в которых публиковался определенный автор.

Посчитать количество публикаций по рубрикам и разделам.

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

Представление "Публикации, занимающие одну страницу" (в поле Страницы нет диапазона страниц).

Представление "Разделы журналов": журнал – название раздела – количество публикаций до 2000 года – количество публикаций после 2000 года.

Представление "Количество выпусков": название журнала – год – количество выпусков за год.

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

Вариант 11.

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

1. Отношение "Классы номеров" (поля "Класс" (ПК), "Стоимость").

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

3. Отношение "Услуги" (поля "Название услуги" (ПК), "Описание", "Стоимость услуги").

4. Отношение "Постояльцы":

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

Тип

Длина

Дес.

Примечание

Номер паспорта

С

10




составной первичный ключ

Дата вселения

D







Занимаемый номер

N

3

0

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

ФИО

C

40




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

Пол

С

1




значения – 'м' и 'ж', по умолчанию – 'м'

Организация

С

40







Дата выселения

D










Признак

N

1




значения 0 – 'не прибыл', 1 – 'прибыл', 2 – 'выбыл'


5. Отношение "Оказанные услуги" (поля "Постоялец" (ВнК), "Услуга" (ВнК), "Количество", "Цена", "Дата оказания").

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

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

номеров (мест), освобождающихся сегодня и завтра;

пустых номеров;

номеров, в которых нет свободных мест;

номеров, в которых есть свободные места;

услуги, не пользующиеся спросом.

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

Представление "Постояльцы, проживающие в гостинице в данное время".

Представление "Свободные места": класс – номер – общее количество мест в номере – количество свободных мест.

Представление "Счёт на оплату номера": сумма оплаты за номер (стоимость, умноженная на количество дней проживания) и общей стоимости оказанных услуг.

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


Вариант 12.

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

1. Отношение "Статьи УК" (поля "Статья" (ПК), "Минимальный срок" и "Максимальный срок").

2. Отношение "Дела" (поля "Номер дела" (ПК), "Дата начала дела", "Дата окончания дела").

3. Отношение "Клиенты":

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

Тип

Длина

Дес.

Примечание

Номер дела

N

6

0

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

Номер паспорта

С

20




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

ФИО

С

50




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

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

D







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

Примечание

C

20




рецидивист, иностранный гражданин и пр.

Номер камеры

N

3

0

больше 0

Размер гонорара

N

8

2

больше или равно 0

Результат

С

40




оправдан, осужден, осужден условно и т.д.

Срок по приговору

N

4

1

для оправданных срок по приговору равен 0

4. Отношение "Обвинение" (поля "Клиент" (ВнК), "Статья" (ВнК)).

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

Проверить, что обвиняемые по одному делу не сидят в одной камере. Посчитать общую сумму гонорара (по делам, законченным в текущем году). Создать упорядоченные (по дате начала дела) списки:

подзащитных (по делам);

несовершеннолетних подзащитных;

подзащитных, обвиняемых по статьям, максимальный срок по которым не меньше 10 лет.

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

Представление "Подзащитные, осужденные условно со сроком более одного года".

Представление "Эффективность защиты": дело – ФИО – (максимальный срок - срок по приговору) – (срок по приговору - минимальный срок). Минимальный и максимальный сроки должны выбираться среди всех статей, по которым обвинялся клиент в рамках одного дела.

Представление "Список статей": номер дела – номер статьи УК.

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

Вариант 13.

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

Отношение "Поставщики/Заказчики" (поля "Идентификатор" (ПК), "Наименование", "Адрес", "Телефон").

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

Отношение "Товары на складе":

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

Тип

Длина

Дес.

Примечание

Номер поставки

N

5




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

Поставщик

N

5




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

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

D







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

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

C

8




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

Номер склада

N

2

0

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

Номер линии

С

1




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

Количество потупившего товара

N

7




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

Остаток товара после реализации

N

7




обязательное поле, не больше количества поступившего товара, не меньше 0