Witam.
Mam pewną rozkmnię odnośnie kluczy glównych w tabeli wiele do wielu.
Pszypuszczając, mamy tabelę "User"
"USER":
-Id, PK AUTO_INCREMENT
-Name
-Surname
Następnie mamy tabelę "Car"
-Id, PK AUTO_INCREMENT
-Name
I teraz sedno problemu, tabela "User_car"
-Id, PK AUTO_INCREMENT
-IdUser
-IdCar
IdUser oraz IdCar mają ustawiony indeks unikalny.
Teraz pytanie czy to id w tabelu user_car jest przydatne. Od razu jeszcze wspomnę, że główne założenie to jeden użytkownik może jeździć wieloma samochodami ale tylko jednym jednej marki.
Wydaje mi się, że to może być przydatne jak usuwamy bądź modyfikujemy rekordy bo wystarczy znać Id.
Ale wcześniej ustawiałem klucze główne na IdUser oraz IdCar i nie musiałem dawać indeksu unikatowego ale gdy modyfikowałem rekord musiałem znać IdUser oraz IdCar.
Na wykładach z modelowania danych gość mówił, że zawsze powinno się tworzyć klucz sztuczny w każdej tabeli i nie powinno się wybierać klucza naturalnego. Argumentu nie pamiętam jaki dawał.
Myślę że to chyba nie ma wielkiej róźnicy w wydajności ale pozowlę was spytać się o opinię.
Pozdrawiam.