Zapewnienie tego wszystkiego w relacyjnej bazie danych nie stanowi żadnego problemu. PostgreSQL nie jest klasą korporacyjną, ale z pewnością jest jednym z lepszych darmowych SQL.
Aby było jasne, nie szukam pomocy opisujące źródła danych lub wszelkie powiązane metadane. W szczególności próbuję dowiedzieć się, jak najlepiej przechowywać wartości danych (ewentualnie różnych typów).
To jest twoja największa przeszkoda. W przeciwieństwie do projektowania programów, które pozwala na dekompozycję i izolowaną analizę/projektowanie komponentów, bazy danych muszą być projektowane jako pojedyncza jednostka. Normalizacja i inne techniki projektowania muszą uwzględniać zarówno całość, jak i komponent w kontekście. Dane, opisy, metadane muszą być oceniane razem, a nie jako oddzielne części.
Po drugie, kiedy zaczynasz od kluczy zastępczych, co oznacza, że znasz dane i ich związek z innymi danymi, uniemożliwia to rzeczywiste modelowanie danych.
Odpowiedziałem na bardzo podobny zestaw pytań, przypadkowo na bardzo podobne dane. Gdybyś mógł najpierw przeczytać te odpowiedzi, zaoszczędziłoby to nam obojgu dużo czasu na wpisywanie pytania/odpowiedzi.
Odpowiedź pierwsza/identyfikator Przeszkoda
Odpowiedź druga/ Główna
Odpowiedź trzecia/historyczna