· 8 years ago · Feb 05, 2018, 11:54 PM
1PRAGMA foreign_keys=OFF;
2BEGIN TRANSACTION;
3CREATE TABLE IF NOT EXISTS "Users" (
4 `PlayerID` INTEGER NOT NULL UNIQUE,
5 `FirstName` BLOB,
6 `LastName` BLOB,
7 `Country` TEXT,
8 `Age` INTEGER,
9 PRIMARY KEY(`PlayerID`)
10);
11CREATE TABLE `BlitzChessPlayers` (
12 `PlayerID` INTEGER NOT NULL UNIQUE,
13 `EloRating` INTEGER,
14 `PeakEloRating` INTEGER,
15 `WinPercentage` REAL,
16 `DrawPercentage` REAL,
17 `WinPercentageAsWhite` REAL,
18 `WinPercentageAsBlack` REAL,
19 `LongestWinningStreak` INTEGER,
20 `LongestLoosingStreak` INTEGER,
21 FOREIGN KEY(`PlayerID`) REFERENCES `Users`(`PlayerID`),
22 PRIMARY KEY(`PlayerID`)
23);
24CREATE TABLE IF NOT EXISTS "BulletChessPlayers" (
25 `PlayerID` INTEGER NOT NULL UNIQUE,
26 `EloRating` INTEGER,
27 `PeakEloRating` INTEGER,
28 `WinPercentage` REAL,
29 `DrawPercentage` REAL,
30 `WinPercentageAsWhite` REAL,
31 `WinPercentageAsBlack` REAL,
32 `LongestWinningStreak` INTEGER,
33 `LongestLoosingStreak` INTEGER,
34 FOREIGN KEY(`PlayerID`) REFERENCES `Users`(`PlayerID`),
35 PRIMARY KEY(`PlayerID`)
36);
37CREATE TABLE IF NOT EXISTS "StandaredChessPlayers" (
38 `PlayerID` INTEGER NOT NULL UNIQUE,
39 `EloRating` INTEGER,
40 `PeakEloRating` INTEGER,
41 `WinPercentageAsWhite` REAL,
42 `WinPercetageAsBlack` REAL,
43 `WinPercentage` REAL,
44 `DrawPercentage` REAL,
45 `LongestWinStreak` INTEGER,
46 `LongestLoosingStreak` INTEGER,
47 FOREIGN KEY(`PlayerID`) REFERENCES `Users`(`PlayerID`),
48 PRIMARY KEY(`PlayerID`)
49);
50CREATE TABLE `ChessGameData` (
51 `GameID` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
52 `GameMoves` BLOB NOT NULL,
53 `ComputerEvaluationPerMove` BLOB NOT NULL,
54 `DurationOfMove` BLOB NOT NULL
55);
56CREATE TABLE `ChessGameCatalogue` (
57 `GameID` INTEGER NOT NULL UNIQUE,
58 `PlayerIDOfWhite` INTEGER NOT NULL UNIQUE,
59 `PlayerIDOfBlack` INTEGER NOT NULL UNIQUE,
60 `RatingOfWhite` INTEGER NOT NULL,
61 `RatingOfBlack` INTEGER NOT NULL,
62 `WinnerByClolour` TEXT NOT NULL,
63 `WinnerByID` INTEGER NOT NULL,
64 `DurationOfGame` INTEGER NOT NULL,
65 `GameType` TEXT NOT NULL,
66 `GameOpeningTheory` BLOB,
67 FOREIGN KEY(`WinnerByID`) REFERENCES `Users`(`PlayerID`),
68 FOREIGN KEY(`PlayerIDOfWhite`) REFERENCES `Users`(`PlayerID`),
69 FOREIGN KEY(`PlayerIDOfBlack`) REFERENCES `Users`(`PlayerID`),
70 FOREIGN KEY(`GameID`) REFERENCES `ChessGameData`(`GameID`),
71 PRIMARY KEY(`GameID`)
72);
73DELETE FROM sqlite_sequence;
74COMMIT;