Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Struktura bazy danych dla zdjęć używanych w wielu tabelach
Ultear
post
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 3
Dołączył: 9.12.2013

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


avatary w profilu usera. No chyba że też będziesz chciał przeszukiwać je.


Co do zdjęć to zrobiłbym 1 tabelę na przechowywanie fotek ze ścieżką relatywną do jakiegoś tam katalogu na dysku (w kodzie dopełnienie tej ścieżki)
Kolejna tabela na tagi do fotek
i kolejna tabela na złączenia. Wystarczy 1, bo będziesz sobie pchał photo_id, type(news,post etc.), type_id (id konkretnego wpisu)


Nie ma sensu rozwalanie tego na większe ilości tabel, no chyba że przewidujesz miliony wpisów i obrazów to wtedy można pomyśleć (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 14:37