Mise à jour de 'script.SQL'

master
Leni BEAULATON 6 months ago
parent fbabaae7df
commit 5f170c44da

@ -1,120 +1,12 @@
-- Suppression des tables INSERT INTO Commentary (id_comment, quote, users, dateC, comment)
DROP TABLE IF EXISTS Commentary; VALUES
DROP TABLE IF EXISTS Favorite; ('CMT001', 'Q001', 'U001', '2024-10-01', 'This quote really resonates with me.'),
DROP TABLE IF EXISTS Quote; ('CMT002', 'Q002', 'U002', '2024-10-02', 'A timeless piece of wisdom.'),
DROP TABLE IF EXISTS Caracter; ('CMT003', 'Q003', 'U003', '2024-10-03', 'I disagree with this viewpoint.'),
DROP TABLE IF EXISTS Source; ('CMT004', 'Q004', 'U001', '2024-10-04', 'Absolutely love this quote!'),
DROP TABLE IF EXISTS Record_quiz; ('CMT005', 'Q005', 'U004', '2024-10-05', 'Very motivational, thanks for sharing!'),
DROP TABLE IF EXISTS Quiz_Question; ('CMT006', 'Q006', 'U005', '2024-10-06', 'This makes me reflect on life.'),
DROP TABLE IF EXISTS Quiz; ('CMT007', 'Q007', 'U006', '2024-10-07', 'I find this quote very inspiring.'),
DROP TABLE IF EXISTS Question; ('CMT008', 'Q008', 'U007', '2024-10-08', 'I think theres more to this than meets the eye.'),
DROP TABLE IF EXISTS Admin; ('CMT009', 'Q009', 'U008', '2024-10-09', 'Such a powerful statement!'),
DROP TABLE IF EXISTS Users; ('CMT010', 'Q010', 'U009', '2024-10-10', 'This is one of my favorites!');
DROP TABLE IF EXISTS Image;
-- Création des tables
CREATE TABLE Image(
id_img SERIAL PRIMARY KEY,
imgPath varchar(100) NOT NULL UNIQUE
);
CREATE TABLE Users(
id_user varchar(5) PRIMARY KEY,
username varchar(50) NOT NULL,
email varchar(50) NOT NULL,
pssword varchar(100) NOT NULL,
img SERIAL NOT NULL,
creation date NOT NULL,
CONSTRAINT unique_col UNIQUE (email),
CONSTRAINT fk_img FOREIGN KEY(img) REFERENCES Image(id_img)
);
CREATE TABLE Admin(
users varchar(5) PRIMARY KEY,
CONSTRAINT fk_user FOREIGN KEY(users) REFERENCES Users(id_user)
);
CREATE TABLE Question(
id_question SERIAL PRIMARY KEY,
texte text NOT NULL UNIQUE,
answerA varchar(30) NOT NULL,
answerB varchar(30) NOT NULL,
answerC varchar(30) NOT NULL,
answerD varchar(30) NOT NULL,
cAnswer varchar(30) NOT NULL,
CONSTRAINT check_cAnswer CHECK (cAnswer = answerA OR cAnswer = answerB OR cAnswer = answerC OR cAnswer = answerD)
);
CREATE TABLE Quiz(
id_quiz SERIAL PRIMARY KEY,
levelQ numeric NOT NULL,
timer numeric NOT NULL
);
CREATE TABLE Quiz_Question(
quiz SERIAL NOT NULL,
question SERIAL NOT NULL,
PRIMARY KEY (quiz, question),
CONSTRAINT fk_quiz FOREIGN KEY(quiz) REFERENCES Quiz(id_quiz),
CONSTRAINT fk_question FOREIGN KEY(question) REFERENCES Question(id_question)
);
CREATE TABLE Record_quiz(
users varchar(5) NOT NULL,
quiz SERIAL NOT NULL,
nbPoint numeric DEFAULT '0',
timeQ numeric DEFAULT '0',
PRIMARY KEY (users, quiz),
CONSTRAINT fk_user FOREIGN KEY(users) REFERENCES Users(id_user),
CONSTRAINT fk_quiz FOREIGN KEY(quiz) REFERENCES Quiz(id_quiz),
CONSTRAINT err_nbPoint CHECK(nbPoint >= 0),
CONSTRAINT err_timeQ CHECK(timeQ >= 0)
);
CREATE TABLE Source(
id_source SERIAL PRIMARY KEY,
title varchar(100) NOT NULL,
dateS date NOT NULL
);
CREATE TABLE Caracter(
id_caracter SERIAL PRIMARY KEY,
caracter varchar(100) NOT NULL,
img_path varchar(100) NOT NULL
);
CREATE TABLE Quote(
id_quote SERIAL PRIMARY KEY,
content text NOT NULL,
likes numeric DEFAULT '0',
langue char(2) NOT NULL,
isValide boolean NOT NULL DEFAULT 'false',
reason varchar(100) NOT NULL,
id_caracter SERIAL NOT NULL,
id_source SERIAL NOT NULL,
id_user_verif varchar(5) NOT NULL,
CONSTRAINT fk_caracter FOREIGN KEY(id_caracter) REFERENCES Caracter(id_caracter),
CONSTRAINT fk_source FOREIGN KEY(id_source) REFERENCES Source(id_source),
CONSTRAINT fk_userverif FOREIGN KEY(id_user_verif) REFERENCES Users(id_user),
CONSTRAINT err_nbLike CHECK (likes >= 0),
CONSTRAINT err_language CHECK (langue = 'fr' OR langue = 'en')
);
CREATE TABLE Favorite(
users varchar(5) NOT NULL,
quote SERIAL NOT NULL,
PRIMARY KEY (users, quote),
CONSTRAINT fk_quote FOREIGN KEY(quote) REFERENCES Quote(id_quote),
CONSTRAINT fk_user FOREIGN KEY(users) REFERENCES Users(id_user)
);
CREATE TABLE Commentary(
id_comment SERIAL PRIMARY KEY,
quote SERIAL NOT NULL,
users varchar(5) NOT NULL,
dateC date NOT NULL,
comment text NOT NULL,
CONSTRAINT fk_quote FOREIGN KEY(quote) REFERENCES Quote(id_quote),
CONSTRAINT fk_user FOREIGN KEY(users) REFERENCES Users(id_user)
);

Loading…
Cancel
Save