Exposé systèmes d’information Les systèmes de gestion de base de données (SGBD) Hardy Sébastien Lamberti Jean-Vincent Picard David 1I Monsieur Peter Sommaire Introduction ………………………………………………………… 2 I. Qu’est-ce que les SGBD ? ……………………………………… 3 I.I. Principes et concepts ..…………………………………. 3 I.II. Historique ..……………………………………………… 4 II. Les types de SGBD ……………………………………………… 5 II.I. Le modèle relationnel ....………………………………. 5 II.II. Les autres types moins utilisés ..…………………….. 6 III. Le marché ………………………………………………………… 7 III.I Les fournisseurs ………………………………………... 7 III.II. Les produits ……………………………………………. 8 III.III. Les évolutions récentes du marché ……………….... 9 Conclusion Annexes ………………………………………………………….. 10 ……………………………………………………………... 11 1|Page Introduction Avant d’aborder le sujet des SGBD il est important de définir la différence entre ces derniers et une base de données. La base de données correspond à un lot d’information stocké dans un système informatique. Ce lot de données nécessitait donc un outil en arrière-plan permettant sa manipulation, c’est pourquoi les grands noms de l’industrie de l’informatique s’investirent dans la recherche et la création d’un système de gestion de base de données : les SGBD. Il est donc nécessaire dans un premier temps de retracer un bref historique de la recherche et des grandes étapes de la création des SGBD. Plusieurs acteurs s’étant investis dans ce projet, et le domaine étant embryonnaire à ce stade, nous verrons qu’il est donc apparu plusieurs types de SGBD. Nous tenterons donc de présenter et définir les différences entre les types de SGBD ainsi ce qui motiva la création de ces types distincts. Enfin nous nous intéresserons au marché des SGBD, notamment par la présentation des produits phares des leaders du marché, afin de mieux comprendre les différences présentes entre chaque produit et de définir à quelle client quel SGBD conviendrait le mieux. 2|Page I .Qu’est-ce que les SGBD I.I. Concepts et principes de fonctionnement des SGBD Définition : « Un système de gestion de base de données (SGBD) est un ensemble de logiciels informatiques qui sert à la manipulation des bases de données. Il sert à effectuer des opérations ordinaires telles que consulter, modifier, construire, organiser, transformer, copier, sauvegarder ou restaurer des bases de données. Il est souvent utilisé par d’autres logiciels ainsi que les administrateurs ou les développeurs. » Source Wikipedia. Suite à l’utilisation des disques durs pour collecter et stocker des informations de grandes quantités donnant lieu à des bases de données, le CODASYL, « Conference on Data Systems Languages », publia en 1959 les spécificités d’un langage de programmation afin de programmer des applications de gestion, COBOL. Inspirant les SGBD Hiérarchiques. L’année 1969, Charles Bachman créa le modèle de donnée réseau au sein du consortium CODASYL, qui pâlira au manque du modèle hiérarchique dans certaines situations. En juin 1970, parait l’article « A relational model of data for large shared data banks » du professeur Edgar Frank Codd paru dans la revue « Association for Computing Machinery », il traite d’un système où l’interrogation des données utiliserait le vocabulaire anglais. C’est les prémisses des SGBD Relationnelles. L’objectif des SGBD est de permettent de créer et de mettre à jour une base de données, tout en faisant l’intermédiaire entre l’utilisateur et ses fichiers physiques. C'est-à-dire que nous avons plus besoin de travailler directement sur les fichiers physiques, ils nous permettent de décrire les données et les liens entre elles sans se soucier de comment cela va se faire physiquement. Un SGBD est composé d’un ensemble de logiciels parmi lesquels il y a un moteur de base de données, un interpréteur du langage SQL, une interface de programmation, et diverses interfaces utilisateur. 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 (lire, enregistrer, trier). -L'interpréteur 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 un langage informatique qui sert à exprimer des requêtes d'opérations sur les bases de données). 3|Page -Une interface de programmation est une bibliothèque logicielle permettant à un logiciel tiers de communiquer 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. -Les ODBC (Open DataBase Connectivity) sont des logiciels médiateurs qui permettent à des logiciels, par l'intermédiaire d'une interface de programmation unique de communiquer avec différents SGBD ayant chacun une interface de programmation différente. I.II.Historique 1970 : C’est IBM qui créera le premier prototype de base de données sous le nom de System/R. Il est le 1er a intégrer SQL, qui deviendra un standard international dans le monde du langage de requête de donnée. 1974 : Ingres, 1er SGBDR. Basé sur le modèle relationnel. Fonctionnant principalement sur UNIX. 1979 : Sortie de Oracle V2, Oracle V1 ne verra pas le jour à cause de problème de marketing. C’est une base de données relationnelle qui utilisait les fonctions SQL mais ne supportait pas les transactions. 1982 : Afin de répondre aux demandes croissants mais aussi à ces propres besoins IBM sort DB2. Développé principalement pour répondre aux besoins des très grosses bases de données. Ils tournaient à leur lancement sur les IBM mainframes. 1985 : Oracle V5 va introduire le procédé client/serveur. Au vu du développement des réseaux Oracle nous propose un produit supportant les requêtes distribuées. 1996 : Avec un marché dénué de SGBD open source, MySQL propose un produit gratuit mais avant tout destiné à un usage personnel. . 4|Page II. Les différents types de SGBD II.I Le modèle relationnel Le principe de ces logiciels est de stocker et d'organiser l'information dans des tableaux à deux dimensions, appelés tables ou relations. Ils sont composés de champs et d'entrées, les entrées étant les nouvelles informations ajoutées. Cette organisation permet la manipulation des données grâce à l'appui des mathématiques ; l'algèbre relationnelle, c'est une théorie proche de la théorie des ensembles par laquelle huit opérateurs (sélection, projection, intersection, union, différence, produit cartésien, jointure et division cartésienne) peuvent être utilisés pour interagir avec les tables (relations), elles se manipulent grâce à des requêtes en langage SQL, un langage puissant et laconique, étant normalisé il est utilisable partout, cependant les SGBD peuvent interpréter le langage en s'éloignant légèrement de la norme SQL, ce qui permet aux entreprises de choisir le SGBD en fonction de leurs besoins. La majorité des SGBD manipulent des bases de données relationnelles, néanmoins d'autres types subsistent sur le marché. 5|Page II.II Les autres types moins utilisés Cinq autres manières d'organiser l'information existent, le premier modèle de SGBD apparu à la fin des années 60 est une structure hiérarchique basée sur une arborescence descendante, ce modèle utilise des pointeurs entre les différentes données, permettant ainsi de relier les enregistrements entre eux. Le modèle réseau, similaire au modèle hiérarchique permet de surcroît une manipulation de données sans forcément respecter la descendance. Le modèle orienté objet (Système de gestion de bases de données objets : SGBDO), consiste à stocker les informations sous forme de collections d'objets. Les langages de programmation orienté objet (POO) permettent de créer et de manipuler ces objets. « En programmation informatique un objet est un conteneur logique qui englobe des informations et des mécanismes relatifs à une chose du monde réel. » Source Wikipedia. Le modèle XML se concentre sur un format d'échange et d'intégration de données, le but étant de rester dans une structure souple et ordonnée. Le langage XML est de plus en plus adopté par les fournisseurs après sa présence dans le monde du web. Il est 6|Page auto-descriptif car les balises décrivent la structure et le type des noms des données. Il est portable puisque il est codé en Unicode, et il peut décrire les données sous la forme d’un arbre ou d’un graphe. Similaire au modèle relationnel, le modèle déductif manipule les données dans des tables par des calculs de prédicats. III. Le marché III.I. Fournisseur La présentation des principaux SGBD du marché qui va suivre n’est bien évidemment pas exhaustive. Nous nous limiterons au SGBD les plus réputés et les plus utilisés, en se basant sur l’avis de professionnels et utilisateurs reconnus. Les différents SGBD se distinguent par les différentes fonctionnalités qu’ils intègrent, bien que le plus souvent l’utilisateur ne trouve pas l’usage de la totalité de ces fonctionnalités, leur présence ainsi que la documentation qui les accompagne reste un confort non négligeable. Le marché des SGBD connaît une multitude de produits concurrents. Ces produits se scindent en deux catégories : • Les SGBD proposés par des éditeurs de longue date, disposant de plusieurs produits aux caractéristiques connues et reconnues. Par exemple Microsoft SQL Server, Oracle ou DB2 font partie de cette première catégorie. • Les SGBD proposés par la communauté des développeurs de nouvelles sociétés ou des éditeurs de longue date souhaitant toucher une autre clientèle. Le plus souvent ces produits sont le fruit du travail d’acteurs reconnus de l’open source. Cette catégorie a connu un essor important ces dernières années et acquis plusieurs parts de marché. Bien conçu et fonctionnel ces produits accusent tout de même un manque de fonctionnalités et leur gratuité se restreint au niveau du particulier. Cette catégorie contient notamment le très connu MySQL ou encore Firebird. • Toutefois le marché reste dominé par la première catégorie pour les raisons précédemment citées. On peut donc voir qu’Oracle est le leader du marché (44.3%), suivi de loin par IBM (21%) et Microsoft (18.50%), viens ensuite Sybase (3.50%) et Teradata (3.2%) et le reste du marché est partagé entre les autres sociétés et principalement les open sources. 7|Page Oracle IBM Microsoft Sybase Teradata Autres Représentation graphique de la répartition du marché par éditeur en 2008 III.II. Produits Il est maintenant intéressant de se pencher sur les produits proposés par les différents leaders du marché. Notamment car certains de ces éditeurs proposent le plus souvent tout une gamme de différents produits. Oracle : Oracle Database : Produit destiné aux grandes entreprises et bénéficiant d’une grande richesse fonctionnelle, de la gestion de plusieurs instances, d’un service web et d’un support XML. Ce SGBD répond aux attentes des entreprises nécessitant un volume de traitement très conséquent. Néanmoins, son prix élevé, son administration complexe, et les ressources demandés exigeantes, nécessitent donc un investissement important à tous les niveaux. MySQL : Produit phare dans le monde libre, ce SGBD open source facile à prendre en main, est souvent utilisé pour l’hébergement public. Il ne permet pas le traitement efficace d’un volume de donnés très important et manque de fonctionnalité mais convient tout à fait un usage restreint d’une base de données. IBM : DB2 : A l’image d’Oracle Database DB2 est le produit phare d’IBM, répondant aux exigences d’entreprise et fort d’un SQL proche de la norme ainsi que d’une grande richesse fonctionnelle et d’un stockage de données XML, DB2 représente une option non négligeable pour les entreprises bien qu’il souffre de certaines tares telles qu’une interface client lourde et un investissement financier important. 8|Page Microsoft : SQL Server : Une des plus performantes sous Windows à l’administration aisée, au support XML et au langage T-SQL plus facile à utiliser. Néanmoins ce SGBD ne fonctionne évidemment que sur les plateformes Microsoft et ne prends pas en charge le Java. Toutefois il reste l’un des leaders du marché grâce à une offre assez complète et surement plus facile d’accès que les produits concurrents d’Oracle et IBM. Access : Puissant et ludique Access permet de gérer une petite base de données et représente donc une solution très adaptée aux personnes peu initiés aux SGBD. FirebirdSQL Fundation : Firebird : Firebird est l’exemple type du SGBD issu des acteurs du monde libre, avec son administration aisée, ses nombreux pilotes et un SQL proche de la norme il reste une bonne alternative au SGBD payant pour les utilisateurs avertis. III.III. Les évolutions du marché sur ces dernières années Les évolutions du marché des SGBD sont surtout dues à la sortie de nouvelle version des produits proposés par les éditeurs. En effet chaque éditeur tente d’améliorer son produit au fur et à mesure pour conquérir le plus de part de marché possible. La concurrence est donc un moteur essentiel à l’évolution du marché dans ce milieu. On peut notamment citer la concurrence effrénée entre IBM et Oracle qui continue toujours aujourd’hui bien qu’Oracle ait réussi à dépasser largement IBM notamment grâce à la communauté Linux. Ce marché connait alors une certaine évolution, presque entièrement dépendante de l’évolution technologique en réalité. Les parts de marché de chacun fluctuent donc à la sortie d’une nouvelle version des produits majeurs. Au vu de cet état de marché il semble donc difficile d’imaginer une nouvelle société s’imposer mais plutôt de nouvelles fonctionnalités et standards être introduits par les leaders et généralisées avec le temps. Le parc de clients étant bien installé, la plupart des grandes entreprises étant déjà clientes de ces produits, et souvent fidélisée car il semble difficile pour une entreprise de changer radicalement d’habitudes et de fonctionnements en allant chez un concurrent, il paraît difficile d’imaginer un changement majeur dans le marché des SGBD. 9|Page Conclusion Depuis la création des SGBD, il est maintenant difficilement envisageable de manipuler les informations sans système de gestion ni langage de programmation comme le SQL. Aujourd’hui le modèle relationnel est majoritairement utilisé par les différents SGBD, XML est de mieux en mieux adopté par les éditeurs. Oracle et IBM reste en rivalité constante malgré l’avance d’Oracle. Une société arrivera-t-elle à prendre le monopole des SGBD ? 10 | P a g e Annexes 11 | P a g e Bibliographie : Ouvrages : • SQL par Frédérique Brouard, Rudi Bruchez et Christian Souton collection Syntex. Sites : • Fabien Celaia : http://fadace.developpez.com/sgbdcmp/ • « Quel SGBD choisir ? » Cyrille Chausson Marché mondial des SGBD : Oracle toujours n°1 http://www.lemagit.fr/article/oracle-idc-sgbd-sql/677/1/marche-mondial-dessgbd-oracle-toujours-1/ • Jeff Larnaud http://www.commentcamarche.net/contents/bdd/bddtypes.php3 • Didier Boulle http://webtic.free.fr/sql/ • Wikipédia http://fr.wikipedia.org/wiki/Base_XML_native http://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es_orient%C3%A9e_objet http://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es_r%C3%A9seau http://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es_hi%C3%A9rarchique http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_base_de_donn% C3%A9es http://fr.wikipedia.org/wiki/XML_DB • Jean-Christophe Girard http://www.lamsade.dauphine.fr/rigaux/web/DOCS/slxmlbd.pdf 12 | P a g e 13 | P a g e