Базы данных: различия между версиями
Перейти к навигации
Перейти к поиску
Artem (обсуждение | вклад) |
Artem (обсуждение | вклад) |
||
Строка 171: | Строка 171: | ||
=== 3NF - третья нормальная форма === | === 3NF - третья нормальная форма === | ||
{| class="wikitable" | |||
|+ 3NF - Треки | |||
|- | |||
! ID Альбома !! Номер трека !! ID Исполнителя !! Трек | |||
|- | |||
| 1 || 1-1 || 1 || Thunderstrack | |||
|- | |||
| 2 || 9 || 2 || Sweet Child O Mine | |||
|- | |||
| 3 || 1 || 3 || Smells like teen spirit | |||
|- | |||
| 4 || 6 || 4 || Here Without You | |||
|- | |||
| 5 || 1-3 || 5 || Song remains the same | |||
|- | |||
| 6 || 2 || 6 || Going Wrong | |||
|- | |||
| 7 || 1 || 7 || Levels | |||
|- | |||
| 8 || 5 || 8 || Voodoo Peple | |||
|- | |||
| 9 || 9 || 6 || Virtual Friend | |||
|- | |||
| 9 || 21 || 6 || Virtual Friend | |||
|} | |||
{| class="wikitable" | |||
|+ 3NF - Исполнители | |||
|- | |||
! ID !! Исполнитель !! ID Жанра | |||
|- | |||
| 1 || AC/DC || 1 | |||
|- | |||
| 2 || Guns n Roses || 1 | |||
|- | |||
| 3 || Nirvana || 1 | |||
|- | |||
| 4 || 3 Doors Down || 1 | |||
|- | |||
| 5 || Led Leppelin || 1 | |||
|- | |||
| 6 || Armin Van Buuren || 2 | |||
|- | |||
| 7 || Avicii || 3 | |||
|- | |||
| 8 || Prodigy || 3 | |||
|} | |||
{| class="wikitable" | |||
|+ 3NF - Жанры | |||
|- | |||
! ID !! Жанр | |||
|- | |||
| 1 || Рок | |||
|- | |||
| 2 || Progressive trance | |||
|- | |||
| 3 || Trance | |||
|} | |||
{| class="wikitable" | |||
|+ 3NF - Альбомы | |||
|- | |||
! ID !! Альбом | |||
|- | |||
| 1 || Fire Your Guns | |||
|- | |||
| 2 || Appetite for Destruction | |||
|- | |||
| 3 || Nevermind | |||
|- | |||
| 4 || Away from the Sun | |||
|- | |||
| 5 || The Song Remains the Same | |||
|- | |||
| 6 || Imagine | |||
|- | |||
| 7 || Levels | |||
|- | |||
| 8 || Music for the Jilted Generation | |||
|- | |||
| 9 || Mirage 2010 | |||
|} | |||
=== BCNF - нормальная форма Бойса-Кодда === | === BCNF - нормальная форма Бойса-Кодда === | ||
=== 4NF - Многозначные зависимости и четвертая нормальная форма === | === 4NF - Многозначные зависимости и четвертая нормальная форма === |
Версия от 21:47, 11 февраля 2019
Базы данных существуют столько же сколько и компьютеры. Компьютеры и создавались обрабатывать информацию. Информацию надо как-то хранить и передавать по запросу - в этом и суть баз данных.
ACID
- Atomicity — Атомарность
- Consistency — Согласованность
- Isolation — Изолированность
- Durability — Долговечность
Нормальные формы
Жанр | Трек 1 | Трек 2 | Трек 3 | Трек 4 | Трек 5 |
---|---|---|---|---|---|
Рок | AC/DC Thunderstrack | Guns n Roses Sweet Child O Mine | Nirvana Smells like teen spirit | 3 Doors Down Here Without You | Led Leppelin Song remains the same |
Trance | Armin Van Buuren Going Wrong | Avicii Levels | Prodigy Voodoo Peple | Armin Van Buuren Virtual Friend | Armin Van Buuren Virtual Friend |
Проблемы:
- Для добавления треков нужно добавлять столбцы
- Сложности при поиске и сортировки данных
Жанр | Треки |
---|---|
Рок | AC/DC Thunderstrack,Guns n Roses Sweet Child O Mine,Nirvana Smells like teen spirit,3 Doors Down Here Without You,Led Leppelin Song remains the same |
Trance | Armin Van Buuren Going Wrong,Avicii Levels,Prodigy Voodoo Peple,Armin Van Buuren Virtual Friend,Armin Van Buuren Virtual Friend |
Проблемы:
- Сложности при поиске и сортировки данных
- В названии треков могут быть запятые
Правило:
- Все элементы внутри ячеек должны быть атомарными(элемент называется атомарным, если таблицы могут его использовать независимо друг от друга)
Жанр | Исполнитель | Трек |
---|---|---|
Рок | AC/DC | Thunderstrack |
Рок | Guns n Roses | Sweet Child O Mine |
Рок | Nirvana | Smells like teen spirit |
Рок | 3 Doors Down | Here Without You |
Рок | Led Leppelin | Song remains the same |
Trance | Armin Van Buuren | Going Wrong |
Trance | Avicii | Levels |
Trance | Prodigy | Voodoo Peple |
Trance | Armin Van Buuren | Virtual Friend |
Trance | Armin Van Buuren | Virtual Friend |
Правило:
- Все строки должны быть уникальными
1NF - первая нормальная форма
Альбом | Номер трека | Жанр | Исполнитель | Трек |
---|---|---|---|---|
Fire Your Guns | 1-1 | Рок | AC/DC | Thunderstrack |
Appetite for Destruction | 9 | Рок | Guns n Roses | Sweet Child O Mine |
Nevermind | 1 | Рок | Nirvana | Smells like teen spirit |
Away from the Sun | 6 | Рок | 3 Doors Down | Here Without You |
The Song Remains the Same | 1-3 | Рок | Led Leppelin | Song remains the same |
Imagine | 2 | Trance | Armin Van Buuren | Going Wrong |
Levels | 1 | Trance | Avicii | Levels |
Music for the Jilted Generation | 5 | Trance | Prodigy | Voodoo Peple |
Mirage | 9 | Trance | Armin Van Buuren | Virtual Friend |
Mirage | 21 | Trance | Armin Van Buuren | Virtual Friend |
Уникальные поля(первичный ключ):
- Альбом
- Номер трека
Задача:
- Мы хотим изменить жанр у исполнителя Armin Van Buuren с Trance на Progressive trance
Проблемы:
- Нам необходимо обновить несколько ячеек. Это может привести к ошибкам
Правило:
- Любое поле, не входящее в первичный ключ, функционально полно зависит от первичного ключа
2NF - вторая нормальная форма
Альбом | Номер трека | ID Исполнителя | Трек |
---|---|---|---|
Fire Your Guns | 1-1 | 1 | Thunderstrack |
Appetite for Destruction | 9 | 2 | Sweet Child O Mine |
Nevermind | 1 | 3 | Smells like teen spirit |
Away from the Sun | 6 | 4 | Here Without You |
The Song Remains the Same | 1-3 | 5 | Song remains the same |
Imagine | 2 | 6 | Going Wrong |
Levels | 1 | 7 | Levels |
Music for the Jilted Generation | 5 | 8 | Voodoo Peple |
Mirage | 9 | 6 | Virtual Friend |
Mirage | 21 | 6 | Virtual Friend |
ID | Исполнитель | Жанр |
---|---|---|
1 | AC/DC | Рок |
2 | Guns n Roses | Рок |
3 | Nirvana | Рок |
4 | 3 Doors Down | Рок |
5 | Led Leppelin | Рок |
6 | Armin Van Buuren | Progressive trance |
7 | Avicii | Trance |
8 | Prodigy | Trance |
Задача
- Изменить имя альбома Mirage на Mirage 2010
Проблема:
- Необходимо обновлять все строки. Может произойти ошибка
Правило:
- Любой атрибут таблицы функционально зависит только от первичного ключа
3NF - третья нормальная форма
ID Альбома | Номер трека | ID Исполнителя | Трек |
---|---|---|---|
1 | 1-1 | 1 | Thunderstrack |
2 | 9 | 2 | Sweet Child O Mine |
3 | 1 | 3 | Smells like teen spirit |
4 | 6 | 4 | Here Without You |
5 | 1-3 | 5 | Song remains the same |
6 | 2 | 6 | Going Wrong |
7 | 1 | 7 | Levels |
8 | 5 | 8 | Voodoo Peple |
9 | 9 | 6 | Virtual Friend |
9 | 21 | 6 | Virtual Friend |
ID | Исполнитель | ID Жанра |
---|---|---|
1 | AC/DC | 1 |
2 | Guns n Roses | 1 |
3 | Nirvana | 1 |
4 | 3 Doors Down | 1 |
5 | Led Leppelin | 1 |
6 | Armin Van Buuren | 2 |
7 | Avicii | 3 |
8 | Prodigy | 3 |
ID | Жанр |
---|---|
1 | Рок |
2 | Progressive trance |
3 | Trance |
ID | Альбом |
---|---|
1 | Fire Your Guns |
2 | Appetite for Destruction |
3 | Nevermind |
4 | Away from the Sun |
5 | The Song Remains the Same |
6 | Imagine |
7 | Levels |
8 | Music for the Jilted Generation |
9 | Mirage 2010 |