Tรฉlรฉcharger le fichier pdf d’un mรฉmoire de fin d’รฉtudes
Moteur de base de donnรฉesย
Le moteur de base de donnรฉes est le composant central du SGBD qui effectue la majoritรฉ des traitements de manipulation du contenu des bases de donnรฉes. Grรขce au moteur de base de donnรฉes, il est possible de contrรดler les accรจs et de traiter rapidement les transactions pour rรฉpondre aux besoins des applications consommatrices de donnรฉes.
Un interprรจte de langage SQL (Structured query language)ย
L’interprรจte SQL dรฉcode les requรชtes, et les transforme en un plan d’exรฉcution dรฉtaillรฉ, qui est alors transmis au moteur de base de donnรฉes. SQL est le langage informatique qui sert ร exprimer des requรชtes d’opรฉrations sur les bases de donnรฉes. Cโest un langage informatique standard et normalisรฉ, destinรฉ ร interroger ou ร manipuler une base de donnรฉes relationnelle.
Interface de programmationย
Une interface de programmation permet la communication avec le SGBD, de demander des opรฉrations et de rรฉcupรฉrer des donnรฉes provenant des bases de donnรฉes. Le dรฉtail des demandes est souvent formulรฉ en langage SQL. Le programmeur sert lโinterface pour dรฉfinir une action ร faire. Elle contient les fonctionnalitรฉs nรฉcessaires ร la crรฉation d’une application complรจte.
Interface utilisateursย
L’interface utilisateurs, รฉgalement appelรฉe interface homme machine permet ร un utilisateur de communiquer avec un systรจme informatique, qu’il soit local ou distant. Elle ne contient pas les fonctionnalitรฉs nรฉcessaires ร la crรฉation d’une application.
Lโutilisateur et le logiciel se communique avec les pรฉriphรฉriques de lโordinateur, ce sont : le clavier, souris, etc.
Les fonctionnalitรฉs dโun SGBDย
Un SGBD doit rรฉpondre aux critรจres suivants : Supporter les concepts dรฉfinis au niveau du modรจle de donnรฉes. Rendre transparent le partage des donnรฉes entre diffรฉrents utilisateurs. Fiabilitรฉ Assurer la confidentialitรฉ des donnรฉes. Assurer le respect des rรจgles de cohรฉrence dรฉfinies sur les donnรฉes. Fournir diffรฉrents langages d’accรจs selon le profil de lโutilisateur. Etre rรฉsistant aux pannes. Possรฉder une capacitรฉ de stockage รฉlevรฉe. Pouvoir rรฉpondre ร des requรชtes avec un niveau de performances adaptรฉ. Fournir des facilitรฉs pour la gestion des mรฉtadonnรฉes.
Supporter les concepts dรฉfinis au niveau du modรจle de donnรฉesย
Ceci afin de pouvoir reprรฉsenter les propriรฉtรฉs des donnรฉes. Ce niveau de reprรฉsentation nโest pas nรฉcessairement liรฉ ร la reprรฉsentation interne sous forme de fichiers. Il regroupe en gรฉnรฉral la dรฉfinition de types spรฉcifiques et la dรฉfinition de rรจgles de cohรฉrence.
Rendre transparent le partage des donnรฉes entre diffรฉrents utilisateursย
Ceci signifie que plusieurs utilisateurs doivent pouvoir utiliser la base de donnรฉes de faรงon concurrente et transparente. Le problรจme posรฉ ici est du au fait que le SGBD pour des raisons รฉvidentes de performances (partage du CPU) doit permettre des exรฉcutions concurrentes sur une mรชme base de donnรฉes.
Assurer la confidentialitรฉ des donnรฉesย
Il est nรฉcessaire de pouvoir spรฉcifier qui a le droit dโaccรฉder ou de modifier tout ou partie dโune base de donnรฉes. Il faut donc se prรฉmunir contre les manipulations illicites quโelles soient intentionnelles ou accidentelles. Cela nรฉcessite dโune part une identification des utilisateurs, la constitution de groupes dโutilisateurs avec des recouvrements potentiels et d’autre part, une spรฉcification des droits ajout, suppression, mise ร jour. Il est รฉvident que garantir la confidentialitรฉ des donnรฉes engendre un surcoรปt en temps au niveau des manipulations.
Assurer le respect des rรจgles de cohรฉrence dรฉfinies sur les donnรฉesย
A priori, aprรจs chaque modification sur la base de donnรฉes, toutes les rรจgles de cohรฉrence doivent รชtre vรฉrifiรฉes sur toutes les donnรฉes. Evidemment, une telle approche est irrรฉalisable pour des raisons de performances et il faut dรฉterminer des moyens de trouver prรฉcisรฉment quelles rรจgles et quelles donnรฉes sont susceptibles dโรชtre concernรฉes par les traitements rรฉalisรฉs sur la base de donnรฉes. Ces traitements doivent pouvoir รชtre effectuรฉs sans arrรชter le systรจme.
Fournir diffรฉrents langages d’accรจs selon le profil de lโutilisateurย
En gรฉnรฉral, on admet que le SGBD doit au moins supporter un langage adressant les concepts du modรจle. Dans le cas du modรจle relationnel, ce langage est le langage SQL. Nรฉanmoins ce type de langage ne permet pas tous les types de manipulation et les SGBD proposent soit un langage plus complet au sens rรฉglage du terme avec la possibilitรฉ de dรฉfinir des accรจs ร la base de donnรฉes, soit un couplage dโun langage tel que SQL avec un langage de programmation conventionnel (tels que le langage C ou C++).
Etre rรฉsistant aux pannesย
Ceci afin de protรฉger les donnรฉes contre tout incident matรฉriel ou logiciel quโil soit intentionnel, fortuit ou imprรฉvu. Il faut donc garantir la cohรฉrence de lโinformation et des traitements en cas de panne. Les applications opรฉrant sur des bases de donnรฉes sont souvent par nature amenรฉes ร opรฉrer des traitements longs sur dโimportants volumes de donnรฉes. Les possibilitรฉs de panne en cours de traitement sont donc nombreuses et il faut fournir des mรฉcanismes de reprise en cas de panne.
Possรฉder une capacitรฉ de stockage รฉlevรฉeย
Permettre ainsi la gestion de donnรฉes pouvant atteindre plusieurs milliards dโoctets. Les capacitรฉs de stockage des ordinateurs sont en augmentation croissante. Cependant, les besoins des utilisateurs sont รฉgalement en croissance forte. Avec lโessor des donnรฉes multimรฉdia (texte, image, son, vidรฉo) les besoins sont encore accrus. Les unitรฉs de stockage de donnรฉes informatique sont passรฉes du mรฉgaoctet (106) au gigaoctet (109), puis au tรฉra-octet (1012), petaoctet (1016), et l’on commence sโaggrave; parler de hexa-octet (1018) voire de zettaoctet (1021).
Pouvoir rรฉpondre ร des requรชtes avec un niveau de performances adaptรฉย
Une requรชte est une recherche dโinformation ร effectuer sur une ou plusieurs bases de donnรฉes qui peut impliquer des caractรฉristiques descriptives sur lโinformation ou des relations entre les donnรฉes. La puissance des ordinateurs nโest pas la seule rรฉponse possible ร apporter aux problรจmes de performance. Une requรชte peut gรฉnรฉralement รชtre dรฉcomposรฉe en opรฉrations รฉlรฉmentaires. Lโordre dโexรฉcution des opรฉrations en fonction de leurs propriรฉtรฉs ; associativitรฉ, commutativitรฉ et ainsi que le regroupement de certaines opรฉrations utilisant le mรชme ensemble de donnรฉes sont des รฉlรฉments qui permettent de diminuer significativement le temps dโexรฉcution dโune requรชte.
Evolution du systรจme de gestion de base de donnรฉesย
Le CODASYL a dรฉfini en 1970 les normes de standardisation des Systรจmes de Gestion des Bases de Donnรฉes, uniquement mis en oeuvre sur les grands systรจmes ร cette รฉpoque. Le langage de manipulation des donnรฉes รฉtait alors exclusivement le COBOL et le databasic. Depuis cette รฉpoque jusquโร la fin des annรฉes 90 les bases relationnelles sont les bases de donnรฉes les plus rรฉpandues. (Source: Histoire de SGBD, http://fr.wikipedia.org/wiki/histoireSGBD.htm Wikimรฉdia foundation, Dรฉrniรจre modifiation le 14 mars 2010) De nos jours, les SGBD Objets tendent ร remplacer la gรฉnรฉration des systรจmes relationnels du fait de leur puissance de modรฉlisation. Les machines ร architecture parallรจle ainsi que les stations de travail interconnectรฉes en rรฉseaux ร grand dรฉbit, font lโobjet dโintenses recherches. Il serait donc intรฉressant dโintรฉgrer les deux concepts ; bases de donnรฉes objet et systรจmes parallรจles afin dโaboutir ร une nouvelle gรฉnรฉration de SGBD ร modรจle de donnรฉe riche tout en profitant des performances des nouvelles architectures.
|
Table des matiรจres
PARTIE I PRESENTATION DโUN SYSTEME DE GESTION DE BASE DE DONNEES 3
CHAPITRE I PRESENTATION GENERALE
1.1 Prรฉsentation du projet
1.1.1 Problรฉmatique
1.1.2 Objectif
1.2 Quelques dรฉfinitions
2.1 Type de Systรจme de Gestion de Base de Donnรฉes
2.1.1 Le modรจle hiรฉrarchique
2.1.2 Le modรจle rรฉseau
2.1.3 Le modรจle relationnel (SGBDR Systรจme de Gestion de Bases de Donnรฉes
2.1.5 Le modรจle dรฉductif
2. 1.5 Le modรจle objet SGBDO (Systรจme de Gestion de Bases de Donnรฉes Objet)
2.2 Fonctionnement
2.2.1 Architectures Client/serveur
2.2.1.1 Serveur
2.2.1.2 Client
2.2.1.3 Caractรฉristiques d’un client
2.2.2 Propriรฉtรฉ dโun SGBD
2.2.2.1 Moteur de base de donnรฉes
2.2.2.2 Un interprรจte de langage SQL (Structured query language)
2.2.2.3 Interface de programmation
2.2.2.4 Interface utilisateurs
2.2.3 Les fonctionnalitรฉs dโun SGBD
2.2.3.1 Supporter les concepts dรฉfinis au niveau du modรจle de donnรฉes
2.2.3.2 Rendre transparent le partage des donnรฉes entre diffรฉrents utilisateurs
2.2.3.3 Fiabilitรฉ des donnรฉes
2.2.3.4 Assurer la confidentialitรฉ des donnรฉes
2.2.3.5 Assurer le respect des rรจgles de cohรฉrence dรฉfinies sur les donnรฉes
2.2.3.6 Fournir diffรฉrents langages d’accรจs selon le profil de lโutilisateur
2.2.3.7 Etre rรฉsistant aux pannes
2.2.3.8 Possรฉder une capacitรฉ de stockage รฉlevรฉe
2.2.3.9 Pouvoir rรฉpondre ร des requรชtes avec un niveau de performances adaptรฉ
2.2.3.10 Fournir des facilitรฉs pour la gestion des mรฉtadonnรฉes
2.2.5 Les avantages de lโutilisation dโun SGBD
CHAPITRE III METHODE DโANALYSE, CONCEPTION ET DOMAINE DโAPPLICATION
3.1 DOMAINE DโAPPLICATION
3.1.1 Historique du systรจme de gestion de base de donnรฉes
3.1.2 Evolution du systรจme de gestion de base de donnรฉes
3.1.3 Utilisation
3.2 LES METHODES DE CONCEPTION
3.2.1 UML
3.2.1.1 Prรฉsentation
3.2.1.2 Avantages et inconvรฉnients
3.2.1.3 Mรฉthode et Conception
3.2.1.3.1 Modรจle
3.2.1.3.3 Diagramme de classes
3.2.1.3.4 Notion dโobjet et diagramme
3.2.2 MERISE
3.2.2.1 Prรฉsentation
3.2.2.2 Avantages et inconvรฉnients
3.2.2.3 Mรฉthode et Conception
3.2.2.3.1 Cycle dโabstraction de conception dโun systรจme dรฉfini par MERISE
3.2.2.3.2 Les Modรจles Conceptuels des Donnรฉes
3.2.2.3.3 Modรจle logique des donnรฉes
3.2.2.3.3 Modรจle logique des donnรฉes
3.2.3 Tableau rรฉcapitulatif
PARTIE II METHODE ET CONCEPTION DU SYSTEME
CHAPITRE IV ETUDE ET CONCEPTION DU SYSTEME
4.1 Stockage en fichier binaire
4.1.1 Prรฉsentation
4.1.2 Mรฉthodes et Rรจgles
4.1.3 Structure de stockage
4.1.3.1 Le fichier metadata
4.1.3.2 Le fichier data
4.1.4 Avantages de la manipulation avec fichier binaire
4.2 Structure dโobjet
4.3 Sรฉcuritรฉ
4.3.1 Risques
4.3.2 Solution
CHAPITRE V LES BASES DE LA REALISATION AVEC LE LANGAGE DE PROGRAMMATION C+
5.1 Prรฉsentation du langage C++
5.2 Programmation Orientรฉ Objet (POO) en C++
5.2.1 Dรฉfinition de classe et Objet
5.2.2 Dรฉclaration de la classe
5.3 Bibliothรจques utilisรฉes
5.3.1 Bibliothรจques standard utilisรฉes
5.3 .1.1 Un ensemble de classes conteneurs
5.3 .1.2 Une abstraction des pointeurs ยซ iterator ยป
5.3 .1.3 Des algorithmes gรฉnรฉriques
5.3 .1.4 Une classe de chaรฎne de caractรจres
5.3.2 Les classes quโon a conรงues
5.3.2.1 FCString
5.3.2.2 CBD
5.3.2.3 SGBD
5.4 Lโavantage du C++
5.5 Prรฉsentation du rรฉsultat
5.5.1 Prรฉsentation du logiciel
5.5.2 Les fonctionnalitรฉs du logiciel
5.5.3 Rรจgles de lโutilisation de lโoutil SGBD
5.5.4 Les interfaces du logiciel
Conclusion
Bibliographie
Tรฉlรฉcharger le rapport complet