Vous êtes sur la page 1sur 81

Base de données

Relationnelles
Partie 1:Fondamentaux et
conception
Dr Edouard Ngor SARR
Maitre de conferences
Enseignant-chercheur en Informatique
Université Assane SECK de Ziguinchor
CERIDES UCAO & Check4Decision Project
Juin 2023
Introduction

Dr Edouard Ngor SARR 2


Base de données Relationnelles

Système d’information informatisé (SII)


• UNE DONNEE (DATA) • UNE INFORMATION
– Enregistrement dans un – Sa pertinence est relative :
code bien déterminé • Destination (Utilisateur)
• Observation • Contexte
• Objet • Temporelle
• Phénomène – Provienne de l’analyse et/ou de
• Image l’interprétation de (s) d’une
• Son (des) donnée (s)
• Texte – Génère ou contribue à
l’acquisition d’une
• .....
connaissances
– Une matière première • Les clients les plus réguliers
– Pas sure d’en tiré de la • Les produits les plus vendus
valeur

Dr Edouard Ngor SARR 3


Base de données Relationnelles

Système d’information informatisé (SII)


• Ensemble structuré
– Ressources :
• Données & d’information
• Humaines
• Matérielles
• Logicielles
– Permettant:
• Collecter
• Stocker
• Transforme
• Diffuse de l’information
dans une entreprise
L'outil informatique n'est que le
support du système d'information.
Dr Edouard Ngor SARR 4
Base de données Relationnelles

Organisation d’une entreprise


• Système opérant :
– Différents services
– Respect des objectifs fixés
– Restituer les résultats
• Système de pilotage :
– Contrôler et piloter le système
opérant.
– Fixe les objectifs et prend les
décisions.
• Système
d’information :
– Link entre les deux autres
systèmes.
– Collecter, stocker, transformer
et diffuser des données
Dr Edouard Ngor SARR 5
Base de données Relationnelles

Système d’information informatisé (SII)

• https://www.cours-gratuit.com/cours-informatique/telecharger-cours-systeme-d-information-pdf
Dr Edouard Ngor SARR 6
Base de données Relationnelles

Système d’information informatisé (SII)

Décideurs
Employés
Clients
Partenaires
Informaticiens
Analyste
Dr Edouard Ngor SARR 7
Base de données Relationnelles

Bases de données : Définitions


• Au sens large
– Collection de données.
– Grande quantité de données stockées (dans un ordinateur).
• Au sens plus strict:
– Ensemble de données numériques structurées, organisées et
gérées par un système de gestion de base de données (SGBD).
– Entité cohérente véhiculant une certaine sémantique

• Nées à la fin des années 1960 pour combler les lacunes des
systèmes de fichiers et faciliter la gestion qualitative et
quantitative des données informatiques.
• Normalement ces données sont inter-reliées
• Porte le plus souvent sur un unique domaine
Dr Edouard Ngor SARR 8
Base de données Relationnelles

Bases de données : Définitions


• Fonctions fondamentales
– Stocker l'information de façon structurée
– Stocker l'information de façon fiable
– Traiter de grands volumes de données (massification)
– Traiter rapidement les données (optimisation)
– Sécuriser les accès aux données (gérer les autorisations selon
les utilisateurs)
– Contrôler la qualité des données (la cohérence)
– Partager les données (entre applications dédiées)
– Rendre accessible les données en réseau (la concurrence)
• Gérées par des logiciels spécialisés appelés systèmes de
gestion de bases de données (SGBD)

Dr Edouard Ngor SARR 9


Base de données Relationnelles

Bases de données relationnelles

Edgar (Ted) Frank Codd


• 02 Propositions :
1. Modèle relationnel
2. Algèbre relationnel

Ce modèle vise à minimiser la redondance, et maximiser


la cohérence.

Dr Edouard Ngor SARR 10


Base de données Relationnelles

Bases de données relationnelles


• Notions de base

Dr Edouard Ngor SARR 11


Modèle relationnel

Dr Edouard Ngor SARR 12


Base de données Relationnelles

Modèle Relationnel
Le modèle relationnel Schéma d’une base de
S’appui sur trois concepts données relationnel
fondamentaux : • Schéma des relations :
– Le domaine Définition de l’Ensemble des
– L’attribut tables
– La relation ou table. • Schéma des attributs :
Définition de l’Ensemble des
Organisation des attributs
données • Les identifiants: la définition :
• Tables: relations – de son (ses) identifiant
• Colonnes: attributs – Ses identifiants externes:
• Lignes: n-uplets (ou
tuples)
La population
• Ensemble des tuples de la
relation (Table)
Dr Edouard Ngor SARR 13
Base de données Relationnelles

