République Algérienne Démocratique et
Populaire. Ministère de l'Enseignement Supérieur et de la
Recherche Scientifique.
Université A. Mira de Béjaia. Faculté des
Sciences Exactes
Département Informatique
Mémoire Master recherche
en Informatique
Option:
Réseaux et Systèmes Distribués
Thème
abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc
Conception et réalisation d'une base de
données répartie sous Oracle :
dCas de l'hébergement des
résidences universitaires e
fggggggggggggggggggggggggggggggggggggggggh
Présenté par :
Mr MADI A/Hakim Mr MOKRANI Fares
Encadré par :
Mme TAHAKOURT Zineb
Devant le jury composé de :
Président : ALOUI Abdelouhab Examinateur : BOUTRID
Samia
Résumé
Une base de données répartie est une collection
de données logiquement reliées et physiquement réparties
sur plusieurs machines interconnectées par un réseau de
communication. L'objectif de ce travail est d'essayer de résoudre les
problèmes de localisation des données et d'exécution
distribuée des requêtes posées par la répartition
d'une base de données.
Ce mémoire comprend deux parties; la première
est purement théorique comprenant une présentation des
systèmes répartis et les bases de données
réparties. Elle décrit aussi, les différentes techniques
de conception des bases de données réparties, leurs gestion et
les principes de la réplication.
La seconde partie est consacrée pour la conception et
la mise en oeuvre d'une BD répartie pour la gestion de
l'hébergement des résidences universitaires,
implémentée sous le SGBD ORACLE 10g Version Entreprise
et interfacée par l'environnement de développement Oracle
Forms.
Mots dles : BD répartie, SGBD réparti,
PL/SQL, ORACLE, Forms, Répartition des données, Merise.
Remerciements
Nous tenons tout d'abord à remercier le bon Dieu qui
nous a donné la santé et le courage d'accomplir ce
travail.
Nous ne pouvons pas oublier de présenter notre
gratitude à nos parents pour leur patience et les efforts inlassables
qu'ils ne cessent de déployer pour nous.
Nos vifs remerciements vont à Mme
TAHAKOURT Zineb, notre promotrice pour tous ses conseils très
précieux, ses encouragements, sa patience et ses orientations qui
nous ont été très bénéfiques tout au long
de ce travail.
Nous remercions également les membres de jury qui
nous font honneur en acceptant d'examiner et de juger notre travail.
Enfin, que tous ceux qui ont contribués de prés
ou de loin à l'aboutissement de ce travail trouvent ici l'expression de
notre sincère gratitude et nos remerciements les plus
sincères.
Je dédie ce modeste travail :
A mes très chers parents pour m'avoir donnés
le goût aux études et m'avoir apportés un grand support
moral lors de la rédaction de ce mémoire et tout au long de mes
études, qu'ils trouvent ici l'expression de mon profond
Amour.
A mes deux soeurs Nora et Nouara, et mes frères
Kamel et Nordine, ainsi qu'à leurs familles.
Je ne me permettrais surtout pas d'oublier mes très
chers amis(es). A mon binôme Fares, ainsi qu'à toute sa
famille. A tous les étudiants Master Informatique de
l'université de Bejaia. Et à tous ceux que j'aime . .
.
Je dédie ce modeste travail : A mes chers parents
qui m'ont aidé et soutenu tout au long de cette période. A mon
cher frère Sofiane qui m'a aidé et apporté ses conseils et
son soutient. A mes chers grands parents, et à mes chères
tantes et oncle.
A mes chers cousins et cousines Farah, Amine, Yacine, Samy,
Katia, Yanice, Dany, Mellissa, Badisse, et Aniése.
A tous mes amie(s) et particulièrement à
Samiha, Sofiane, Moulou, Nawel, Amel, Khaled, Sabrina, Katia, et
Dania.
A mon binôme Hakim, ainsi qu'à toute sa
famille. A tous les étudiants de la promotion Master 2 et 1
informatique. Et à tous les gens qui m'ont aidé et soutenu
tout au long de ce projet.
Table des matières
Table des Figures viii
Liste des tableaux ix
Introduction Générale x
1 Généralités sur les bases de
données réparties
1.1 Introduction
1.2 Evolution des bases de données réparties
|
1
1
1
|
|
1.2.1
|
Système réparti
|
2
|
|
1.2.2
|
Architecture des systèmes répartis
|
2
|
|
1.2.3
|
Objectifs des systèmes répartis
|
3
|
|
|
1.2.3.1 Indépendance à la localisation
|
3
|
|
|
1.2.3.2 Indépendance à la fragmentation
|
4
|
|
|
1.2.3.3 Indépendance aux SGBDs
|
4
|
|
|
1.2.3.4 Autonomie des sites
|
4
|
|
1.2.4
|
Inconvénients des systèmes répartis
|
4
|
1.3
|
Principe des bases de données réparties
|
4
|
|
1.3.1
|
Définition
|
5
|
|
1.3.2
|
Exemple
|
5
|
|
1.3.3
|
Système de gestion des bases de données
réparties
|
6
|
|
1.3.4
|
Concepts de base
|
7
|
|
|
Table des Matières
|
|
1.3.5 1.3.6 1.3.7
|
1.3.4.1 Schéma local
1.3.4.2 Schéma global
Décomposition et optimisation des requêtes
Contrôle de l'intégrité
Exécution répartie
|
7 7
9
10
10
|
1.4
|
Utilisation d'une base de données répartie
|
10
|
|
1.4.1
|
Transparence de la localisation
|
10
|
|
1.4.2
|
Transparence de partitionnement
|
10
|
|
1.4.3
|
Transparence de la duplication
|
11
|
1.5
|
La répartition des bases de données
|
11
|
|
1.5.1
|
Buts
|
11
|
|
|
1.5.1.1 Plus de disponibilité et de fiabilité
|
11
|
|
|
1.5.1.2 Meilleures performances
|
11
|
|
|
1.5.1.3 Scalability
|
12
|
|
1.5.2
|
Problèmes à surmonter
|
12
|
|
|
1.5.2.1 Coût
|
12
|
|
|
1.5.2.2 Distribution du contrôle
|
12
|
|
|
1.5.2.3 Sécurité
|
12
|
|
|
1.5.2.4 Gestion distribuée des interblocages
|
13
|
|
|
1.5.2.5 Bases de données hétérogènes
|
13
|
1.6
|
Architecture des bases de données réparties
|
13
|
|
1.6.1
|
Autonomie
|
13
|
|
1.6.2
|
Relation entre machines
|
13
|
|
|
1.6.2.1 Architecture Client / Serveur
|
14
|
|
|
1.6.2.2 Architecture Peer To Peer
|
15
|
|
1.6.3
|
Hétérogénéité
|
15
|
1.7
|
Conclusion
|
16
|
2
|
|
Table des Matières
|
Techniques de conception et de gestion des bases de
données réparties
2.1 Introduction
2.2 Conception d'une base de données répartie
2.2.1 Méthodes de conception
2.2.1.1 Conception ascendante
2.2.1.2 Conception descendante
2.2.2 La fragmentation
|
17
17
17
18
18
18
19
|
|
|
2.2.2.1 Définition
|
19
|
|
|
2.2.2.2 Objectif de la fragmentation
|
19
|
|
|
2.2.2.3 Les problèmes de la fragmentation
|
19
|
|
|
2.2.2.4 Types de fragmentation
|
20
|
|
|
2.2.2.5 Les règles de la fragmentation
|
21
|
|
|
2.2.2.6 L'allocation des fragments
|
22
|
|
|
2.2.2.7 Le schéma de répartition
|
22
|
2.3
|
Techniques de répartition avancées
|
22
|
|
2.3.1
|
Allocation avec duplication
|
22
|
|
2.3.2
|
Allocation dynamique
|
22
|
|
2.3.3
|
Fragmentation dynamique
|
23
|
2.4
|
La réplication
|
23
|
|
2.4.1
|
Principe
|
23
|
|
2.4.2
|
Type de réplication
|
24
|
|
|
2.4.2.1 Réplication asymétrique
|
24
|
|
|
2.4.2.2 Réplication symétrique
|
25
|
|
2.4.3
|
Vue matérialisée
|
26
|
|
|
2.4.3.1 Objectifs
|
26
|
|
|
2.4.3.2 Mise à jour des vues matérialisées
|
26
|
|
2.4.4
|
Les avantages de la réplication
|
27
|
2.5
|
Gestion des données réparties
|
27
|
|
2.5.1
|
Mise à jour des données distantes
|
27
|
|
|
2.5.1.1 Requêtes réparties en lecture
|
27
|
|
|
Table des Matières
|
|
2.6
|
2.5.1.2 Requêtes réparties en écriture
2.5.2 Contraintes déclaratives
2.5.2.1 Contraintes locales
2.5.2.2 Contraintes globales
Conclusion
27
|
28 28
28
29
|
3
|
Présentation de l'organisme d'accueil
|
30
|
|
3.1
|
Introduction
|
30
|
|
3.2
|
Présentation de l'Office National des Oeuvres
Universitaires
|
30
|
|
3.3
|
Organigramme de la Direction des Oeuvres Universitaires
|
31
|
|
3.4
|
Organigramme du service de l'hébergement
|
33
|
|
3.5
|
Les tâches du service de l'hébergement
|
33
|
|
3.6
|
Description des tâches
|
33
|
|
|
3.6.1 Inscription
|
33
|
|
|
3.6.2 Réadmission
|
34
|
|
|
3.6.3 Transfert
|
34
|
|
|
3.6.4 Abandon
|
34
|
|
|
3.6.5 Statistiques
|
35
|
|
|
3.6.6 Etats d'impression
|
35
|
|
3.7
|
La situation informatique
|
35
|
|
3.8
|
Description du cadre de l'étude
|
35
|
|
|
3.8.1 Présentation du cadre de l'étude
|
35
|
|
|
3.8.2 Présentation du sujet
|
36
|
|
3.9
|
Conclusion
|
36
|
4
|
Analyse de l'existant
|
37
|
|
4.1
|
Introduction
|
37
|
|
4.2
|
Etude du système existant
|
37
|
|
|
4.2.1 Etudes des postes de travail
|
37
|
|
|
4.2.1.1 Introduction
|
37
|
|
|
4.2.2 Fiche d'étude du poste service de
l'hébergement - DOU
|
39
|
4.2.3 Fiche d'étude du poste service de
l'hébergement - Résidence . . . . 40
4.3 Etude des documents 41
4.3.1 Introduction 41
4.3.2 Liste des documents utilisés 41
4.4 Diagramme de circulation du flux 41
4.4.1 Schéma de circulation du flux 42
4.4.2 Le formalisme utilisé 42
4.4.3 Tableau de description des flux 43
4.4.4 La codification existante 43
4.5 Niveau organisationnel du système existant 44
4.5.1 Règles d'organisation existantes 44
4.6 Diagnostique de la situation actuelle 44
4.6.1 Introduction 44
4.6.2 Critique de l'existant 44
4.6.3 Proposition d'une solution 45
4.7 Conclusion 46
5 Analyse conceptuelle 47
5.1 Introduction 47
5.2 Modélisation du nouveau système 47
5.2.1 L'étude conceptuelle du nouveau système
47
5.2.1.1 Règles de gestion 47
5.2.1.2 Dictionnaire de données 48
5.2.1.3 Nouvelle codification 50
5.3 Le modèle conceptuel de données 50
5.4 Niveau organisationnel du nouveau système 51
5.4.1 Nouvelles règles d'organisation 51
5.4.2 Le modèle organisationnel de traitements 52
5.4.2.1 Description des procédures 52
5.4.3 Le modèle logique de données 55
5.4.3.1 Les règles de passage du MCD vers MLD 55
5.4.3.2 Le MLD relationnel 55
5.5 Conclusion 56
6 Réalisation 57
6.1 Introduction 57
6.2 Structure générale de la solution
proposée 57
6.2.1 Justification des choix 59
6.3 Les configurations nécessaires 59
6.3.1 Configuration du réseau 59
6.3.2 Configuration ORACLE 61
6.3.2.1 Côté Serveur 61
6.3.2.2 Côté Client 64
6.4 Aspect pratique 66
6.4.1 Création de la base de données
répartie 66
6.4.1.1 Outils utilisés 66
6.4.1.2 Implémentation de la BDR 67
6.4.2 Le développement de l'application 71
6.4.2.1 Outils utilisés 71
6.4.2.2 Interfaces graphiques 71
6.5 Conclusion 77
Conclusion et perspectives xii
Bibliographie xiii
Annexe xv
Glossaire xvii
Table des figures
1.1
|
Exemple de base de données répartie
|
5
|
1.2
|
Architecture d'un SGBD réparti.
|
7
|
1.3
|
Architecture d'une BD répartie
|
8
|
1.4
|
Décomposition et optimisation d'une requête.
|
9
|
1.5
|
Architecture Client / Serveur.
|
14
|
1.6
|
Architecture Peer To Peer
|
15
|
2.1
|
Architecture de la conception ascendante.
|
18
|
2.2
|
Architecture de la conception descendante
|
19
|
2.3
|
Exemple de fragmentation horizontale.
|
20
|
2.4
|
Exemple de fragmentation verticale.
|
21
|
2.5
|
Réplication asymétrique synchrone
|
24
|
2.6
|
Réplication asymétrique asynchrone.
|
24
|
2.7
|
Réplication symétrique synchrone.
|
25
|
2.8
|
Réplication symétrique asynchrone
|
25
|
2.9
|
Protocole de validation à deux phases - 2PC
|
28
|
3.1
|
Organigramme de la D.O.U
|
32
|
3.2
|
Organigramme du service de l'hébergement.
|
33
|
4.1
|
Fiche d'étude du poste service de l'hébergement -
DOU.
|
39
|
4.2
|
Fiche d'étude du poste service de l'hébergement -
Résidence
|
40
|
4.3 Diagramme de circulation de flux au niveau de la DOU. 42
4.4 Le formalisme utilisé 42
4.5 La codification existante 43
5.1 La nouvelle codificaion. 50
5.2 Le modèle conceptuel de données 51
6.1 Structure générale de la solution
proposée. 58
6.2 Propriétés de connexion réseau sans fil
60
6.3 Propriétés du réseau sans fil 61
6.4 Le fichier de configuration du Listener Oracle.
62
6.5 Oracle Net Manager. 63
6.6 Le fichier Listener Oracle. 64
6.7 Le fichier de services TNSNAMES.ORA. 65
6.8 Le fichier SQLNET.ORA. 65
6.9 Les étapes de connexion à une BD distante.
66
6.10 Illustration de la réplication de données.
70
6.11 Structure générale de l'application. 72
6.12 Vue de l'authentification 'Base de données'
72
6.13 Vue de l'authentification 'Application' 73
6.14 Menu application DOU. 73
6.15 Vue de la gestion de l'hébergement DOU. 74
6.16 Inscription des nouveaux bacheliers - DOU. 75
6.17 Vue de l'interface Targa Ouzemour 76
6.18 Vue de la carte du résident. 77
Liste des tableaux
3.1 Situation informatique 35
4.1 Liste des documents. 41
4.2 Description des flux. 43
Le monde de l'informatique évolue très
rapidement, alors que son but initial, était d'offrir des services
satisfaisants, du point de vue vitesse d'exécution des tâches et
obtention de statistiques plus précises. Actuellement, de nouveaux
besoins sont apparus, toute organisation automatisée souhaite stocker et
échanger ses informations qui sont géographiquement
éloignées, ce qui rend la tâche de la collecte et de
traitement d'une grande quantité d'informations dispersées
très délicate, de ce fait, l'amélioration des
systèmes d'informations est devenue une priorité pour les
gérants des entreprises.
La solution qui s'impose est de distribuer les données
et les organiser dans des bases de données sur différents sites
de stockage. L'ensemble de ces sites constitue un système de bases de
données réparties offrant la possibilité aux utilisateurs
de manipuler les différentes bases via un réseau de
manière transparente, comme dans une base de données globale.
Notre projet consiste à développer un
système d'information dont les données sont
intégrées dans un environnement réparti. L'objectif de ce
travail est d'essayer de résoudre les problèmes de localisation
des données et d'exécution distribuée des requêtes
posées par la répartition d'une base de données à
travers un réseau d'ordinateurs. Pour cela, nous avons conçu et
mis en oeuvre une base de données répartie sous Oracle
pour la gestion de l'hébergement des résidences
universitaires de l'université de Bejaia.
Notre mémoire est structuré en 6 chapitres comme
suit :
Dans le premier chapitre, nous présentons un
état de l'art sur les systèmes répartis et les bases de
données réparties ainsi que leurs avantages et
inconvénients, et les principes de leurs mises en oeuvre.
Le second chapitre aborde les différentes techniques de
conception et de gestion des bases de données réparties ainsi que
les principes de la réplication.
Le troisième chapitre donne une vue sur la structure de la
direction des oeuvres universitaires, plus précisément la section
de l'hébergement.
Le quatrième chapitre présente l'étude de
l'existant, la problématique posée et les objectifs
visés.
Le cinquième chapitre présente l'analyse
conceptuelle de la solution proposée.
Dans le dernier chapitre, nous détaillons la
réalisation de la solution proposée; il présente la mise
en place du nouveau système à l'aide de différents outils
tels que ORACLE et Oracle Forms Developper.
Nous finirons par une conclusion et quelques perspectives qui
peuvent être envisagées afin d'améliorer notre
système.
|