Witam,
Ostatnie dni zastanawiam się nad najlepszą strukturą bazy danych dla zdjęć używanych w postach, newsach oraz jako avatary użytkowników.
Zastanawiam się czy najlepiej jest stworzyć jedną tabelę dla zdjęć i do każdej tabeli używającej zdjęć dołączyć tabele łączącą, czy też np. same avatary przechowywać w tabeli użytkownika?
Powiedzmy, że każdy post i news ma okładkę i parę zdjęć. W jaki sposób zaprojektować strukturę bazy danych pod takie coś?
Zastanawiam się nad tym tematem, ponieważ chcę zrobić coś w stylu wyszukiwania zdjęć po tagu podczas dodawania, aby móc użyć już istniejących zdjęć podczas dodawania wpisu.
Kolejnym pytaniem jest - jak przechowywać ścieżki do poszczególnych obrazków w przypadku jednej tabeli dla wszystkich zdjęć? Powinny one się znajdować w tabeli, czy też raczej na sztywno w kodzie? Podejrzewam, że druga opcja jest tą poprawną, ponieważ jeżeli zajdzie potrzeba zmiany ścieżki, to w kodzie zmienię ścieżkę w jednym miejscu, ale mogę się mylić, więc proszę o sprostowanie.
Struktura, którą obecnie wymyśliłem:
photos
id
src
user
...
avatar_id (foreign key)
posts_photos
post_id (fk)
photo_id (fk)
news_photos
news_id (fk)
photo_id (fk)
photos_tags
tag_id(fk)
photo_id (fk)
tags
id
tag
Może ktoś wpadnie na jakieś lepsze rozwiązanie? Proszę o wyrażenie opinii na temat mojej struktury