diff --git a/Sources/src/data/core/database/scriptDatabase.sql b/Sources/src/data/core/database/scriptDatabase.sql index 75d41d89..2777323a 100644 --- a/Sources/src/data/core/database/scriptDatabase.sql +++ b/Sources/src/data/core/database/scriptDatabase.sql @@ -1,5 +1,7 @@ -CREATE OR REPLACE TABLE Athlete ( - idAthlete INT AUTO_INCREMENT PRIMARY KEY, +DROP TABLE IF EXISTS Athlete, Friendship, Notification, Statistique, Entrainement, Participe, SourceDonnee, Activite, FrequenceCardiaque CASCADE; + +CREATE TABLE Athlete ( + idAthlete INT PRIMARY KEY, nom VARCHAR(255), prenom VARCHAR(255), email VARCHAR(255) UNIQUE, @@ -11,7 +13,7 @@ CREATE OR REPLACE TABLE Athlete ( isCoach BOOLEAN ); -CREATE OR REPLACE TABLE Friendship ( +CREATE TABLE Friendship ( idAthlete1 INT, idAthlete2 INT, debut DATE, @@ -20,8 +22,8 @@ CREATE OR REPLACE TABLE Friendship ( FOREIGN KEY (idAthlete2) REFERENCES Athlete(idAthlete) ); -CREATE OR REPLACE TABLE Notification ( - idNotif INT AUTO_INCREMENT PRIMARY KEY, +CREATE TABLE Notification ( + idNotif INT PRIMARY KEY, message TEXT, date DATE, statut BOOLEAN, @@ -30,8 +32,8 @@ CREATE OR REPLACE TABLE Notification ( FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete) ); -CREATE OR REPLACE TABLE Statistique ( - idStatistique INT AUTO_INCREMENT PRIMARY KEY, +CREATE TABLE Statistique ( + idStatistique INT PRIMARY KEY, poids DECIMAL, fcMoyenne DECIMAL, fcMax DECIMAL, @@ -41,8 +43,8 @@ CREATE OR REPLACE TABLE Statistique ( FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete) ); -CREATE OR REPLACE TABLE Entrainement ( - idEntrainement INT AUTO_INCREMENT PRIMARY KEY, +CREATE TABLE Entrainement ( + idEntrainement INT PRIMARY KEY, date DATE, description TEXT, latitude DECIMAL, @@ -52,7 +54,7 @@ CREATE OR REPLACE TABLE Entrainement ( FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete) ); -CREATE OR REPLACE TABLE Participe ( +CREATE TABLE Participe ( athleteId INT, entrainementId INT, PRIMARY KEY (athleteId, entrainementId), @@ -60,8 +62,8 @@ CREATE OR REPLACE TABLE Participe ( FOREIGN KEY (entrainementId) REFERENCES Entrainement(idEntrainement) ); -CREATE OR REPLACE TABLE SourceDonnee ( - idSource INT AUTO_INCREMENT PRIMARY KEY, +CREATE TABLE SourceDonnee ( + idSource INT PRIMARY KEY, type VARCHAR(255), modele VARCHAR(255), precision2 DECIMAL, @@ -69,8 +71,8 @@ CREATE OR REPLACE TABLE SourceDonnee ( FOREIGN KEY (athleteId) REFERENCES Athlete(idAthlete) ); -CREATE OR REPLACE TABLE Activite ( - idActivite INT AUTO_INCREMENT PRIMARY KEY, +CREATE TABLE Activite ( + idActivite INT PRIMARY KEY, type VARCHAR(255), date DATE, heureDeDebut TIME, @@ -89,8 +91,8 @@ CREATE OR REPLACE TABLE Activite ( FOREIGN KEY (sourceId) REFERENCES SourceDonnee(idSource) ); -CREATE OR REPLACE TABLE FrequenceCardiaque ( - idFc INT AUTO_INCREMENT PRIMARY KEY, +CREATE TABLE FrequenceCardiaque ( + idFc INT PRIMARY KEY, altitude DECIMAL, temps TIME, temperature DECIMAL, @@ -101,31 +103,31 @@ CREATE OR REPLACE TABLE FrequenceCardiaque ( FOREIGN KEY (activiteId) REFERENCES Activite(idActivite) ); -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); +INSERT INTO Athlete (idAthlete, nom, prenom, email, sexe, taille, poids, motDePasse, dateNaissance, isCoach) VALUES +(1, 'Doe', 'John', 'john.doe@example.com', 'M', 1.80, 70, 'password123', '1990-01-01', FALSE), +(2, 'Smith', 'Jane', 'jane.smith@example.com', 'F', 1.65, 60, 'password456', '1992-02-02', TRUE); INSERT INTO Friendship (idAthlete1, idAthlete2, debut) VALUES (1, 2, '2023-01-01'); -INSERT INTO Notification (message, date, statut, urgence, athleteId) VALUES -('Training session at 10 AM', '2023-03-10', TRUE, 1, 1); +INSERT INTO Notification (idNotif, message, date, statut, urgence, athleteId) VALUES +(1, 'Training session at 10 AM', '2023-03-10', TRUE, 1, 1); -INSERT INTO Statistique (poids, fcMoyenne, fcMax, caloriesBruleesMoy, date, athleteId) VALUES -(70, 80, 150, 500, '2023-03-10', 1); +INSERT INTO Statistique (idStatistique, poids, fcMoyenne, fcMax, caloriesBruleesMoy, date, athleteId) VALUES +(1, 70, 80, 150, 500, '2023-03-10', 1); -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); +INSERT INTO Entrainement (idEntrainement, date, description, latitude, longitude, feedback, athleteId) VALUES +(1, '2023-03-12', 'Long run in the park', 40.7128, -74.0060, 'Good effort', 1); INSERT INTO Participe (athleteId, entrainementId) VALUES (1, 1); -INSERT INTO SourceDonnee (type, modele, precision2, athleteId) VALUES -('Heart Rate Monitor', 'HRM-Pro', 98.5, 1); +INSERT INTO SourceDonnee (idSource, type, modele, precision2, athleteId) VALUES +(1, 'Heart Rate Monitor', 'HRM-Pro', 98.5, 1); -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); +INSERT INTO Activite (idActivite, type, date, heureDeDebut, heureDeFin, effortRessent, variabilite, variance, ecartType, moyenne, maximum, minimum, temperatureMoyenne, athleteId, sourceId) VALUES +(1, 'Running', '2023-03-10', '08:00:00', '09:00:00', 7, 0.5, 1, 0.1, 140, 160, 120, 20, 1, 1); -INSERT INTO FrequenceCardiaque (altitude, temps, temperature, bpm, longitude, latitude, activiteId) VALUES -(100, '08:15:00', 15, 130, -74.0060, 40.7128, 1); +INSERT INTO FrequenceCardiaque (idFc, altitude, temps, temperature, bpm, longitude, latitude, activiteId) VALUES +(1, 100, '08:15:00', 15, 130, -74.0060, 40.7128, 1);