dziedziczenie - jak uzupenilniac taka tabele?

0
CREATE TABLE person (
    person_id int INT GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1) PRIMARY KEY,
    -- Other fields...
);

CREATE TABLE civil (
    civil_id INT PRIMARY KEY REFERENCES person (person_id)
    -- Other fields...
);

CREATE TABLE worker (
    worker_id int PRIMARY KEY REFERENCES person (person_id)
    -- Other fields...
);

cześć,
Chcialbym zrobic dziedziczenie w powyzszy sposob, jak teraz powinienem prawidlowo uzupelniac dane?
Nie za bardzo wiem jak :( Albo jak inaczej zrobic takie dziedziczenie?

1

To jest struktura table nieadekwatna do dziedziczenia. Kwerendując za personą musisz w rzeczywistości skwerendować trzy tabele

Branża zna 2-3 rozwiązania:
jedna tabela w wersji maksimum pół z całej hierarchii, plus marker (najprościej nazwa ) klasy
jedna tabela 'person' i tabele uzupełniające, tj zawierające 'nadwyżkę' pól z klasy
plus trzecia, najgorsza, z potrójną kwerendą.

Generalnie mapowanie obiektowo - relacyjny niesie szereg ważnych problemów (nie ważne jaki język i framework). To jest jeden z przykłądów

0

ja bym to zrobił tak


person
  person_id
  other fields

civil 
  civil_id
  person_id

worker 
  worker_id
  person_id

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