Вы не можете полностью отделить приложение от поставщика базы данных. Если вы это сделаете, вы не сможете воспользоваться всеми функциями, которые предоставляет вам ваша база данных.
Я бы сказал, используйте столбец идентификации. Если вы перейдете к Oracle (например), вы можете использовать Sequence. Вряд ли большое изменение.
Я не знаю, какую технологию вы используете, но одна вещь, которая могла бы помочь, - это использование инструмента, такого как Hibernate или iBATIS (я думаю, что они оба доступны для Java и .NET), который немного отличает вас детали реализации базы данных. Тогда, если вы смените поставщика базы данных, вам не нужно будет менять код приложения, просто настройку. (По крайней мере, теоретически!)