Modèle Relationnel
Domaine ou Type
• C’est ensemble de valeurs défini en extension
• Ensemble de valeurs que peut prendre un attribut

• Un domaine peut être simple ou composé.


– Domaine simple : si tous les éléments sont atomiques
ou décomposables.
– Ex : l’ensemble des grades du salarié peut être définit
en extension par employé, agent de maîtrise, ou cadre.
– Domaine composé : si les éléments peuvent être
décomposés. Ex : les dates sont décomposées d’un jour,
un mois et une année.

Dr Edouard Ngor SARR 14


Base de données Relationnelles

Modèle Relationnel
Attributs
– Chaque colonne est appelée attribut et contient un ensemble
des valeurs d’un domaine.
– Chaque ligne représente un tuple.
– Les attributs sont tous simples et monovalués.
– Toute valeur prise par un attribut pour un tuple est atomique
(non décomposable par le SGBD) et unique.
– Les notions d'attribut multi value ou complexe n'existent pas
dans le modèle relationnel. Un attribut peut être :

Dr Edouard Ngor SARR 15


Base de données Relationnelles

Modèle Relationnel
Identifiant d’une relation ou clé candidate
• L'identifiant d'une relation est un ensemble minimum d'attributs de
la relation, tel qu'il n'existe pas deux tuples ayant même valeur
pour cet identifiant.
• Un identifiant peut-être composé d'un ou plusieurs attributs. On
dira que la clé est composite.
• Une relation peut avoir plusieurs identifiants.
• L’identificateur est unique et est toujours obligatoire.
• Si la relation n'a qu'un seul identifiant, ce sera la clé primaire .
• Si la relation a plusieurs identifiants, il faut choisir pour clé
primaire "le meilleur": celui dont on est sûr que sa valeur ne sera
jamais nulle ni modifiée.
• Les autres identifiants seront déclarés avec la clause UNIQUE
Dr Edouard Ngor SARR 16
Base de données Relationnelles

Modèle Relationnel
Identifiant d’une relation ou clé candidate
• Une composante N d'un n-uplet est une clé primaire lorsque par
nature la valeur de cette composante est obligatoire et différente
pour chaque n-uplet de la relation

Dr Edouard Ngor SARR 17


Base de données Relationnelles

Modèle Relationnel
Identifiant d’une relation ou clé candidate
• Une composante N d'un n-uplet est une clé primaire lorsque par
nature la valeur de cette composante est obligatoire et différente
pour chaque n-uplet de la relation

Dr Edouard Ngor SARR 18


Base de données Relationnelles

Modèle Relationnel
Identifiant externe ou clé étrangère (1/2)
• Certains attributs référencent des tuples d'une autre relation (ou
parfois de la même); c'est-à-dire que leur valeur est toujours
égale à celle de l'identifiant d'un tuple existant dans l'autre
relation.
• Soient deux relations R1(X, Y) et R2 (V, W), où X, Y, V, W,
désignent des attributs ou des ensembles d'attributs, et où X est
un identifiant de R1
• On dit que W est un identifiant externe sur R1 (ou que W
référence R1) si pour tout tuple de R2, la valeur prise par W est
nécessairement la valeur de X pour un tuple existant de R1.
• Autrement dit, à tout instant, l'ensemble des valeurs prises par W
est compris dans l'ensemble des valeurs prises par X.

Dr Edouard Ngor SARR 19


Base de données Relationnelles

Modèle Relationnel
Identifiant externe ou clé étrangère (2/2)
• Une fois déclaré l'identifiant externe W de R2 sur R1, le SGBD
vérifie automatiquement :
– toutes les insertions de tuples dans R2: il vérifie que la valeur
de W existe dans R1. Si ce n'est pas le cas l'insertion est
refusée;
– toutes les modifications de W: il vérifie que la nouvelle valeur
de W existe dans R1. Si ce n'est pas le cas la modification est
refusée;
– toutes les suppressions de tuples de R1: il vérifie qu'il n'existe
pas de tuple dans R2 référençant ce tuple de R1 à supprimer.
S'il en existe, selon le SGBD soit la suppression est refusée,
soit la suppression est propagée: les tuples de R2 qui
référençaient cette valeur de X sont eux aussi supprimés
Dr Edouard Ngor SARR 20
Base de données Relationnelles

