SlideShare a Scribd company logo
«Плохие» отношения –
пример 1:
Группы
Группа Список группы
341 (5556, Федоров Никита); (5677,Шпар Софья);(5674, Пашкова Мария);…
441 (4677, Бусыгин Вячеслав); (4645, Лучков Александр); (4536, Кривоносова Нина);…
646 (3788, Дубова Алина); (3745,Заречев Михаил); (3755,Черняев Андрей);…
«Плохие» отношения –
пример 2:
Товары и фирмы
Название фирмы Адрес Телефон Товар Цена (руб.)
Чижиков & Co Уткин проезд, 5 999-99-99 Винт большой 3
Чижиков & Co Уткин проезд, 5 999-99-99 Винт маленький 5
Винты-гайки Ул.Ленина, 1 333-33-33 Винт 4
Стройтовары Стройбаза № 1 444-44-44 Саморез 2
Чижиков & Co Уткин проезд, 5 999-99-99 Саморез 3
«Плохие» отношения –
пример 3:
Студенты и предметы
Номер зачетки ФИО студента Номер группы Предмет Преподаватель
3677 Баринов Петр 646 алгебра Иванов И.И.
3788 Дубова Алина 646 алгебра Иванов И.И.
3788 Дубова Алина 646 геометрия Ткач П.П.
3433 Чудин Андрей 112 физика Сидоров А.А.
4536 Кривоносова Нина 441 геометрия Никитенко В.М.
Недостатки «плохих»
отношений:
•	 трудности с извлечением некоторых данных;
•	 избыточность;
•	 аномалии изменения;
•	 аномалии удаления;
•	 аномалии добавления.
Неатомарные значения
Группа
Группа Список группы
341 (5556, Федоров Никита); (5677,Шпар Софья); (5674, Пашкова Мария); …
441 (4677, Бусыгин Вячеслав); (4645, Лучков Александр); (4536, Кривоносова Нина); …
646 (3788, Дубова Алина); (3745,Заречев Михаил); (3755,Черняев Андрей); …
Как можно избавиться от неатомарных
значений в отношении Группы?
Группа
Группа Номер зачетки ФИО студента
341 5556 Федоров Никита
341 5677 Шпар Софья
341 5674 Пашкова Мария
441 4677 Бусыгин Вячеслав
441 4645 Лучков Александр
441 4536 Кривоносова Нина
646 3788 Дубова Алина
646 3745 Заречев Михаил
646 3755 Черняев Андрей
 
