Próbowałem zaprojektować bazę danych, aby pasowała do koncepcji projektu i natknąłem się na coś, co wydaje się być przedmiotem gorącej dyskusji. Przeczytałem kilka artykułów i kilka odpowiedzi przepełnienia stosu, które stwierdzają, że nigdy (lub prawie nigdy) nie jest dobrze przechowywać listy identyfikatorów lub podobnych w polu - wszystkie dane powinny być relacyjne itp.
Problem, na który wpadam, polega na tym, że próbuję przypisać zadanie. Ludzie będą tworzyć zadania, przypisywać je do wielu osób i zapisywać je w bazie danych.
Oczywiście, jeśli zapisam te zadania indywidualnie w „Osobie”, będę musiał mieć dziesiątki fikcyjnych kolumn „TaskID” i zarządzać nimi mikro, ponieważ powiedzmy, że do jednej osoby można przypisać od 0 do 100 zadań.
Z drugiej strony, jeśli zapiszę zadania w tabeli „Zadania”, będę musiał mieć dziesiątki fikcyjnych kolumn „PersonID” i mikrozarządzać nimi - taki sam problem jak poprzednio.
W przypadku takiego problemu, czy w porządku jest zapisanie listy identyfikatorów przyjmujących taką czy inną formę, czy też nie myślę o innym sposobie, w jaki można to osiągnąć bez łamania zasad?
VARCHAR ARRAY
) do przechowywania listy znaczników. Prawdopodobnie nie w ten sposób będą przechowywane później, ale listy mogą być bardzo przydatne na etapie prototypowania, gdy nie masz nic innego do wskazania i nie chcesz zbudować całego schematu bazy danych, zanim będziesz mógł rób cokolwiek innego.