Cours de bases de données version octobre 2003
par Gabriel Rosenthal . . intervenant à . l'Université Paris 7 Denis Diderot . UFR informatique . DESS Art

Définitions :

Une base de données ?

Définition juridique :

"la base de données : un recueil d'oeuvres, de données ou d'autres éléments indépendants, disposés de manière systématique ou méthodique et individuellement accessibles par des moyens électroniques ou d'une autre manière"

source : extrait de http://www.lemaigre.be/Legislation/Loi.bases.don.htm

31 AOÛT 1998. - Loi transposant en droit belge la directive européenne du 11 mars 1996 concernant la protection juridique des base de données

Définition : une base de données peut être définie comme une collection de données enregistrées ensemble, sans redondances pénibles ou inutiles, pour servir plusieurs applications. Les données y sont enregistrées de telle manière qu'elles soient indépendantes des programmes qui les utilisent. Ces données sont structurées pour permettre des opérations, parfois très complexes, de lecture, suppression, déplacement, tri, comparaison, …Une base de données peut être locale ou répartie. Dans ce cas, les informations sont stockées sur un serveur et sont accédées par les utilisateurs via un réseau local.

source Agence Wallone des Télécommunications : http://www.awt.be/cgi/fic/fic.asp?fic=fic-fr-T8-6

Définition généraliste :

une base de données est une représentation informatique d'un ensemble d'objets ayant des caractéristiques communes, accessibles par des moyens électroniques, aussi bien pour son organisation, sa gestion, sa mise à jour, sa consultation.

Système de gestion de base de données et base de données ?
  • On appelle système de gestion de base de données SGBD ou DBMS, data base management system un logiciel qui permet de concevoir, de créer, de mettre à jour, de modifier et d'interroger une base de données.
  • Le système de gestion est composé de deux grands groupes de fonctionnalités : le premier groupe concerne la conception, la réalisation, l'administration de la base, et éventuellement la gestion des données. Ces fonctions sont pris en charge par un informaticien appelé administrateur de base de données.
  • Le deuxième grand groupe de fonctionnalités concerne l'utilisation de la base et comprend l'interrogation de la base et éventuellement la gestion des données.
Bases de données et banques de données.
  • Par abus de langage les informaticiens appellent base de données le système de gestion de base de données, qu'il contienne ou non des données.
  • Par abus de langage les utilisateurs de base de données appellent base de données le contenu de ces bases, voire la vision qu'ils ont de ces contenus.
  • Pendant quelques années les termes banques de données ont permis aux utilisateurs de désigner les contenus des bases de données. Aujourd'hui le terme banque de données est tombé en désuétude.

Gestion des données dans une base de données.

Comme dans tous système informatique les données peuvent être accessible en lecture, il s'agit d'une consultation, en écriture, il s'agit d'un enrichissement de la base, en suppression, en modification.

Or comme une base de données est rarement mono utilisateur, il y a lieu de définir les droits des utilisateurs pour préserver la cohérence des données et de la base. Dans le cas des premières bases de données et notamment toutes celles qui sont sur mini système et sur gros systèmes, la gestion de la base de données est dévolue à un administrateur de la base qui assure la cohérence et l'intégrité des données.

Dans le cas de base de données multi-utilisateurs sur des PC en réseaux, des bases de données simples comme Access supporte quelques dizaines d'utilisateurs en réseaux en définissant très précisément qui a les droits de consultation, qui a les droits de gestion et en fin qui a les droits d'administration.

Dans le cas de très grosses bases de données les systèmes de gestion de la base devient très complexe et sa gestion nécessite une compétence particulière, l'administrateur de base de données.

Un administrateur de bases de données ?
Appelé parfois Dba, data base administrator ou administrateur de base de données, c'est un informaticien qui connaît parfaitement la base, son modèle logique et physique. Il est capable d'assurer n'importe quelle opération sur la base de données, qu'il s'agisse d'intervention d'administration de gestion ou d'interrogation de la base. C'est lui notamment qui gère les droits des utilisateurs.

Généralités :

Caractéristiques communes des bases de données
  • Une base de données se présente sous la forme d'un ensemble de fichiers appelé tables.
  • Les tables peuvent être liées entre elles par des liens, par des relations hiérarchiques, par des relations de dépendances.
  • Une base de données garantit l'intégrité des données.
  • Une base de données garantit l'unicité des données.
  • Un système de bases de données comprend des index.

