Database table design choices – Database Administrators Stack Exchange

Consider the following in a database:


Table 1 should contain the following columns and be named vote_share:

● Riding Number

● Riding Name in English

● Riding Name in French

● Total votes

● Turnout (votes / voters)

● Conservative Vote Share

● Liberal Vote Share

● NDP Vote Share

● Green Vote Share

● Bloc Quebecois Vote Share

● Peoples’ Party Vote Share

Table 2 should contain the following columns and be named candidates:

● Riding Number

● Liberal candidate

● Conservative candidate

● NDP candidate

● Green candidate

● Bloc Quebecois candidate

● Peoples’ Party candidate


What would be

  1. the SQL statements one would use to create both tables
  2. the rationale behind the table design choices