Vous êtes sur la page 1sur 158

UE: BASES DE DONNEES AVANCEES 2

Parcours:
Génie Informatique (Génie Logiciel et Réseaux)

Enseignant :
M. SAMDALLE Amaria

ANNEE ACADEMIQUE
2017-2018

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 1


GENERAL INFORMATION FOR THE COURSE
● Organisation du cours
CM: 20h
TD: 10h
TP: 30h
● Organisation des évaluations
1 CC de 1h
1 TPE (Practical project): une semaine
Examen final 3h
Rattrapage 3h

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018


2
OBJECTIFS DE L’UE
Objectifs:
A la fin de ce cours, l’étudiant sera capable de maîtriser les concepts et techniques les
plus récents des bases de données.
Etude et analyse critique des systèmes de gestion de bases de données (SGBD) orientés-
objets et relationnels-objet, et de leurs langages. Application pratique sur le système
Oracle/MYSQL/PostgreSql.
Bases de données dans un environnement distribué: BD réparties, BD fédérées, multi-
bases. Application pratique.
Conception du système d'information dans les systèmes coopératifs: intégration de bases
de données.
Bases de données sur WEB
Bases de données et XML
Bases de données et ontologies
Systèmes d'information à références spatiales et temporelles.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 3


PRÉREQUIS

 Bonnes pratiques de la modélisation du


monde réel et de la conception des systèmes
d’informatiques.
 Maitrise du langage de requête SQL

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 4


CONTENU DU COURS
Les NOTIONS AVANCÉES DES BASES DE DONNEES
Le MODELE DE Bases Données ORIENTÉ-OBJET: ODMG
Le MODELE DE Bases Données OBJET-RÉLATIONNEL : SQL3
Les BASES DE DONNÉES DANS UN ENVIRONNEMENT DISTRIBUÉ:
DATALOG
 Les BASES DE DONNÉES ET INTERFAÇAGE WEB: ASP
 Les BASES DE DONNÉES, INTERACTION WEB ET XML : ASP
Les BASES DE DONNÉES ET ONTOLOGIES
SYSTÈMES D'INFORMATION À RÉFÉRENCES SPATIALES ET
TEMPORELLES
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 5
LES NOTIONS AVANCÉES DES BASES
DE DONNEES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 6


CONCEPTION DE BD-RELATIONNELLES
Schéma conceptuel
Modélise les classes, leurs attributs et leurs relations (ex:
association, agrégation, spécialisation, etc.) Exemple: diagramme
de classe UML.
Schéma relationnel (Model)
Traduit le schéma conceptuel sous la forme d’un modèle
relationnel (ex: tables, colonnes, clés, contraintes, etc.).
Indépendant de la plateforme/BD utilisée. Exemple:
diagramme UML avec tables, diagramme entités -associations
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 7
CONCEPTION DE BD-RELATIONNELLES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 8


CONCEPTION DE BD-RELATIONNELLES
Schéma conceptuel schéma relationnel
Le processus qui conduit a la conception d’un schéma relationnel
ce résume en 04 étapes:
1. Traduire les classes en tables;
2. Traduire les attributs et leur type;
3. Définir la clé primaire;
4. Traduire les associations.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 9


NORMALISATION DU SCHÉMA RELATIONNEL

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 10


NORMALISATION DU SCHÉMA RELATIONNEL
1NF
Une relation est en première forme normale si elle ne comporte pas
d'attribut multivalué. La représentation des données sous forme de relation
implique cette première forme normale.
Exemple de relation qui n'est pas en 1NF:
LIVRE(CodeL, Titre, Auteurs) n ’est pas en première forme normale
car un livre pourrait avoir plusieurs auteurs.
Solution: LIVRE(CodeL, Titre), AUTEURS(CodeL, Auteur)

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 11


