За некоторыми исключениями, почти всегда лучше иметь его, чтобы PK не имел смысла вне ссылки на эту строку в базе данных, т.е. на суррогатный ключ. Затем вы можете наложить уникальное ограничение на поле URI, если хотите. Если ничего другого, то от ссылки на таблицу не будет необходимости также хранить копию строки, а если вам позже понадобится обфусцировать строку, перетащите ее в другую таблицу для целей аналитики или реструктуризации или чего-либо еще в этом духе. суррогатный ключ будет более полезен, чем естественный ключ.
Я также обычно предпочитаю избегать ситуаций, когда ключ содержит различные части в одной строке, которые имеют значение, которое имеет URI простого текста в изобилии, поскольку его обычно можно разбить на компоненты.