ChessDB provides a number of tools for maintaining databases, available from the ChessDB File menu. The database compaction and sorting functions are explained in separate help pages.
Most ChessDB database maintenance can be done from the Maintenance window, which can be opened from the [File: Maintenance] or [Windows] menus or the shortcut key Ctrl+M.
You can use this window to maintain game flags, spellcheck names, compact or sort a database. Note that any operations that are not available for the current database (for example, because it may be read-only or a PGN file) will be grayed out.
The [File: Maintenance] menu has a command [Delete twin games...] for detecting extra copies (twins) of games in the database. This command finds all pairs of games that are twins and, for each pair, flags the shorter game deleted leaving the longer game undeleted. Two games are considered to be twins if their players (and any other tags that you can optionally specify) match exactly.
If you specify the "same moves" option, each pair of games must have the same actual moves up to the length of the shorter game (or up to move 60, whichever comes first) to be twins.
When you have deleted twins, it is a good idea to check that each game deleted really is a copy of another game. You can do this easily if you selected the "Set filter to all deleted games" option in the delete twins dialog box. The filter will now contain all deleted games. You can browse through them (using the p and n keys) with the twins checker window (available from the maintenance menu, or the shortcut key Ctrl+Shift+T) to verify that each game is deleted because it actually is a twin of another game.
You may find mis-spelt names in your databases and want to correct them. You can do this in ChessDB with the Name editor window (shortcut key: Control+Shift+N), available from the [File: Maintenance] submenu.
Each unique name is only stored once in the name file, so changing a name actually changes all occurrences of it.
ChessDB comes with a spellcheck file named spelling.ssp, for correction of player, event, site and round names. ChessDB will try to load the spellcheck file whenever it starts up; if it does not load, you can load it from the [Options] menu.
Once the spellcheck file is loaded, you can use it on a a ChessDB database using the spellcheck commands in the [File: Maintenance] menu, or from the maintenance window.
When you spellcheck a database, ChessDB produces a list of corrections that you can edit before actually making any corrections, so you can remove any corrections you do not want to make.
Spellchecking is especially useful for standardizing a database so all instances of a particular player are spelt the same way. For example, with the standard spellcheck file, the names "Kramnik,V.", "Vladimir Kramnik", and "V. Kramnik" would all be corrected to "Kramnik, Vladimir".
The spellcheck file has one additional use: when it is loaded, its player data is used to enhance the player information window and the crosstable window: you will see FIDE master title (gm = International Grandmaster, im = International Master, etc) and country information for any player that is listed in the spellcheck file. Over 6500 strong players of the past and present are listed in the spelling.ssp file that comes with ChessDB.
The "Add Elo ratings..." button in the Maintenance window causes ChessDB to search the current database for games where a player does not have a rating, but the spellcheck file has an Elo rating listed for that player at the date of the game. ChessDB will add all such ratings automatically. This is very useful for a database of master-level games which has few ratings.
The spellcheck file "spelling.ssp" that comes with ChessDB does not contain the Elo rating information needed for this function, but a larger version of it called "ratings.ssp" is available from the ChessDB website.
The ChessDB Cleaner (available from the Maintenance window) is a tool for doing a number of maintenance tasks on a database in one action. You can choose which tasks you want to do, and ChessDB will perform them on the current database without requiring user interaction. This is especially useful for maintenance of large databases.
The autoload game of a database is the game automatically loaded whenever that database is opened. To change the autoload game of a database, use the "Autoload game number..." button. If you always want the last game of a database to be opened (regardless of the actual number of games in the database), just set it to a very high number such as 9999999.