qu’est-Ce que l’Intégrité des Données?
En cette ère où de plus en plus de données sont stockées et produit que jamais, il est important que l’intégrité des données est préservée. Imaginez que nous avons des employés qui travaillent pour une MULTINATIONALE. Ces employés travaillent pour deux départements, par exemple, les ventes et les finances. Ces deux départements ont leurs propres tables de base de données. Alors devons-nous stocker le dossier de ces employés deux fois? Non, l’intégrité des données dit qu’il ne devrait pas y avoir de données en double dans notre base de données., Il ne devrait pas y avoir de redondance et nos données devraient être cohérentes dans toute la base de données. Mais, comment cela peut-il être réalisé? Il existe diverses contraintes d’intégrité des données qui nous sont fournies par le SGBD. Donc, nous allons voir en détail.
Intégrité des données
L’intégrité des données est d’avoir des données correctes et précises dans votre base de données. Lorsque nous stockons des données dans la base de données, nous ne voulons pas de valeurs répétées, nous ne voulons pas de valeurs incorrectes ou de relations rompues entre les tables. Alors, comprenons à travers un exemple que la rupture de relations peut entraîner une incohérence des données.,
Exemple: Imaginons que nous ayons une base de données client où nous avons deux tables, c’est-à-dire ‘customer_table'(customer_id, customer_name, purchase_id) et ‘purchase_table'(purchase_id, purchhased_item). Ces deux tables sont liées de telle sorte que si un achat est effectué par le client, les données de l’article acheté seront stockées dans la table purchase_table. Donc, si nous avons un enregistrement d’un article acheté dans le purchase_table, cet achat doit être effectué par un client présent dans le customer _table., Considérons maintenant une situation où la table d’achat indique qu’un article est acheté par un customer_id, disons 10, mais que customer_id n’existe pas dans la customer_table. Il n’est pas possible qu’un achat se fasse sans client. Une telle situation pourrait être survenue parce que les données du client ont été supprimées de customer_table. Ainsi, si les données du client sont supprimées de la table client, les données correspondantes doivent également être supprimées de la table achat. Par conséquent, les changements dans la base de données doivent être mis à jour de manière cohérente pour maintenir l’intégrité des données.,
l’Intégrité des Données peut être maintenue à l’aide de contraintes. Ces contraintes définissent les règles selon lesquelles les opérations telles que la mise à jour, la suppression, les insertions, etc. doivent être effectuées pour maintenir l’intégrité des données. Il existe principalement quatre types d’Intégrité des données:
- Intégrité du domaine
- Intégrité de l’entité
- Intégrité référentielle
- Intégrité définie par l’utilisateur
Intégrité du domaine
Le domaine fait référence à la plage de valeurs acceptables. Il fait référence à la plage de valeurs que nous allons accepter et stocker dans une colonne particulière dans une base de données., Les types de données disponibles sont principalement entier, texte, date, etc. Toute entrée que nous faisons pour une colonne doit être disponible dans le domaine du type de données.
Exemple: Si nous devons stocker le salaire des employés dans la’ employee_table ‘ alors nous pouvons mettre des contraintes qu’il ne devrait être qu’un ENTIER. Toute entrée autre que des caractères entiers ne serait pas acceptable et lorsque nous essayons de donner une entrée comme celle-ci, le SGBD produira des erreurs.
l’Intégrité de l’Entité
Chaque ligne pour une entité dans un tableau doit être identifié de manière unique c’est à dire, idf un enregistrement est enregistré dans la base de données, puis cet enregistrement doit être identifié de manière unique à partir d’autres. Ceci est fait à l’aide de clés primaires. La contrainte entity indique que la valeur de la clé primaire ne doit pas être NULLE. Si la valeur de la clé primaire est NULL, nous ne pouvons pas identifier de manière unique les lignes si tous les autres champs sont identiques. Aussi, avec l’aide de la clé primaire, nous pouvons identifier de manière unique chaque enregistrement.
Exemple: Si nous avons une base de données client et que customer_table y est présent avec des attributs tels que age et name. Ensuite, chaque client doit être identifié de manière unique., Il peut y avoir deux clients avec le même nom et le même âge, il peut donc y avoir confusion lors de la récupération des données. Si nous récupérons les données du client nommé « Angel », deux lignes ont ce nom et il y aurait confusion. Ainsi, pour résoudre ce problème, des clés primaires sont attribuées dans chaque table et identifient de manière unique chaque entrée de la table.
l’Intégrité Référentielle
l’Intégrité Référentielle est utilisé pour maintenir la cohérence des données entre les deux tables., Des règles sont établies dans la structure de la base de données sur la façon dont les clés étrangères doivent être utilisées pour s’assurer que les modifications, les ajouts et les suppressions dans la base de données maintiennent l’intégrité des données. Les contraintes d’intégrité référentielle, si une clé étrangère dans le premier tableau fait référence à la clé primaire de la deuxième table, alors chaque valeur de clé étrangère dans la première table doit être null ou présent dans le deuxième tableau.
Exemple: supposons que nous avons deux tables de l’étudiant(student_id, le nom, l’âge, course_id) et cours(course_id, course_name, durée)., Maintenant, si un course_id est présent dans la table student qui n’est pas là dans la table de cours, cela n’est pas autorisé. Le course_id dans la table des étudiants doit être null ou si tout course_id est présent dans la table des étudiants, alors il devrait également être présent dans la table. C’est ainsi que l’intégrité référentielle est maintenue.
Intégrité définie par l’utilisateur
Parfois, ces trois intégrité, à savoir l’intégrité du domaine, du référentiel et de l’entité, ne suffisent pas à maintenir l’intégrité des données., Cette intégrité est généralement mise en œuvre par le biais de déclencheurs et de procédures stockées. Les déclencheurs sont un bloc d’instructions qui s’exécute automatiquement si des événements prédéfinis se produisent.
Example1: Chaque fois qu’une nouvelle ligne est insérée dans une student_table qui a des notes de différents sujets d’étudiants, une nouvelle moyenne est automatiquement calculée et stockée.
Nous pouvons également définir des contraintes définies par l’utilisateur et des règles métier spécifiques ici.
Example2: Si nous créons une table pour l’enregistrement et que nous voulons que l’âge de l’utilisateur soit supérieur à 21 ans., Ce type de contrainte est défini par l’utilisateur.
Exemple3: supposons que nous ayons une employee_table avec des attributs comme emp_id, emp_name, job_name, de salaire, de mobile_no. Ici, nous avons des contraintes selon lesquelles l’id d’un employé doit toujours commencer par des caractères spécifiques tels que ‘AfterAcademy’, puis suivi de chiffres. Ainsi, toute entrée qui ne suit pas cette contrainte ne serait pas acceptable.
Ainsi, aujourd’hui, nous avons appris sur l’intégrité des données et comment cela aide à maintenir l’intégrité des données. Espérons vous appris quelque chose de nouveau aujourd’hui.