a primary key is the unique identifier for a table. for example, in a database of the computers in a school library, the unique identifier will be the computer number.
a foreign key is the unique identifier of something which COMES FROM ANOTHER TABLE. for example, in the computer users table in a school library, the foreign key will be the computer number which comes from the computer table, whilst the primary key could be student numbers.
to normalise a database, you must first decide how many tables you should split the database into. this is different depending on each question. After you have decided upon the number, you bassically just split the different fields from the main table into the seperate tables, with each table for a different purpose e.g
a table for computer information
a table for student information
and finally, a related table named computer users showing:
- the foreign keys computer number and student number
- the primary key (which you will make up for this table)
- other details which come from the main table (dependning on the question)
lol hope that helps.i don't think i explained it very well. If you don't undersand, find me a question and i will help you normalise it.