• type d' intégrité • intégrité de données • intégrité référentielle • Implémentation de l'intégrité des données • intégrité déclarative • intégrité procédurale • con traintes Introduction • L’intégrité (ou l’éthique, la déontologie) des fonctionnaires a été étudiée sous plusieurs angles. L’approche légale en est une, très répandue. Elle se concentre sur les lois et les règlements (particulièrement par le statut) qui déterminent le comportement légal et les mécanismes de renforcement (au travers de procédures disciplinaires ou pénales), à même de les faire respecter. Cette approche tend à considérer en priorité les mauvais comportements et un type particulier d’instruments (les instruments légaux). L’approche éthico-philosophique est également très courante, se basant généralement sur la philosophie politique ou sur les théories éthiques. Elle suscite des questions fondamentales sur le rôle des fonctionnaires dans une démocratie et ébauche les lignes directrices en matière d’éthique. • 2En plus de ces approches traditionnelles, les deux dernières décennies ont vu apparaître une autre vision très prometteuse, largement inspirée par l’administration publique et privée. Elle a été adoptée et promue par de nombreuses organisations internationales, parmi lesquelles l’OCDE, la Banque Mondiale et les Nations Unies. Cette position envisage l’intégrité comme une matière qui peut être gérée. Elle intègre ainsi des idées reprises dans les approches citées plus haut (légale et philosophique), pratiquées dans les administrations publique et privée, mais aussi des recommandations issues de la recherche empirique sur l’intégrité dans les organisations, prodiguées aux dirigeants en charge d’insuffler une déontologie à leurs membres. • Définition • Intégrité des données • En fait, l'expression intégrité des données correspond à deux notions légèrement différentes, selon que le contexte est celui des télécommunications ou de la cryptographie. • Si le principe général est le même — les données ne doivent pas avoir été modifiées depuis leur création, à comprendre au sens large (écriture sur un support de stockage, transmission...) — la cryptographie veut pouvoir affirmer que les données ont ou n'ont pas été modifiées, ce qui se fait souvent via une fonction de hachage ou, mieux, un code d'authentification de message (MAC) qui ajoute l'usage d'une clé secrète, tandis qu'en télécommunication, on souhaite simplement pouvoir détecter et souvent corriger ces modifications. • Une autre façon de présenter cette différence est de dire que la cryptographie cherche à prouver qu'il n'y a pas eu de falsification, alors que les télécommunications cherchent à vérifier qu'il n'y a pas eu d'erreurs de « copie ». • Précisons que dans une base de données relationnelle, l'intégrité des données a trois aspects : • 1. Précision ; • 2. Exactitude ; • 3. Validité. • Il existe plusieurs modèles d'intégrité, parmi lesquels on peut citer le modèle Biba, et le modèle de Clark et Wilson. • Intégrité d'un système • L'intégrité d'un système est un principe selon lequel un système informatique est protégé contre les dysfonctionnements, les agressions et les attaques. Sous-entendu que le traitement effectué par le système doit être complet, exact, rapide et autorisé. Type d'intégrité • Dans une base de données, une contrainte d'intégrité permet de garantir la cohérence des données lors des mises à jour de la base. En effet, les données d'une base ne sont pas indépendantes, mais obéissant à des règles sémantiques, après chaque mise à jour, le SGBD contrôle qu'aucune contrainte d'intégrité n'est violée. • Sous Oracle, les clés primaires sont systématiquement accompagnées d'un index défini de la même manière. Il existe pour ce SGBD différents types d'index qui autorisent la conservation de l'intégrité de la table. • Exemple • Voici un ajout de contrainte en SQL reliant un ID à une clé étrangère : • alter table image_utilisateur add constraint image_utilisateur_utilisateur_fk foreign key (utilisateur_sid) references utilisateur(sid); l'intégrité référentielle Les clés étrangères permettent de définir les colonnes d'une table garantissant la validité d'une autre table. Ainsi, il existe des éléments (appelés triggers, ou en français gâchettes ou déclencheurs) permettant de garantir l'ensemble de ces contraintes que l'on désigne par le terme d'intégrité référentielle, c'est-à- dire notamment de s'assurer qu'un tuple utilisé à partir d'une autre table existe réellement. Ces triggers sont ON DELETE et ON UPDATE : • ON DELETE est suivi d'arguments entre accolades permettant de spécifier l'action à réaliser en cas d'effacement d'une ligne de la table faisant partie de la clé étrangère : • CASCADE indique la suppression en cascade des lignes de la table étrangère dont les clés étrangères correspondent aux clés primaires des lignes effacées • RESTRICT indique une erreur en cas d'effacement d'une valeur correspondant à la clé • SET NULL place la valeur NULL dans la ligne de la table étrangère en cas d'effacement d'une valeur correspondant à la clé • SET DEFAULT place la valeur par défaut (qui suit ce paramètre) dans la ligne de la table étrangère en cas d'effacement d'une valeur correspondant à la clé • ON UPDATE est suivi d'arguments entre accolades permettant de spécifier l'action à réaliser en cas de modification d'une ligne de la table faisant partie de la clé étrangère : • CASCADE indique la modification en cascade des lignes de la table étrangère dont les clés primaires correspondent aux clés étrangères des lignes modifiées • RESTRICT indique une erreur en cas de modification d'une valeur correspondant à la clé • SET NULL place la valeur NULL dans la ligne de la table étrangère en cas de modification d'une valeur correspondant à la clé • SET DEFAULT place la valeur par défaut (qui suit ce paramètre) dans la ligne de la table étrangère en cas de modification d'une valeur correspondant à la clé Implémentation de l'intégrité des données
• Intégrité des données déclarative Critères définis dans les définitions
d'objets Implémentée automatiquement par SQL Server Utilise des contraintes, des valeurs par défaut et des règles Intégrité des données procédurale Critères définis dans un script Implémentée par le script Utilise des déclencheurs et des procédures stockées intégrité déclarative intégrité procédurale conclusion