Базы данных
Перейти к навигации
Перейти к поиску
Базы данных существуют столько же сколько и компьютеры. Компьютеры и создавались обрабатывать информацию. Информацию надо как-то хранить и передавать по запросу - в этом и суть баз данных.
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 |