1) There are different types of keys in a database including primary keys, candidate keys, alternate keys, super keys, composite keys, and foreign keys.
2) Primary keys uniquely identify each record in a table and cannot contain null values or be modified.
3) Candidate keys are attributes that qualify as primary keys and are minimal super keys. Alternate keys are other candidate keys besides the primary key.