NORMALISATION DU SCHÉMA RELATIONNEL
2NF
Une relation est en deuxième forme normale si la relation est en
première forme normale et si chaque attribut non-clé (c'est-à-dire qui
n'appartient pas à une clé candidate) dépend pleinement des clés
candidates.
Exemple de relation qui n'est pas en 2NF:
EMP(Matr, CodeP, NomE, FonctionP, Dept) n'est pas en 2NF puisque
le nom d'un employé ou son département ne dépend que de son
matricule et pas du projet auquel il appartient.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 12


NORMALISATION DU SCHÉMA RELATIONNEL
3NF
Une relation est en troisième forme normale si tout attribut non-
clé (n'appartenant pas à une clé candidate) ne peut dépendre que
d'une clé candidate.
Exemple EMP(Matr, NomE, Dept, NomD) où Dept est le numéro du
Département n'est pas en 3FN car le nom du département dépend
du numéro du département.
On peut décomposer cette relation en deux relations qui seront en
3NF
EMP(Matr, NomE, Dept) et DEPT(Dept, NomD)

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 13


NORMALISATION DU SCHÉMA RELATIONNEL
BCNF
Une relation est en forme normale de Boyce-Codd si les seules sources de
dépendances fonctionnelles sont les clés candidates.
Exemple:
Si on suppose que le nom d'un employé peut être une clé candidate, la relation
EMP_PROJET(Matr, CodeP, NomE, FonctionP) est en 3NF.
En effet les 2 clés candidates sont (Matr, CodeP) et (NomE, CodeP)
Cette relation n'est pas en BCNF car Matr -->NomE est une
dépendance fonctionnelle dont la source n'est pas une clé candidate.
Elle va occasionner des redondances et des problèmes de mises à
jour. Elle peut être décomposées dans les 2 relations suivantes qui
sont en BCNF: EMP(Matr, NomE) et PROJET(Matr, CodeP, FonctionP)
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 14
QUELQUES RAPPELS DU LANGAGE SQL
Définition:
SQL : Structured Query Language
– Langage de requête structurée
Composantes
–LDD: langage de définition de données
–LMD: langage de manipulation des données, c’est-à-dire
LMJ (langage de mise à jour) et du LID: langage
d’interrogation des données)
– LCD: langage de contrôle des données
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 15
QUELQUES RAPPELS DU LANGAGE SQL
Le Langage de Définition de Données LDD
Ensemble de commandes qui définit une base
de données et les objets qui la composent
La définition d’un objet inclut
– sa création: CREATE
– sa modification ALTER
– sa suppression DROP
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 16
QUELQUES RAPPELS DU LANGAGE SQL
Le Langage de Définition de Données LDD

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 17


QUELQUES RAPPELS DU LANGAGE SQL
Le Langage de Manipulation de Données LMD
Ensemble de commandes qui permet la consultation et la mise à
jour des objets créés par le langage de définition de données
• Consultation : SELECT
• La mise à jour inclut :
– l’insertion de nouvelles données : INSERT
– la modification de données existantes : UPDATE
– la suppression de données existantes : DELETE

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 18


QUELQUES RAPPELS DU LANGAGE SQL
Le Langage de Manipulation de Données LMD

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 19


LES DECLENCHEURS
DEFINITION
Un déclencheur (ou triggers) est une règle, dite
active, de la forme: ”événement-condition-action”.
Procédure stockée dans la base qui est déclenchée
automatiquement par des événements spécifiés par le
programmeur et ne s’exécutant que lorsqu’une
condition est satisfaite.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 20


LES DECLENCHEURS
Utilités et Atouts des déclencheurs
La possibilité d’éviter les risques d’incohérence dus à la présence
de redondance.
L’enregistrement automatique de certains événements.
La spécification de contraintes liées à l’évolution de données. –
Exemple : un salaire ne peut qu’augmente
De définir toutes règles complexes liées à l’environnement
d’exécution (restrictions sur des horaires, des clients, . . .).

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 21


LES DECLENCHEURS
PRINCIPE
Séquence Evénement-Condition-Action :
–un événement: Insertion, destruction, modification sur
une table.
– Test de la condition : si cette dernière n’est pas
vérifiée, alors l’exécution s’arrête.
– Si vérifiée, l’action est réalisée (toutes opérations sur
la base de données).
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 22
LES DECLENCHEURS
CARACTERISTIQUES
Un seul déclencheur par événement sur une table.
Les déclencheurs permettent de rendre une base de données
dynamique.
Une opération peut en déclencher d’autres, qui elles mêmes
peuvent entraîner en cascade d’autres déclencheurs. . .
Ce mécanisme n’est pas sans danger !
– Risque de boucle infinie.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 23


LES DECLENCHEURS
CARACTERISTIQUES ● Manipulation simultanée de
l’ancienne et de la nouvelle
valeur d’un attribut ( → tests sur l’évolution).
● Un déclencheur peut être exécuté :
– Une fois pour un seul ordre SQL,
– Ou à chaque ligne concernée par cet ordre.
● L’action peut être réalisée avant ou après
l’événement.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 24
LES DECLENCHEURS
CARACTERISTIQUES ● Concernant ”action” :
● SQL n’est pas procédural
– Les SGBD fournissent une extension du langage SQL
:
instructions de branchement conditionnel, instructions
de
répétition, affectations, . . .
● Langage impératif permettant de créer des
véritables
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 25
LES DECLENCHEURS
CREATION
1. Spécifier l’événement qui déclenche l’action en
indiquant le type de la mise à jour (INSERT, UPDATE,
DELETE), le nom de la table et éventuellement le nom
des attributs mis à jour.
2. Indiquer si l’action est réalisée avant ou après.
3. Eventuellement, donner un nom à l’ancien et au
nouveau n-uplet (uniquement le nouveau en cas
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 26
LES DECLENCHEURS
CREATION
4. Décrire la condition sous laquelle se déclenche
l’événement sous la forme d’une expression SQL
booléenne, c.-à-d. Une expression pouvant être placée
dans une clause WHERE.
5. Décrire l’action à réaliser sous la forme d’une
procédure.
6. Indiquer si l’action est réalisée pour chaque n-uplet
mis à jour ou une seule fois pour la requête.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 27
LES DECLENCHEURS

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 28


LES DECLENCHEURS

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 29


LES DECLENCHEURS

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 30


LES DECLENCHEURS

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 31


LES DECLENCHEURS
•Insérer, supprimer et actualiser des données
delimiter |
CREATE TRIGGER testref BEFORE INSERT ON test1
FOR EACH ROW
BEGIN
INSERT INTO test2 SET a2 = NEW.a1;
DELETE FROM test3 WHERE a3 = NEW.a1;
UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
END;
|
delimiter ;

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 32


GESTION DES TRANSACTIONS, CONCURRENCE D’ACCES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 33


LES TRANSACTIONS
DEFINITION

• Définition 1 : séquence d’opérations qui accèdent et


modifient le contenu d’une base de données.
• Définition 2 : séquence d'opérations (lecture/
écriture) qui doit être exécutée dans son intégralité,
amenant la BD d'un état cohérent à un autre état
cohérent.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 34
TRANSACTION

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 35


ETAPE D’UNE TRANSACTION

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 36


EXEMPLE

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 37


PROPRIETES D’UNE TRANSACTION (ACID)
Atomicité
-Toutes les mises-à-jour doivent être effectuées ou
aucune.
-En cas d'échec, le système doit annuler toutes les
modifications réalisées.
Cohérence
-La base de données doit passer d'un état cohérent à
un autre état cohérent.
-En cas d'échec, il faut restaurer l'état initial cohérent.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 38
PROPRIETES DES TRANSACTIONS (ACID)
Isolation
-Les résultats d'une transaction ne sont rendus visibles
aux autres transactions qu'une fois celle-ci validée.
-Les accès concurrents peuvent mettre en question
l'isolation.
Durabilité
-Les modifications d'une transaction validée sont
persistantes.
-Principal problème survient en cas de panne disque.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 39
CONCURRENCE D’ACCES
Exemple: Cas d’un système de réservation
1. Kobe et Abel travaillent chacun dans une agence de
voyage.
2. Kobe (transaction T1) veut annuler N réservations sur un bus
B1 et réserver N places sur un bus B2.
3. Abel (transaction T2) veut réserver M places sur le vol B1.
4. L’exécution concurrente de T1 et de T2 sans contraintes de
synchronisation peut produire un certain nombre de problèmes

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 40


CONCURRENCE D’ACCES
L’échecs d’un update
Une perte de mise à jour survient lorsqu’une
transaction T1 exécute une mise à jour calculée à
partir d’une valeur périmée de donnée, c’est-à-dire
d’une valeur modifiée par une autre transaction T2
depuis la lecture par la transaction T1. La mise à jour
de T2 est donc écrasée par celle de T1. La mise à jour
de la transaction T2 est perdue.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 41


CONCURRENCE D’ACCES
L’échecs d’un update

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 42


CONCURRENCE D’ACCES

ORIGINE
• SGBD : multi-utilisateurs
Une même information peut manipulée par plusieurs
utilisateurs à la fois
• Unité de la concurrence = transaction

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 43


THÉORIE DE LA CONCURRENCE
La théorie de la concurrence permet de garantir la
cohérence et l'isolation des transactions. Elle est basée sur la
théorie de la sérialisabilité des transactions.
Objectif:
Rendre invisible aux clients le partage simultané des
données.
Conséquence: perte de modifications, non-reproductibilité
des lectures, modification temporaire.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 44


PROBLÈMES DUS A LA CONCURRENCE D’ACCES
1-Perte de modifications
– Lecture de données incohérentes (lecture impropre)
– Lecture de données non confirmées
2-Non-reproductibilité des lectures
3-Modification temporaire (Dirty read)
4-Objets fantômes.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 45


PERTE DE MISE A JOUR

Soit le de 2 transactions accèdent au même élément


d'une BD et l'exécution des opérations est décalée.
On devrait avoir A=70 MAIS on a A = 60 : perte de
la mise à jour de T1.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 46
LECTURE IMPROPRE (DONNÉES INCOHÉRENTES)

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 47


MODIFICATION TEMPORAIRE (DIRTY READ)
Description: transaction va modifier un élément de la BD et la
transaction échoue. L'élément mise à jour est alors accédé par une
autre transaction avant réparation

T1 a lu une valeur de A incorrecte : tout doit se passer comme si T 2


n’avait jamais changé A.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 48
NON-REPRODUCTIBILITÉ DES LECTURES (UNREPEATABLE READ)

1 transaction réalise une opération d'agrégation alors qu'une


autre transaction est en train de modifier des données

T2 (qui ne modifie pas A) devrait obtenir à chaque lecture la même valeur


pour cette donnée.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 49
LECTURE FANTÔME (PHANTOM READ)
Scénario : 1 transaction ajoute un tuple qui satisfait
la condition d'une autre transaction.
Cas d’un système de gestion de projet
Une transaction T ajoute un employé travaillant sur le projet 3
alors que la transaction T' demande la liste des employés du
projet 3 (pour calculer la somme des heures ou des salaires de
ces derniers). Le problème peut être le suivant, T' ne
comptabilise pas les données du nouvel employé.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 50


LECTURE FANTÔME (PHANTOM READ)

T1 n’a pas vu l’ajout de 4 dans E par T2 , pour T1 4 est


un objet fantôme.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 51
GRANULE, ACTION ET EXÉCUTION
 Granule de concurrence: unité de données dont les
accès sont contrôlés individuellement par le SGBD.
Granule=un tuple, une page ou bien une table.
 Une action est un accès élémentaire à un granule.
- Action: unité indivisible par le SGBD sur un granule pour
un utilisateur,
 Exécution sérialisable Exécution E d’un ensemble de
transactions {T1, T2…Tn} donnant globalement et pour
chaque transaction participante le même résultat qu’une
succession de (T1, T2…Tn).
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 52
RÉCUPÉRATION DES DONNÉES (REPRISE)
PRINCIPAUX TYPES DE PANNES
1. La panne d’une action survient quand une commande
au SGBD est mal exécutée.
2. La panne d’une transaction survient quand une
transaction ne peut continuer par suite d’une erreur de
programmation, d’un mauvais ordonnancement des accès
concurrents, d’un verrou mortel ou d’une panne d’action non
corrigeable. Il faut alors défaire les mises à jour effectuées
par la transaction avant de la relancer.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 53


RÉCUPÉRATION DES DONNÉES (REPRISE)
PRINCIPAUX TYPES DE PANNES
3. La panne du système nécessite l’arrêt du système et son
redémarrage. La mémoire secondaire n’est pas affectée
par ce type de panne ; en revanche, la mémoire centrale
est perdue par suite du rechargement du système.
4. La panne de mémoire secondaire peut survenir soit suite
à une défaillance matérielle, soit suite à une défaillance
logicielle impliquant de mauvaises écritures. Alors, une
partie de la mémoire secondaire est perdue. Il s’agit du
type de panne le plus catastrophique.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 54
RÉCUPÉRATION DES DONNÉES (REPRISE)
TYPE DE REPRISE
1/ La reprise à chaud:
La reprise après une panne du système. Ceci survient après un
abandon de transaction ou une panne d’ordinateur, peut être
réalisée automatiquement et rapidement, en s’appuyant sur la
tenue d’un journal qui garde en mémoire tous les événements
d’une transaction.
2/ La reprise à froid
C’est après une panne de disque est plus longue à mettre en
œuvre. Elle nécessite de réaliser des copies régulières de la BD et
un archivage des mises à jour entre deux copies.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 55
RÉCUPÉRATION DES DONNÉES (REPRISE)
Exemple d’événements Journalisés

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 56


RÉCUPÉRATION DES DONNÉES (REPRISE)
Extrait d’un Journal

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 57


RÉCUPÉRATION DES DONNÉES (REPRISE)
Point de reprise qui marque dans le journal
indiquant un moment:
–Aucune transaction n’était en cours.
–Toutes les données écrites par des transactions
antérieures au point de reprise avaient été transférées
sur disque.
Pour obtenir un point de reprise, il faut donc :
– Interdire le début de nouvelles transactions
– Laisser se terminer les transactions en cours.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 58
RÉCUPÉRATION DES DONNÉES (REPRISE)
3/ La Méthode ARIES:
- ARIES (Algorithm for Recovery and Isolation
Exploiting Semantics) est l’une des méthodes de
reprise de transactions des plus efficaces.
- Pour chaque page de données, ARIES nécessite un
seul champ par page nommé page_LSN qui mémorise
le numéro LSN du dernier enregistrement du journal
qui concerne cette page.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 59
Format d’enregistrement du journal ARIES
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 60
RÉCUPÉRATION DES DONNÉES (REPRISE)
-Principe de la Méthode ARIES:
ARIES utilise un journal et applique les règles de
journalisation avant écriture (Write-Ahead Loging, WAL) et
de validation après écriture (Write Before Commit, WBC).
ARIES journalise les mises à jour effectuées par les
transactions sur chaque page. Il journalise aussi les états
prêts et validés des transactions gérées par un protocole de
validation à deux étapes, et les points de reprise système
(system checkpoints).
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 61
RÉCUPÉRATION DES DONNÉES (REPRISE)
-Principe de la Méthode ARIES:
ARIES utilise des points de reprise système
périodique marquant des points de bon
fonctionnement dans le journal. Un enregistrement
point de reprise identifie les transactions actives, leurs
états, le LSN de leur plus récent enregistrement dans
le journal, et aussi les pages modifiées et non
reportées sur disques dans le cache (pages sales).

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 62


RÉCUPÉRATION DES DONNÉES (REPRISE)
-Principe de la Méthode ARIES:
ARIES utilise des points de reprise système
périodique marquant des points de bon
fonctionnement dans le journal. Un enregistrement
point de reprise identifie les transactions actives, leurs
états, le LSN de leur plus récent enregistrement dans
le journal, et aussi les pages modifiées et non
reportées sur disques dans le cache (pages sales).

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 63


SÉCURITÉ DES DONNÉES
1-IDENTIFICATION DES SUJETS
Les sujets sont les utilisateurs devant les terminaux et
Les sujets doivent tout d’abord être identifiés.
LA DÉFINITION DES OBJETS
les objets les données protégées avec différents
niveaux de granularité possibles. Le choix des objets
à protéger est un des problèmes importants lors de la
conception d’un module de protection pour un SGBD.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 64
SÉCURITÉ DES DONNÉES
3- ATTRIBUTION ET CONTRÔLE DES AUTORISATIONS
a) La méthode DAC (Discretionary Access Control) est la
plus utilisée dans les SGBD. Elle consiste à attribuer aux
sujets des droits d’opérations sur les objets et à les vérifier
lors des accès.
GRANT < types opérations > ON < objet >
TO < sujet > [WITH GRANT OPTION]
avec :
<type opération> ::= ALL PRIVILEGES | <action>+
<action> ::= SELECT | INSERT
| UPDATE [(<nom de colonne>+)]
| REFERENCE [(<nom de colonne>+)]
<sujet> ::= PUBLIC | <identifiant d’autorisation>
– REVOKE < types opérations > FROM < objet > TO < sujet >
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 65
SÉCURITÉ DES DONNÉES

