Subject Generating a unique ID

I'm not that very used to DB and I always created an autoincrement
field as an unique key. But... I know that at a certain moment and
depending on how many entries a table will get, there is a chance you
get a numeric overflow... now I'm wondering how is this done in those
big databases? How is this handled... or is this just not possible
and do all thos big databases use a combination of fields as a unique

Is using a timestamp a good idea?
Is using a GUID a good idea? How to create a GUID with Firebird?

Perhaps above suggestions (timestamp, GUID) are stupid ideas, but
what is the best thing to use as a unique key?

Are there also some naming rules concerning tables/fields which are
interesting to follow by someone who wants to learn something from
the experience of guru's in the database field?

Thanks in advance,