Intégrité des données

L’intégrité des données désigne la qualité d’un ensemble de données qui est complet, exact et cohérent.

Elle est essentielle pour garantir que les données sont utiles et fiables.

Les 3 principaux aspects

  • L’intégralité : les données sont complètes et ne manquent aucune information importante.
  • L’exactitude : les données sont correctes et ne contiennent aucune erreur.
  • La cohérence : les données sont compatibles entre elles et ne présentent aucune contradiction.

Techniques pour garantir l’intégrité des données

  • Les contrôles de validation : ces contrôles sont utilisés pour vérifier l’exactitude des données avant qu’elles ne soient enregistrées.
  • Les contrôles de cohérence : ces contrôles sont utilisés pour vérifier la cohérence des données entre elles.
  • Les sauvegardes : les sauvegardes permettent de restaurer les données en cas de perte ou de corruption.

Pourquoi vérifier l’intégrité des données ?

  • Pour garantir la fiabilité des données : les données doivent être fiables pour pouvoir être utilisées à des fins décisionnelles.
  • Pour protéger les données : les données doivent être protégées contre la corruption ou la perte.
  • Pour respecter la réglementation : certaines réglementations imposent aux organisations de garantir l’intégrité de leurs données.

Contrôlé de validation dans Symfony

Par les annotations

@Assert\NotBlank() : vérifie que la valeur n'est pas vide.
@Assert\Length() : vérifie que la longueur de la valeur est comprise dans une plage donnée.
@Assert\Email() : vérifie que la valeur est une adresse e-mail valide.
@Assert\Unique() : vérifie que la valeur est unique dans la base de données.

Méthode validate() de la classe validator()

// Définition de la classe
class User
{
    // Propriété à valider
    #[Assert\NotBlank()]
    public string $name;

    // Propriété à valider
    #[Assert\Length(min: 5, max: 10)]
    public string $password;

    // Propriété à valider
    #[Assert\Email()]
    public string $email;
}

// Utilisation de la classe `Validator`
$validator = new Validator();
$data = [
    'name' => 'John Doe',
    'password' => '123456',
    'email' => 'johndoe@example.com',
];

// Validation des données
$errors = $validator->validate($data);

// Affichage des erreurs
if (count($errors) > 0) {
    foreach ($errors as $error) {
        echo $error->getMessage();
    }
}