Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Struktura bazy danych.
Intenso
post 16.08.2022, 11:17:21
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 16.08.2022

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


Cześć,
tworzę swoją pierwsza aplikację w Laravelu i mam 2 zagwozdki.

Aplikacja pobiera zamówienia z Allegro i najpierw pobiera zamówienie bez danych (sam nick klienta i zamówione produkty). Następnie po opłaceniu uzupełniam resztę danych. Aby to zrobić musiałem ustawić 80% pól w bazie na NULLABLE. Czy takie rozwiązanie jest poprawne czy powinienem to zrobić w inny sposób?

Drugi dylemat to przechowywanie statusów w bazie. Mam pola np. status, payment_status, delivery_method itd. Teraz mam to zrobione tak, że w aplikacji mam zdefiniowane enumy np:

  1. enum PaymentStatusEnum:int
  2. {
  3. case NOT_SPECIFIED = 0;
  4. case PENDING = 1;
  5. case PAID = 2;
  6. case COD = 3;
  7. case ALLEGRO_EXTENDED_TERM = 4;
  8. }


i przechowuje w bazie same inty. Jednak jak patrzę w bazę to wydaje mi się to zupełnie nieczytelne. Na rozwiązanie tego mam 2 pomyły - zamiast intów przypisać do tych enumów jakies wartości typu PAID czy COD i pakować do bazy stringi lub utworzyć w bazie tabele z pivotem do tych intów. Najprościej byłoby mi po prostu zmienić enumy z int na string jednak nie wiem czy do końca tak to powinno wyglądać. Który sposób jest najbardziej optymalny? Wiem, że są to z pozoru błache problemy natomiast dopiero zaczynam i chciałbym wiedzieć jak to powinno być poprawnie zrobione.
Go to the top of the page
+Quote Post
nospor
post 16.08.2022, 11:58:18
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Po to wprowadzono NULLe by uzywac wink.gif
Jesli pole w bazie jest typu ENUM to trzymanie tam numerkow jest totalnie bez sensu. Po to wprowadzono ENUM by wkladac tam czytelne wartosci, wiec tak, zamien na tekst. To i tak w bazie nie bedzie zapisane jako tekst tylko numerek a baza bedzie wyswietlac tekst


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 00:56