b) La MÉTHODE MAC

Un moyen plus simple de contrôler les


autorisations consiste à associer un niveau
d’autorisation aux sujets et aux objets.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 66


TECHNIQUES D'ACCÈS AUX FICHIERS
(INDEX, HASH-CODE, ARBRES)

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 67


ARCHITECTURE D’UN GESTIONNAIRE DE FICHIERS

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 68


ASSIGMENTS
Présenter les détails, a l’aide des
exemples d’applications, les différentes
techniques d‘accés aux fichiers suivant:
- Indexage
- Hachage
- arbres

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 69


LE MODÈLE OBJET

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 70


INTRODUCTION

La notion de modèle objet consiste à modéliser


directement les entités du monde réel, le
comportement et un état des objets. Dans un modèle
objet, toute entité du monde réel est un objet et
représente une entité du monde réel

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 71


DÉFINITION ET EXEMPLES D'OBJET
- Objet: Abstraction informatique d’une entité du
monde réel caractérisée par une identité, un état et
un comportement.
- Exemple (1) :
L’objet de type véhicule d’identité V1 regroupe
de valeurs nommées avec un comportement associé,
par exemple :
V1 { Numéro: 812 RH 94, Marque: Renault, Type: Clio, Moteur: M1 ;
créer(), démarrer(), rouler(), stopper(), détruire() }
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 72
DÉFINITION ET EXEMPLES D'OBJET
- Exemple (2) :
Une personne d' identité P1 est aussi un objet
caractérisé par un nom, un prénom, un âge, une voiture
habituellement utilisée, etc. Elle a un comportement composé
d’un ensemble d’opérations { naître(), vieillir() , conduire(),
mourir() }.
L’objet de type personne
P1 { Nom: Dupont, Prénom: Jules, Age: 24, Voiture: V1;
naître(), vieillir(), conduire(), mourir() }.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 73
MODELISATION DES OBJETS

