A table is the primary unit of physical storage for data in a database. A key attribute or set of attributes uniquely identifies an entity instance. There are different types of keys including super keys, candidate keys, primary keys, foreign keys, and simple or composite keys. A simple key consists of a single attribute while a composite key consists of more than one attribute. The primary key uniquely identifies records in a table and cannot contain null values. A foreign key in one table references the primary key in another table and is used to define relationships between tables.