4 Base de données
Antoine PEREDERII edited this page 1 year ago

Rapport de conception de la Base de Données pour l'Application HeartTrack

Introduction : Notre projet consiste à développer une application WEB et Mobile d' analyse de fréquences cardiaques conçue pour répondre aux besoins d' un public diversifié. L'interface de l' application, offrira un suivi simple des activités sportives personnelles. Elle cible principalement deux types d' utilisateurs : les sportifs (professionnels et amateurs) et les coachs, leur offrant une visibilité sur les analyses de chaque membre de leur équipe.

Modèle Logique de Données (MLD):

@startuml
package MLD {
  entity "Athlète" as athlete {
    + ID_Athlète : int
    --
    Nom : string
    Prénom : string
    Email : string
    Sexe : string
    Taille : float
    Poids : float
    Mot_de_passe : string
    DateNaissance : Date
  }

  entity "Amitié" as friendship {
    + ID_Athlète1 : int
    + ID_Athlète2 : int
    --
    Début : Date
  }

  entity "Notification" as notif {
    + ID_Notif : int
    --
    Message : text
    Date : date
    Statut : string
    Type : string
    Urgence : string
    Athlete_ID : int
  }

  entity "Coach" as coach {
    + ID_Coach : int
    --
    // attributs spécifiques au coach
    + ID_Athlete : int
  }

  entity "Statistique" as stats {
    + ID_Statistique : int
    --
    Poids : float
    FC_moyenne : int
    FC_max : int
    Calories_brûlées_moy : float
    + ID_Athlete : int
  }

  entity "Entraînement" as training {
    + ID_Entrainement : int
    --
    Date : date
    Description : text
    // Exercices : string
    Latitude : float
    Longitude : float
    Feedback : text
    + ID_Coach : int
  }

  entity "Participe" as takepart {
    + ID_Athlete : int
    + ID_Entrainement : int
    --
  }

  entity "SourceDonnée" as source {
    + ID_Source : int
    --
    Type : string
    Modèle : string
    Précision : numeric
  }

  entity "Activité" as activity {
    + ID_Activité : int
    --
    Type : string
    Date : date
    Heure_de_début : time
    Heure_de_fin : time
    Effort_Ressenti : int
    Variabilité : float
    Variance : float
    Ecart-type : float
    Moyenne : float
    Maximum : int
    Minimum : int
    Temperature_moyenne : float
  }

  entity "FréquenceCardiaque" as fc {
    + ID_FC : int
    --
    Altitude : float
    Temps : time
    Température : float
    BPM : int
    Longitude : float
    Latitude : float
    + ID_Activité : int
  }

  entity "Effectue" as effectue {
    + ID_Athlete : int
    + ID_Source : int
    + ID_Activity : int
    --
  }
}

athlete -- friendship
friendship -- athlete
notif -- athlete
coach -- athlete
stats -- athlete
takepart -- athlete
takepart -- training
effectue -- athlete
effectue -- source
effectue -- activity
activity -- fc
@enduml