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,11 +7,11 @@ 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,
@ -21,9 +20,8 @@ CREATE TABLE Friendship (
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,
@ -32,16 +30,8 @@ CREATE TABLE Notification (
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,
@ -51,20 +41,18 @@ CREATE TABLE Statistique (
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),
@ -72,19 +60,17 @@ CREATE TABLE Participe (
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)
);
-- 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,
@ -103,9 +89,8 @@ CREATE TABLE Activite (
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,
@ -116,43 +101,31 @@ CREATE TABLE FrequenceCardiaque (
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