dbfp_pub/docs/README_DEV_INDEX

51 lines
1.7 KiB
Plaintext

=====================
Fingerprint Index
=====================
-------------
INTRO
-------------
Why:
The purpose of the database fingerprint index is for speed and quick statistics. The
current number of fingerprints that I have created is ~ 180. In the future it likely
that our fingerprints will be > 1000. The index is designed for the future.
Where:
A sqlite database (_index_dbfp.db) is populated with index data. The current design
expects the index file to be located in the same directory as all the fingerprints.
How:
To create the index each fingerprint is read and unique hash values are inserted
into the index database along with the fingerprint file name. The current design
expects all fingerprint files to be in one dirctory. The fingerprint names are
created uniquely and should never have a collision.
-------------------
INDEX DB SCHEMA
-------------------
[ Table: md5_all ]
md5_db TEXT PRIMARY KEY, (hash value of the database schema)
md5_list TEXT, (CSV list of md5 hash of tables within the database)
fp_list TEXT, (CSV list of fingerprint file names)
fp_count INTEGER); (count of the fingerprints)
[ Table: md5_table ]
md5_table TEXT PRIMARY KEY, (hash value of the table schema)
fp_list TEXT, (CVS list of fingerprint file names)
fp_count INTEGER); (count of the fingerprints)
*
* The md5_db is not a primary key, is not unique because it is for each app info
*
[ Table: metadata ]
md5_db TEXT, (hash value of the database schema)
app_name TEXT, (name of the app)
app_ver TEXT, (version of the app)
db_file TEXT, (file name of the database scanned)
fp_file TEXT, (file name of the fingerprint)
scan_date TEXT); (date the db was scanned)