- Identifiant d’objet (Object Identifier):


Référence système unique et invariante attribuée à un
objet lors de sa création permettant de le désigner et de le
retrouver tout au long de sa vie.
Propriété d’un objet qui le distingue logiquement et
physiquement des autres objets.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 74


MODELISATION DES OBJETS

- Attribut (Attribute)
Caractéristique d’un objet désignée par un nom
permettant de mémoriser une ou plusieurs valeurs, ou un ou
plusieurs identifiants d’objets.
Un attribut a des valeurs qui sont typiquement des
litérales ayant une structure simple ou complexe.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 75


COMPARAISONS DES OBJETS
● Deux objets O1 et O2 sont identiques (O1 == O2)
– s’ils ont le même identifiant
– Donc il y a un objet désigné par deux pointeurs O1
et O2.
– L’identité d’objet est donc l’égalité de pointeurs.
● Deux objets sont égaux (on note O1 = O2)
– s’ils ont même valeur
– O1 == O2 implique O1 = O2, l’inverse étant faux

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 76


RÉFÉRENCES DES OBJETS
● L’identité d’objet apporte une plus grande facilité pour
modéliser des objets complexes; en particulier, un objet peut
référencer un autre objet.
● Le véhicule V1 référence le moteur M1 et la personne P1
référence le véhicule V1.
● Le partage référentiel d’un sous-objet commun par deux
objets devient possible sans duplication de données.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 77
RÉFÉRENCES DES OBJETS

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 78


