Computer Chess Club Archives


Search

Terms

Messages

Subject: SQL For an opening book... Request for feedback

Author: Dann Corbit

Date: 23:04:16 02/10/03



CREATE TABLE Country (
       CountryID            INTEGER NOT NULL WITH DEFAULT,
       Abbreviation         VARCHAR(8),
       CountryName          VARCHAR(255)
);


ALTER TABLE Country
       ADD PRIMARY KEY (CountryID);


CREATE TABLE EngineAuthors (
       AuthorID             INTEGER NOT NULL WITH DEFAULT,
       FirstName            VARCHAR(255),
       LastName             VARCHAR(255),
       MiddleName           VARCHAR(255),
       Title                VARCHAR(255),
       CountryID            INTEGER
);


ALTER TABLE EngineAuthors
       ADD PRIMARY KEY (AuthorID);


CREATE TABLE Engines (
       EngineID             INTEGER NOT NULL WITH DEFAULT,
       EngineName           VARCHAR(255),
       AuthorID             INTEGER,
       EngineVersion        VARCHAR(255),
       EngineDate           DATE DEFAULT CURRENT_TIMESTAMP
);


ALTER TABLE Engines
       ADD PRIMARY KEY (EngineID);


CREATE TABLE OpeningBook (
       HashCode             CHAR(8) NOT NULL,
       Wins                 INTEGER,
       Losses               INTEGER,
       Draws                INTEGER,
       EloSum               REAL,
       EloCount             INTEGER,
       Flags                INTEGER,
       Centipawns           INTEGER,
       Depth                INTEGER,
       EngineID             INTEGER,
       bm                   VARCHAR(8),
       er                   VARCHAR(8), /* Expected response (to ponder) */
       am                   VARCHAR(8)
);


ALTER TABLE OpeningBook
       ADD PRIMARY KEY (HashCode, EngineID);


ALTER TABLE EngineAuthors
       ADD FOREIGN KEY (CountryID)
                             REFERENCES Country
                             ON DELETE SET NULL;


ALTER TABLE Engines
       ADD FOREIGN KEY (AuthorID)
                             REFERENCES EngineAuthors
                             ON DELETE SET NULL;


ALTER TABLE OpeningBook
       ADD FOREIGN KEY (EngineID)
                             REFERENCES Engines
                             ON DELETE RESTRICT;




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.