[SQL] Tabele podrzędne - jak budowować PK?

0

Witam,

Przez przez 2 lata pracowałem na FireBirdzie w jednej firmie, teraz zmieniłem pracę i tutaj mają trochę inny zwyczaj tworzenia powiązań między tablicami podrzędnymi, powiedzmy że mamy taką strukturę:

TABELA1
|- TABELA2
|- TABELA3

Do tej pory PK tworzyłem tak:

TABELA1:
TABELA1_ID PK

TABELA2:
TABELA1_ID PK
TABELA2_ID PK

TABELA1_ID Foreign Key do TABLICA1

TABELA3:
TABELA1_ID PK
TABELA2_ID PK
TABELA3_ID PK

TABELA1_ID, TABELA2_ID Foreign Key do TABLICA2

Natomiast spotkałem się też z takim czymś:

TABELA1:
TABELA1_ID PK

TABELA2:
TABELA2_ID PK

TABELA1_ID Foreign Key do TABLICA1

TABELA3:
TABELA3_ID PK

TABELA2_ID Foreign Key do TABLICA2

Jak jest poprawnie? Czy to ma jakiś wpływ na szybkość czy to tylko kwestia gustu? Ja osobiście wole pierwszy przykład, bo wchodząc na jakąś tablicę od razu widzę czy jest tablicą master czy jakąś podrzędne, po prostu od razu widać drzewo powiązań

0

ja tam rysuje uml zawsze. Potem go transformuje, są do tego jakieś reguły, ale raczej można się domyślić. Reguły wynikają z liczności związków. Na przykład dla wiele do wiele wprowadza się tabele pomocnicze, które przechowują pary kluczy obcych. Przy jeden do wiele klucz ze strony jeden staje sie kluczem obcym i wedruje do relacji i wiele itp.

Nie wiem czy takie indeksy bardzo wielowymiarowe szybko działają. No i nie wiem co robisz jak masz cykl na diagramie erd, czy uml ;-) i nie wiem czy przypadkiem to nie narusz ktores postaci normalnej..

0

Hmmm, a które to indeksy wielowymiarowe? ;) Te w pierszym przykładzie czy drugim? Nie znam jeszcze tego terminu

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