Andrew‎ > ‎Technology‎ > ‎

CKTool (1999)

This page demonstrates the CKTool by Andrew Barkley. It is a relational database table design tool that can automatically generate the sets of superkeys and candidate keys for a for a table, based on the functional dependencies between the attributes of that table.

The tools supports both a command-line client and a GUI wizard,  but they cannot be shown here due to limitations of this content engine.

Now available for download.


Command Line

The interface has two components, a text listing on top where CKTool output is displayed, and a text field below where commands are entered. A command is typed in the field below, and keyboard "Return" or a button press sends the command and clears the input field. The commands are generally case-insensitive, however attribute names are case-sensitive when used as arguments.

The command-line interface provides access to all CKTool functionality with simple text commands. A good starting point is to type "help". It will list commands that you may get in-depth support on using. For example, for information on the "add" command, enter "help add".


GUI Wizard

  1. The first step is optional, and you may set the table name.

    Type a name in the text field, and press "Return" Cr click the button. The table name may be changed by repeating. Perform a reset to remove a name (step 6).

  2. The next step is to enter your attributes.

    Type in a white-space separated list of attributes in the text field, then press "Return" or click the button. Case of the attributes will be maintained. Added attributes should appear in in the lists by step 3. Attributes may be added many times, but duplicates will not be added.

  3. The third step is to set your functional dependencies.

    Functional dependencies are added one at a time. First, select attributes of a determinant by clicking on their names in the list on the left side. Then similarly choose the elements dependent on the determinant by selecting them in the list to the right. Click the button to add the dependency. Only sensible dependencies are added (except trivial dependencies are allowed). Current dependency information is show in the text area on the right.

  4. Your superkeys are automatically shown here.

    Based on the current attributes and functional dependencies entered, this field will dynamically generate the list of superkeys for the table.

  5. Your candidate keys are automatically shown here.

    Based on the current attributes and functional dependencies entered, this field will dynamically generate the list of superkeys for the table.

  6. The "Global Reset" buttons restarts the whole process.

    The Global Reset button clears all table information to start the process once again. This is the only supported undo method outside the command-line interface.

ċ
CKTool.jar
(24k)
Andrew Barkley,
Oct 13, 2008, 9:19 AM