I upvoted Rob's answer, but I'll also elaborate a bit on one of the risks.
If you publish a link like http://stackoverflow.com/questions/2581510 where 258510 is a database id someone trying to hack your site is going to try connecting to http://stackoverflow.com/questions/2581511.
With stackoverflow, this may not be a database id, and the questions on stackoverflow are not supposed to be private, so it's not a big deal even if it is.
But if this were a site where restricting data access to owners of the data were important, this potentially risks letting people see data they shouldn't.
There are of course things you can and should do to make it refuse to show the data if they don't own it, but it's still better to make the url not identify a database id. It's better, as Rob noted, to have a hash into some much larger domain, or an session-based index into a set of data already identified as appropriate to show the user and available only within a logged-in session.