From 983245ad0f75d3342c0f6889f42334c6dfee4c9c Mon Sep 17 00:00:00 2001 From: "kevin.monteiro" Date: Wed, 13 Dec 2023 14:09:10 +0100 Subject: [PATCH] =?UTF-8?q?Modif=20MLD=20+=20Modif=20Script=20BDD=20suivan?= =?UTF-8?q?t=20les=20modification=20=C3=A0=20faire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documents/Diagramme/BDD/MLD.plantuml | 12 +-- .../database/{db.sql => scriptDatabase.sql} | 101 +++++++----------- 2 files changed, 41 insertions(+), 72 deletions(-) rename Sources/src/data/core/database/{db.sql => scriptDatabase.sql} (52%) diff --git a/Documents/Diagramme/BDD/MLD.plantuml b/Documents/Diagramme/BDD/MLD.plantuml index cdf6bec3..a66257d5 100755 --- a/Documents/Diagramme/BDD/MLD.plantuml +++ b/Documents/Diagramme/BDD/MLD.plantuml @@ -11,6 +11,7 @@ entity "Athlète" as athlete { poids motDePasse dateNaissance + isCoach } entity "Amitié" as friendship{ @@ -28,11 +29,7 @@ entity "Notification" as notif { #athleteId } -entity "Coach" as coach { - {static} idCoach - // attributs spécifiques au coach - #athleteId -} + entity "Statistique" as stats { {static} idStatistique @@ -52,7 +49,7 @@ entity "Entraînement" as training { latitude longitude feedback - #coachId + #athleteId } entity "Participe" as takepart { @@ -101,13 +98,12 @@ entity "FréquenceCardiaque" as fc { activity --> athlete activity --> source activity <-- fc -coach --> athlete athlete <-- source stats --> athlete takepart --> athlete takepart --> training friendship --> athlete notif --> athlete -coach <-- training +athlete <-- training athlete <-- friendship @enduml \ No newline at end of file diff --git a/Sources/src/data/core/database/db.sql b/Sources/src/data/core/database/scriptDatabase.sql similarity index 52% rename from Sources/src/data/core/database/db.sql rename to Sources/src/data/core/database/scriptDatabase.sql index f0e29770..75d41d89 100644 --- a/Sources/src/data/core/database/db.sql +++ b/Sources/src/data/core/database/scriptDatabase.sql @@ -1,6 +1,5 @@ --- Athlete Table -CREATE TABLE Athlete ( - idAthlete SERIAL PRIMARY KEY, +CREATE OR REPLACE TABLE Athlete ( + idAthlete INT AUTO_INCREMENT PRIMARY KEY, nom VARCHAR(255), prenom VARCHAR(255), email VARCHAR(255) UNIQUE, @@ -8,83 +7,70 @@ CREATE TABLE Athlete ( taille DECIMAL, poids DECIMAL, motDePasse VARCHAR(255), - dateNaissance DATE + dateNaissance DATE, + isCoach BOOLEAN ); --- Friendship Table -CREATE TABLE Friendship ( +CREATE OR REPLACE TABLE Friendship ( idAthlete1 INT, idAthlete2 INT, debut DATE, PRIMARY KEY (idAthlete1, idAthlete2), - FOREIGN KEY (idAthlete1) REFERENCES Athlete (idAthlete), - FOREIGN KEY (idAthlete2) REFERENCES Athlete (idAthlete) + FOREIGN KEY (idAthlete1) REFERENCES Athlete(idAthlete), + FOREIGN KEY (idAthlete2) REFERENCES Athlete(idAthlete) ); --- Notification Table -CREATE TABLE Notification ( - idNotif SERIAL PRIMARY KEY, +CREATE OR REPLACE TABLE Notification ( + idNotif INT AUTO_INCREMENT PRIMARY KEY, message TEXT, date DATE, statut BOOLEAN, urgence INT, athleteId INT, - FOREIGN KEY (athleteId) REFERENCES Athlete (idAthlete) + FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete) ); --- Coach Table -CREATE TABLE Coach ( - idCoach SERIAL PRIMARY KEY, - athleteId INT, - FOREIGN KEY (athleteId) REFERENCES Athlete (idAthlete) -); - --- Statistique Table -CREATE TABLE Statistique ( - idStatistique SERIAL PRIMARY KEY, +CREATE OR REPLACE TABLE Statistique ( + idStatistique INT AUTO_INCREMENT PRIMARY KEY, poids DECIMAL, fcMoyenne DECIMAL, fcMax DECIMAL, caloriesBruleesMoy DECIMAL, date DATE, athleteId INT, - FOREIGN KEY (athleteId) REFERENCES Athlete (idAthlete) + FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete) ); --- Entrainement Table -CREATE TABLE Entrainement ( - idEntrainement SERIAL PRIMARY KEY, +CREATE OR REPLACE TABLE Entrainement ( + idEntrainement INT AUTO_INCREMENT PRIMARY KEY, date DATE, description TEXT, latitude DECIMAL, longitude DECIMAL, feedback TEXT, - coachId INT, - FOREIGN KEY (coachId) REFERENCES Coach (idCoach) + athleteId INT, + FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete) ); --- Participe Table -CREATE TABLE Participe ( +CREATE OR REPLACE TABLE Participe ( athleteId INT, entrainementId INT, PRIMARY KEY (athleteId, entrainementId), - FOREIGN KEY (athleteId) REFERENCES Athlete (idAthlete), - FOREIGN KEY (entrainementId) REFERENCES Entrainement (idEntrainement) + FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete), + FOREIGN KEY (entrainementId) REFERENCES Entrainement(idEntrainement) ); --- SourceDonnee Table -CREATE TABLE SourceDonnee ( - idSource SERIAL PRIMARY KEY, +CREATE OR REPLACE TABLE SourceDonnee ( + idSource INT AUTO_INCREMENT PRIMARY KEY, type VARCHAR(255), modele VARCHAR(255), - precision DECIMAL, + precision2 DECIMAL, athleteId INT, - FOREIGN KEY (athleteId) REFERENCES Athlete (idAthlete) + FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete) ); --- Activite Table -CREATE TABLE Activite ( - idActivite SERIAL PRIMARY KEY, +CREATE OR REPLACE TABLE Activite ( + idActivite INT AUTO_INCREMENT PRIMARY KEY, type VARCHAR(255), date DATE, heureDeDebut TIME, @@ -99,13 +85,12 @@ CREATE TABLE Activite ( temperatureMoyenne DECIMAL, athleteId INT, sourceId INT, - FOREIGN KEY (athleteId) REFERENCES Athlete (idAthlete), - FOREIGN KEY (sourceId) REFERENCES SourceDonnee (idSource) + FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete), + FOREIGN KEY (sourceId) REFERENCES SourceDonnee(idSource) ); --- FrequenceCardiaque Table -CREATE TABLE FrequenceCardiaque ( - idFc SERIAL PRIMARY KEY, +CREATE OR REPLACE TABLE FrequenceCardiaque ( + idFc INT AUTO_INCREMENT PRIMARY KEY, altitude DECIMAL, temps TIME, temperature DECIMAL, @@ -113,46 +98,34 @@ CREATE TABLE FrequenceCardiaque ( longitude DECIMAL, latitude DECIMAL, activiteId INT, - FOREIGN KEY (activiteId) REFERENCES Activite (idActivite) + FOREIGN KEY (activiteId) REFERENCES Activite(idActivite) ); --- Insertion de données dans la table Athlete -INSERT INTO Athlete (nom, prenom, email, sexe, taille, poids, motDePasse, dateNaissance) VALUES -('Doe', 'John', 'john.doe@example.com', 'M', 1.80, 70, 'password123', '1990-01-01'), -('Smith', 'Jane', 'jane.smith@example.com', 'F', 1.65, 60, 'password456', '1992-02-02'); +INSERT INTO Athlete (nom, prenom, email, sexe, taille, poids, motDePasse, dateNaissance, isCoach) VALUES +('Doe', 'John', 'john.doe@example.com', 'M', 1.80, 70, 'password123', '1990-01-01', FALSE), +('Smith', 'Jane', 'jane.smith@example.com', 'F', 1.65, 60, 'password456', '1992-02-02', TRUE); --- Insertion de données dans la table Friendship INSERT INTO Friendship (idAthlete1, idAthlete2, debut) VALUES (1, 2, '2023-01-01'); --- Insertion de données dans la table Notification INSERT INTO Notification (message, date, statut, urgence, athleteId) VALUES ('Training session at 10 AM', '2023-03-10', TRUE, 1, 1); --- Insertion de données dans la table Coach -INSERT INTO Coach (athleteId) VALUES -(1); - --- Insertion de données dans la table Statistique INSERT INTO Statistique (poids, fcMoyenne, fcMax, caloriesBruleesMoy, date, athleteId) VALUES (70, 80, 150, 500, '2023-03-10', 1); --- Insertion de données dans la table Entrainement -INSERT INTO Entrainement (date, description, latitude, longitude, feedback, coachId) VALUES +INSERT INTO Entrainement (date, description, latitude, longitude, feedback, athleteId) VALUES ('2023-03-12', 'Long run in the park', 40.7128, -74.0060, 'Good effort', 1); --- Insertion de données dans la table Participe INSERT INTO Participe (athleteId, entrainementId) VALUES (1, 1); --- Insertion de données dans la table SourceDonnee -INSERT INTO SourceDonnee (type, modele, precision, athleteId) VALUES +INSERT INTO SourceDonnee (type, modele, precision2, athleteId) VALUES ('Heart Rate Monitor', 'HRM-Pro', 98.5, 1); --- Insertion de données dans la table Activite INSERT INTO Activite (type, date, heureDeDebut, heureDeFin, effortRessent, variabilite, variance, ecartType, moyenne, maximum, minimum, temperatureMoyenne, athleteId, sourceId) VALUES ('Running', '2023-03-10', '08:00:00', '09:00:00', 7, 0.5, 1, 0.1, 140, 160, 120, 20, 1, 1); --- Insertion de données dans la table FrequenceCardiaque INSERT INTO FrequenceCardiaque (altitude, temps, temperature, bpm, longitude, latitude, activiteId) VALUES (100, '08:15:00', 15, 130, -74.0060, 40.7128, 1); +