ENCAPSULATION

● Le modèle objet
– Permet d’encapsuler les structures des objets par des
opérations, parfois appelées méthodes (en Java) ou
fonctions membres (en C++).
● Opération (Operation)
– Modélisation d’une action applicable sur un objet,
caractérisée par un en-tête appelé signature définissant son
nom, ses paramètres d’appel et ses paramètres de retour

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 79


ENCAPSULATION

● Le principe d’encapsulation hérite:


– des types abstraits cache les structures de données
(les attributs)
– du code des méthodes en ne laissant visible que les
opérations exportées, appelées opérations publiques
– Les opérations dites privées sont accessibles que par
des méthodes associées à l’objet

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 80


ENCAPSULATION

● Le principe d’encapsulation hérite:


– des types abstraits cache les structures de données
(les attributs)
– du code des méthodes en ne laissant visible que les
opérations exportées, appelées opérations publiques
– Les opérations dites privées sont accessibles que par
des méthodes associées à l’objet

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 81


INTERFACE ET CLASSE

 Interface d’objet (Object Interface):


– Ensemble des signatures des opérations, y compris les
lectures et écritures d’attributs publics, qui sont applicables
depuis l’extérieur sur un objet.
– Les interfaces ( les types abstraits) doivent être
implémentés par des classes

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 82


INTERFACE ET CLASSE

 Classe (Class):
– Implémentation d’une ou plusieurs interfaces sous la
forme d’un moule permettant de spécifier un ensemble de
propriétés d’objets (attributs et opérations) et de créer des
objets possédant ces propriétés.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 83


LIENS ENTRE LES CLASSES

 Héritage (Inheritance)
– Transmission automatique des propriétés d’une classe
de base vers une sous-classe.
 Généralisation (Generalization)
– Lien hiérarchique entre deux classes spécifiant que les
objets de la classe supérieure sont plus généraux que ceux
de la classe inférieure.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 84


LIENS ENTRE LES CLASSES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 85


LIENS ENTRE LES CLASSES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 86


LIENS ENTRE LES CLASSES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 87


POLYMORPHISME, REDÉFINITION ET SURCHARGE
● Polymorphisme (Polymorphism):
Faculté pour une opération d’avoir différentes signatures
avec un code spécifique attaché à chaque Signature.
● Redéfinition (Overriding):
Spécification d’une méthode existante dans une super-
classe au niveau d’une sous-classe, avec une implémentation
différente.
– une sous-classe une fonctionnalité similaire de même
signature d’opération, mais avec un code différent

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 88


POLYMORPHISME, REDÉFINITION ET SURCHARGE

● Surcharge (Overloading):
Possibilité de définir plusieurs codes pour une même
opération d’une classe, le code approprié étant sélectionné
selon le type des paramètres fournis lors d’un appel.
– choix du code d’une méthode en fonction de ses
arguments.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 89


LES COLLECTIONS
● Collection (Collection)
Container typé désigné par un nom, contenant des
éléments multiples organisés selon une structure particulière,
auxquels on accède par des opérations spécifiques au type
du container.
● Ensemble (Set)
qui permet de définir des collections non ordonnées
sans double ;

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 90


LES COLLECTIONS
● Sac (Bag)
 qui permet de définir des collections non
ordonnées avec doubles;
● Liste (List)
 qui permet de définir des collections ordonnées
avec doubles ;
● Tableau (Array)
 qui permet de définir des collections ordonnées et
indexées.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 91


LES COLLECTIONS
Exemple
– List<X> et Set<X> sont des collections, resp. des listes et
des ensembles d’objets de type X
– Set<Int> est un ensemble d’entiers
– List<Vin> est une liste de vins.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 92


LES OPÉRATIONS OFFERTE PAR LES COLLECTIONS

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 93


● Agrégation (Aggregation):
Association entre deux classes exprimant que les objets
de la classe cible sont des composants de ceux de la classe
source. L’agrégation traduit la relation « fait partie de »

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 94


PERSISTANCE DES OBJETS
● SGBD Objet utilise le même concept de modèle des
données que les langages de programmation orientés objet
● Les objets dans un langage orienté objet n'existent que
pendant l'exécution (transient objects) d'un programme. Et
un SGBD Objet vise la persistance des objets

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 95


PERSISTANCE DES OBJETS
● Objet persistant (Persistent object):
– Objet stocké dans la base de données dont la
durée de vie est supérieure au programme qui le crée.
● Objet transient (Transient object):
– Objet restant en mémoire, dont la durée de vie ne
dépasse pas celle du programme qui le crée.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 96


LE STANDARD DE L’ODMG : ODL, OQL ET OML

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 97


