0 évaluation0% ont trouvé ce document utile (0 vote) 59 vues11 pagesCh1-2 BD-SQL CMN1
Copyright
© © All Rights Reserved
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 fondamentaleBASES 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 qiBASES 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 | 3BASES 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 iBASES 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 PIERREBASES 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 HiBASES 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 ZiBASES 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