To my understanding:
Race is defined by physical appearance e.g., Asian, Black, Caucasian, Indian, etc.
Ethnicity/heritage is defined by culture e.g., Zulu, Ndebele, Zezuru, Karanga, Igbo, Hausa, Mandingo, etc.
Nationality is defined by your association with a particular sovereign state...