Links

- REBEL & DBUTIL -

INTRODUCTION

Besides all of the database possibilities within Rebel 9.0, a separate database utility program called DBUTIL is also distributed with Rebel 9.0 . You can find DBUTIL 1.0 in the installed sub-directory DBUTIL of your Rebel9. See the README file on how to operate the program. If you have REBEL BONUS you will find DBUTIL 2.0 on the CD-ROM in the directory DBUTIL2.

What is DBUTIL?

DBUTIL is a powerful database utility program that gives you a number of extra possibilities above Rebel 9.0 . With this page we would like to explain the program and some of its unique features which no other database program has!

DBUTIL is compatible with all REBEL products--even with the free Rebel Decade.

In preparation is DBUTIL 2.5 which will be a major improvement above version 2.0 with new powerful possibilities no other database program has! DBUTIL 2.5 will be freely downloadable from the Rebel Subscription Area for Rebel 9.0 owners who have subscribed. Coming soon.


DBUTIL 2.0 EXPLAINED


Delete Player

With this option you can remove a single player from a specific Database.

You will be prompted for the Player's NAME you want to delete and for the specific Database from which you want the player's name to be removed.


Extended Delete

GOAL
Remove SELECTED games from a specific Database.

The following selections are possible: PLAYER, YEAR, ELO and TEXT

PLAYER
Input here all GLOBAL names of the Players you want to remove.

EXAMPLE:
Enter "Karpov,A" and "Kasparov"

This will delete all games in a given database with the names:
"Karpov,A", and also "Karpov,Anatoly", but not "Karpov".
"Kasparov", and also "Kasparov,G", and also "G. Kasparov" and so on.

Note: the maximum allowed number of names to be deleted in one session is 2500.

YEAR
All games in a given database will be removed if the selected year is found.
The year must be typed in 4 characters.

ELO
Remove from a given database the games of players with an ELO rating that is LOWER than the selected ELO rating. The ELO rating must be typed in 4 characters. If you end the ELO input with a "!" (so 5 characters), games with players of which only one has an ELO rating higher than the selected rating will be kept.

EXAMPLE-1: Type "2600"
After the session, the given database will contain only games between players of an ELO rating higher than 2600 for both white and black! So with this option, you can for example create a quality database with only the world's top players.

EXAMPLE-2: Type "2600!"
After the session, the given database will contain only games between players where the WHITE or BLACK player has at least an ELO rating of 2600. So games between Kasparov and a 1850 player, for example, will also be kept.

TEXT
Removes games with a specific text. All games with this EXACT text will be removed. However, if you end your input with a "!" then all games with this GLOBAL text are removed.

EXAMPLE-1: Type "Biel open"
This will remove all games of the "Biel open" tournament from the given database. Note that games with a tournament header of "Biel open izt" for example will not be deleted as this option checks for EXACT text.

EXAMPLE-2: Type "Biel!"
This will remove all games of the "Biel" tournament from the given database. Note that all games with a tournament header containing the word "Biel" will be deleted. Risky, but handy also.

NOTE
For reasons of safety, the original Database will be kept as "BACKUP.DAT" using the function "Extended Delete". So if you have made a mistake, the original database is kept.


Replace the ELO of a specific Player

GOAL
With this function you can INSERT or CHANGE the ELO rating of a specific single Player in a given database.

You will be prompted for the Player's NAME, ELO and the desired DATABASE.

EXAMPLE:
Type players name: "Kasparov,G"
Type players ELO : "2820"

This will change the ELO rating of "Kasparov,G to "2820" in all games in a given database.

NOTE
For a more sophisticated way to update your Database for ELO ratings, see "Reorganize ELO" which can replace 2500 player ELO ratings in one session!


Rename a specific Player

GOAL
With this function you can CHANGE the Name of a specific single Player in a given Database. This is especially useful if you have a Database with different names for the same Player, such as "Kasparov,Gary", "Kasparov,G", "Garry Kasparov" and so on.

You will be prompted for the Player's OLD NAME, NEW NAME and the desired DATABASE.

EXAMPLE:
Type players OLD name: "Kasparov,G"
Type players NEW name: "Kasparov,Gary"

This will change all "Kasparov,G" into "Kasparov,Gary" in all games in a given database.

NOTE
For a more sophisticated way to update your Database for consistent name spelling, see "Reorganize Names" which can replace 2500 player names in one session!


Export database

GOAL
With this function you can make selections from an existing Database and put them into a new Database. You will be prompted to type the SOURCE as well as the DESTINATION Database. If the destination Database does not exist, it will be created. If the destination Database already exists, the selected games will be appended!

The following SELECTIONS are possible:

WHITE_PLAYER Make a one PLAYER "white" specific Database.
BLACK_PLAYER Same for black, combination is possible.
ELO Export only games with an ELO of at least...
YEAR FROM Export games FROM a specific year.
YEAR TO Export a range of games using FROM and TO.
TEXT Export games with a GLOBAL selected text.
SCORE Export games which match the given score "+" or "-" or "="


EXAMPLE-1 :

White Player  : Kasparov

Black Player  :

Elo           :

Year from     : 1990

Year to       : 1994

Text          :

Score         : +

Database from : topbase

Database to   : newbase

DBUTIL will export every game which matches all selections from the database TOPBASE to the database NEWBASE. In this case, all "won" "white" games by "Kasparov" in the period from "1990 till 1994" are exported to NEWBASE.

EXAMPLE-2 :

White Player  : Kasparov

Black Player  : Kasparov

Elo           :

Year from     :

Year to       :

Text          :

Score         :

Database from : topbase

Database to   : newbase

DBUTIL will export all "Kasparov" games both "white" and "black" to NEWBASE.

EXAMPLE-3 :

White Player  :

Black Player  :

Elo           : 2700

Year from     :

Year to       :

Text          : Tilburg

Score         :

Database from : topbase

Database to   : newbase

DBUTIL will export all "Tilburg" games of players with at least "2700" ELO to NEWBASE.

USEFUL HINT
In case you have a damaged database, Export database in most cases (but not all of course) is able to rebuild a damaged database.

EXAMPLE:

White Player  :

Black Player  :

Elo           :

Year from     :

Year to       :

Text          :

Score         :

Database from : base1

Database to   : base2

By leaving all selections empty (meaning select all!) DBUTIL will export all games from the (apparently damaged) database BASE1 to the new database BASE2.


Import database

GOAL
This function allows you to connect one Database to another, so it makes ONE database out of TWO.

You will be prompted to enter the SOURCE as well as the DESTINATION Database. ALL games from the source Database will be appended to the destination Database.

EXAMPLE

Database from : update1

Database to   : topbase

DBUTIL will import all games from database "update1" into database "topbase".


Remove double games

GOAL
This function will remove all double games found in a Database.

NOTE
DBUTIL has a limitation of 100,000 while removing double games. For removing double games in databases greater than 100,000 games, use Rebel 9.0 as Rebel 9.0 has no such limitations other than size of your PC's memory.

If you have a 16 MB PC, you can safely remove double games from databases up to 2 million games. If you have 32 MB, Rebel 9.0 can handle databases of 4 million games and so on.

HINT
After "Remove double games" run "Compress a Database" (see below) in order to gain diskspace!


Compress Database

GOAL
This function is only useful if you have deleted a lot of games from a Database. When you normally delete a game from a Database, the program actually does not remove the game from the Database but only MARKS the game as deleted.

With "Compress Database" you can remove these games definitely and gain diskspace. The program will inform you of the number of games that are to be removed and will report an estimated diskspace you will gain by this option. When "Compress a Database" is finished, you will be informed of the actual gained diskspace.

NOTE
Because "Compress a Database" makes a Database smaller, it will also have a positive effect on the speed of a Database!


Reorganize Names

This is one of the most powerful functions of DBUTIL.

GOAL
With this function you can make the Names of Players in a Database NAME CONSISTENT by using a self-made batch or COMMAND text file.

Using a COMMAND file you can make up to 2,500 players names NAME CONSISTENT in one session!

DBUTIL 2.0
An example file NAMES.CNV is provided with DBUTIL 2.0 which contains the world's 650 best chess players. You can edit this file freely to your own wishes. In DBUTIL 2.0 NAMES.CNV is limited to 1000 names.

DBUTIL 2.5 (available soon)
An example file NAMES2.CNV is provided with DBUTIL 2.5 which contains the world's 2100 best chess players. You can edit this file freely to your own wishes. In DBUTIL 2.5 NAMES2.CNV is limited to 2500 names.

EXAMPLE-1 of the COMMAND file NAMES.CNV

Kasparov,G=Kasparov,G     ; change "Kasparov,Gary" and so on in "Kasparov,G"

Kasparow=Kasparov,G       ; change the known typo "Kasparow" in "Kasparov,G"



Korchnoi=Kortchnoi,V      ; the following 5 COMMANDS will fix the most known

Korchnoj=Kortchnoi,V      ; typos made for Kortchnoi.

Korcnoi=Kortchnoi,V

Kortchnoi=Kortchnoi,V

Kortschnoi=Kortchnoi,V



Yusupov=Yusupov,A         ; the following 4 COMMANDS will fix the most known

Yussupov=Yusupov,A        ; typos made for Yusupov.

Yusupow=Yusupov,A