Les différents types de bases de données :

  • gestion de fichiers ou de tables.
  • base de données en réseau.
  • base de données hiérarchiques.
  • base de données relationnelles.
  • base de données objets.
  • base de données XML.
  • base de données déductives

Les logiciels de gestion de fichiers ou de tables ne peuvent être considéré comme une vraie base de données. L'exemple le plus courant est l'utilisation d'un tableur, par exemple Excel de Microsoft Corp. Certes un tableur permet d'organiser ses données, d'effectuer un certain de requête, par exemple un tri, ou un cumul, ou une extraction des données.

Les tables peuvent être liées entre elles grâce à des pointeurs qui pointent sur des index.

Mais les limites sont très vite atteintes et l'utilisation de ce genre de bases est à restreindre à quelques milliers d'enregistrements et à des opérations simples. Néanmoins dans le cadre d'une utilisation mono utilisateur ou en partage avec quelques utilisateurs, par exemple la gestion de documents de travail au sein d'une même équipe, un logiciel simple suffit.

 

Les bases de données en réseau offrent la possibilité d'établir une multiplicité de liens entre des groupes de données, organisées qui peuvent elles-mêmes être sur des serveurs physiques différents et distants.

Les concepts de bases sont l'atome (data item), qui est la plus petite unité de données.

Les atomes sont rangés par collection et forment un groupe ( data aggregate). Les groupes peuvent être simples ou répétitifs.

Enfin, un article est composé d'une collection d'atomes et de groupes. Les relations entre les articles sont des liens.

Les bases de données en réseau sont limitées car les liens entre les tables sont multiples et ne se prêtent pas facilement à une modélisation. Néanmoins elles permettent de mettre en relation des applications distantes. Elles s'appuient la plupart du temps sur des architectures de réseau réparties. Inconvénient, il ne faut pas oublier que les temps de réponses ne sont pas constants à cause des temps de transmission de l'information dans les réseaux.

Apparues dans les années 1970, elles évoluent encore notamment grâce à de nouveaux concepts de stockages de l'information en ligne.

Une base de données hiérarchique présente une structure en forme d'arborescence. Chaque niveau de l'arborescence est lui même réparti en plusieurs autres sous niveaux.

Le modèle hiérarchique est composé de champs, qui constitue la plus petite donnée, de segments, qui est une collection de champs. Enfin les segments sont organisés en arbre.

Ce genre de base se trouve fréquemment dans des applications vidéotex. Leur flexibilité est limitée parce que le chemin d'accès permet d'établir uniquement des liens entre les diverses catégories appartenant à la même hiérarchie. Elles sont apparues dans le milleu des années 1970. Elles sont parfaitement adaptées pour les applications vidéotex, pour le classement de données en nomenclatures, mais aussi pour tout type d'organisation hiérarchique comme les grandes entrerprises ou administration.

 

Les bases de données relationnelles sont les plus répandues depuis les années 1990.

Le concept a été introduit par E.F.Codd, qui travaillait au centre de recherche d'IBM (source bases de données de Georges Gardarin).

Le modèle relationnel est fondé sur la théorie mathématiques des relations. Ce modèle a été normalisé en 1986. Les éléments fondamentaux sont les objets. Ils sont reliés entre eux par des relations. Ces relations peuvent avoir des valeurs multiples. Elles sont définies par les cardinalités.

Elles offrent le grand avantage de lier les tables entre elles par des relations. Elles ont bénéficié de l'apport de la modélisation "Merise", méthode d'analyse informatique. Elles ont également bénéficié d'un langage de requête normalisé de 4ème génération, SQL, squery langage, largement utilisé par les plus grandes bases de données et relativement facile à appréhender pour les informaticiens et pour les utilisateurs aguerris.

Néanmoins le modèle Merise est aujourd'hui concurrencé par la modélisation objet.

Ce modèle a donné les bases de données les plus répandues telles que ORACLE, INGRES, DB2, SYBASE...

Les bases de données objets sont les plus récentes et sont apparues depuis les années 1995. Elles offrent le grand avantage de s'appuyer sur la modélisation objet et depuis quelques années sur la modélisation "UML". La modélisation objet apporte la notion de relation père-fils, la notion de polymorphisme et la notion de persistance.

