Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

OtchetPZ_6_Relyacionnaya_algebra_zadachi

.docx
Скачиваний:
16
Добавлен:
24.01.2023
Размер:
37.24 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Кафедра безопасности информационных систем

ОТЧЁТ

по практической работе № 6 на тему: «Основы реляционной алгебры»

по дисциплине «Управление данными»

Выполнил: студент группы ИСТ-114,

«24»октября 2022 г. __________/­Медведева С.Г/

Принял:

«__» октября 2022г. __________/Ю.Я. Перевозник/

Санкт-Петербург

2022

Цель работы

Освоить основные операции и решение задач с помощью реляционной алгебры.

Задание №1

Даны два домена: D9 = {Москва, СПб, Саратов} и D10 = {Иванов, Сидоров}. Определить декартово произведение этих доменов.

Решение

Декартово произведение доменов D=D9×D10 выглядит следующим образом: D = {(Москва, Иванов), (Москва, Сидоров), (СПб, Иванов), (СПб, Сидоров), (Саратов, Иванов), (Саратов, Сидоров)}

Задание №2

Даны три отношения C, R и P, приведенные в таблицах 1, 2 и 3 соответственно. Определить результаты для операций объединение отношений, разность отношений, декартово произведение отношений, проекция и селекция.

Таблица 1 – отношение С

a

b

c

d

1

2

Таблица 2 – отношение R

e

n

a

a

b

c

1

b

c

c

e

b

Таблица 3 – отношение P

b

c

f

h

a

b

Решение

Объединение отношений: это отношения, состоящие из множества кортежей, принадлежащих к отношениям, за исключением повторяющихся. Это отношение применятся к отношениям одной арности.

Таким образом из перечисленных отношения операции объединения могут быть подвергнуты только С и Р.

a

b

c

d

1

2

b

c

f

h

Таблица 4 - C∪P

Разность отношений: это отношение, состоящие из множества кортежей, принадлежащих первому отношению и не принадлежащих второму.

Операция не применятся к отношения разной арности.

Разность R=C-P показана в таблице 5.

c

d

1

2

Таблица 5 – отношение C-P

Декартово произведение отношений: это множество кортежей арности (k1+k2), где k1 первые элементы, образующие кортеж первого отношения, а последний k2 элементов образуют кортеж из второго отношения.

Декартово произведение отношений R=C×P (C = {(a, b), (c, d), (1, 2)}, P= {(b, c), (f, h), (a, b)}) будет выглядеть следующим образом:

R = {(a, b, b, c), (a, b, f, h), (a, b, a, b), (c, d, b, c), (c, d, f, h), (c, d, a, b), (1, 2, b, c), (1, 2, f, h), (1, 2, a, b)}

Проекция: операция, результат которой – отношение, состоящие из указанных столбцов, которые компонуются в указанном порядке.

Результат проекции R = π3,2,1(R) приведен в таблице 6.

a

n

e

c

b

a

c

b

1

b

e

c

Таблица 6 – отношение π3,2,1(R)

Селекция: _______ операция, результат которой – отношение, имеющие строки(кортежи), которые удовлетворяют формуле F. Формула F – это формула, образованная операндами, являющимися номера столбцов, и логическими и арифметическими операторами.

Результат селекции R = 𝜎(1=a) 𝑜𝑟 ((1=1) and (3=c))(P) приведен в таблице 7.

a

b

c

1

b

c

Таблица 7 – отношение R

Задание №3

Даны отношения П (Поставщики), ПТ (Поставки) и ПНов (таблицы 8,9 и 10 соответственно).

Выполнить 5 задач на этих отношениях.

Таблица 8 – П (Поставщики)

Ном

Фам

Статус

Город

S1

Иванов

80

Москва

S2

Петров

40

Самара

S3

Кротов

100

Москва

Таблица 9 –ПТ (Поставки)

Ном

Ном_дет

Кол_дет

S1

D1

100

S1

D3

200

S2

D3

150

S3

D3

50

Таблица 10 – ПНов

Ном

Фам

Статус

Город

S4

Петров

30

Тверь

S5

Сидоров

50

Тверь

Решение

Задача 1: найти города, где проживают поставщики. Привести формулу и результат.

Как я поняла у нас есть две таблицы с поставщиками, поэтому сначала мы их объединим.

