Model bazy danych
Zasadniczo potrzebujesz many-to-many związek między autorami a publikacjami, ponieważ jeden autor może napisać wiele publikacji, a jedna publikacja może być napisana przez więcej niż jednego autora.
Wymaga to posiadania 3 stołów.
- Autor - ogólne informacje o każdym autorze (bez identyfikatora publikacji)
- Publikacja - ogólne informacje o każdej publikacji (bez author_id)
- Publikacja autora — kolumny
author_idipublication_idktóre są odniesieniami do tabelAuthoriPublication.
W ten sposób nie wiążesz konkretnego autora z publikacją, ale możesz mieć ich więcej i to samo na odwrót.
Dodatkowe uwagi
Jeśli chcesz rozróżnić rolę autorów w konkretnej publikacji, możesz również dodać kolumnę typu id_role byłoby to odniesienie do tabeli słownikowej zawierającej wszystkie możliwe role autora. W ten sposób możesz różnić się między wiodącymi autorami, współautorami itp. W ten sposób możesz również przechowywać informacje o osobach zajmujących się tłumaczeniem książki, ale być może powinieneś wtedy zmienić nazewnictwo Author do czegoś mniej konkretnego.
Kolejność pojawiania się
Możesz zapewnić odpowiednią kolejność swoich autorów, dodając kolumnę w AuthorPublication które należy zwiększyć oddzielnie dla każdej Publication . W ten sposób będziesz w stanie zachować kolejność zgodnie z potrzebami.