0% ont trouvé ce document utile (0 vote)
59 vues11 pages

Ch1-2 BD-SQL CMN1

Bases de données et sql

Transféré par

Pierre OUSMANOU
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
59 vues11 pages

Ch1-2 BD-SQL CMN1

Bases de données et sql

Transféré par

Pierre OUSMANOU
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
FIsrcs BASES DE DONNEES ET SQL SUPPORT DE COURS Filigre : GENTE INFORMATIQUE Spécialité : ECOMMERCE ET MARKETING NUMERIQUE, Cycle / Niveau : BTS 1 Enseignant OUSMANOU PIERRE Année académique : 2024 — 2025 | INFORMATIONS GENERALES Unité d’enseignement (UE) * Code et intitulé de I'UE : CMN113 — Bases de données et langage SQL + Intitulé du cours : Bases de données et SQL " Crédits : 2 Enseignements > Cours magistral : 20 heures > TD/TP : 10 heures Evaluations v Contréle continu Epreuve écrite : 1 heure 30 minutes © Assiduité : présence aux séances de cours magistral et de travaux dirigés ® Session normale : 2 heures > Session de rattrapage : 2 heures » Notation © Contrale continu = 75% de la note de I’épreuve écrite + 25% de la note d’assiduité © Examen = 30% note de CC + 70% note de session normale ou session de rattrapage Contenu Chay Chapitre 2 : Conception d’une base de données relationnelle ¢ 1: Introduction aux bases de données Evaluations v Nicolas Larousse, Création de bases de données, Pearson Education France, 2009 ; George Gardarin, Bases de données, Byrolles, 2003 ; Philippe Rigaux, Cours de bases de données ~ Modéles et langages, Septembre 202 Laurent Audibert, Base de Données et langage SQL, IUT Villetaneuse ; TANDJAOUI Amel Faiza, Polycopie Introduction aux bases de données, Octobre 2022. vv v v Enseignant MANOU PIERRE, PCI BSc. Informatique fondamentale BASES DE DONNEES ET SOL Chapitre 1. INTRODUCTION AUX BASES DE DONNEES Introduction Les bases de données ont pris une place importante en informatique, et particuligrement dans le domaine de la gestion. L’étude des bases de données & conduit au développement de concepts, méthodes et algorithmes spécifiques, notamment pour gérer les données en mémoire secondaire c-a-d disques durs. 1- Présentation 1.1- Notion de base de données On appelle base de données un ensemble structuré et organisé permettant le stockage de grandes quantités informations afin d’en faciliter exploitation (ajout, mise a jour, recherche de données). Bien entendu, dans le cadre de ce cours, nous nous intéressons aux bases de données informatisées. Une base de données informatisée est un ensemble structuré de données enregistrées sur des supports accessibles par ordinateur, représentant des informations du monde réel et pouvant étre interrogées et mises a jour par une communauté d’utilisateurs, Le résultat de la conception d’une base de données informatisée e: description des données est réalisée en utilisant un modéle de donné pour comprendre ’organisation logique des données. une description des données, Cette Ce demier est un outil formel utilisé 1.2- Modéle de base de données a) Modéle hiérarchique Une base de données higrarchique est une forme de systéme de gestion de base de données qui lie des enregistrements dans une structure arborescente de fagon ce que chaque enregistrement n’ait qu’un scul possesseur (par exemple, une paire de chaussures n’appartient qu’a une seule personne) b) Modéle réseau Pour retrouver une donnée dans une telle modélisation, il faut connaitre le chemin d’aceas (les liens) ce qui rend les programmes dépendants de la structure de données c) Modéle relationnel Une base de données relationnelle est une base de données structurée suivant les prineipes de l'algebre relationnelle. Le pére des bases de données relationnelles est Edgar Frank Codd. C’est dans ce type de modéle que se situe ce cours de base de données. 4) Modéle objet La notion de bases de données objet ou relationnel-objet est plus récente et encore en phase de recherche et de développement. Flle sera trés probablement ajoutée au modéle relationnel. &) Modéle texte Encore appelée « flat file database », une base de données orientée texte se présente sous forme d’un fichier txt ou .ini, qui est soit un fichier texte, soit un fichier combinant du texte avec un fichier binaire. Chaque ligne de ce fichier comporte généralement un enregistrement. f) Modéle distribuge Far OUSMANOU PIERRE || BASES DE DONNEES ET SOL C’est un type de base de données qui présente des portions de données stockées au sein de différents endroits physiques, avec un traitement reparti ou répliqué entre différents points d’un réseau. £) Modile cloud C’est un modéle de base de données relative & un cloud privé, publique ou hybride, optimisé ou directement créé pour les environnements virtualisés. h) Modéle NoSQL (ou modéle non relationnel) Poussées par I’essor du Big Data, les bases de données NoSQL sont utilisées pour analyser des quantités importantes de données non structurées, ou stockées sur plusieurs serveurs cloud, i) Modile orienté graphe C’est um type de base de données NoSQL qui utilise la théorie des graphes pour stocker, cartographier et effectuer des requétes sur les relations entre les données. Remarque : les bases de données sont de plus en plus combinées électroniquement sous forme de collections plus larges appelées Data Warchouses. 2- Systéme de gestion de base de données (SGBD) 2.1- Principes de fonctionnement La gestion et I’accés a une base de données sont assurés par un ensemble de programmes qui constituent le Systéme de gestion de base de données (SGBD). Un SGBD est caractérisé par le modéle de description des données qu'il supporte (hiérarchique, réseau, relationnel, objet). Les données sont décrites sous la forme de ce modile, grice 4 un Langage de Description des Données (LDD). Cette description est appelée schéma. Une fois la base de données spécifiée, on peut y insérer des données, les récupérer, les modifier et les détruire. C’est ce qu’on appelle manipuler les données. Les données peuvent étre manipulées non seulement par un Langage de Manipulation des Données (LMD) mais aussi par des langages de programmation classiques. Les contraintes d’intégrité des données, la confidentialité des données, les droits d’accés aux données et les transactions sont gérés par un Langage de Contrdle de Données (LCD). Un systéme de gestion de bases de données héberge généralement plusieurs bases de données, qui sont destinées a des logiciels ou des thématiques différents. 2.2- Objectifs d’un SGBD Des objectifs principaux ont été fixés aux SGBD dés ’origine de causés par la démarche classique. Ces objectifs sont les suivants : eux-ci et ce, afin de résoudre les problémes Indépendance physique : La fagon dont les données sont définies doit étre indépendante des structures de stockage utilisées. Indépendance logique : Un méme ensemble de données peut étre vu différemment par des utilisateurs différents, Aceés aux donn és aux donn Données (LMD). se fait par intermédiaire d’un Langage de Manipulation de Adninistration centralisée des données (intégration) : Toutes les données doivent étre centralisées dans un réservoir unique commun & toutes les applications Non redondance des données : Afin d’éviter les problémes lors des mises a jour, chaque donnée ne doit étre présente qu’une seule fois dans la base. Far OUSMANOU PIERRE qi BASES DE DONNEES ET SOL Cohérence des données : Les données sont soumises a un certain nombre de contraintes d’intégrité qui définissent un état cohérent de la base. Partage des données : Il ‘agit de permettre a plusieurs utilisateurs d’aceéder aux mémes données au méme moment de maniére transparente. ccurité des données (Résistance aux pannes) : Aprés une panne intervenant au milieu d’une modification, on doit pouvoir, soit récupérer les données dans I’état dans lequel elles étaient avant la modification, soit terminer I’ opération interrompue. Intégrité des données : Respecter l'intégrité de l'information et vérifier les contraintes 4’ exemple : le salaire doit étre compris entre 200000 F et 400000 F. tégrité. Par Confidentialité des données : Les données doivent pouvoir étre protégées contre les accés non autorisés. Pour cela, il faut pouvoir associer & chaque utilisateur des droits d’aceés aux données. (Langage de Contréle des Données). 2,3- Exemples de SGBD connus et utilisés Il existe de nombreux systémes de gestion de bases de données, parmi lesquels : PostgreSQL, MySQL, Oracle, IBM DB2, Microsoft SQL, Sybase, Informix, Ms Acces 3- Modélisation de base de données Hest difficile de modéliser un domaine sous une forme directement utilisable par un SGBD. Une ou plusieurs modélisations intermédiaires sont donc utiles, le modale entités-associations constitue I’une des premigres et des plus courantes. Ce modéle, présenté par Chen (1976), permet une description naturelle du monde rée! 4 partir des concepts d’entité et d’association. Basé sur la théorie des ensembles et des relations, ce modéle se veut universel et répond a lobjectif d’indépendance données-programmes. Ce modéle, utilisé pour la phase de conception, s’inscrit notamment dans le cadre d’une méthode plus générale et trés répandue appelée MERISE (Méthode d'Etude et de Réalisation Informatique pour les Systémes d’ Entreprise) Merise propose une démarche, dite par niveaux, dans laquelle il s’agit de higrarchiser les préoccupations de modélisation qui sont de trois ordres : la conception, l’organisation et la technique. On distingue trois niveaux de représentation des données Y Niveau conceptuel : Le modéle conceptuel des données (MCD) décrit les entités du monde réel, en termes d’objets, de propriétés et de relations, indépendamment de toute technique d’ organisation et implantation des données. Ce modéle se concrétise par un schéma entit iations représentant la structure du systéme d’information, du point de vue des données. Y Niveau logique: Le modéle logique des - données (MLD) est une transcription Univers Mode | scheme (également appelée dérivation) du MCD dans reel 7 oe 1 ‘ogque un formalisme adapté & une implémentation | ultérieure sous forme de base de données. ¥ Niveau physique : le modéle physique des if données (MPD) permet d’établir la manidre —_- Modéles stmantiues | Modéles de BD tical conception chine, Rls coneréte dont le systéme sera mis en place pususecconst Lae (SGBD retenu). Mense Far OUSMANOU PIERRE | 3 BASES DE DONNEES ET SOL Chapitre 2. CONCEPTION D’UNE BASE DE DONNEES RELATIONNELLE Introduction Les origines du modéle relationnel remontent & I’année 1969, mais il reste jusqu’a aujourd’hui le modéle de base sur lequel repose la majorité des bases de données. Dans une base de données relationnelle, les données sont représentées sous forme de tableaux & deux dimensions. Chaque tableau est appelé relation ou table. Une base de données relationnelle est donc un ensemble de relations. Une base de données relationnelle est basée sur le modéle relationnel. 1- Le modéle relationnel. Le modéle relationnel tire son nom de la notion de relation mathématique entre des éléments, Chacun de éléments peut prendre des valeurs dans un ensemble défini, Dans une relation, I’ensemble des valeurs correspondant & une ligne est appelé un n-uplet ou un tuple ou un enregistrement, et le titre de chaque colonne est appelé attribut ou champ. Une donnée intersection d'une ligne et d’une colonne est appelée composant du tuple. Une relation R avec une liste d’attributs Al, A2,..., Am peut étre formellement écrite de la maniére suivante : R(A1, A2,..., Am). Cette écriture représente le schéma relationnel de la relation R. L’ensembles de toutes les valeurs possibles pour un champ est appelé domaine. Ainsi, une relation est totalement décrite par ; le schéma relationnel, les domaines des différents champs et les tuples qui la constituent. Le nombre de champs de la relation s’appelle son degré de la relation et le nombre de tuples se nomme la cardinalité de la relation. Attention, il ne sagit pas de la méme cardinalité que pour le modéle entité- association vu précédemment. Un ensemble de relations religes entre elles par des liens sémantiques constitue une base de données relationnelle. 1.1- Eléments du modéle relationnel - Adtribut: c’est un identificateur (un nom) décrivant une information stockée dans une base de données. Exemples : I’age d’une personne, le nom d’une personne, le numéro de sécurité sociale. - Domaine : le domaine d’un attribut est l'ensemble, fini ou infini, de ses valeurs possibles. ~ Relation : est un sous-ensemble du produit cartésien de n domaines d’attributs (n > 0). Une relation est représentée sous la forme d’un tableau a deux dimensions dans lequel les n attributs correspondent aux titres des n colonnes - Schéma de relation- Un schéma de relation précise le nom de la relation ainsi que la liste des attributs avec leurs domaines. - Degré : Le degré d'une relation est son nombre d’attributs, = Occurrence ou n-uplets ou tuples : Une occurrence, ou n-uplets, ou tuples, ou enregistrement est une ligne d’un tableau qui représente une relation (table). - Cardinalité : La cardinalité d’une relation est son nombre d’occurrences. - Clé candidate : Une clé candidate d’une relation est un ensemble minimal des attributs de ta relation dont les valeurs identifient chaque occurrence de maniére unique. La valeur dune clé candidate est done distincte pour toutes les tuples de la relation. Toute relation a au moins une clé candidate et peut en avoir plusieurs. Ainsi, il ne peut jamais y avoir deux tuples identiques au sein dune relation. Far OUSMANOU PIERRE i BASES DE DONNEES ET SOL = CIé primaire: La clé primaire d’une relation est une de ses clés candidates. Pour signaler la clé primaire, ses attributs sont généralement soulignés. - Clé étrangére : Une clé étrangére dans une relation est formée d’un ou plusieurs attributs qui constituent une clé primaire dans une autre relation. + Schéma relationnel : Un schéma relationnel est constitué par l'ensemble des schémas de relation 1.2- Regles de passage du modéle entité-association (ou d’un MCD) au modile relationnel Pour traduire un schéma du modele entité-association vers le modéle relationnel, on peut appliquer les régles suivantes : Y Chaque type-entité donne naissance a une relation, Chaque attribut de ce type-entité devient un attribut de la relation. L’identifiant est conservé en tant que clé primaire de la relation. Y Chaque type-association dont aucune patte n’a pour cardinalité maximale 1 donne naissance & une relation. Chaque attribut de ce type-association devient un attribut de la relation. L’identifiant, s'il est précisé, est conservé en tant que clé primaire de la relation, sinon cette clé est formée par 1a concaténation des identifiants des type-entités qui interviennent dans le type-association, Y Un type-association dont au moins une patte a une cardinalité maximale a 1 (ce type-association devrait étre binaire et n’a généralement pas d’attribut) ne devient pas une relation, La relation correspondant au type-entité dont la patte vers le type-association a une cardinalité maximale valant 1, se voit simplement ajouter comme attribut (et done comme clé étrangére) identifiant de autre type-entité Exemple : élaborer le schéma relationnel du modéle entité-association suivant. Patient Mutuelle Cotiser tT naeituette Madecin (rn) Dato-Entrée. Date-tntrée Solution Patient(Num-Patient, Nom-Patient, #Num-Mutuelle) ; Mutuelle(Num-Mutuelle, Nom-Mutuelle) ; Médecin(Num-Médecin, Nom-Médecin, Prénom-Médecin) ; Affection(Nur Affection, Nom-Affection) ; Hospitaliser(Num-Patient, Num-A fection, Num-Méd Hospitalisation) ; , Chambre, Durt 2- Opérations du modéle relationnel La manipulation des données dans le modéle relationnel se fait 4 l'aide d’opérations formelles. Toutes les opérations sur une ou plusieurs relations retourneront une relation. Ces opérations peuvent étre regroupées en plusieurs catégories : les opérations ensemblistes, les opérations relationnelles et les opérations de types calcul et agrégats. Par OUSMANOU PIERRE BASES DE DONNEES ET SOL 2.1- Opérations ensemblistes Ce sont des opérations classiques issues de la théorie des ensembles. Elles sont toutes de type binaire, car elles s"appliquent & deux relations. Union : elle consiste en la mise en commun des enregistrements de chaque relation, Les enregistrements identiques ne sont intégrés qu’une seule fois, L’union entre deux relations R1 et R2 est notée RI U R2. Différence : L’opération difference consiste & désigner les enregistrements qui appartiennent 4 une relation sans appartenir & l'autre, La différence entre deux relations R1 et R2 est notée Rl — R2. Cette opération n’est pas symétrique Intersection : L’opération intersection elle désigne les enregistrements qui sont communs aux deux relations. L’intersection entre deux relations R1 et R2 est notée R1 M R2. Produit cartésien Le produit cartésien permet la combinaison des enregistrements de deux relations sans tenir aucun compte du contenu des données. Les relations n'ont donc pas besoin d’avoir la méme structure. Le produit cartésien de R] et R2 est noté R1 x R2. 2.2- Opérations relationnelles Ce sont les opérations plus spécifiques du monde relationnel (projection, sélection, jointure) qui constituent les opérations fondamentales de I’algébre relationnelle. Projection : La projection consiste a extraire certains champs de la relation, ce qui donne a cette demigre un degré inférieur A la relation de départ. Sélection ou restriction : La sélection consiste & extraire les enregistrements de la relation. On utilise des critéres pour caractériser les enregistrements sélectionnés. La structure de la relation résultat est la méme que celle de la relation de départ. On conserve uniquement les lignes répondant au critére, Jointure (équijointure) : La jointure est ’opération qui permettra d’exprimer le sens du lien entre les relations par le contenu commun d’un champ. Les champs dont on compare les contenus sont nommés champs de jointure Jointure externe : Il s’agit d’une opération de jointure étendue qui inclut dans le résultat les lignes n’ayant pas de correspondance sur le contenu du champ de jointure. La jointure externe n’est pas une opération symétrique. 2.3- Caleuls et agrégats Une régle dans le domaine des bases de données est que tout ce qui peut se caleuler ne doit pas étre stocké Les opérations de I’algébre relationnelle présentées dans les sections précédentes ne permettent pas de créer de nouveau champ par calcul 4 partir du contenu d’autres champs sans utiliser un langage de programmation, Des fonctions de calculs définies pour répondre a ce besoin seront détaillées au chapitre 3 de ce cours. 3- Clés et dépendance fonctionnelle 3.1- Clés Lorsque que I’on utilise une base de données, il est nécessaire d’ac un enregistrement par le contenu un ou de plusieurs champs. On nomme clé d’une relation un champ, ou un ensemble de champs, dune relation qui permet d’identifier précisément un enregistrement. Une relation peut comprendre plusieurs clé possibles ; ce sont les clés candidates. La clé choisie doit étre minimale, c’est-i-dire qu’elle doit contenir le minimum de champs. Cette clé minimale ainsi définie, est appelée la clé primaire de la relation. Une elé doit toujours contenir une valeur et celle-ci doit étre unique pour chacun des enregistrements de la relation. ler Far OUSMANOU PIERRE | s| BASES DE DONNEES ET SOL 3.2- Dépendance fonctionnelle Pour désigner une elé primaire, il faut done également prendre en compte le « sens » des données dans la vie réelle, Les relations qui existent entre les différents champs d’une relation vont étre importantes : on exprime ces relations 4 Vaide de dépendances fonctionnelles. Il existe une dépendance fonctionnelle entre un ensemble d’attributs X et un ensemble d’attributs Y si connaissant une valeur de X on ne peut lui associer qu’une seule valeur de Y. On note X + Y et on lit « X détermine Y » ou « Y dépend fonctionnellement de X ». Tous les champs qui ne font pas partie d’une clé candidate d’une relation possédent des dépendances fonctionnelles avec cette elé. Une dépendance fonctionnelle élémentaire ou minimale est une dépendance fonctionnelle de la forme X — A, oft A est un attribut unique n’appartenant pas 4 X et oii il n’existe pas Xo inclus au sens strict dans X (i.e. Xo € X) tel que Xo A. Une dépendance fonctionnelle X > A est une dépendance fonctionnelle directe sil n’existe aucun attribut B tel que l’on puisse avoir X > B et B— A. Les DF obéissent & plusieurs régles d’inférences parmi lesquelles les trois régles suivantes connues sous le nom d’axiomes d’ Armstrong : * Réflexivité : si A S X, alors X > A. Si je connais X, alors je connais toute partie de X. © Augmentation : si X —> ¥, alors XZ — ¥ pour tout Z, * Transitivité : si Xs ¥ et si ¥ + Z, alors X > Z. 4- Normalisation Les formes normales ont pour objectif de permettre la décomposition de relations sans perdre d’ informations, partir de la notion de dépendance fonctionnelle. La normalisation d’un schéma relationnel suggére une autre méthode pour obtenir un ensemble de relations respectant les formes normales, Elle permet de vérifier et/ou de transformer certaines propriétés des relations. L’algorithme de normalisation correspondant 4 chaque forme normale sera donné pendant la résolution des exemples de ce paragraphe. 4.1- Premiére forme normale (1FN) Une relation est en premiére forme normale si tout attribut contient une valeur atomique (non multiples, non composées). La premiére forme normale permet simplement d’obtenir des tables rectangulaires sans attributs ‘multivalués iréguliers. Exemple : transformer les relations suivantes en IFN - Etudiant (numInscription, nomEtu, prénomEtu, dateLiewNaissance) ; - Personne (num-personne, rom, prénom, prénoms-enfants) ; 4.2- Deuxiéme forme normale (2FN) Une relation est en deuxiéme forme normale si, et seulement si, elle est en premiére forme normale et si toutes les dépendances fonctionnelles entre la clé et les autres atributs sont élémentaires. La deuxiéme forme normale permet d’assurer I’élimination de certaines redondances en garantissant qu’aucun attribut n’est déterminé seulement par une partie de la clé oor Pammaae Exemple 1: transformer le MCD ciccontre en —— 2EN. de num peri ia Exemple 2: transformer les relations suivantes en 2EN: CommandeLivre(Num-Commande, Num-Client, Titre, Auteur, Quantité, Prix) ; Foumisseur (num_fournisseur, code_produit, adresse_fournisseur, tel_fournisseur, prix_produit) ; Far OUSMANOU PIERRE Hi BASES DE DONNEES ET SOL 4,3- Troisiéme forme normale (3FN) Une relation est en trois jéme forme normale si, et seulement si, elle est en deuxiéme forme normale et si toutes les dépendances fonctionnelles entre la clé et les autres attributs sont élémentaires et directes. La troisiéme forme normale permet d’assurer I’élimination des redondances dues aux dépendances transitives, Exemple : transformer les relations suivantes en 3FN: Voiture (num_immat, marque, modéle, CNI, nom prénom, adresse) ; CommandeLivre (Num-Commande, Num-Client, Titre, Auteur, Quantité, Prix) ; 4.4- Forme normale de Boyce-Codd (BCFN) Une relation est en BCNF si et seulement si les seules dépendances fonctionnelles élémentaires sont celles dans lesquelles une clé entiére détermine un attribut (Tout champ appartenant une clé ne dépend pas d’un autre champ non clé). Cette forme normale permet de renforcer certaines lacunes de la troisiéme forme normale. 5- Contraintes d’intégrité Une Contrainte d'Intégrité par définition est un Prédicat toujours vrai sur une partie ou sur la totalité des données de la base (invariant). Un schéma de Base de Données est soumis 4 un ensemble de Contraintes dIntégrité. Une instance de ce schéma respectant les Contraintes d'Intégrité est dite Base de Données cohérente. Il existe plusieurs types de Contraintes d'Intégrité comme nous l’avons déja vu au cours des chapitres précédents : nous pouvons cependant les séparer en deux grandes classes les contraintes statiques et les contraintes dynamiques. 5.1- Contraintes statiques On en distingue deux types : = Contraintes de colonne : nullité (NOT NULL), unicité (UNIQUE), vérification (CHECK), valeur par défaut (DEFAULT) ; - Contrainte de table : clé primaire, clé étrangere, - Les contraintes référentielles : régle selon laquelle les valeurs de la clé étrangere ne sont valides que si elles apparaissent en tant que valeurs d'une clé primaire dans la base de données. 5.2- Contraintes dynamiques I s‘agit de contraintes que l'on peut souhaiter imposer lors d'un passage d'un état de la base a un autre, Par exemple les n-uplets du nouvel état dépendent des n-uplets de l'état précédent, Un autre exemple de contrainte dynamique est l'utilisation des triggers (ou déclencheurs) : ce sont des actions spontanées qui seront déclenchées automatiquement par le SGBD lorsque certaines opérations se produisent 5, Contraintes de transaction Une transaction est une unité de traitement séquentiel (séquence d'actions cohérente), exécutée pour le compte d'un usager, qui appliquée a une base de données cohérente restitue une base de données cohérente. Les Contraintes d'Intégrité sont done toujours des invariants pour les transactions ce qui signifie qu'une transaction respecte les Contraintes d'Intégrité & la fin pourvu que celles-ci soient respectées au début. Le respect des contraintes est a la charge du programmeur de transaction, Le mécanisme de gestion des transactions doit assurer : = atomicité : lors d'une exécution d'une transaction toutes ses actions sont exécutées ou bien aucune ne Test. - permanence : les effets d'une transaction qui s'est exécutée correctement doivent survivre & une panne = que chaque transaction soit isolée, de maniére & éviter des incohérences lors d'exécutions coneurrentes. Far OUSMANOU PIERRE Zi BASES DE DONNEES ET SOL Afin de garantir la cohérence des données pour l'ensemble des relations constitutives de la base de données, on applique des restrictions sur Ie contenu des données que l'on nomme contraintes d’intégrité, La vérification de la cohérence se situe & plusieurs niveaux : - adapter le contenu des champs par rapport au sens des données dans le monde réel ; ~ _préserver la cohérence du contenu de I’ensemble des relations qui sont liées ; = Gliminer les problémes d’incohérence dus a la redondance : en effet la duplication des données rend délicates la maintenance et I’évolution de la relation, a- Adapter Ie contenu des données La cohérence par rapport au sens des données est lige 4 la notion de domaine de valeurs du champ déja abordée : on parle de contrainte de domaine ou cohérence sémantique. Par exemple, l’ge dune personne ne peut étre négatif ou excéder 120. On a précédemment défini une contrainte d’intégrité sur ensemble des champs qui constituent une clé primaire : une clé ne peut contenir de valeurs nulles et ses valeurs doivent atre uniques. On procéde a la définition des contraintes lors de T’étape d’analyse du monde réel. Leur mise en ceuvre effective interviendra au moment de la création de la relation et sera réalisée par le SGBD. b- Préserver la cohérence des données On rappelle qu'une base de données est constituée par un ensemble de relations religes entre elles. Les contenus des champs capables de lier ces relations doivent étre cohérents entre eux pour pouvoir effectuer Vopération de jointure. De méme que précédemment, on détermine ces références lors de la phase d’analyse du monde réel et le SGBD permet de les réaliser. On préfére appliquer en général ces contraintes non pas lors de la création des relations, mais plutot lorsque les données ont déja été insérées, en particulier dans les relations de références. Cette précaution évite les problémes de références impossibles a résoudre entre les relations, ce qui provogue parfois ’incapacité a insérer des données. eb fiminer la redondance des données Les incohérences provoquées par la redondance d’information représentent le principal souci du concepteur dune base de données. En effet, lorsque les données sont dupliquées, aucun mécanisme ne peut garantir que Je changement de la valeur d’une donnée est répercuté correetement sur les autres données. Far OUSMANOU PIERRE Hi

Vous aimerez peut-être aussi