REBEL & DBUTIL 2.5

What is DBUTIL?

DBUTIL is a powerful database utility program that gives you a number of 
extra possibilities above Rebel 9.0 . With this file 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.










DBUTIL 2.5 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 30,000 players names NAME 
CONSISTENT in one session!

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.





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 30,000 players 
ELO ratings in one session!

An example of "NAMES.ELO" is provided with DBUTIL 2.5 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






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.














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 NAMES.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 NAMES.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 NAMES.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.

Using this function you can strip the overview using selections like
 - minimum number of games of a Player
 - minimum Elo tating of a Player
to a workable text file.








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 tating of a Player      = 2300
the new Complete Overview went down 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:
Goal: 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 (header) name consistent by using a
HEADER 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.

January 29, 1998

___________________________________________________________________
Schroder BV                  WWW:   http://www.rebel.nl
Software Development         Email: info@rebel.nl      
P.O. Box 6365             
7401JJ Deventer              Italy, Ischia, June 2-5 1997
The Netherlands              Rebel - GM Arthur Yusupov  10.5 - 6.5       
___________________________________________________________________
