Цель работы: научиться определять функциональные зависимости в данных и на основе этого выполнять анализ данных.
Ход работы
Задание 1
title |
year |
length |
genre |
studioName |
starName |
Star Wars |
1977 |
124 |
SciFi |
Fox |
Carrie Fisher |
Star Wars |
1977 |
124 |
SciFi |
Fox |
Mark Hamill |
Star Wars |
1977 |
124 |
SciFi |
Fox |
HarrisonFord |
Gone With the Wind |
1939 |
231 |
drama |
MGM |
Vivien Leigh |
Wayne’s World |
1992 |
95 |
comedy |
Paramount |
Dana Carvey |
Wayne’s World |
1992 |
95 |
comedy |
Paramount |
Mike Meyers |
title, year → length, genre, studioName
Данная комбинация атрибутов может образовать функциональную зависимость (ФЗ), каждый фильм выпускался только один раз в определенный год.
title, year → length, genre, studioName, starName
Данная комбинация атрибутов не может образовать ФЗ, потому что каждый фильм выпускался только один раз в определенный год, но в каждом фильме участвуют несколько актеров.
title, year → starName
Возможно использовать данную комбинацию в качестве первичного ключа, если каждый кортеж в таблице имеет уникальное значение для этой комбинации.
title, year может выполнять функцию первичного ключа, каждый фильм выпускался только один раз в определенный год, ключи будут уникальными.
title, starName не может выполнять функцию первичного ключа, потому что не учитывает возможности существования двух фильмов с одним и тем же названием, но разными актерами.
year, starName не может выполнять функцию первичного ключа, потому что не учитывает возможности существования двух разных фильмов, но с одним и тем же актером в разные годы.
Задание 2
Гражданин |
Магазин |
Товар |
Вес |
Иван Иванович Соколов |
Магнит |
Колбаса |
2 |
Лейла Рустамовна Шеина |
Перекресток |
Сыр |
2 |
Иван Иванович Соколов |
Магнит |
Колбаса |
5 |
Ольга Денисовна Сидорина |
Пятерочка |
Крупа |
0,5 |
Семен Витальевич Проскурин |
Пятерочка |
Крупа |
1 |
NULL |
Магнит |
Колбаса |
1 |
Петр Иванович Мамонтов |
Магнит |
Колбаса |
1 |
Лейла Рустамовна Шеина |
Перекресток |
Сыр |
3 |
Ольга Васильевна Олейникова |
Пятерочка |
Крупа |
1 |
Иван Иванович Соколов |
Магнит |
Колбаса |
NULL |
В строке 3 была заполнена пустая ячейка в столбце "Товар" значением "Колбаса", так как в строке 1 была куплена колбаса Соколовым в магазине "Магнит".
В строке 5 была заполнена пустая ячейка в столбце "Магазин" значением Пятерочка, так как куплен товар Крупа.
В строке 6 была заполнена пустая ячейка в столбце "Гражданин" значением NULL, так как нельзя однозначно определить гражданина, там может быть и Мамонтов, и Соколов.
В строке 8 были заполнены пустые ячейки в столбцах "Магазин" и "Товар" значением "Перекресток" и "Сыр", так как в строке 2 был куплен сыр в магазине "Перекресток" у Шеина.
В строке 9 была заполнена пустая ячейка в столбце "Товар" значением Крупа, так как куплена в Магазине "Пятерочка".
В строке 10 были заполнены пустые ячейки в столбцах "Товар" и "Вес" значениями "Колбаса" и NULL соответственно, так как товар куплен в магазине Магнит, а вес товара никак нельзя определить из исходной функциональной зависимости задачи.
Вывод: в ходе лабораторной работы научились определять функциональные зависимости в данных и на основе этого выполнять анализ данных.