Modèle Relationnel
Identifiant externe ou clé étrangère (2/2)
– Une composante N d'un n-uplet est une clé étrangère lorsque
les valeurs de cette composante sont des références à une clé
primaire.
– Il y a une situation d'intégrité référentiellelorsqu'à chaque
valeur de la clé étrangère A correspond une valeur de la clé
primaire référencée B.

Dr Edouard Ngor SARR 21


Base de données Relationnelles

Modèle Relationnel
Les contraintes d’intégrité (1/3)
• Permettent d’assurer la cohérence des données.
• Les contraintes d’intégrité sont :
– NOT NULL: attribut obligatoire
– CHECK: domaine de valeurs particulier d'un attribut qui
permet de vérifier que la valeur de l'attribut satisfait une
condition
– TRIGGER: contrainte d'intégrité quelconque qui permet de
spécifier que lors de toute insertion (ou suppression ou
modification) d'un tuple dans telle relation telle condition doit
être satisfaite sinon telle action doit être entreprise
automatiquement par le SGBD, comme par exemple refuser
l'insertion ou envoyer un message d'alerte.

Dr Edouard Ngor SARR 22


Base de données Relationnelles

Modèle Relationnel
Les contraintes d’intégrité (2/3)
• Permettent d’assurer la cohérence des données.
• Les contraintes d’intégrité sont :
– Contrainte de clé : définit un sous-ensemble minimal des
colonnes tel que la table ne puisse contenir deux lignes ayant
mêmes valeurs pour ces colonnes.
• Il existe trois types de clés
– Clé primaire : Ensemble minimum d'attributs qui permet de
distinguer chaque n-uplet de la table par rapport à tous les
autres.Chaque table doit avoir une clé primaire.
– Clé candidate : Ensemble minimum d'attributs susceptibles
de jouer le rôle de la clé primaire.
– Clé étrangère : fait référence à la clé primaire d'une autre
table.
Dr Edouard Ngor SARR 23
Base de données Relationnelles

Modèle Relationnel
Les contraintes d’intégrité (3/3): Liaisons entre relations
• Les liens existants entre les N-uplets des relations (Tables)
• Sont stockés dans les champs des enregistrements sous forme
de clé primaire et clé étrangère.

• Les tables de la base de données peuvent être simplement


rapprochées dès qu’elles partagent une même colonne (un
attribut).
• Par exemple:
– La table « client » contient toutes les coordonnées des clients
et la table « ventes » regroupe les différents achats réalises
par les clients.

Dr Edouard Ngor SARR 24


Base de données Relationnelles

Modèle Relationnel
Les contraintes d’intégrité (3/3): Liaisons entre relations

Dr Edouard Ngor SARR 25


Base de données Relationnelles

Modèle Relationnel
Les contraintes d’intégrité (3/3): Liaisons entre relations

Dr Edouard Ngor SARR 26


Base de données Relationnelles

Concepts clé des BDR


Une Table
• C’est un ensemble de données organisées sous forme d'un tableau.
• Informations sont organisées en lignes et en colonnes.
• Elle stocke les données relatives à un même sujet.
– Une ligne est un membre de la table. Elle est aussi nommée
Enregistrement.
– Une colonne ou champ est une information élémentaire de la
donnée.
• Chaque colonne d'une table, parfois improprement appelée
"champ", doit contenir des données d'un même type.

Dr Edouard Ngor SARR 27


Base de données Relationnelles

Concepts clé des BDR


Un index
• Structure de données redondante Organisée de manière à
accélérer la recherches.

• Dans le principe, consiste à découper les données à stocker en


plus petites parties ordonnées et ce de manière récursive.

• Ainsi retrouver une information indexée consiste à naviguer de


branche en branche dans l’index en éliminant à chaque étape
un grand nombre de cas.

Dr Edouard Ngor SARR 28


Base de données Relationnelles

Concepts clé des BDR


Une Vue
• Représentation virtuelle d'un résultat d'une requête sous forme
d’une table.
• C'est une photographie complète ou partielle d'une table.
• Montrer à un utilisateur que ce dont nous voulons qu’il voit.
• une vue est une table qui est le résultat d’une requête (SELECT) à
laquelle on a donné un nom
• Utilisation d’une vue : comme si elle était une table
• La suppression d’une vue n’entraîne pas la suppression des
données
• La définition de la vue est enregistrée dans la base de données,
mais les lignes correspondant à la vue ne le sont pas