Что плохого в таблице Товары и фирмы?
В отношении Товары и фирмы:		
• Название фирмы → Адрес, Телефон;
• Название фирмы, Товар → Цена.
Название фирмы Адрес Телефон Товар Цена (руб.)
Чижиков & Co Уткин проезд, 5 999-99-99 Винт большой 3
Чижиков & Co Уткин проезд, 5 999-99-99 Винт маленький 5
Винты-гайки Ул.Ленина, 1 333-33-33 Винт 4
Стройтовары Стройбаза № 1 444-44-44 Саморез 2
Чижиков & Co Уткин проезд, 5 999-99-99 Саморез 3
Функциональные зависимости
•	 R {A1
, A2
, … An
}
•	 X, Y ⊂ {A1
, A2
, … An
}
•	 X → Y, если любому значению X соответствует
в точности одно значение Y
В отношении Товары и фирмы:		
• Название фирмы → Адрес, Телефон;
• Название фирмы, Товар → Цена.
Ключ
•	 Ключ – минимальный набор атрибутов, который
функционально определяет все остальные.
•	 R {A1
, A2
, … An
}, X ⊂ {A1
, A2
, … An
}
•	 X → A1
, A2
, … An
для ∀ Y ⊂ X Y → A1
, A2
, … An
Полная функциональная
зависимость	 		
• Y полностью функционально зависит от X, если Y функционально
зависит от всех атрибутов, входящих в состав X, а не от какой-то
его части.
• В отношении Товары и фирмы:
• Название фирмы, Товар → Цена
(полная функциональная зависимость);	
• Название фирмы, Товар → Адрес, Телефон
(неполная функциональная зависимость).
Как преобразовать отношение
Товары и фирмы?
Товары и фирмы
Название фирмы Адрес Телефон Товар Цена (руб.)
Чижиков & Co Уткин проезд, 5 999-99-99 Винт большой 3
Чижиков & Co Уткин проезд, 5 999-99-99 Винт маленький 5
Винты-гайки Ул.Ленина, 1 333-33-33 Винт 4
Стройтовары Стройбаза № 1 444-44-44 Саморез 2
Чижиков & Co Уткин проезд, 5 999-99-99 Саморез 3
Разбить на два отношения
Фирма
Название фирмы Адрес Телефон
Чижиков & Co Уткин проезд, 5 999-99-99
Винты-гайки Ул.Ленина, 1 333-33-33
Стройтовары Стройбаза № 1 444-44-44
Товар
Название фирмы Товар Цена (руб.)
Чижиков & Co Винт большой 3
Чижиков & Co Винт маленький 5
Винты-гайки Винт 4
Чижиков & Co Гайка 1
Стройтовары Саморез 2
Чижиков & Co Саморез 3
Транзитивные зависимости
Функциональная зависимость A → C называется
транзитивной, если существует такой атрибут B,
что имеются функциональные зависимости A → B и B → C
и отсутствует функциональная зависимость C → A.
Пример транзитивной
зависимости
Транзитивные функциональные зависимости
в отношении Студенты и предметы:		
• Номер зачетки → Группа;
• Группа, Предмет → Преподаватель.
• Номер зачетки, Предмет → Группа, Предмет
→ Преподаватель.
Как преобразовать отношение
Студенты и предметы?
Студенты и предметы
Номер зачетки ФИО студента Номер группы Предмет Преподаватель
3677 Баринов Петр 646 алгебра Иванов И.И.
3788 Дубова Алина 646 алгебра Иванов И.И.
3788 Дубова Алина 646 геометрия Ткач П.П.
3433 Чудин Андрей 112 физика Сидоров А.А.
4536 Кривоносова Нина 441 геометрия Никитенко В.М.
Разбить на две таблицы
Студент
Номер зачетки ФИО студента Номер группы Предмет
3677 Баринов Петр 646 алгебра
3788 Дубова Алина 646 алгебра
3788 Дубова Алина 646 геометрия
3433 Чудин Андрей 112 физика
4536 Кривоносова Нина 441 геометрия
Группа-предмет-преподаватель
Предмет Преподаватель
алгебра Иванов И.И.
геометрия Ткач П.П.
физика Сидоров А.А.
геометрия Никитенко В.М.
646
646
112
441
Номер группы
Декомпозиция
Декомпозиция – это разбиение на множества,
возможно, пересекающиеся, такие, что их объединение –
это исходное отношение.

More Related Content

More from Roman Brovko

Glesk worshop
Glesk worshopGlesk worshop
Glesk worshop
Roman Brovko
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uart
Roman Brovko
 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensor
Roman Brovko
 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwm
Roman Brovko
 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttons
Roman Brovko
 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_world
Roman Brovko
 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisites
Roman Brovko
 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advanced
Roman Brovko
 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advanced
Roman Brovko
 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advanced
Roman Brovko
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окружения
Roman Brovko
 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advanced
Roman Brovko
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basics
Roman Brovko
 
C language lect_18_basics
C language lect_18_basicsC language lect_18_basics
C language lect_18_basics
Roman Brovko
 
C language lect_17_basics
C language lect_17_basicsC language lect_17_basics
C language lect_17_basics
Roman Brovko
 
C language lect_16_basics
C language lect_16_basicsC language lect_16_basics
C language lect_16_basics
Roman Brovko
 
C language lect_06_introduction
C language lect_06_introductionC language lect_06_introduction
C language lect_06_introduction
Roman Brovko
 
C language lect_09_introduction
C language lect_09_introductionC language lect_09_introduction
C language lect_09_introduction
Roman Brovko
 
