Когда вы переключаетесь с ER-моделирования на реляционное моделирование (таблицы), вам нужна одна таблица для каждой сущности.Вам также нужен стол для некоторых отношений.
На диаграмме, которую вы нам дали, оба отношения много к одному.Отношения многие к одному не требуют таблицы.Вы можете обойтись без добавления внешних ключей в таблицы сущностей.Поэтому ответ на ваш вопрос - 3 таблицы: исполнители, альбомы и песни.
Однако , я подвергаю сомнению вашу диаграмму ER.Мне кажется, что отношения "содержит" действительно много для многих.Альбом явно содержит много песен.Но данная песня может появляться более чем в одном альбоме.Таким образом, на линии должна быть стрелка, которая соединяет «содержит» с «альбомом».
Если вы примете эту редакцию для своей модели ER, количество таблиц увеличится до 4: исполнители, альбомы, песни и содержание.
Аналогичный аргумент может быть сделан для Исполнителя и Песни.Если два артиста сотрудничают в одной песне (например, Долли Партон и Кенни Роджерс, поющие вместе «Острова в потоке»), то вы можете смоделировать «производит» как отношение многие ко многим. Теперь вам нужно 5 таблиц: Исполнители, Альбомы, Songs, Contains and Productions.
Исполнителям, альбомам и композициям потребуется ПК, который идентифицирует соответствующий объект. Целостность объекта требует, чтобы соответствие между экземплярами объекта и строками таблицы было взаимно однозначным.
Таблицы Contains и Produces можно создавать без отдельного атрибута Id. Вам понадобится пара FK в каждой из этих таблиц, и вы можете объявить составной PK для каждой таблицы, состоящей из двух FK.
Ссылочная целостность требует, чтобы вы обеспечивали действительность ссылок FK либо в своих программах, либо путем объявления ограничения ссылок в БД. Я настоятельно предпочитаю декларировать ограничение в БД.