From 5cf9f788bff7f9250672431cc58c8293fa3cd6eb Mon Sep 17 00:00:00 2001 From: Adrien Fryson <adrien.fryson.etu@univ-lille.fr> Date: Thu, 13 Feb 2025 21:46:44 +0100 Subject: [PATCH] Delete script.sql --- sae/script.sql | 113 ------------------------------------------------- 1 file changed, 113 deletions(-) delete mode 100644 sae/script.sql diff --git a/sae/script.sql b/sae/script.sql deleted file mode 100644 index ee07022..0000000 --- a/sae/script.sql +++ /dev/null @@ -1,113 +0,0 @@ -DROP TABLE IF EXISTS Abonnement; -DROP TABLE IF EXISTS Message; -DROP TABLE IF EXISTS FilDeDiscussion; -DROP TABLE IF EXISTS Utilisateur; - -CREATE TABLE Utilisateur ( - id SERIAL PRIMARY KEY, - nom VARCHAR(100) NOT NULL, - email VARCHAR(100) UNIQUE NOT NULL, - mot_de_passe VARCHAR(255) NOT NULL, - date_inscription TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE TABLE FilDeDiscussion ( - id SERIAL PRIMARY KEY, - nom VARCHAR(100) NOT NULL, - date_creation TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - createur_id INTEGER, - CONSTRAINT fk_createur FOREIGN KEY (createur_id) REFERENCES Utilisateur(id) - ON DELETE SET NULL -); - -CREATE TABLE Message ( - id SERIAL PRIMARY KEY, - contenu TEXT NOT NULL, - date_publication TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - fil_id INTEGER, - auteur_id INTEGER, - CONSTRAINT fk_fil FOREIGN KEY (fil_id) REFERENCES FilDeDiscussion(id) - ON DELETE CASCADE, - CONSTRAINT fk_auteur FOREIGN KEY (auteur_id) REFERENCES Utilisateur(id) - ON DELETE SET NULL -); - -CREATE TABLE Abonnement ( - utilisateur_id INTEGER, - fil_id INTEGER, - date_abonnement TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT pk_abonnement PRIMARY KEY (utilisateur_id, fil_id), - CONSTRAINT fk_utilisateur FOREIGN KEY (utilisateur_id) REFERENCES Utilisateur(id) - ON DELETE CASCADE, - CONSTRAINT fk_fil FOREIGN KEY (fil_id) REFERENCES FilDeDiscussion(id) - ON DELETE CASCADE -); - -INSERT INTO Utilisateur (nom, email, mot_de_passe) VALUES -('Alice', 'alice@example.com', MD5('password1')), -('Bob', 'bob@example.com', MD5('password2')), -('Charlie', 'charlie@example.com', MD5('password3')); - -INSERT INTO FilDeDiscussion (nom, createur_id) VALUES -('Discussion Générale', 1), -('Projet Informatique', 2); - -INSERT INTO Message (contenu, fil_id, auteur_id) VALUES -('Bonjour tout le monde !', 1, 1), -('Salut, quelqu''un peut m''aider avec ce projet ?', 2, 2); - -INSERT INTO Abonnement (utilisateur_id, fil_id) VALUES -(1, 1), -(2, 1), -(3, 2); - --- Lister tous les utilisateurs - --- SELECT * FROM Utilisateur; - --- Lister tous les fils de discussion créés par un utilisateur donné - --- SELECT * FROM FilDeDiscussion WHERE createur_id = 1; - --- Lister tous les messages d'un fil de discussion donné - --- SELECT * FROM Message WHERE fil_id = 1 ORDER BY date_publication; - --- Lister tous les abonnés d'un fil de discussion donné - --- SELECT u.* FROM Utilisateur u --- JOIN Abonnement a ON u.id = a.utilisateur_id --- WHERE a.fil_id = 1; - --- Lister tous les fils de discussion auxquels un utilisateur est abonné - --- SELECT f.* FROM FilDeDiscussion f --- JOIN Abonnement a ON f.id = a.fil_id --- WHERE a.utilisateur_id = 1; - --- Lister les 5 derniers messages postés dans tous les fils de discussion - --- SELECT * FROM Message ORDER BY date_publication DESC LIMIT 5; - --- Lister les fils de discussion avec le nombre de messages - --- SELECT f.id, f.nom, COUNT(m.id) AS nombre_messages --- FROM FilDeDiscussion f --- LEFT JOIN Message m ON f.id = m.fil_id --- GROUP BY f.id, f.nom; - --- Lister les utilisateurs qui ne sont abonnés à aucun fil de discussion - --- SELECT u.* FROM Utilisateur u --- LEFT JOIN Abonnement a ON u.id = a.utilisateur_id --- WHERE a.fil_id IS NULL; - --- Lister les fils de discussion sans messages - --- SELECT f.* FROM FilDeDiscussion f --- LEFT JOIN Message m ON f.id = m.fil_id --- WHERE m.id IS NULL; - --- Lister les messages postés par un utilisateur donné - --- SELECT * FROM Message WHERE auteur_id = 1 ORDER BY date_publication; \ No newline at end of file -- GitLab