A primary key is a column or set of columns in a database table that uniquely identifies each row in the table. A primary key can be either a natural key or a surrogate key. A natural key is a column or set of columns that contain values that uniquely identify each row in the table, such as a driver's license number or Social Security number. A surrogate key is a column or set of columns that contains a generated value that uniquely identifies each row in the table, such as an identity column or a timestamp column.