From de8292ce9288781193fd41bf13c82ad051d6aa72 Mon Sep 17 00:00:00 2001 From: Lilian BRETON Date: Fri, 21 Oct 2022 19:49:04 +0200 Subject: [PATCH] Add 'create.sql' --- create.sql | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 create.sql diff --git a/create.sql b/create.sql new file mode 100644 index 0000000..6d9f83e --- /dev/null +++ b/create.sql @@ -0,0 +1,106 @@ +#Drop all the tables + +DROP TABLE Battle; +DROP TABLE Own; +DROP TABLE Message; +DROP TABLE Belong; +DROP TABLE ConvGroup; +DROP TABLE User; +DROP TABLE Skin; +DROP TABLE Game; + + + + +#Create the User table + +CREATE TABLE User ( + ID char(5) PRIMARY KEY, + Username varchar(20) NOT NULL, + Nationality varchar(20) NOT NULL, + Sex char(1) NOT NULL, + DateOfBirth date NOT NULL, + CurrentBobCoins bigint(255) DEFAULT 0, + TotalBobCoins bigint(255) DEFAULT 0 +); + + + +#Create the Skin table + +CREATE TABLE Skin ( + ID char(5) PRIMARY KEY, + Name varchar(20) UNIQUE NOT NULL, + Image varchar(20) UNIQUE NOT NULL +); + + + +#Create the Own table + +CREATE TABLE Own ( + IDSkin char(5), + IDUser char(5), + CONSTRAINT FK_Skin FOREIGN KEY (IDSkin) REFERENCES User(ID), + CONSTRAINT FK_User FOREIGN KEY (IDUser) REFERENCES Skin(ID), + PRIMARY KEY (IDUser, IDSkin) +); + + + +#Create the Game table + +CREATE TABLE Game ( + ID char(5) PRIMARY KEY, + Name varchar(20) UNIQUE NOT NULL +); + + + +#Create the Match table + +CREATE TABLE Battle ( + ID char(5) PRIMARY KEY, + Winner char(5) NOT NULL, + Loser char(5) NOT NULL, + Game char(5) NOT NULL, + CONSTRAINT Fk_Winner FOREIGN KEY (Winner) REFERENCES User(ID), + CONSTRAINT Fk_Loser FOREIGN KEY (Loser) REFERENCES User(ID), + CONSTRAINT Fk_Game FOREIGN KEY (Game) REFERENCES Game(ID) +); + + + +#Create the Group table + +CREATE TABLE ConvGroup ( + ID char(5) PRIMARY KEY, + Name varchar(20) NOT NULL +); + + + +#Create the Message table + +CREATE TABLE Message ( + ID char(5) PRIMARY KEY, + Message text NOT NULL, + IDSender char(5) NOT NULL, + IDUserReceiver char(5), + IDGroupReceiver char(5), + CONSTRAINT Fk_Sender FOREIGN KEY (IDSender) REFERENCES User(ID), + CONSTRAINT Fk_UsRec FOREIGN KEY (IDUserReceiver) REFERENCES User(ID), + CONSTRAINT Fk_GrRec FOREIGN KEY (IDGroupReceiver) REFERENCES ConvGroup(ID) +); + + + +#Create the Belong Table + +CREATE TABLE Belong ( + IDUser char(5), + IDGroup char(5), + CONSTRAINT Fk_UserID FOREIGN KEY (IDUser) REFERENCES User(ID), + CONSTRAINT Fk_Group FOREIGN KEY (IDGroup) REFERENCES ConvGroup(ID), + PRIMARY KEY (IDUser, IDGroup) +); \ No newline at end of file