Dr Edouard Ngor SARR 29


Base de données Relationnelles

Concepts clé des BDR


Une Vue
Exemple de vue

Dr Edouard Ngor SARR 30


Base de données Relationnelles

Concepts clé des BDR


Une Séquence
• Une suite de nombres entiers évolutive.
• Permet donc d'avoir à disposition une suite de valeurs.
• Peut permettre :
– De générer des clés uniques dans des tables
– Avoir un compteur à titre informatif, que l'on incrémente quand
on veut
• Un Synonyme
– Un autre nom donné a un Objet.
– Nom plus simple à:
• Mémoriser
• Utiliser

Dr Edouard Ngor SARR 31


Le SGBDR

Dr Edouard Ngor SARR 32


Base de données Relationnelles

SGBD
Définitions
• Un ensemble de programmes qui fait office d'unique interface
entre les utilisateurs et les données stockées dans la base.

Dr Edouard Ngor SARR 33


Base de données Relationnelles

SGBD
Tâches
– Définition de la structure
– Création de la BD (gestion des Contraintes)
– Manipulation des données (insertion, suppression, mis à
jours)
– Interrogation de la BD
– Sécurité de la base de données
– La protection des données (Fault-tolerance)
– Partage des données
– Contrôle de concurrence,
– Reprise après panne

Dr Edouard Ngor SARR 34


Base de données Relationnelles

SGBD
• Architecture ANSI/SPARC
• Permet une indépendance entre:
– Niveau interne ou physique: décrit le modèle de stockage
des données et les fonctions d’accès.
– Niveau conceptuel ou logique: décrit la structure de la
base de données vis à vis des utilisateurs, ce niveau
représente l’image fidèle du système réel.
– Niveau externe: correspond aux différentes vues des
utilisateurs. Chaque schéma externe donne une vue sur le
schéma conceptuel à une classe d’utilisateurs.
• Le SGBD doit être capable de faire des transformations entre
chaque niveau, de manière à transformer une requête exprimée
en terme du niveau externe en requête du niveau conceptuel
puis du niveau physique.
Dr Edouard Ngor SARR 35
Base de données Relationnelles

SGBD
• Architecture ANSI/SPARC

Dr Edouard Ngor SARR 36


Base de données Relationnelles

SGBDR
• SGBD Relationnel respecte au moins :
– les 12 règles de Codd
– La regle ACID
– Bonne gestion des contraintes qui garantissent l'intégrité
– Utilise le SQL comme langage d’interrogation de données
– Plusieurs SGBDR

Dr Edouard Ngor SARR 37


Base de données Relationnelles

SGBDR
Forces des SGBDR
• Il permet de gérer des BDD respectant les 4 critères ACID :
• Garantit donc la sécurité des transactions.
• Les données sont stockées et manipulées facilement grâce aux
requêtes SQL.

• Les BDD relationnelles sont Scalables.


– L’augmentation du volume de données n’a pas d’incidence sur
les données existantes et l’organisation de la base.

• Proposent une bonne gestion des accès et des droits d’utilisation


est optimale.

Dr Edouard Ngor SARR 38


Base de données Relationnelles

SGBDR
Faiblesses des SGBDR
• Pas adaptées à la gestion de données
– Non-structurées
– Volumineux (Big Data)

• Lenteurs face au Big Data user à cause des règles ACID à


respecter.
• L’évolutivité (Scalabité) horizontale est en général plus rapide et
plus économique que l’évolutivité verticale

• Difficile de faire partitionnage (qui consiste à partitionner et


distribuer les données sur un ensemble de machines) poser des
problèmes et mettre en danger le conformité ACID.
Dr Edouard Ngor SARR 39
Base de données Relationnelles

SGBDR
Gestion des transactions
• Une transaction un ensemble atomique de requêtes SQL dont le
traitement ne peut être fait séparément..
• Une transaction est une suite d'opérations interrogeant et/ou
modifiant la BD, pour laquelle l'ensemble des opérations doit être
soit validé, soit annulé.

• L'exécution d’une transaction provoque le passage d'un état


cohérent de la BD à un nouvel état cohérent

