Detta är ju samma sak som att säga att en person kan ha flera telefonnummer. Dvs en sk multivalued attribute. Där en person kan ha flera telefonnummer men en telefonnummer kan bara användas av en person. Då kan man ha telefonnumret som pk:
T
id|phone
1 | 070
1 | 071
1 | 072
2 | 073
etc
Så nej det bryter inte mot 3NF. För att bryta mot 3NF så måste det finnas ett beroende mellan en icke primär attribut till en annan icke primär attribut.
Just nu har vi dessa beroenden:
phone -> id
Jävligt enkelt att testa att den inte bryter mot varken 2NF eller 3NF
phone finns bara i vänster sida av relationen medan id finns bara i höger.
p= phone och np = id
Eftersom det inte finns någon sammansatt nyckel i relationen så kan den inte bryta mot 2NF. Och eftersom ingen transitiv beroenden finns så är relationen i 3NF.
EDIT: Självklart ska du inte uppdatera/delete'a utefter id utan telefonnummer annars kommer du få anomalier som t.ex att du råkar ta bort alla telefonnummer eller ett duplicate primary key error om du använder id för att uppdatera men det vet du säkert

.