Baza danych(MYSQL) do projektu

0

Witam, mam pytanie w sprawie bazy. Chcę stworzyć mini sklep internetowy i zastanawiam się nad pewną kwestią bazy.
Myślałem, aby baza zawierała tabele:
-USER(do rejestracji, logowania)
-ZAMOWIENIE(informacje o zamowieniu)
-PRODUKT(informacje o produkcie)
-USER_ZAM(zamowienia danego użykownika)

I teraz pytanie: jeżeli chcę, aby administrator serwisu widział wszystkie zamówienia od użytkowników, żeby wiadomo mógł np. je realizować, to czy potrzebna jest jakaś dodatkowa tabela np. ZAMOWIENIA_ADMIN, w której będą zapisywały się wszystkie zamówienia, czy po prostu np. generować zapytania z polaczonych tabel USER ZAMOWIENIE. Jeżeli nie jest potrzebna to również, wydaje mi się, że tabela USER_ZAM nie jest potrzebna. Bardzo proszę o pomoc, jestem początkujący i możliwe, że moje myślenie w sprawie bazy jest całkowicie błędne.

2

Weź dowolną bazę demo np. Northwind i zobacz, jak to jest zrobione. TO elaborat na wiele stron. A i nauka dobra..

0

W tabeli zamówienia dodajesz usera tworzącego i potem po autoryzacji możesz filtrować dane. Jeżeli Admin to nie dasz warunki w where ale jeżeli będzie usert to w where filtrujesz po konkretnym user

0

Ok, dziękuję !

Mam jeszcze jedno pytanko, np. jak w witrynie typu otodom itp wyswietlaja się oferty, to np. tekst danej oferty, zdj itp są również zapisywane w bazach danych?
Nie wiem czy byłoby to poprawne, żeby np. zapisywać długie stringi jako dane oferty w BD

2

Do rozważania można poczytać tematy z google... jak widzisz ludzie mają takie dylematy i zawsze odpowiedz będzie "to zależy".

https://www.quora.com/Difference-in-storing-image-in-database-table-vs-storing-image-in-folder-and-save-its-path-in-database-Which-is-better-and-why-PHP

https://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay

Przed podjęciem decyzji powinieneś zadać sobie pytania:

  1. Czy planujesz skalować Twój projekt.
  2. Jaki masz budżet na infrastrukturę.
  3. Jakiej wielkości obrazki chcesz zezwalać wproawdzać + ile ich na ogłoszenie (ilość x mb).
  4. Czy ogłoszenia będą czasowe, czy trzymane historycznie do celów statystycznych.
  5. Jaki frontend chcesz użyć (coś prostego (html, css) czy różne frameworki JS (react, Angular, Vue) itp.)
  6. Wydajność, szybkość.
    itp...

1 użytkowników online, w tym zalogowanych: 0, gości: 1