L'élément de base est l'objet, défini dans une classe. Une classe peut avoir des sous-classes. Les sous-classes héritent des propriétés de la classe. C'est la notion d'héritage. Le polymorphisme est la faculté pour une opération d'avoir différentes signatures avec un code spécifique attaché à chaque signature. Enfin un objet persistant doit pouvoit continuer à exister au delà du programme qui le créé.

Les applications directes sont les jeux vidéo mais aussi toutes les transactions informatiques en mode déconnectées qui nécessite le maintien temporaire de la transaction. Elles offrent des caractéristiques semblables aux bases relationnelles, mais elles utilisent des structures plus complexes de données que l'on appelle des objets.

 

Les bases de données orientées XML sont les nouvelles bases de données émergentes. Complètement orientées Web, c'est-à-dire internet et intranet, elles ont le gros avantages d'être compatibles quelques soient les systèmes d'exploitation des utilisateurs, mais elles amènent également l'indépendance des données par rapport aux structures des données, ce qui permet entre autres à un même contenu de page Web de s'afficher avec des chartes graphiques différentes. Pour l'instant encore à l'étude et en expérimentation, elles commencent à être utilisées. Elles s'appuient entièrement sur les langages, produits et logiciels spécifiques à l'internet, tels ques PHP, SPIPE, ZOP... Pour l'instant elles sont réservées à des développeurs confirmés.

Les bases de données déductives sont une autre approche nouvelle pour les bases de base de données.

Complètement orientées langages utilisateurs, elles ont comme principal avantage de s'appuyer sur des SGDB existants sur lequel on rajoute une couche de langage accessible par les utilisateurs. Ce langage permet aux utilisateurs une approche déductive tout en respectant les syntaxes et règles syntaxiques imposées par le SGDB sur lequel s'appuie le SGBD déductif.

Bases de données en entreprises :

Les bases de données et les PC
Longtemps réservées aux informaticiens, l'arrivée de produits bureautiques tel que Dbase, Foxpro, Filemaker, Paradox, 4D mais surtout Access97, Access2000 puis Access 2002 de Microsoft Corp. ont permis à des générations d'utilisateurs non informaticiens, et en même temps à une multitude de petites entreprises de construire leurs propres bases de données. Néanmoins, Dbase reste le logiciel qui a vulgarisé les bases de données dans beaucoup d'entreprises.
Les bases de données en TPE et PME, et associations

Quelles bases de données pour une TPE ou une PME ?

Pour des petites entreprises mono sites et qui gèrent quelques milliers d'articles ou quelques dizaines de milliers de références, des bases de données bureautiques qui fonctionnent sur micro-ordinateurs sont suffisantes. Le nombre d'utilisateurs qui accèdent à la base est un critère à prendre en compte.

Nous trouvons des produits comme Access de Microsoft, DBase Plus de DBase Inc, Filemaker Pro...

Pour de petites associations nous pouvons prendre les mêmes solutions .

Les bases de données pour grandes entreprises

Pour des grandes entreprises, ou administrations qui gèrent plusieurs millions de références, de mouvements financiers,et qui sont répartis géographiquement sur plusieurs établissements, des systèmes de bases de données sophistiqués, installés sur des mini systèmes informatiques ou sur de gros systèmes informatiques sont nécessaires.

Dans certains domaines, comme les banques et les services financiers, l'armée, la recherche, le nucléaire, en bref les domaines sensibles et vitaux, les systèmes de bases de données sont particulièrement protégés et fiabilisés par redondances logiciels voire matérielles sur d'autres lieux géographiquement séparés. Les principales bases de données rencontrées sont des bases Oracle, des offres intégrées comme Lotus Domino, des bases INGRES, SYBASE, mais aussi SQL server de Microsoft...

Le cas des collectivités locales, grosses associations multi sites.

La plupart des collectivités locales dispose d'une système d'information répartie appelé SIG. De plus le raccordement des établissements scolaires à la charge des communes a très vite amené les collectivités locales à monter des systèmes d'information répartis qui s'appuie sur des bases de données. Dans le cas d'activités multiples et répartis sur des sites distants les bases de données bureautiques peuvent être amenées à être dépassées notamment dans le cas d'un grand nombre d'utilisateurs simultanés. Des bases de données sophistiquées comme Lotus Domino, qui comprend également un environnement de développement, des outils de communication, des logiciels de travail coopératifs sans oublier des interfaces de type Web, est capable d'assurer la quasi totalité des fonctionnalités attendues par une collectivité locale. Pour les associations comprenant des milliers d'adhérents les bases de données en ligne, accessible depuis un Minitel ou depuis internet constitue les moyens les plus fiables et les moins coûteuxà mettre en place.

