Есть ли лучший способ хранить эту базу данных? - PullRequest
0 голосов
/ 09 марта 2009

То, что я хотел бы сделать, это отсканировать диск или диск (USB, основной жесткий диск и т. Д.) На наличие файлов и сохранить их информацию в БД. Затем я буду искать БД в конкретном файле, чтобы найти, где он хранится. В качестве альтернативы я могу найти, сколько лет копий по причинам архивирования или если у меня есть дубликаты чего-либо, и мне не нужно переархивировать их или искать дубликаты в случае, если я специально сделал несколько копий, а один из моих дисков был поцарапан или диск был поврежден .

Вот что я думаю

флаг os + fs (1 байт?) st_mode (даже если не в Linux ) 2 байта win32_attr (даже если не в Windows) 4 байта (это относится к hiddent, dir против файла, заблокирован и т. д.) размер файла (64 бита) а / м / с время, 64 бита. Индекс / уникальный ключ как fileID

Должно ли я иметь имя в качестве переменной длины внутри своей таблицы, найденной по соответствующему fileID? или я должен иметь имя файла 260 длины в БД, или я должен иметь имя файла переменной длины в БД?

Затем у меня есть контрольные суммы битов XYZ, необходимые для моей контрольной суммы (md5, sha1, sha512 и т. Д., По одному двоичному объекту для каждой) в контрольной сумме / хэш-таблице, найденной по fileID.

Я думал, что моя хеш-таблица должна иметь fileID (int, длина которого равна индексу?), HashType (int), hashValue (varchar).

1 Ответ

0 голосов
/ 09 марта 2009

поместите имя файла как varchar в таблицу файлов, по крайней мере, varchar [1024], окна имеют ограничение на общую длину пути в некоторых комбинациях ОС, подобно ISO CD / DVD.

поместите хэши в таблицу ассоциаций, например:

Hash
{
    fileId int,
    hash_type int,         -- or enum
    hash varchar[ 255 ], -- or largest hashtype
    PK ( fileId, hash_type ),
    index( fileID ), 
}

, чтобы вы могли добавить новые типы хешей позже и позволяли не поддерживать все типы хешей для всех файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...