Базы данных: различия между версиями
Перейти к навигации
Перейти к поиску
Artem (обсуждение | вклад) |
Artem (обсуждение | вклад) |
||
Строка 96: | Строка 96: | ||
| Mirage || 21 || Trance || Armin Van Buuren || Virtual Friend | | Mirage || 21 || Trance || Armin Van Buuren || Virtual Friend | ||
|} | |} | ||
Уникальные поля(первичный ключ): | |||
* Альбом | |||
* Номер трека | |||
Задача: | Задача: | ||
* Мы хотим изменить жанр у исполнителя Armin Van Buuren с Trance на Progressive trance | * Мы хотим изменить жанр у исполнителя Armin Van Buuren с Trance на Progressive trance | ||
Проблемы: | |||
* Нам необходимо обновить несколько ячеек. Это может привести к ошибкам | |||
Правило: | |||
* Любое поле, не входящее в первичный ключ, функционально полно зависит от первичного ключа | |||
=== 2NF - вторая нормальная форма === | === 2NF - вторая нормальная форма === |
Версия от 21:12, 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
Проблемы:
- Нам необходимо обновить несколько ячеек. Это может привести к ошибкам
Правило:
- Любое поле, не входящее в первичный ключ, функционально полно зависит от первичного ключа