This are few of the fundamental database questions which has always given me trouble. I have tried using google and wiki but I somehow I miss out on understanding the functionality rather than terminology.
If possible would really appreciate if someone can share more insights on this questions using some visual representative examples.
What is a key? A candidate key? A primary key? An alternate key? A foreign key?
What is an index and how does it help your database?
What are the data types available and when to use which ones?
I highly recommend Data Modeling for Information Professionals. You are asking about basic fundamental theory and concepts which are much better explained in a book than on a Q&A answer site like SO.