Нормализация базы данных 2NF

Хорошего дня-

Я работаю над задачей, в которой мне нужно создать модель данных на основе следующей информации.

Ваша задача - создать модель для хранения следующей информации: список альбомов и обложек альбомов для каждого (файлы изображений), дорожки для одного альбома, лейбл или лейблы группы, их жанр и участники группы.

На данный момент я создал пять таблиц. И я должен охватить часть нормализации, но я запутался с этим. Одна из таблиц, которые я создал, содержит следующие столбцы и данные.

участник группы

  1. bandMemberId - автоинкремент
  2. bandladelId - FK
  3. настоящее имя
  4. прозвище
  5. memberphoneNo
  6. memberRole
  7. memberActive
  8. memberdob
  9. memberAge

и эта таблица имеет следующие данные.

введите описание изображения здесь

для решения этой проблемы я удалил значения, разделенные запятыми, и добавил каждую строку для данных. Теперь это выглядит так.

введите описание изображения здесь

Может кто-нибудь, пожалуйста, подскажите мне, как я могу разбить эту таблицу и устранить эту проблему (если существует нормализация)? Потому что я также запутался с первичным ключом здесь. Примеры, на которые ссылаются в Интернете, основаны на столбце Возраст. Но я не получаю эти примеры. Заранее спасибо.

1 ответ

Ваш шаг по разбиению строки с многозначным атрибутом на несколько строк выглядит почти как шаг по разрешению повторяющихся групп для достижения 1NF. Однако в этом преобразовании каждая новая строка получает копию соответствующих значений в оригинале. Ваш столбец автоинкремента увеличен для новой строки, и, следовательно, ваша вторая таблица представляет собой другую проблему, а не версию 1NF первой.

Первая таблица, преобразованная в 1NF, будет иметь 2 строки, обе с bandMemberId значения 1 и использование (bandMemberId, memberRole) в качестве ключа-кандидата. Поскольку все непростые атрибуты зависят только от bandMemberIdэто частичная зависимость. копирование (bandMemberId, memberRole) на отдельный стол и удаление memberRole от bandMember таблица даст нам схему 2NF. Вы не даете никаких функциональных зависимостей, поэтому я не уверен, что схема тоже в 3NF.

Другие вопросы по тегам