C language lect_10_basics
C language lect_10_basicsC language lect_10_basics
C language lect_10_basics
Roman Brovko
 
C language lect_11_basics
C language lect_11_basicsC language lect_11_basics
C language lect_11_basics
Roman Brovko
 

More from Roman Brovko (20)

Glesk worshop
Glesk worshopGlesk worshop
Glesk worshop
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uart
 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensor
 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwm
 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttons
 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_world
 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisites
 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advanced
 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advanced
 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advanced
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окружения
 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advanced
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basics
 
C language lect_18_basics
C language lect_18_basicsC language lect_18_basics
C language lect_18_basics
 
C language lect_17_basics
C language lect_17_basicsC language lect_17_basics
C language lect_17_basics
 
C language lect_16_basics
C language lect_16_basicsC language lect_16_basics
C language lect_16_basics
 
C language lect_06_introduction
C language lect_06_introductionC language lect_06_introduction
C language lect_06_introduction
 
C language lect_09_introduction
C language lect_09_introductionC language lect_09_introduction
C language lect_09_introduction
 
C language lect_10_basics
C language lect_10_basicsC language lect_10_basics
C language lect_10_basics
 
C language lect_11_basics
C language lect_11_basicsC language lect_11_basics
C language lect_11_basics
 

11 - Базы данных. Преобразование отношений

  • 1. «Плохие» отношения – пример 1: Группы Группа Список группы 341 (5556, Федоров Никита); (5677,Шпар Софья);(5674, Пашкова Мария);… 441 (4677, Бусыгин Вячеслав); (4645, Лучков Александр); (4536, Кривоносова Нина);… 646 (3788, Дубова Алина); (3745,Заречев Михаил); (3755,Черняев Андрей);…
  • 2. «Плохие» отношения – пример 2: Товары и фирмы Название фирмы Адрес Телефон Товар Цена (руб.) Чижиков & Co Уткин проезд, 5 999-99-99 Винт большой 3 Чижиков & Co Уткин проезд, 5 999-99-99 Винт маленький 5 Винты-гайки Ул.Ленина, 1 333-33-33 Винт 4 Стройтовары Стройбаза № 1 444-44-44 Саморез 2 Чижиков & Co Уткин проезд, 5 999-99-99 Саморез 3
  • 3. «Плохие» отношения – пример 3: Студенты и предметы Номер зачетки ФИО студента Номер группы Предмет Преподаватель 3677 Баринов Петр 646 алгебра Иванов И.И. 3788 Дубова Алина 646 алгебра Иванов И.И. 3788 Дубова Алина 646 геометрия Ткач П.П. 3433 Чудин Андрей 112 физика Сидоров А.А. 4536 Кривоносова Нина 441 геометрия Никитенко В.М.
  • 4. Недостатки «плохих» отношений: • трудности с извлечением некоторых данных; • избыточность; • аномалии изменения; • аномалии удаления; • аномалии добавления.
  • 5. Неатомарные значения Группа Группа Список группы 341 (5556, Федоров Никита); (5677,Шпар Софья); (5674, Пашкова Мария); … 441 (4677, Бусыгин Вячеслав); (4645, Лучков Александр); (4536, Кривоносова Нина); … 646 (3788, Дубова Алина); (3745,Заречев Михаил); (3755,Черняев Андрей); …
  • 6. Как можно избавиться от неатомарных значений в отношении Группы? Группа Группа Номер зачетки ФИО студента 341 5556 Федоров Никита 341 5677 Шпар Софья 341 5674 Пашкова Мария 441 4677 Бусыгин Вячеслав 441 4645 Лучков Александр 441 4536 Кривоносова Нина 646 3788 Дубова Алина 646 3745 Заречев Михаил 646 3755 Черняев Андрей
  • 7.   Что плохого в таблице Товары и фирмы? В отношении Товары и фирмы: • Название фирмы → Адрес, Телефон; • Название фирмы, Товар → Цена. Название фирмы Адрес Телефон Товар Цена (руб.) Чижиков & Co Уткин проезд, 5 999-99-99 Винт большой 3 Чижиков & Co Уткин проезд, 5 999-99-99 Винт маленький 5 Винты-гайки Ул.Ленина, 1 333-33-33 Винт 4 Стройтовары Стройбаза № 1 444-44-44 Саморез 2 Чижиков & Co Уткин проезд, 5 999-99-99 Саморез 3
  • 8. Функциональные зависимости • R {A1 , A2 , … An } • X, Y ⊂ {A1 , A2 , … An } • X → Y, если любому значению X соответствует в точности одно значение Y В отношении Товары и фирмы: • Название фирмы → Адрес, Телефон; • Название фирмы, Товар → Цена.
  • 9. Ключ • Ключ – минимальный набор атрибутов, который функционально определяет все остальные. • R {A1 , A2 , … An }, X ⊂ {A1 , A2 , … An } • X → A1 , A2 , … An для ∀ Y ⊂ X Y → A1 , A2 , … An
  • 10. Полная функциональная зависимость   • Y полностью функционально зависит от X, если Y функционально зависит от всех атрибутов, входящих в состав X, а не от какой-то его части. • В отношении Товары и фирмы: • Название фирмы, Товар → Цена (полная функциональная зависимость); • Название фирмы, Товар → Адрес, Телефон (неполная функциональная зависимость).
  • 11. Как преобразовать отношение Товары и фирмы? Товары и фирмы Название фирмы Адрес Телефон Товар Цена (руб.) Чижиков & Co Уткин проезд, 5 999-99-99 Винт большой 3 Чижиков & Co Уткин проезд, 5 999-99-99 Винт маленький 5 Винты-гайки Ул.Ленина, 1 333-33-33 Винт 4 Стройтовары Стройбаза № 1 444-44-44 Саморез 2 Чижиков & Co Уткин проезд, 5 999-99-99 Саморез 3
  • 12. Разбить на два отношения Фирма Название фирмы Адрес Телефон Чижиков & Co Уткин проезд, 5 999-99-99 Винты-гайки Ул.Ленина, 1 333-33-33 Стройтовары Стройбаза № 1 444-44-44 Товар Название фирмы Товар Цена (руб.) Чижиков & Co Винт большой 3 Чижиков & Co Винт маленький 5 Винты-гайки Винт 4 Чижиков & Co Гайка 1 Стройтовары Саморез 2 Чижиков & Co Саморез 3
  • 13. Транзитивные зависимости Функциональная зависимость A → C называется транзитивной, если существует такой атрибут B, что имеются функциональные зависимости A → B и B → C и отсутствует функциональная зависимость C → A.
  • 14. Пример транзитивной зависимости Транзитивные функциональные зависимости в отношении Студенты и предметы: • Номер зачетки → Группа; • Группа, Предмет → Преподаватель. • Номер зачетки, Предмет → Группа, Предмет → Преподаватель.
  • 15. Как преобразовать отношение Студенты и предметы? Студенты и предметы Номер зачетки ФИО студента Номер группы Предмет Преподаватель 3677 Баринов Петр 646 алгебра Иванов И.И. 3788 Дубова Алина 646 алгебра Иванов И.И. 3788 Дубова Алина 646 геометрия Ткач П.П. 3433 Чудин Андрей 112 физика Сидоров А.А. 4536 Кривоносова Нина 441 геометрия Никитенко В.М.
  • 16. Разбить на две таблицы Студент Номер зачетки ФИО студента Номер группы Предмет 3677 Баринов Петр 646 алгебра 3788 Дубова Алина 646 алгебра 3788 Дубова Алина 646 геометрия 3433 Чудин Андрей 112 физика 4536 Кривоносова Нина 441 геометрия Группа-предмет-преподаватель Предмет Преподаватель алгебра Иванов И.И. геометрия Ткач П.П. физика Сидоров А.А. геометрия Никитенко В.М. 646 646 112 441 Номер группы
  • 17. Декомпозиция Декомпозиция – это разбиение на множества, возможно, пересекающиеся, такие, что их объединение – это исходное отношение.