История изменений
Исправление shimshimshim, (текущая версия) :
Введение в системы баз данных, Кристофер Дж. Дейта
Читать до конца, большую часть не поймешь, но того что поймешь будет достаточно, чтобы не задавать такие вопросы
по задаче - исполнитель может быть одновременно в нескольких группах, песня может быть одновременно в нескольких альбомах, значит привязывать исполнителя и песни надо к альбомам связями многие ко многим. При этом хорошо бы на уровне БД избежать ситуации, когда исполнитеь привязан к альбому и не привязан к группе. и наоборот. Поэтому добавим таблицу СОСТАВ ГРУППЫ
[мн-мн] - многие ко многим
[fk] - ссылка foreign key
табицы: Группа(id, имя), Состав (id, год с, год по, id_группы), Исполнитель (id, имя), Альбом (id, название), Песня (id, название)
Исполнитель [мн-мн (id исполнителя, id состава)] Состав [fk] Группа
Альбом [fk] Состав
Песня [мн-мн (id_песни, id_альбома)] Альбом
Почему нельзя вообще не ссылаться исполнителем на группу, а ссылаться только на альбом? 1. исполнитель может состоять в группе и не присутствовать ни на одном альбоме. 2. Сначала забиваем в базу исполнителей и группы, а альбомы собираемся добавить когда-нибудь потом.
Исправление shimshimshim, :
Введение в системы баз данных, Кристофер Дж. Дейта
Читать до конца, большую часть не поймешь, но того что поймешь будет достаточно, чтобы не задавать такие вопросы
по задаче - исполнитель может быть одновременно в нескольких группах, песня может быть одновременно в нескольких альбомах, значит привязывать исполнителя и песни надо к альбомам связями многие ко многим. При этом хорошо бы на уровне БД избежать ситуации, когда исполнитеь привязан к альбому и не привязан к группе. и наоборот. Поэтому добавим таблицу СОСТАВ ГРУППЫ
[мн-мн] - многие ко многим
[fk] - ссылка foreign key
табицы: Группа(id, имя), Состав (id, год с, год по, id_группы), Исполнитель (id, имя), Альбом (id, название), Песня (id, название)
Исполнитель [мн-мн (id исполнителя, id состава)] Состав [fk] Группа
Альбом [fk] Состав
Песня [мн-мн (id_песни, id_альбома)] Альбом
Исходная версия shimshimshim, :
Введение в системы баз данных, Кристофер Дж. Дейта
Читать до конца, большую часть не поймешь, но того что поймешь будет достаточно, чтобы не задавать такие вопросы
по задаче - исполнитель может быть одновременно в нескольких группах, песня может быть одновременно в нескольких альбомах, значит привязывать исполнителя и песни надо к альбомам связями многие ко многим. При этом хорошо бы на уровне БД избежать ситуации, когда исполнитеь привязан к альбому и не привязан к группе. и наоборот. Поэтому добавим таблицу состав группы
[мн-мн] - многие ко многим
[fk] - ссылка foreign key
табицы: Группа(id, имя), Состав (id, год с, год по, id_группы), Исполнитель (id, имя), Альбом (id, название), Песня (id, название)
Исполнитель [мн-мн (id исполнителя, id состава)] Состав [fk] Группа
Альбом [fk] Состав
Песня [мн-мн (id_песни, id_альбома)] Альбом