• Permet justement d'envelopper plusieurs requêtes qui doivent


impérativement s'exécuter séquentiellement en une même unité.

Dr Edouard Ngor SARR 40


Base de données Relationnelles

SGBDR
Gestion des transactions
• Une transaction est constituée de trois primitives qui s’exécutent
dans le temps mais considérées comme une et une seule
opération

Dr Edouard Ngor SARR 41


Base de données Relationnelles

SGBDR
Gestion des transactions
• Si jamais il s'avérait impossible de traiter la totalité de la
transaction, le système revient à un état stable antérieur.

Dr Edouard Ngor SARR 42


Base de données Relationnelles

SGBDR
Gestion des transactions
• La règle ACID
– Atomicité: l’ensemble des opérations d’une transaction est
soit exécuté en bloc, soit annulé en bloc
– Cohérence : Une transaction fait passer une BD d’un état
cohérent à un autre état cohérent. Un état cohérent est un
état dans lequel les contraintes d’intégrité sont vérifiées.
– Isolation: Une transaction se déroule sans être perturbée par
les transactions concurrentes : tout se passe comme si elle se
déroulait seule.
– Durabilité: une fois une transaction confirmée, les données
correspondantes restent durablement dans la base, même en
cas de panne

Dr Edouard Ngor SARR 43


Base de données Relationnelles

SGBDR
Gestion des transactions
• DURABILITE + COHERENCE
– Valider la transaction en cours par la commande COMMIT. Les
modifications deviennent définitives et visibles à tous les
utilisateurs.
– Annuler la transaction en cours par la commande ROLLBACK.
Toutes les modifications depuis le début de la transaction sont
alors défaites.

• ISOLATION + COHERENCE
– En cours de transaction, seul l'utilisateur ayant effectué les
modifications les voit.

Dr Edouard Ngor SARR 44


Base de données Relationnelles

SGBDR
Gestion des concurrences
• De multiples utilisateurs doivent pouvoir accéder à la base de
donnée en même temps à problème d’accès concurrents

• Il y a un accès concurrent lorsque plusieurs utilisateurs


(transactions) accèdent en même temps à la même donnée dans
une base de données.

• Gestion des accès concurrents (contrôle de concurrence)


– S’assurer que l’exécution simultanée des transactions produit le
même résultat que leur exécution séquentielle (l’une puis
l’autre)

Dr Edouard Ngor SARR 45


Base de données Relationnelles

SGBDR
Gestion des concurrences
• Incohérence: Perte des mise à jour de T2

Dr Edouard Ngor SARR 46


Base de données Relationnelles

SGBDR
Gestion des concurrences
• Incohérence: Lecture impropre

Dr Edouard Ngor SARR 47


Base de données Relationnelles

SGBDR
Gestion des concurrences
• Incohérence: Lecture impropre de T1 (donnée non confirmée par T2)

Dr Edouard Ngor SARR 48


Base de données Relationnelles

SGBDR
Gestion des concurrences
• Incohérence: Lecture non reproductible de T2 entre deux instants

Dr Edouard Ngor SARR 49


Base de données Relationnelles

SGBDR
Gestion des concurrences
• Incohérence: Objet fantôme 4 lu par T1 et ajouter par T2

Dr Edouard Ngor SARR 50


Base de données Relationnelles

SGBDR
Gestion des concurrences
• Interblocage
• L’impasse générée par deux transactions (ou plus) qui attendent, l’une,
que des verrous se libèrent, alors qu’ils sont détenus par l’autre

Dr Edouard Ngor SARR 51


Base de données Relationnelles

SGBDR
Gestion des concurrences
• Interblocage : Résolution de l’interblocage
• Prévention
– Toutes les ressources nécessaires à la transaction sont verrouillées au
départ
– Problème : cas des transactions qui ne démarrent jamais ! • Méthode
peu utilisée aujourd’hui

• Détection :
– On inspecte à intervalles réguliers le graphe d’attente pour détecter si
un interblocage s’est produit. Dans ce cas on défait l’une des
transactions bloquées et on la relance un peu plus tard.
– On annule une transaction dont le temps d’attente dépasse un certain
seuil, et on la relance un peu plus tard.
Dr Edouard Ngor SARR 52
Base de données Relationnelles

