Mam kilka tabel, w których rekordy można jednoznacznie identyfikować z kilkoma szerokimi obszarami działalności. W przeszłości używałem tych pól jako PK, mając na uwadze następujące korzyści:
- Prostota; nie ma żadnych obcych pól i tylko jeden indeks
- Grupowanie pozwala na szybkie łączenie scalające i filtry oparte na zakresie
Jednak słyszałem obudowę wykonaną za stworzenie syntetycznego IDENTITY INTPK, a zamiast egzekwowania klawisz biznesowych z osobnym UNIQUEograniczeń. Zaletą jest to, że wąski PK tworzy znacznie mniejsze wskaźniki wtórne.
Jeśli tabela nie ma innych wskaźników niż PK, nie widzę żadnego powodu, aby faworyzować drugie podejście, chociaż w dużej tabeli prawdopodobnie najlepiej założyć, że wskaźniki mogą być konieczne w przyszłości, a zatem faworyzują wąskie syntetyczne PK . Czy brakuje mi jakichkolwiek uwag?
Nawiasem mówiąc, nie sprzeciwiam się używaniu kluczy syntetycznych w hurtowniach danych, jestem tylko zainteresowany, kiedy użyć jednego szerokiego PK, a kiedy użyć wąskiego PK i szerokiej Wielkiej Brytanii.