Mam tabelę w bazie danych (opartej na PostgreSQL), która działa jak nadklasa w programowaniu obiektowym. Ma kolumnę "typ", która określa, które dodatkowe kolumny powinny być obecne w tabeli (właściwości podklasy). Ale nie chcę, aby tabela zawierała wszystkie możliwe kolumny (wszystkie właściwości wszystkich możliwych typów).Optymalna struktura DB dla dodatkowych pól encji
Postanowiłem więc utworzyć tabelę zawierającą kolumny "klucz" i "wartość" (np. "Nazwa pliku" = "/ plik" lub "wartość_wartość" = "5"), które zawierają dowolną możliwą własność obiekt, nieuwzględniony w tabeli nadklas. Stworzyłem także jedną powiązaną tabelę zawierającą dostępne wartości "klucza".
Ale jest problem z taką architekturą - kolumna "wartość" powinna być domyślnie typu danych ciąg, aby móc cokolwiek zawrzeć. Ale nie sądzę, że konwersja do i od strun jest dobrą decyzją. Jaki jest najlepszy sposób na ominięcie tego ograniczenia?