HISTORIQUE DE L’ODMG
● ODMG (Object Data Management Group)
– 1993: ODMG 1.0 standard
– 1997: ODMG 2.0
– 1999: ODMG 3.0, puis ODMG disloqué
● 2005: ODMG reformé, travaille pour des nouveaux
standards

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 98


CONTENU DE LA PROPOSITION ODMG
● La proposition décrit les interfaces externes d’un SGBDO
● Le SGBDO se fonde sur une adaptation du modèle objet
de l’OMG
● ODL (Object Definition Language)
– Langage de définition de schéma des bases de données
objet proposé par l’ODMG.
● OQL (Object Query Language)
– Langage d’interrogation de bases de données objets
proposé par l’ODMG, basé sur des requêtes SELECT proches
de celles de SQL.
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 99
CONTENU DE LA PROPOSITION ODMG

● OML (Object Manipulation Language)


– Langage de manipulation intégré à un langage de
programmation objet permettant:
• la navigation de collections d’objets persistants
• l’interrogation de collections d’objets persistants
• la mise à jour de collections d’objets persistants
– l’OMG propose trois variantes : OML C++, OML
Smalltalk et OML Java.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 100


ARCHITECTURE TYPIQUE D’UN SGBDO CONFORME
À L’ODMG

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 101


DÉFINITION DE CLASSE EN ODMG
● Définition de classe (Class definition)
– Spécification du comportement et d’un état observables
par les utilisateurs pour un type d’objets
● Extension de classe (class extent)
– Collection caractérisée par un nom contenant les objets
créés dans la classe.
CLASS ORDINATEUR (EXTENT ORDINATEURS KEY ID){
ATTRIBUTE SHORT ID ;
ATTRIBUTE FLOAT ACCUMULATEUR;
VOID START();
VOID STOP();
}
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 102
MÉTA-MODÈLE DU MODÈLE ODMG

Schéma graphique de l'exemple (en UML)

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 103


EXEMPLE DE SCHEMA ODL

Scénario
La base décrit simplement des situations du monde réel:
des personnes possèdent des voitures, et habitent dans des
appartements. Parmi elles, certaines sont employées,
d’autres sont buveurs. Parmi les employés il y a des buveurs.
Les buveurs boivent des vins.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 104


EXEMPLE DE SCHÉMA ODL

Schéma graphique de la base exemple (en UML)


MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 105
EXEMPLE DE SCHÉMA ODL

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 106


EXEMPLE DE SCHÉMA ODL

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 107


LES REQUETES ODL

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 108


LES REQUETES ODL AVEC QUALIFICATION

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 109


LES REQUETES ODL ET JOINTURES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 110


REQUÊTES OQL PAR DES COLLECTIONS DÉPENDANTES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 111


REQUÊTES OQL PAR DES COLLECTIONS DÉPENDANTES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 112


L’OBJET-RELATIONNEL ET SQL3

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 113


MOTIVATION
 Les tables relationnelles gèrent de données
alphanumériques
 Avènement du Web au milieu de la décennie 90
nécessite le support des données complexes au
sein d'une base de données
 Données complexes
– documents textuels , données géométriques
– données géographiques, données audiovisuelles ou
soniques
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 114
MOTIVATION
 SQL3 étend le SQL aux concepts Objet.
Cependant la « relation » reste fondamentale
dans la manipulation des données
 Les SGBDs basés sur SQL3 sont appelés Objet-
Relationnels, tel que Informix, Oracle, Sybase,
IBM/DB2, CA-OpenIngres, PostGres
NB: Attention, peu respectent la synthaxe SQL3

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 115


PRINCIPE
● Typage fort
– Type = Données + Méthodes
● La création de type ne crée pas d ’objets
● Les objets d ’un type sont persistants que lors ils
sont insérés dans des tables déclarées ( CREATE
TABLE )

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 116


APPORT DU MODEL RELATIONNEL
● Modélisation simple basée sur
– Le concept de table, des colonnes et des lignes
(les enregistrements successifs)
● La conception des bases (normalisation),
●L’optimisation de requêtes (algèbre, réécriture,
modèle de coûts)
● La gestion de transactions (concurrence, fiabilité)
intégrée
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 117
APPORT DU MODEL OBJET
● L’identité d’objet
– permet l’introduction de pointeurs invariants
pour chaîner les objets entre eux.
● L’encapsulation des données
– permet d’isoler certaines données dites privées
par des opérations et de présenter des interfaces
stables aux utilisateurs
● L’héritage d’opérations et de structures
– facilite la réutilisation des types de données
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 118
LES CONCEPTS DE L’OBJET-RELATIONNEL

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 119


COMPOSANTES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 120


VUE D’ENSEMBLE DE SQL3
● SQL3
– un langage de requêtes étendu avec notamment
les appels d’opérations en résultat et en
qualification, la surcharge des opérateurs de base
de SQL
● La première nouveauté de SQL3 est l’apparition
d’une commande CREATE TYPE.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 121


VUE D’ENSEMBLE DE SQL3

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 122


VUE D’ENSEMBLE DE SQL3
CREATE [DISTINCT] TYPE <NOM> [<OPTION OID>]
[<CLAUSE SOUS-TYPE>] [AS] (<CORPS>)
– <OPTION OID> ::= WITH OID VISIBLE permet de préciser la
visibilité de l’OID pour chaque instance (objet).
– <CLAUSE SOUS-TYPE> ::= UNDER<SUPERTYPE>
[,<SUPERTYPE>]... permet de spécifier les super-types dont le
type hérite avec possibilité d’héritage multiple et résolution
explicite des conflits.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 123


