Używanie surrogate key wraz z composite key

Odpowiedz Nowy wątek
2019-08-20 12:26
0

Ostatnio gdzieś przeczytałem, że do tabeli mającej composite key niebędącej jedynie jakąś pivot table w many-to-many, ale mającej też "własne" kolumny, powinno zawsze się dodawać surrogate key, który będzie kluczem głównym. Jedną z zalet takiego podejścia ma być możliwość zaprojektowania ładnych ścieżek w API. Tzn. zamiast robić DELETE /api/memberships?playerId=1&teamId=1 można zrobić ładne DELETE /api/memberships/1. Co o tym myślicie?

edytowany 1x, ostatnio: nobody01, 2019-08-20 12:26

Pozostało 580 znaków

2019-09-06 07:50
1

To jest dość grube podejście. Prościej np napisać sobie jakieś wyrażenie typu:
PlayerId*1e6+TeamId. Pytanie powinno raczej brzmieć, jaki masz powód dla stosowania klucza złożonego? Jeżeli nie walczysz z jakimiś replikacjami i problemem unikalności kluczy w systemie rozproszonym, to zwyczajnie daj z defaultu w każdej tabeli zwykłego autoinc'a - koszt bliski zeru, zapytania pisze się dużo prościej i jest to dużo czytelniejsze dla innych.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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