Un environnement Oracle, basé sur des serveurs SUN développé avec des technologies Java peut également offrir les mêmes niveaux de prestations, mais au prix de développements plus lourds qu'une solution intégrée comme celle de Lotus Domino.

Entre les deux extrêmes, solutions bureautiques simples comme Access de Microsoft, et très complexes comme des bases de données Oracle sur serveur SUN et technologie Java, il existe de nombreuses autres solutions dont certaines en partie gratuite comme les produits libres.

Approche informatique :

Les modèles conceptuels, modèles logiques et modèles physiques.

Dans une base de données il y a indépendance des modèles conceptuels, des modèles logiques et de modèles physiques. Toutefois pour construire une base de données sophistiquées, il est nécessaire de passer par une phase d'analyse du ou des besoins avant de passer la phase réalisation. Cette phase d'analyse s'appuie sur des méthodes d'analyse : Merise, objet, UML...

Le modèle conceptuel est une représentation modélisée du système d'information cible.

Le modèle logique est la réalisation informatique des données concernées et de leur traitement.

Enfin le modèle physique est l'objet réel traité dans le système d'information. A un même modèle logique peut correspondre une multitude de modèle physique. Ces sont les vues.

Choix de bases de données : c'est en fonction du cahier des charges que l'informaticien va choisir la base de données cible. Les critères à prendre en compte sont les nombres d'enregistrements, le mode d'accès à ces données, le taux de renouvellement, la situation géographique des utilisateurs, la confidentialité des données, le taux de disponibilité des données, la valeur des données, l'intégrité des données, l'équipement des utilisateurs, les formats d'import, export, le langage d'interrogation, le nombre d'accès simultanée...

Approche utilisateur :

Les générations de sites Web : source AWT http://www.awt.be/cgi/fic/fic.asp?fic=fic-fr-T8-5

la première génération :

les sites statiques, développés essentiellement grâce à des outils de mise en page finalement assez proches d'un traitement de texte évolué (comme Dreamweaver ou Frontpage).

la deuxième génération :
les sites dynamiques, développés sur base des technologies de script côté serveur (ASP, PHP, CFM, JSP, etc). Ces technologies ont été mises au point par des éditeurs connus (Microsoft, Sun) ou issus du monde de l'Open Source (PHP) pou permettre la mise en oeuvre rapide de sites permettant de se connecter à une base de données ou d'offrir de l'interactivité au visiteur.

la troisième génération :
les sites dynamiques développés sur base de plate-formes professionnelles proposées par de grands acteurs informatiques (IBM, Microsoft, Oracle, SUN, etc). On peut considérer qu'il s'agit là d'une sorte de réappropriation du Web par les grands acteurs informatiques classiques.

A partir de la troisième génération nous pouvons constaté que : le navigateur Web est devenu l'interface universelle de toutes applications informatiques, qu'elles soient internet ou intranet. L'interfaçage d'applications informatiques déjà existantes par des API et des technologies de types Web laisse progressivement la place à des systèmes d'information tout Web et les technologies XML vont marquer la nouvelle génération d'internet.

Architecture :

Architecture client serveur
Architecture 3 tiers................
Architecture répartie.............
Quelques produits repères :

Microsoft Access

