![]() |
#2 |
Участник
|
Цитата:
Сообщение от fed
![]() Появилась идея сделать отдельную табличку, где у меня только два поля - RecId и Hash. Смысл таблички - отдельная уникальная комбинация аттрибутов и их значений. Все остальные таблицы на нее ссылаются по RecId. (То есть - примерно как это со стандартной таблицей DimensionAttributeSet работает).
нужно было в некой таблице сделать ссылку на разные источники данных с разным набором уникальных полей + возможность восстановления, если вдруг данные пересоздадут. Решали так же через общую табличку с + поле hash + дополнительное поле (соль). Цитата:
Хэш функции Why? Они использовали md5(возвращает guid) из соображений удобства не более на сколько знаю Цитата:
Сообщение от fed
Судя по тому что в интернетах пишут, SpookyHash должно хватать, но меня в моем Химикотехнологическом институте вопросам хэширования не учили и я не уверен ![]() ![]() - генерили hash на основе текстового набора имени таблицы + упорядоченных значений полей(это позволяло при необходимости без проблем добавить новое поле) + соль (изначально пустое значение) - hash был указан как уникальный ключ - при возникновении ситуации нарушения уникальности ( try catch с исключением duplicateKey) значение соли меняли (банальный счетчик вроде) и повторяли. Как то так Последний раз редактировалось axm2017; 24.06.2021 в 22:49. |
|
|
За это сообщение автора поблагодарили: fed (5), EVGL (3). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|