Modif MLD + Modif Script BDD suivant les modification à faire

merged
Kevin MONTEIRO 1 year ago
parent 09dafc90c0
commit 983245ad0f

@ -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

@ -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);
Loading…
Cancel
Save