Yussupow=Yusupov,A

EXAMPLE-2 of the COMMAND file NAMES.CNV

Kasparov,G=Kasparov,Gary    ; if you like your database with first names simply

Kasparow=Kasparov,Gary      ; add the first name of players.



Korchnoi=Kortchnoi,Victor   ; the following 5 COMMANDS will fix the most known

Korchnoj=Kortchnoi,Victor   ; typos made for Kortchnoi now with first name

Korcnoi=Kortchnoi,Victor    ; included.

Kortchnoi=Kortchnoi,Victor

Kortschnoi=Kortchnoi,Victor



Yusupov=Jussupow,Artur      ; the following 4 COMMANDS will fix the most known

Yussupov=Jussupow,Artur     ; typos made for Yusupov now with first name and

Yusupow=Jussupow,Artur      ; as Jussupow, Artur.

Yussupow=Jussupow,Artur




Reorganize ELO

This is another powerful function of DBUTIL.

GOAL
With this function you can INSERT or CHANGE the ELO rating of Players in a Database by using a self-made batch or COMMAND text file.

Using a COMMAND file you can INSERT (or CHANGE) up to 2,500 players ELO ratings in one session!

An example of "NAMES.ELO" is provided with DBUTIL 2.0 which contains the world's 650 best chess players at this moment with their FIDE ELO rating. The provided list is rather old and needs an update with the latest numbers of the FIDE list but you could do this yourself.

This function is especially useful when a new FIDE ELO list is released. Edit the new ELO ratings, run this function, and you are up to date.

EXAMPLE-1 of the COMMAND file NAMES.ELO

Kasparov,G 2800           ; change all ELOs of Gary Kasparov to 2800

Short,N 2720              ; change all ELOs of Nigel Short to 2720

Anand,V 2780              ; change all ELOs of Anand to 2780

You also might consider giving the oldies but goodies an ELO rating.

EXAMPLE-2: give the oldies but goodies an ELO rating

Morphy,P 2700

Fischer,R 2700

Lasker,E 2680

Nimzovitch,A 2680

Alekhine,A 2700

NOTE
DBUTIL 2.0 : The textfile "NAMES.ELO" is limited to a maximum of 1000 entries.
DBUTIL 2.5 : The textfile "NAMES.ELO" is limited to a maximum of 2500 entries.



Reorganize NAMES and ELO

GOAL
The changes in the COMMAND files "NAMES.CNV" and "NAMES.ELO" will now be executed in one phase. Read "Reorganize Names" and "Reorganize ELO" for further information.


DBUTIL 2.5 (in preparation)

In preparation is a major update of DBUTIL 2.0--free for Rebel 9.0 owners who have subscribed.

Clean a database