(source http://www.developpeurs.info/content/database/chap5.php)

Microsoft Access est un système de gestion de bases de données relationnel, destiné aux TPE, aux PME, et au grand public initié. Il est commercialisé seul ou dans les suites bureautiques professionnelles. Il est relativement simple d'utilisation.

Un utilisateur totalement débutant en base de données peut appréhender le produit à l'aide du cours en ligne de Michel Defawes, professeur à l'IFAGE, Institut de Formation pour Adultes de Genève, http://www.info-3000.com/access/supportdecours/index.htm (attention 61 leçons...)

Il dispose d'une interface graphique permettant notamment de générer des requêtes d'extraction de données. Il dispose d'assistants de requêtes, et une technologie propriétaire appelée QBE, query base extract. Depuis la version ACCESS 2000 puis 2002, l'interface est devenu un navigateur Web.

Comme tout produit bureautique Access est cependant peu performant pour des bases très volumineuses. Attention, il n'est pas adapté à des applications multi plates-formes Il est compatible uniquement avec les systèmes d'exploitation Microsoft.

 

Présentation : extrait de "http://www.microsoft.com/france/access/decouvrez/bref.asp"

  • Access 2002 constitue un système de gestion de bases de données simple d'utilisation pour gérer et partager l'information. Access 2002 propose une vaste gamme d'outils de gestion des données mais présente également une intégration plus étroite avec le Web. Cela facilite grandement le partage des données sur une grande variété de plates-formes.
  • Partage de l'information sur le Web : Access 2000 vous permet de partager facilement l'information via l'intranet de votre entreprise mais également d'héberger une base de données dans le navigateur. Cela permet d’allier les avantages d'une base de données à la puissance du Web.
  • Outils puissants pour la gestion de l'information : Les gros utilisateurs et développeurs peuvent désormais créer des solutions combinant la facilité d'utilisation de l'interface d'Access (client) et l'évolutivité et la fiabilité de SQL Server

Microsoft SQL Server

(source http://www.developpeurs.info/content/database/chap5.php)


Microsoft SQL Server est une solution SGBDR professionnelle.

Elle est destinée à des applications volumineuses et complexes. SQL Server possède des fonctions client/serveur évoluées lui permettant d'être utilisé dans de grosses infrastructures informatiques.

Le langage utilisé est SQL.

Tout comme Access SQL Server peut facilement est interfacé avec les principaux langages de programmation comme le C++, l'ASP notamment grâce à la suite Visual Studio destinée aux développeurs. Cette solution est plus onéreuse que son homologue grand public/PME (Access).

MySQL

(source http://www.developpeurs.info/content/database/chap5.php)

MySQL est une base de données récente créée pour le Web. Elle est distribuée en Open Source, c'est à dire qu'elle est gratuite.

Elle donne la possibilité aux développeurs expérimentés de la modifier à volonté pour étendre ses capacités.

Ce SGBDR est destiné à un public d'informaticiens. Pour des gros volumes de données et interfacé avec le langage de script PHP, il est constitue actuellement l'une des solutions de bases de données internet et intranet les plus répandues du marché.

MySQL est très simple d'utilisation et s'interface parfaitement avec les langages orientés Web et particulièrement le PHP.

Oracle

Oracle est la base de données, la plus représentée dans les grandes entreprises françaises. C'est aussi l'un des SGBDR le plus vendu au monde et celui qui offre le plus de souplesse d'intégration. En contre partie ce n'est pas lui le plus convivial ou celui qui offre le plus d'outils intégré d'origine. C'est aussi une plate-forme supportée par pratiquement tous les systèmes d'exploitations.

Il reste le SGBDR le plus fiable et le plus abouti. Il est utilisé dans les grosses entreprises grâce à sa fiabilité sur des bases très volumineuses. Il supporte sans problème de multiples accès concurrents. Il est scalable facilement. Néanmoins le prix relativement élevé le rend accessible qu'à des grosses entreprises.

 

Lotus

Lotus est un système d'information complètement intégré leader sur son marché.

Il intègre des bases de données propriétaires réparties, protocole NTFS, des outils de communications, un environnement de travail partagé, des outils de développements intégré en script et html, un serveur Web appelé Domino. Son environnement parfaitement intégré permet une utilisation de bases de données réparties de manière simple tout en garantissant la sécurité et l'intégrité des données. Le produit reste dans la gamme des logiciels chers. Lotus a été racheté par IBM depuis quelques années.

Introducing Lotus Notes 6 : http://www.lotus.com/products

dBASE

C'est la base de données bureautique la plus ancienne. Elle a été lancé au début des années 1980 par la socéié Borland. Dbase est devenu un standard de fait et le format dBase est aujourd'hui un des formats d'échanges de bases de données le plus répandu. La version la plus diffusée a été dBase IV avant de stagner pendant plusieurs années. Aujourd'hui le produit dBase plus a repris la relève depuis 2ans et profite de la standardisation des interfaces de types navigateurs web pour réapparaître sur le marché.
introduction en Flash : http://www.dbase.com/Docs/FlashMovies.htm

Autres produits :

Parmi les standards incontournables disponibles sur le marché, on peut citer:

Pour des applications légères : Access, Filemaker, Paradox, etc
Pour des applications professionnelles plus importantes : Oracle, DB2, SQL Server, MySQL, Sybase, Informix, etc

Parmi les produits libres en open source : MySQL, PHP, PostgreSQL

Bibliographie :