Ном

Фам

Статус

Город

S1

Иванов

80

Москва

S2

Петров

40

Самара

S3

Кротов

100

Москва

S4

Петров

30

Тверь

S5

Сидоров

50

Тверь

Таблица 11 - П∪ПНов

После чего используем проекцию, чтобы выбрать только города и фамилии поставщиков. Сделаем это по формуле R = π2,4(П∪ПНов) и получим таблицу.

Фам

Город

Иванов

Москва

Петров

Самара

Кротов

Москва

Петров

Тверь

Сидоров

Тверь

Таблица 12 - R = π2,4(П∪ПНов)

Задача 2: найти поставщиков со статусом больше 70. Привести формулу и результат.

Аналогичном первому заданию объединяем две таблицы. После чего используем операцию селекции. Сделаем это по формуле R = 𝜎(3>70) ( П∪ПНов) и получим таблицу.

Ном

Фам

Статус

Город

S1

Иванов

80

Москва

S3

Кротов

100

Москва

Таблица 13 - R = 𝜎(3>70) ( П∪ПНов)

Задача 3: найти номера и фамилии поставщиков со статусом меньше 80. Привести формулу и результат.

Аналогично объединяем две таблицы. После чего используем операцию селекцию, чтобы найти поставщиков со статусом меньше 80. Сделаем это по следующей формуле R1 = 𝜎(3<80) (П∪ПНов) и получим таблицу.

Ном

Фам

Статус

Город

S2

Петров

40

Самара

S4

Петров

30

Тверь

S5

Сидоров

50

Тверь

Таблица 14 – R1 = 𝜎(3<80) ( П∪ПНов)

Так как нам нужно только номер и фамилии этих поставщиков выполним проекцию. Сделаем это по следующей формуле R = π2,3(R1) и получим таблицу.

Ном

Фам

S2

Петров

S4

Петров

S5

Сидоров

Таблица 15 – R = π2,3(R1)

Задача 4: удалить все поставки поставщика с номером S1

Для начала мы создадим отношение, состоящие только из поставок с номером S1. Сделаем это по формуле R1 = 𝜎(1=S1) (ПТ) и получим таблицу

Ном

Ном_дет

Кол_дет

S1

D1

100

S1

D3

200

Таблица 16 - R1 = 𝜎(1=S1) (ПТ)

После чего с помощью операции разности мы вычтем из таблицы ПТ все записи с номером S1. Сделаем это по формуле R2 = ПТ – R1 и получим таблицу.

Ном

Ном_дет

Кол_дет

S2

D3

150

S3

D3

50

Таблица 17 – R2 = ПТ-R1

Задача 5: добавить в таблицу П новых поставщиков из таблицы Пнов.

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

Задание №4

Дан список студентов факультетов в виде отношения со столбцами ФИО, Дата рождения, Шифр группы и Признак наличия стипендии. Выполнить поставленные задачи на этом отношении.

Решение

Задача 1: сформировать список студентов заданной группы, получающих стипендию.

Для начала используя операцию проекции составим таблицу, состоящую из полей ФИО Шифр группы и Признак наличия стипендии. Сделаем это по формуле R1 = π1,3,4(R). После чего использую операцию селекции выберем только тех студентов, у которых есть стипендия. Сделаем это по формуле R2 = 𝜎(3=true) (R1) если нам нужно чтобы в таблице были студенты из конкретной группы, то нужно добавит дополнительное условие и формула будет выглядеть так R2 = 𝜎(3=true) and (2 = номер группы)(R1).

Задача 2: выдать фамилии студентов, родившихся до 1 сентября 1990 года

Для начала выполним селекцию по формуле R1 = 𝜎(2 < 01.09.1990)(R) после чего выполним проекцию по формуле R2 = π1 (R1).

Задача 3: сформировать список студентов – старше 20 лет, получающих стипендию.

Если отсчитывать сегодняшним числом, то студенты старше 20 должны быть рождены позже 23.10.2001. Сделаем селекцию по формуле R1 = 𝜎(2 < 23.10.2001) and (4 = true)(R). Таким образом мы получим студентов которые старше 20 и получают стипендию.

Вывод

В ходе практической работы были изучены основные операции реляционной алгебры, а также решены задачи методами реляционной алгебры.

Соседние файлы в предмете Управление данными