SGBDR
Gestion des concurrences
• Solution 1: Verrouillage
– Le verrouillage est la technique la plus classique pour résoudre
les problèmes dus à la concurrence :
• Avant de lire ou écrire une donnée une transaction peut
demander un verrou sur cette donnée pour interdire aux autres
transactions d’y accéder.
• Si ce verrou ne peut être obtenu, parce qu’une autre transaction
en possède un, la transaction demandeuse est mise en attente.
– Afin de limiter les temps d’attente, on peut jouer sur :
• La granularité du verrouillage : pour restreindre la taille de la
donnée verrouillée (n-uplet, une table)
• Le mode de verrouillage: pour restreindre les opérations interdites
sur la donnée verrouillée
Dr Edouard Ngor SARR 53
Base de données Relationnelles

SGBDR
Gestion des concurrences
• Solution 1: Verrouillage

Dr Edouard Ngor SARR 54


Base de données Relationnelles

SGBDR
Gestion des reprises après panne
• Assurer que le système est capable, après une panne, de
récupérer l’état de la base au moment où la panne est survenue.
– On définit l’état de la base à un instant t comme l’état résultant de l’ensemble des
transactions validées à l’instant t.

• Le terme de panne désigne ici tout événement qui affecte le


fonctionnement du processeur ou de la mémoire principale.
– Une coupure électrique interrompant le serveur de données
– Une défaillance logicielle
– Des pannes affectant les disques

• Par souci de simplicité on va distinguer deux types de panne


(quelle que soit la cause).
– Panne légère: affecte la RAM du serveur de données, pas les disques
– Panne lourde: affecte un disque
Dr Edouard Ngor SARR 55
Base de données Relationnelles

SGBDR
Gestion des reprises après panne
• Règle 1
– L’état de la base doit toujours être stocké sur disque
– Pour le dire autrement, aucune donnée validée ne devrait être en
mémoire RAM et pas sur le disque, car elle serait perdue en cas de
panne.
– Durabilité (et atomicité): quand le système rend la main après
un commit (acquittement), toutes les modifications de la
transaction intègrent l’état de la base et
deviennent permanentes.
– Recouvrabilité (et atomicité): tant qu’un commit n’a pas eu
lieu, toutes les modifications de la transaction doivent pouvoir
être annulées par un rollback.

Dr Edouard Ngor SARR 56


Base de données Relationnelles

SGBDR
Gestion des reprises après panne
• Règle 1
– un commit, et l’image après remplace l’image avant dans l’état de la base;
– un rollback, et l’état de la base est restauré comme initialement, avec l’image
avant.

Dr Edouard Ngor SARR 57


Base de données Relationnelles

SGBDR
Gestion des reprises après panne
• Règle 2
– L’image après doit être sur le disque avant l’acquittement
du commit.

– Si ce n’était pas le cas et qu’une panne survienne juste après


l’acquittement, mais avant l’écriture de l’image après sur le
disque, cette dernière serait en partie ou totalement perdue, et
la garantie de durabilité ne serait pas assurée.

– Maintenant, pour garantir le rollback, il faut pouvoir trouver sur


le disque, après une panne, les données modifiées par la
transaction dans l’état où elles étaient au moment où la
transaction a débuté. La condition suivante doit être respectée.

Dr Edouard Ngor SARR 58


Base de données Relationnelles

SGBDR
Gestion des reprises après panne
• Règle 3
– L’image après doit être sur le disque avant l’acquittement
du commit.