VUE D’ENSEMBLE DE SQL3
- <CORPS> se compose d’une ou plusieurs clauses
membres :
<CLAUSES MEMBRES> ::=
< DÉFINITION DE COLONNE >
| < CLAUSE EGALE >
| < CLAUSE INFERIEURE>
| < CLAUSE CAST >
| < DÉCLARATION DE FONCTION >
| < DÉCLARATION D’OPÉRATEUR >
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 124
VUE D’ENSEMBLE DE SQL3
<DÉCLARATION DE FONCTION> ::=

[<FUNCTION TYPE>] FUNCTION <FUNCTION NAME>

<PARAMETER LIST> RETURNS <FUNCTION RESULTS>

{ <SQL PROCEDURE> | <FILE NAME> } END FUNCTION

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 125


QUELQUES EXEMPLES
● Type avec OID pouvant être utilisé comme un objet:
– CREATE TYPE PHONE WITH OID VISIBLE (PAYS VARCHAR, ZONE VARCHAR,
NOMBRE INT, DESCRIPTION CHAR(20))
● Type sans référence:
– CREATE TYPE PERSONNE (NSS INT, NOM VARCHAR, TEL PHONE)
● Sous-type :
– CREATE TYPE ÉTUDIANT UNDER PERSONNE (CYCLE VARCHAR, ANNÉE INT)
● Type énuméré :
– CREATE TYPE JOUR-OUVERT (LUN, MAR, MER, JEU, VEN);

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 126


QUELQUES EXEMPLES
● Type avec OID et fonction :
– CREATE TYPE EMPLOYÉ WITH OID VISIBLE (NOM CHAR(10),
DATENAIS DATE, REPOS JOUR-OUVERT, SALAIRE FLOAT, FUNCTION
AGE (E EMPLOYÉ)RETURNS (INT){CALCUL DE L’AGE DE E } END
FUNCTION;);

● Autre type sans OID avec fonction :


–CREATE TYPE ADRESSE WITHOUT OID (RUE CHAR(20),
CODEPOST INT, VILLE CHAR(10), FUNCTION DEPT(A ADRESSE)
RETURNS (VARCHAR) END FUNCTION);

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 127


QUELQUES EXEMPLES
● Création de procédure SQL de mise à jour associée
au type employé :

CREATE PROCEDURE AUGMENTER (E EMPLOYÉ, MONTANT

MONEY) {UPDATE EMPLOYÉ SET SALAIRE = SALAIRE + MONTANT

WHERE EMPLOYÉ.OID = E

} END PROCEDURE
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 128
BASES DE DONNÉES DISTRIBUÉES
ET DÉDUCTIVES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 129


1.BASES DE DONNÉES DISTRIBUÉES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 130


DEFINITIONS
Base de données distribuée : Une collection logiquement
interconnectée de données partagées (et une description de ces données),
réparties physiquement sur un réseau informatique.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 131


DÉFINITIONS
ENTREPOTS DE DONNEES:
Le data Warehouse est une collection de données
orientées sujet, intégrées, non volatiles et historisées,
organisées pour servir de support d’aide à la décision.
Transformer les « données » des systèmes d’information
opérationnels en « informations ».
(W. H. Inmon, 1996)

Exemples: Qui sont mes meilleurs clients? Comment et pourquoi le


chiffre d’affaire a baissé? A combien s’élèvent mes ventes
journalières?
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 132
DÉFINITIONS
SGBD distribué :
Le système logiciel qui permet la gestion de la base de
données distribuée et assure la transparence de la
distribution vis-à-vis des utilisateurs.
SGBDD est constitué d’une seule base de données logique,
éclatée en un certain nombre de fragments. Chaque
fragment est stocké dans un ou plusieurs ordinateurs, sous le
contrôle d’un SGBD distinct, où les ordinateurs sont
interconnectés par le biais d’un réseau de communication.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 133


FONCTIONS D’UN SGBDD
● Des services de communication étendus qui donnent accès
à des sites distants et permettent de transférer des requêtes
et des données parmi les sites, par le biais d’un réseau.
● Un catalogue système étendu qui emmagasine les détails
de distribution et de répartition.
● Un traitement de requête distribuée, incluant l’optimisation
des requêtes et l’accès distant aux données.
● Un contrôle de sécurité étendu qui associe les autorisations
et privilèges d’accès aux données distribuées.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 134


FONCTIONS D’UN SGBDD

● Un contrôle de concurrence (simultanéité) étendu qui


conserve la cohérence des données distribuées et,
éventuellement, répliquées.
● Des services de récupération étendus qui tiennent compte
des défaillances des sites individuels et des pannes des
liaisons de communication.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 135


ARCHITECTURE D’UN SGBDD

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 136


FONCTIONS D’UN SGBDD
● Schéma conceptuel global
– description logique de la base de données dans sa totalité
– Correspond au niveau conceptuel de l’architecture ANSI-SPARC pour
SGBD local
– définition des entités, des associations, des contraintes, ainsi que les
informations de sécurité et d’intégrité
● Schémas de fragmentation et d’allocation
– description de la répartition des données
– description des emplacements des données
● Schémas locaux
– Chaque SGBD local possède son propre ensemble de schémas
– Correspondant aux niveaux équivalents de l’architecture ANSISPARC
(niveau externe, niveau conceptuel, niveau physique)
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 137
COMPOSANT D’UN SGBDD

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 138


AVANTAGES D’UN SGBDD

● Reflète une structure organisationnelle


– Nombre d’organisations sont par nature réparties sur plusieurs
emplacements. ...
● Amélioration du partage et de l’autonomie locale
– Données placées dans un site proche des utilisateurs ...
● Disponibilité améliorée
– Une panne d’ordinateur n'interrompt pas les opération
● Fiabilité améliorée
– Données sont éventuellement dupliquées

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 139


AVANTAGES D’UN SGBDD
● Performances améliorées
– Parallélisme inhérent d’un SGBD distribué,
– Vitesse des accès aux données est potentiellement meilleure
● Économies
– loi de Grosch en 1960 : le triple du coût entraîne neuf fois plus
de puissance
● Croissance modulaire
– gestion facile de l’expansion
– ajout de puissance de traitement et de volume de stockage au
réseau

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 140


