does each table need a primary key and foreign key
A foreign key, simply stated, is another table's primary key. The values in a foreign key field match values in the primary key, indicating that the two records are related â for example, a customer and an order that she has placed. Unlike primary keys: A table can have more than one foreign key.