Модел на база данни
По принцип имате нужда от many-to-many
връзка между автори и публикации, тъй като един автор може да напише много публикации, а една публикация може да бъде написана от повече от един автор.
Това изисква да имате 3 маси.
- Автор – обща информация за всеки автор (без publications_id)
- Публикация – обща информация за всяка публикация (без author_id)
- AuthorPublication – колони
author_id
иpublication_id
които са препратки към таблициAuthor
иPublication
.
По този начин не обвързвате конкретен автор с публикация, но можете да имате повече от тях и същото нещо обратното.
Допълнителни бележки
Ако искате да разграничите ролята на авторите в конкретна публикация, можете също да добавите колона като id_role
това би било препратка към таблица на речника, посочваща всички възможни роли за автор. По този начин бихте могли да се различавате между водещи автори, съавтори и т.н. По този начин можете също да съхранявате информация за хората, които се занимават с превода на книгата, но може би след това трябва да промените името на Author
към нещо по-малко конкретно.
Ред на поява
Можете да осигурите правилно подреждане на вашите автори, като добавите колона в AuthorPublication
които бихте увеличили отделно за всяка Publication
. По този начин ще можете да запазите поръчката, както ви е необходима.