– L’image avant doit être sur le disque jusqu`à l’acquittement


du commit.

– On peut résumer la difficulté ainsi: jusqu’au commit,


c’est l’image avant qui fait partie de l’état de la base.
Au commit, l’image après remplace l’image avant dans l’état de
la base.

– Il faut assurer que ce remplacement s’effectue de


manière atomique (“tout ou rien”)
Dr Edouard Ngor SARR 59
Base de données Relationnelles

SGBDR
Gestion des reprises après panne
• Solution 1: journal des transactions¶
– Un journal des transactions (log en anglais) est un ensemble
de fichiers complémentaires à ceux de la base de données,
servant à stocker sur un support non volatile les informations
nécessaires à la reprise sur panne.
– Etat de la base = journaux de transactions + fichiers de la base
– Le journal contient les types d’enregistrements suivants:
• start(T)
• write(T, x, old_val, new_val)
• commit
• rollback
• checkpoint

Dr Edouard Ngor SARR 60


Base de données Relationnelles

SGBDR
Gestion des reprises après panne
• Solution 2: Algorithmes de reprise sur panne
– Si une panne légère (pas de perte de disque) survient, il faut
effectuer deux types d’opérations:

• refaire (Redo) les transactions validées avant la panne qui


ne seraient par correctement écrites dans les fichiers de la
base;
• défaire (Undo) les transactions en cours au moment de la
panne, qui avaient déjà effectué des mises à jour dans les
fichiers de la base.

• Ces deux opérations sont basées sur le journal.

Dr Edouard Ngor SARR 61


Conception des bases de
données relationnelles
MCD et MLD

Dr Edouard Ngor SARR 62


Base de données Relationnelles

Conceptions des BDR: MERISE


• SQL (Structured Query Langage)

• Un langage de données
– est un langage de base de données relationnelle.

– Un langage informatique permettant de décrire et de manipuler


les schémas et les données d'une BD

– Commun à tous les SGBDR

Dr Edouard Ngor SARR 63


Base de données Relationnelles

Conceptions des BDR

Dr SARR Edouard Ngor 64


Base de données Relationnelles

Conceptions des BDR: Méthode Merise


• MERISE est une méthode française née dans les années 70,
développée initialement par Hubert Tardieu.

• MERISE est donc une méthode d'analyse et de conception des


SI basée sur le principe de la séparation des données et des
traitements.

• Elle possède un certain nombre de modèles (ou schémas)


qui sont répartis sur 3 niveaux :
– Le niveau conceptuel (MCD)
– Le niveau logique ou organisationnel (MLD)
– Le niveau physique (MPD)

Dr SARR Edouard Ngor 65


Base de données Relationnelles

Conceptions des BDR: Méthode Merise


• Le MCD
• Une représentation graphique et structurée des informations
mémorisées par un SI.
• Basé sur deux notions principales :
– les entités
– Les associations
• Seconde appellation : le schéma Entité/Association.
• L'élaboration du MCD passe par les étapes suivantes :
– L'élaboration du dictionnaire des données,
– La recherche des dépendances fonctionnelles entre ces données,
– L'élaboration du MCD
• création des entités
• Création des associations
• Ajout des cardinalités).

Dr SARR Edouard Ngor 66


Base de données Relationnelles

Conceptions des BDR: Méthode Merise


• Le MCD: ENTITE
– Chaque entité est unique
– Décrite par un ensemble de propriétés encore appelées
attributs ou caractéristiques.
– Une des propriétés de l'entité est l'identifiant.
• Cette propriété doit posséder des occurrences uniques
• Doit être source des dépendances fonctionnelles avec toutes les
autres propriétés de l'entité.

Dr SARR Edouard Ngor 67


Base de données Relationnelles

Conceptions des BDR: Méthode Merise


• Le MCD: ASSOCIATION & CARDINALITE
– Une association définit un lien sémantique entre une ou
plusieurs entités.
– Liens entre entités permet de traduire une partie des règles de gestion
qui n'ont pas été satisfaites par la simple définition des entités.

– Une cardinalité est le nombre de fois qu’une Entité participe à une


relation
– Definit du genre (N,M)
• N= Minima (0 ou 1) 0 (peut) et 1(doit)
• M= Maxima (1 ou N)
– Les cardinalités les plus répandues sont les suivantes: 0,N ; 1,N ; 0,1 ; 1,1.
Dr SARR Edouard Ngor 68
Base de données Relationnelles

Conceptions des BDR: Méthode Merise


• Le MCD: ASSOCIATION & CARDINALITE

Dr SARR Edouard Ngor 69


Base de données Relationnelles

Conceptions des BDR: Méthode Merise


• Le MCD: ASSOCIATION & CARDINALITE

Dr SARR Edouard Ngor 70


Base de données Relationnelles

Conceptions des BDR: Méthode Merise


• Le MCD: ASSOCIATION & CARDINALITE

Dr SARR Edouard Ngor 71


Base de données Relationnelles

Conceptions des BDR: Méthode Merise


• Le MLD: MODELE LOGIQUE DE DONNEES
• Il est aussi appelé modèle relationnel.
• Les abréviations suivantes sont employées :
– MLDR : Modèle logique de données relationnelles
– MRD : Modèle relationnel de données
– MLRD : Modèle relationnel logique de données
• Le MCD ne peut pas être implanté dans une base de données sans
modification.
• Il est obligatoire de transformer ce modèle.
• On dit qu’on effectue un passage du modèle conceptuel de
données vers le modèle logique de données.
• Le MLD pourra être implanté dans une base de données
relationnelle. dèle relationnel logique de données
Dr SARR Edouard Ngor 72
Base de données Relationnelles

Conceptions des BDR: Méthode Merise


• Le MLD: MODELE LOGIQUE DE DONNEES
• REGLES DE PASSAGE DU MCD AU MLD
• Règle numéro 1 :
a) Une entité du MCD devient une relation, c’est à dire une table.
b) Son identifiant devient la clé primaire de la relation.
c) Les autres propriétés deviennent les attributs de la relation.

Dr SARR Edouard Ngor 73


Base de données Relationnelles

Conceptions des BDR: Méthode Merise


• Le MLD: MODELE LOGIQUE DE DONNEES
• REGLES DE PASSAGE DU MCD AU MLD
• Règle numéro 2 :
Une association de type 1:N (c’est à dire qui a les cardinalités maximales
positionnées à « 1 » d’une côté de l’association et à « n » de l’autre côté) se
traduit par la création d’une clé étrangère dans la relation correspondante à
l’entité côté « 1 ». Cette clé étrangère référence la clé primaire de la
relation correspondant à l’autre entité.

Dr SARR Edouard Ngor 74


Base de données Relationnelles

Conceptions des BDR: Méthode Merise


• Le MLD: MODELE LOGIQUE DE DONNEES
• REGLES DE PASSAGE DU MCD AU MLD
• Règle numéro 3 :
Une association de type N :N (c’est à dire qui a les cardinalités maximales
positionnées à « N » des 2 côtés de l’association) se traduit par la création
d’une relation dont la clé primaire est composée des clés étrangères
référençant les relations correspondant aux entités liées par l’association.
Les éventuelles propriétés de l’association deviennent des attributs de la
relation.

Dr SARR Edouard Ngor 75


Base de données Relationnelles

Conceptions des BDR: Méthode Merise


• Le MLD: MODELE LOGIQUE DE DONNEES
• REGLES DE PASSAGE DU MCD AU MLD
• Règle numéro 4 :
Cas particuliers : associations 1,1 :
On entend par association 1,1 une association dont les cardinalités
maximales sont à 1 de chaque côté
Dans ce cas de figure, le choix de migration est laissé au concepteur.

Dr SARR Edouard Ngor 76


Base de données Relationnelles

Références
1. Akoka, J., & Comyn-Wattiau, I. (2001). Conception de bases de données
relationnelles-En pratique.
2. Clouse, M. (2008). Algèbre relationnelle: guide pratique de conception
d'une base de données relationnelle normalisée. Editions ENI.
3. Gardarin, G., Gardarin, G., Gardarin, G., Gardarin, G., & Informaticien, F.
(1983). Bases de données: les systèmes et leurs langages. Eyrolles.
4. Elmasri, R., & Navathe, S. (2004). Conception et architecture des bases de
données. Pearson Éducation.
5. https://studylibfr.com/doc/4292713/chapitre-1---base-de-donn%C3%A9es-
relationnelles
6. http://webia.lip6.fr/~auzende/IFL-TICE/BD/Bases_donnees.pdf
7. https://www.univ-orleans.fr/lifo/Members/Mirian.Halfeld/Cours/BD/iutA2-
intro.pdf
8. http://tony3d3.free.fr/files/Passage-du-MCD-au-MLD.pdf
9. https://www.irit.fr/~Mohand.Boughanem/slides/BDA/Chap4_TransactionACI
D.pdf
Dr Edouard Ngor SARR 77
TP 1:
Conception d’un SII avec la méthode MERISE
(MCD & MLD) pour la gestion d’une agence
de location de maisons (Villa, App, Studio,
Chambre). Utiliser Power AMC

78
TP 2:
Conception d’un SII avec la méthode MERISE
(MCD & MLD) pour la gestion des
consultations dans une clinique généraliste

79
A SUIVRE
Partie 2: Algèbre relationnel & SQL

Dr Edouard Ngor SARR 80


Base de données
Relationnelles
Partie 1:Fondamentaux et
conception
Par
Dr Edouard Ngor SARR
Enseignant-chercheur en Informatique
Université Assane SECK de Ziguinchor
CERIDES UCAO & Check4Decision Project
Juin 2023

Vous aimerez peut-être aussi