• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dodawanie zdjęć itp do bazy danych?

VPS Starter Arubacloud
0 głosów
2,177 wizyt
pytanie zadane 7 lutego 2017 w SQL, bazy danych przez BlvckFox Gaduła (4,240 p.)

Witam, mam taki problem, przypuśćmy, że chcę zrobić taki mały serwis społecznościowy na którym
użytkownik ma avatar, może dodawać zdjęcia, lickować i pisać komentarze - wszystko ok tylko gdzie mam
te wszystkie dane trzymać? 
Przechowywanie tego w strukturze plików raczej odpada:

czy jakoś tak;

Baza danych wydaje się oczywistą odpowiedzią, ale czy w bazie danych trzymać zdjęcia? Jak wyglądałaby
struktura takiej bazy, żeby każdy użytkownik miał przypisane swoje zdjęcia, komentarze itd.? 

1 odpowiedź

+1 głos
odpowiedź 7 lutego 2017 przez Arkadiusz Waluk Ekspert (287,550 p.)
W bazie danych trzymasz tylko nazwę pliku (ewentualnie folder czy coś co jest potrzebne do ustalenia jego położenia) a zdjęcia na dysku. Po uploadzie musisz oczywiście zmienić nazwę na unikalną, np. jakiś losowy hash.
komentarz 8 lutego 2017 przez mtk3d Nałogowiec (46,690 p.)
Normalnie przypisujesz zdjęcia z id usera. Nazwy avatarów możesz dodać do tabeli z userami.
komentarz 8 lutego 2017 przez BlvckFox Gaduła (4,240 p.)

Avatary to wiem, a co z komentarzami? Gdzie je zapisywać, żeby każdy był jako oddzielny 
Jak zapisać kto, kiedy i co napisał w komentarzu do danego zdjęcia?

komentarz 8 lutego 2017 przez maciej.tokarz Nałogowiec (27,280 p.)
edycja 8 lutego 2017 przez maciej.tokarz

Relacyjne bazy danych tego potrzebujesz.

Mniej więcej taki schemat:

users:
- id int PK
- name varchar
- password_hash varchar
- created date

photos:
- id int PK
- user_id int FK do users
- created date

photo_comments:
- id int PK
- photo_id int FK do photos
- comment varchar
- created date

M.
 

komentarz 8 lutego 2017 przez BlvckFox Gaduła (4,240 p.)
O to właśnie mi chodziło, dzięki wielkie, a jest jeszcze jakaś różnica między w photos user_id a user_username? Nie będzie to bardziej intuicyjne? I można dzięki temu w bazie danych łatwo zobaczyć czyje to zdjęcie
komentarz 8 lutego 2017 przez maciej.tokarz Nałogowiec (27,280 p.)
Chodzi o to, że aparatowi bazy danych łatwiej i co za tym idzie szybciej przeszukuje się rekordy po identyfikatorze będącym liczbą. Jak będziesz potrzebował nazwy użytkowników, to wykorzystując relacje i łącząc tabele w zapytaniu uzyskasz odpowiednie dane.

M.

Podobne pytania

0 głosów
2 odpowiedzi 348 wizyt
pytanie zadane 21 marca 2022 w PHP przez pazo1313 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 317 wizyt
pytanie zadane 24 stycznia 2016 w SQL, bazy danych przez kacper777 Nowicjusz (140 p.)
0 głosów
2 odpowiedzi 952 wizyt
pytanie zadane 20 grudnia 2015 w SQL, bazy danych przez Rakso Użytkownik (560 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...