Enum czy nowa tabela

0

Hej, Tworzę nową bazę i mam zagwozdkę w jakich przypadkach wykorzystać enum a w jakim przypadku lepiej jest stworzyć nową tabelę ?

Chodzi o to że mam tabelkę Notification. I każda zgłoszenie ma jakiś typ oraz typ zwierzęcia jakiego tyczy się zgłoszenie. Pytanie czy lepiej dodać tabelę NotificationType i AnimalType czy może lepiej aby tableka Notification zawierała enum NotificationType i AnimalType ? Co lepsze i dlaczego ? :)

6

jak będziesz miał dodatkowe opisy do tych enumów i/lub ich lista może się zmienić to tabela

2

Tworzenie tabeli pod każdy typ jest delikatnie mówią nadmiarowe. Możesz zrobić jedną tabelę gdzie w jednej kolumnie będziesz trzymał nazwę słownika w drugiej definicję typu w JSON (chyba już wszystkie sensowne bazy wspierają JSONa) np albo dorobić tabelkę podrzędną z wartościami dla słownika. Jeżeli system jest rozwojowy to dobrze trzymać słowniki w miejscu, gdzie dodanie kolejnego typu nie wymaga kompilacji i wdrażania systemu.

1
if
lista wartości wydaje się stała w perspektywie np roku
and
lista wartości jest stała nawet jeśli inna osoba by robiła stowarzyszony (kompatybilny) moduł
and
not wchodzą w relacje bazodanowe (np różna widoczność enumów dla różnych grup )
then
      enum
else
      tabela konfiguracyjna (z uwagą @S4t o optymalnej budowie słowników)
endif
0
S4t napisał(a):

Tworzenie tabeli pod każdy typ jest delikatnie mówią nadmiarowe. Możesz zrobić jedną tabelę gdzie w jednej kolumnie będziesz trzymał nazwę słownika w drugiej definicję typu w JSON (chyba już wszystkie sensowne bazy wspierają JSONa) np albo dorobić tabelkę podrzędną z wartościami dla słownika. Jeżeli system jest rozwojowy to dobrze trzymać słowniki w miejscu, gdzie dodanie kolejnego typu nie wymaga kompilacji i wdrażania systemu.

To bardzo dobry pomysł, ale skoro już tak, to lepiej pójść krok dalej i pozbyć się tabel, zostawić tylko JSONy.

1
somekind napisał(a):
S4t napisał(a):

Tworzenie tabeli pod każdy typ jest delikatnie mówią nadmiarowe. Możesz zrobić jedną tabelę gdzie w jednej kolumnie będziesz trzymał nazwę słownika w drugiej definicję typu w JSON (chyba już wszystkie sensowne bazy wspierają JSONa) np albo dorobić tabelkę podrzędną z wartościami dla słownika. Jeżeli system jest rozwojowy to dobrze trzymać słowniki w miejscu, gdzie dodanie kolejnego typu nie wymaga kompilacji i wdrażania systemu.

To bardzo dobry pomysł, ale skoro już tak, to lepiej pójść krok dalej i pozbyć się tabel, zostawić tylko JSONy.

Jak kto lubi. Ale jak mam wypychać przez API do frontu raz dawne z tabeli, raz JSONy z plików to wolę mieć wszystko jednym miejscu.

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