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