\nCREATE TABLE critter(\n critterid INT NOT NULL IDENTITY(1,1) PRIMARY KEY,\n name VARCHAR(80) NOT NULL,\n description VARCHAR(255) NOT NULL)\n
The identity would make critterid an auto-incrementing number that starts at the value of 1 and gets incremented by one everytime an row insert is done.
In terms of what you have, you've used the name as the primary key, so you don't have to worry about using an AutoNumber as the key. For simple databases, using a character field will probably be ok, but there are a number of things you have to worry about as you scale an application. First off, there is the question of efficiency. For most processors, a number is an atomic value for the cpu. Running through a table trying to find an integer value is far faster than doing lengthy string searches and comparisons.
The second problem is one of maintenance. Let's say that you at some point need to change the name. Every table that keys off the critter table uses the name as the lookup key. If you change the name in the critter table, you run into the problem that you have to change the lookup key in every table that references the critter table. Worse still, if you are enforcing referential integrity on the foreign keys, you have a chicken-egg situation - you can't change the name in the critter table because it is referenced in other tables - and you can't change the names in the other tables if that name is not already in the critter table.
Finally, there is the problem of sometimes needing duplicate names - though this is probably not a concern with you design. But let's say we were talking about the names of people. What you'll find is that there are a bunch of John Smiths. If you were to use the name as a primary key, you could not have more than one John Smith in your database. Typical response is to change to something like Social Security Numbers, which can also be a mistake since SSN's get reused.
To get around these type of issues, many database tables just use a autonumber as the primary key in the table. The downside, of course, is that the key to the data becomes just some number that has no meaning outside of the database context (though some assigned numbers do take on a life of their own).