AVANTAGES D’UN SGBDD

● Intégration
–Intégration de systèmes hérités
–Intégrer les composants logiciels provenant de différents
fournisseurs qui, ensemble, correspondent à ses exigences
spécifiques.
● Maintien de la compétitivité
– Ex. le commerce électronique, le travail collaboratif en ligne et
la gestion des flux d’activités.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 141


INCONVÉNIENTS

● Complexité
–Gestion difficile de la réplication des données réparties
–Dégradation de la disponibilité, de la fiabilité et des
performances
● Coût
– L’augmentation de complexité a un coût en termes d’acquisition
et de maintenance
– matériel supplémentaire pour établir les communications
nécessaires sur un réseau entre sites.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 142


INCONVÉNIENTS
● Sécurité
– contrôler l’accès aux données dupliquées dans des
emplacements Multiples
– le réseau lui-même doit être sécurisé
● Contrôle d’intégrité plus difficile
– validité et à la cohérence des données reparties
– coûts de communication et de traitement des contraintes
d’intégrité
● Manque de normes
– aucun outil et aucune méthodologie pour convertir une BD
centralisée en une BD distribuée
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 143
INCONVÉNIENTS

● Manque d’expérience
– SGBD distribués à vocation générale ne sont pas encore
unanimement acceptés
– En industrie différent niveau d’expérience

● Complexité plus grande du design de bases de données


– prendre en considération la fragmentation des données,
l’allocation des fragments à des sites spécifiques
– La réplication des données

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 144


DOUZE RÈGLES POUR UN SGBDD
1) Autonomie locale.
2) Non-dépendance d’un site central
3) Fonctionnement continu
4) Indépendance de localisation
5) Indépendance de fragmentation
6) Indépendance de réplication
7) Traitement des requêtes distribuées
8) Traitement des transactions distribuées
9) Indépendance du matériel
10) Indépendance du système d’exploitation
11) Indépendance du réseau
12) Indépendance de la base de données
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 145
2.BASES DE DONNÉES DÉDUCTIVES

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 146


OBJECTIFS ET MOTIVATIONS
● Aider à la résolution de problèmes, exprimés sous
forme de requêtes, dont la solution nécessite des
volumes importants de données et de règles
● Les applications potentielles
– Outre la gestion classique ou prévisionnelle
– Aide à la décision, la médecine, la robotique, la
productique et plus généralement toutes les
applications de type systèmes experts

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 147


DÉFINITIONS PRÉLIMINAIRE
Une base de données déductive (BDD) est
constituée:
– d’un ensemble de prédicats (relations), dits de base
ou extensionnels, dont l’extension est conservée
explicitement dans la base de données: la base de
données extensionnelle
– d’un ensemble de prédicats (relations), dits dérivés
ou intentionnels, dont l’extension est définie par des
règles déductives : la base de données intentionnelle
MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 148
LANGAGE DE RÈGLES (RULE LANGUAGE)

L’interface nouvelle offerte par un SGBD déductif


est le langage de règles
Définition:
Langage utilisé pour définir les relations déduites
composant la base intentionnelle permettant d’écrire
des programmes de règles du style
<condition> ➔ <action>

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 149


LES FONCTIONNALITÉS DU LANGAGE DE DÉFINITION ET
DE MANIPULATION

● La possibilité d’effectuer les opérations classiques du


calcul relationnel (union, restriction, projection, jointure,
différence) ;
● Le support des ensembles incluant les fonctions
d’agrégats traditionnelles des langages relationnels
classiques ainsi que les attributs multi-valués;
● La récursivité, qui permet de définir une relation déduite
en fonction d’elle-même ;

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 150


LES FONCTIONNALITÉS DU LANGAGE DE DÉFINITION ET
DE MANIPULATION
● la négation, qui permet de référencer des faits non
existants dans la base ;
● les fonctions arithmétiques et plus généralement celles
définies par les utilisateurs ;
● les mises à jour des faits au travers des règles ;
● La modularité avec la gestion de niveaux d’abstraction
successifs et de méta-règles.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 151


COUPLAGE ET INTÉGRATION
SGBD déductif nécessite une intégration d’un moteur
de règles au sein d’un SGBD

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 152


PRÉDICATS EXTENSIONNELS ET INTENTIONNELS

● Extensional predicate :
Prédicat dont les instances sont
stockées dans la base de
données sous forme de tuples.
● Intensional predicate :
Prédicat calculé par un
programme constitué de règles
logiques dont les instances ne sont
pas stockées dans la base de
données.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 153


ARCHITECTURE D’UN SGBD DEDUCTIVE

 SGBD déductif nécessite


une intégration d’un
moteur de règles au
sein d’un SGBD
 SGBD permettant de
dériver les tuples de
prédicats intentionnels
par utilisation de règles.

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 154


LANGAGE DATALOG

DATALOG signifie « logique pour les données »


Langage dérivé de la logique du premier ordre
Langage de description et de manipulation de
données
Langage de règles bâti à partir des clauses de Horn

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 155


PRÉDICATS EXTENSIONNELS ET INTENTIONNELS

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 156


SYNTAXE DE DATALOG
● Il est composé des symboles suivants
– des variables dénotées x, y, z ... ;
– des constantes choisies parmi les instances des types de base
entier, numérique et chaînes de caractères ;
– des prédicats relationnels dénotés par une chaîne de caractères,
chaque prédicat pouvant recevoir un nombre fixe d’arguments (n
pour un prédicat n-aire) ;
– les prédicats de comparaison =, <, >, ≤, ≥, ≠ ;
– les connecteurs logiques « et » dénoté par une virgule (,) et «
implique » (←) interprété de la droite vers la gauche

MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 157


MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 158

Vous aimerez peut-être aussi