Я создаю базу данных, которая будет хранить информацию по целому ряду объектов (таких как научные статьи, образцы, последовательности ДНК и т.д.), которые все присутствуют в сети и могут быть идентифицированы по URL-адресу или идентификатору как DOI. Использование этих GUID в качестве первичного ключа для объекта кажется разумной идеей, и я следил за delicious и Connotea в использовании хэша md5 GUID. Вы увидите хеш md5 в строке состояния вашего браузера, если вы нажмете кнопки редактирования или удаления в восхитительной или книжной метке Connotea. Например, закладка для http://stackoverflow/ -
http://delicious.com/url/e4a42d992025b928a586b8bdc36ad38d
где e4a42d992025b928a586b8bdc36ad38d ais хеш md5 http://stackoverflow/.
Есть ли у кого-нибудь мнения о плюсах и минусах этого подхода?
Для меня преимущество такого подхода (в отличие от использования первичного первичного ключа с автоматической природой, созданного самой базой данных) заключается в том, что мне нужно делать много связей между объектами, а с помощью хешей md5 я могу хранить эти ссылки извне в файле (скажем, в результате интеллектуального анализа данных/скребков), а затем импортировать их в массе в базу данных. Точно так же, если база данных должна быть перестроена с нуля, URL-адреса для объектов не будут меняться, поскольку они используют хеш-память md5.
Я бы приветствовал любые мысли о том, звучит ли это разумно или есть ли другие (лучше?) способы сделать это.