title: What's the point of a candidate key?
body: <p>I'm fairly new to database management and this question never seems to be answered in more than one sentence. All other SO answers say "A candidate key is a minimal super key." That means nothing to me.</p>
  
  <p>A candidate key is supposed to specify uniqueness of a db record, correct? And a primary key is a candidate key. If a primary key already specifies uniqueness, what's point of adding more candidate keys?</p>
  
  <p>I have seen example records like the following:</p>
  
  <p>Employee(ID, Name, PhoneNumber)</p>
  
  <p>where ID is the primary key and PhoneNumber is a candidate key. From what I see, the ID is enough to specify the uniqueness of an employee record. Although PhoneNumbers are (probably) unique, specifying them as a candidate key does not seem "minimal" to me.</p>