Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sens robienia tabeli w bazie dla niezmienialnych danych
Aver4
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.03.2013

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


Cześć, robie apkę typu organizer i zastanawiam się nad tym czy tworzyć osobną tabelę w bazie dla modelu PRIORYTET. Wartości (czyli np. niski, normalny wysoki) nie będą się zmieniać więc czy opłaca się tworzyć tabelę w bazie do tego czy lepiej zapisać to gdzieś w aplikacji. Zamierzam pisać w Laravelu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Jak nie ma innych powiązań tylko występuje w jednej kolumnie to nie ma większego sensu. Ja robię to w PHP jako SPLEnum żeby ładnie na obiektach pracować, a w bazie może być enum, int jak wygodnie.
Go to the top of the page
+Quote Post
Aver4
post
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.03.2013

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


Powiązania będa gdyż zadania będą powiązane z priorytetami. Myślałem po prostu aby w tabeli 'zadania' mieć pole priorytet typu int. A potem odzczytywać z aplikacji konkretne wartości. Ale chyba zrobie normalnie tabelę, będzie przejrzyściej no i może kiedyś te dane będą modyfikowane w jakiś sposób..
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


1. Dane niezmienne nigdy nie są "niezmienne". (IMG:style_emoticons/default/smile.gif)
2. Spójność danych

Temu optowałbym za bazą.
Go to the top of the page
+Quote Post
markonix
post
Post #5





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Ja lubię takie mini konfiguracje trzymać w jakimś nadrzędnym kontrolerze.
Ma to kilka plusów:
- o wiele szybciej jest dodać pole do klasy aniżeli robić tabelę i model do tego
- łatwo edytować
- ustalasz format tablicy ręcznie
- jest też szybciej zrobić jakiś wyjątek, np. jeżeli jeden użytkownik miałby mieć o jeden priorytet więcej do wyboru to wystarczy prosty if w konstruktorze, robiąc to na bazach już musiałbyś się pokusić o drugą tabelę
- łatwy dostęp ($this->), w CI dostęp jest także w widokach choć staram się przekazywać jawnie taką zmienną aby była dostępna pod $var.
Do minusów:
- problem jest z dostępem do takiej tablicy z modeli (nie wiem jak w Laravel ale w CI troszkę trzeba się pomęczyć)
- ogólnie brzydko to wygląda gdy w takich kluczowych plikach są takie "własne wartości", pół biedy jak po angielsku (IMG:style_emoticons/default/wink.gif)

Ten post edytował markonix 22.03.2016, 10:03:34
Go to the top of the page
+Quote Post
Aver4
post
Post #6





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.03.2013

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


Ok, dzięki za odpowiedzi, póki co zostanę chyba przy opcji z tabelą.
Go to the top of the page
+Quote Post

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: 21.12.2025 - 20:24