The analysis table can be regarded as a bag of attributes needed to describe any analysis that produced features. These features should link to the respective analysis table entry.
From an API perspective the only relevant column in the analysis table is the logic_name. It is used in some feature retrieval calls to specify which feature interests you. All other columns are optional, but their intended use is as following:
created is a date stamp created automatically when the analysis entry is stored.
db contains the common name for a database, like "UniProt" or "EMBL". If the filename is different from this name it is stored in db_file. If this database is versioned this information should be stored in db_version.
program contains the name for the binary that produced the feature. If the program cannot be located by name, its file system location should be stored in program_file. Use program_version if you have version information.
parameters contains the command line parameters for the file or general parameters for the module that was used.
module contains a perl module name that produced the features. Use module_version if you have version information.
gff_source and gff_feature are there to support gff dumps and should be filled according to the format.