For what you explain, your index must be an auto-increment field. An index is a way to make sure you don't insert the data twice in a table. When using an auto-increment field, you don't have to give a value to it when using INSERT, because the db is clever enough to add +1 to it.
Now, the problem. Imagine this table
id name surname
1 Ludwig Beethoven
2 Johann Strauss
3 Amadeus Mozart
id is an auto-numeric field. For making an insertion of a new row, you use the following syntax:
INSERT INTO musicians (name,surname) VALUES ('Joe','Satriani')
You don't have to specify that the new index is 4. The db knows that already.
Now imagine you delete the Strauss entry. The cardinality of the table is STILL 4, and the next row you insert will have the id = 5
Why? Well, in case you had this id in another table (imagine music_compositions), you would like to know to who belongs the composition. If you alter the id field in the musicians table, you would lose your db integrity, because what used to be Beethoven's could now be from Mozart.
I hope i have explained myself clearly. If not, please say so, and i'll try better. Also, my mail is alejandro_alac.es (_ for @). Send me a mail if you want an example of keys and cardinality in tables.
fLIPIS