GOAL
Remove garbage games from a database. You can choose yourself what type of garbage games should be deleted from your databases. Options:
  • Remove all games with non-ascii (garbage) player names.
  • Remove all games with empty player names.
  • Remove all games with a wrong (garbage) year.
  • Remove suspect games.
  • NOTE
    A suspect game is a game of less than 10 moves with a game score other than a draw. A game won in less than 10 moves (in most cases) is a garbage game. If you want to keep this kind of games in your databases, don't activate the option Remove suspect games.

    Moreover, Clean a database while running will produce an overview of your database.

  • Show number of wrong (garbage) white player names.
  • Show number of wrong (garbage) black player names.
  • Show number of wrong (garbage) years.
  • Show number of suspect games.
  • Show MOVE statistic of the given database (see below)

  • SCREENSHOT
    Read 3043 games in 474921 bytes.
    
         0 games, wrong white_name
    
         0 games, wrong black_name
    
         0 games, wrong year
    
        11 games, suspect game score
    
    
    
    Moves (low)   [0-4]   16   [5-9]   62  [10-14]  213  [15-19]  401
    
    Moves (high) [+100]   12  [+120]    1   [+140]    0   [+160]    0
    
    Moves (high) [+180]    0  [+200]    0   [+225]    0   [+250]    0
    
    



    Replace (remove) any text in a database

    GOAL
    With this function you can maintain the headers of games in your databases. You are prompted to type the old text and the new text. DBUTIL 2.5 will search all games in a database and if the contents of old text is found, DBUTIL 2.5 will replace in the text you typed in as new text.

    EXAMPLE

    Goal: Clean headers like Biel open (01) or Biel open (12) into Biel open. In other words remove all (01) round tags.

    Type OLD text :    Biel open (
    
    Type NEW text :    Biel open
    
    Type database :    mybase
    
    

    WARNING
    DBUTIL 2.5 (if the text is found) will replace the entire header with the new text!


    Create database by COMMAND file

    GOAL
    Create a new database with only player names found in a (self-made) COMMAND textfile.

    EXAMPLE-1:
    Goal: Make a database with only the games of the world's best players.

    Provided in DBUTIL 2.5 is a COMMAND file of the world's best 2100 players called NAMES2.CNV. You can use this file or create your own preferred COMMAND file with your own selections.

    DBUTIL 2.5 (in one session!) will export all games with player names found in the COMMAND file NAMES2.CNV (2100!) into a new database. This is a SUPER selection option!

    EXAMPLE-2:
    Goal: Make a database with only the games of the members of my chess club.

    Make a COMMAND textfile with the names of the members of your chess club and use this COMMAND file as input for this function.

    DBUTIL 2.5 will export all games with player names found in the COMMAND file into a new database.


    The power of using a COMMAND file

    As already explained, DBUTIL 2.5 comes with a command file NAMES2.CNV which contains the world's most known player names--currently about 2100. You can do the following nice things with this COMMAND file.
  • Modify the "command" file to your own NAME CONSISTENT standard.
  • Run "Replace player names by command". DBUTIL 2.5 (in one session!) will make your database NAME CONSISTENT in the way you want it.
  • Run "Create database by command". DBUTIL 2.5 (in one session!) will make, from a given database, a NEW database with all the 2100 player names found in the "command" file. This is a SUPER selection option!


  • Create a COMMAND file

    GOAL
    Making good COMMAND files can be very time consuming. The function Create a COMMAND file will help a lot as it will make a base COMMAND file for you from any database.

    HOW?
    Make from your preferred database a Complete Overview with Rebel 9.0 (see database menu and Overviews) and save the Complete Overview to a textfile (click on the TEXT button).

    Use the created textfile as input using this function and DBUTIL 2.5 will automatically create a COMMAND file for you which you can use as a base for your database management. This will save you from hours of typing manually.


    Strip a Complete Overview

    GOAL
    Make a LARGE Rebel Complete Overview smaller. If you have a big database of (for example) 500,000 games the output of Rebel's Complete Overview text file will be extremely big up to 2-10 Mb depending on how many different players are in the database.

    With this function you can strip the overview size using selections like:
  • minimum number of games of a Player
  • minimum Elo rating of a Player


  • EXAMPLE
    From a database of 1.5 Million games with Rebel 9.0 a Complete Overview was created of 19 Mb (!) Using:
  • minimum number of games of a Player = 200
  • minimum Elo rating of a Player = 2300

  • the new Complete Overview went down to from 19 Mb to 130 Kb with in total 1670 player names.

    Such a new created Complete Overview of 130 Kb would be a very good starting point to extract a command file from it!


    Reorganize Names EXACT

    GOAL With this function you can make the Names of Players in a Database NAME CONSISTENT by using a self-made batch or COMMAND text file.

    Using a COMMAND file you can make up to 30,000 players names NAME CONSISTENT in one session!

    This function is similar to "Reorganize Names" which checks for GLOBAL names. However this function checks for EXACT player names.

    An example file NAMES.CNV is provided with DBUTIL 2.5 which contains the world's 2100 best chess players. You can edit this file freely to your own wishes. In DBUTIL 2.5 NAMES.CNV is limited to 30,000 player names.


    Export by TEXT command file

    GOAL
    Create a new database with header names found in a (self-made) HEADER COMMAND textfile.

    EXAMPLE:
    Make a database with only the games of the following famous chess tournaments:
  • Linares
  • Wijk aan Zee
  • Fontys

  • Make a textfile from the above and DBUTIL 2.5 (in one session) will export all games which header match the command file. Included in DBUTIL 2.5 is a little example file called NAMES.HDR. Also here you can select up to 30,000 tournaments in one session.

    Again a SUPER selection option!


    Change headers by a command file

    GOAL
    Make your database tournament (headers) name consistent by using a COMMAND textfile.

    EXAMPLE
  • Wijk aan Zee=Wijk aan Zee
  • Wyk aan Zee=Wijk aan Zee
  • Wijk a Zee=Wijk aan Zee
  • Hoogovens=Wijk aan Zee

  • This little command file will correct most of the errors.

    DBUTIL 2.5 (in one session) will change all games which header match the command file. Included in DBUTIL 2.5 is a little example file called NAMES.HDR. You can change up to 30,000 tournaments in one session.


    DBUTIL 2.5 is compatible with Rebel6, Rebel7, Rebel8, Rebel Silver, Rebel Gold, Rebel Million, Rebel Decade 1.2 and Rebel Decade 2.0 and is available for $29.95 or DM 49.95. DBUTIL 2.5 is free for Rebel 9.0 users who have subscribed on the Rebel Home Page.


    Download the text of this page for offline reading