When you create a table, by default it has no Primary Key. When the records get inserted they appear, physically, in the order in which they are added. It is possible to have duplicate records (generally not a good idea). When you want to retrieve a record, because the table is unsorted, it can take a long time to locate the requested record. When you designate a field (or fields) as a primary key, records are sorted on that key. When you retrieve recordswithoout specifying a sort order, the records are returned in the order in which they appear in the table (sorted by primary key). Retrieving a record based on that key is fast (like using the table of contents in a book to go to a particular chapter). You can also designate another field as an index for other frequently used sorts and searches. However, each addition index requires the creation of supplementary data structures in the database so there is a tradeoff between speed and size.
So a primary key is like having a table of contents. It forces the records to be stored in a particular order. An additional index is like having an index at the back of the book except you need a separate index for each additional column designated as an index. Another term you might come across for primary key is clustered index Any other defined index is non-clustered.
To create a table containing last and first names you could do