Nástroj vám jednoduše říká, že pro kombinaci uId-groupId může existovat několik položek. Příklad:
uId groupId performacesScore 1 1 10 1 2 20 2 1 30 2 1 30 2 1 40 2 2 20
Nyní si představte, že se vám tato data zobrazí a vy uděláte první 2/1/30 a 2/1/50. Jaké prohlášení o aktualizaci mohl nástroj odeslat dbms?
update salesGroupLinked set performacesScore = 50
where uId = 2 and groupId = 1;
Tím by se aktualizovaly tři záznamy místo jednoho.
update salesGroupLinked set performacesScore = 50
where uId = 2 and groupId = 1 and performacesScore = 30;
To by stále aktualizovalo dva záznamy místo jednoho.
Aby bylo možné správně aktualizovat a mazat, musíte dbms sdělit, čím jsou záznamy jedinečné. Existují čtyři možnosti:
- Pokud nikdy nechcete aktualizovat nebo odstraňovat jednotlivé záznamy, ponechte je tak, jak jsou.
- Pokud chcete mít možnost aktualizovat a může existovat pouze jeden záznam pro kombinaci uId-groupId, řekněte to dbms a udělejte uId plus groupId primární klíč vaší tabulky.
- Pokud chcete mít možnost aktualizovat a u kombinace uId-groupId mohou existovat duplikáty, ale kombinace uId-groupId-performacesScore bude vždy jedinečná, nastavte tyto tři jako primární klíč tabulky.
- Pokud chcete mít možnost aktualizovat a pro libovolnou kombinaci mohou existovat duplikáty, zadejte do tabulky další sloupec pro technické ID a udělejte z něj primární klíč.