Я пишу приложение, которое использует CC-CEDICT, лицензионный китайский-китайский словарь CC.Отслеживание изменений в данных без первичного ключа
Словарь доступен только как zipped text file (4MB) с записями в следующем формате:
Traditional Simplified [pin1 yin1] /English equivalent 1/equivalent 2/
Это выборка данных:
是 是 [shi4] /is/are/am/yes/to be/
昰 是 [shi4] /variant of 是[shi4]/used in given names/
時 时 [Shi2] /surname Shi/
時 时 [shi2] /o'clock/time/when/hour/season/period/
Я выбрал эти строки намеренно, чтобы проиллюстрировать мою проблему. У данных нет отрывного ключа, по которому можно идентифицировать отдельное слово.
Английские определения можно изменить, и сделать как словарь постоянно обновляется, но предположим, что в одном обновлении двух определений 時 时 изменения, так что следующий файл содержит строки:
時 时 [Shi2] /last name Shi/
時 时 [shi2] /o'clock/time period/when/hour/season/
Как я определить, какие записи были обновлены? Это действительно заметно, когда перевод - это одно слово, которое полностью изменяется.
Я за стратегией относительно того, как я могу использовать этот словарь. Пока что моя лучшая идея - взять (упрощенное, традиционное) в качестве ключа и рассматривать дубликаты как особый случай - возможно, в их собственной таблице?
Вы не можете - если вы хотите отслеживать изменения - вы ** должны иметь ** первичный ключ. Любая реальная таблица данных должна иметь первичный ключ в любом случае .... –