database-design,foreign-keys,key,relational-database,surrogate-key
You are correct that additional work is usually needed to process surrogate keys. You might be able to take advantage of some library code or a framework to help you with surrogate key processing but there is always a cost in terms of complexity and processing time. Similar considerations apply...