dziedziczenie - jak uzupenilniac taka tabele?

dziedziczenie - jak uzupenilniac taka tabele?
EE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 36
0
Kopiuj
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?

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
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

biela_
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: KRK
  • Postów: 138
0

ja bym to zrobił tak

Kopiuj

person
  person_id
  other fields

civil 
  civil_id
  person_id

worker 
  worker_id
  person_id

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.