Site A.T.L.A.N.T.I.C-83
COURS = Initiation aux bases de données (Chapitre_2) - VERSION: 1.0 (M.A.J: 26/11/2017)
- AUTEUR(s): Bernard GIACOMONI
Ecran large mobile
Retour
sommaire cours

II.GENERALITES SUR LES BASES DE DONNEES

II.1.DEFINITIONS:


II.1.1.SYSTÈMES D'INFORMATION:

Le SYSTÈME D'INFORMATION d'un organisme quelconque (entreprise, administration, etc.) peut être divisé en deux composants distincts :
  • L'ORGANISATION HUMAINE, qui rassemble tous les collaborateurs de cet organisme qui contribuent au recueil, à la présentation, à la préservation, à l'élaboration, au traitement et à la diffusion interne et externe des informations utiles au fonctionnement de cet organisme ou engendrées par son activité;
  • Le SYSTÈME INFORMATIQUE, qui offre à ces collaborateurs les outils informatiques dont ils ont besoin pour assurer les missions énoncées ci-dessus.


II.1.2.SYSTÈMES INFORMATIQUES:

Il s'agit d'un ensemble de moyens informatiques (postes de travail, serveurs, moyens d'impression, moyens de communication, logiciels, etc.). Ces différents composants matériels sont toujours connectés entre eux au moyen d'un ou plusieurs RÉSEAUX INFORMATIQUES. Ce RESEAU (ou cet ensemble de réseaux) constitue le COMPOSANT MATÉRIEL CENTRAL de tout système informatique.
Le système informatique permet aux collaborateurs, par l'intermédiaire de POSTES DE TRAVAIL INFORMATIQUES:
  • D'une part d'accéder aux données ou aux services informatiques dont ils ont besoin pour réaliser leur tâche;
  • D'autre part, de sauvegarder les résultats de leurs travaux ou de les mettre à disposition des autres collaborateurs ou des organismes collaborant avec le leur.
L'ensemble des TRAITEMENTS INFORMATIQUES supportés par le système informatique utilise une BASE DE DONNÉES (ou un ensemble des bases de données), qui stocke les données RÉMANENTES utilisées ou produites par l'organisme. Ces données constituent un PATRIMOINE IMMATÉRIEL indispensable au fonctionnement de l'organisme. C'est une partie de son capital, qu'il convient de protéger de la destruction (perte d'informations non sauvegardées), de la corruption (erreurs de saisie, intrusions malveillantes, etc.) et du piratage (vol de données protégées).

REMARQUE: en informatique, une donnée est dite rémanente lorsqu'elle garde une pertinence après la fin du processus qui l'a créée (pour un site web, il s'agit des données qui doivent être conservées lorsqu'on quitte une page web).
Un exemple de données rémanentes est le couple (identificateur, mot de passe) d'un client d'un site marchand: les données "identificateur" et "mot de passe" doivent bien évidemment être conservées après la fin du processus de création du compte et au moins jusqu'à la destruction du compte client.

C'est cet aspect stratégique qui justifie le recours à des SYSTÈMES DE GESTION DE BASES DE DONNÉES FIABILISÉS, STANDARDISÉS et SÉCURISÉS pour stocker, gérer et utiliser ces données. Ces SGBD sont des PROGICIELS indépendants des applications utilisatrices.


II.1.3.BASES DE DONNÉES:

Une Base de Données (BD) est un ensemble de données STRUCTURÉES et ORGANISÉES ENTRE ELLES de façon logique. Les quatre principales caractéristiques que cette organisation doit posséder sont :
  • L'UNICITÉ des données : une donnée ne doit figurer qu'une seule fois dans la BD;
  • L'ABSENCE D’AMBIGUÏTÉ entre les données constituant la BD: chaque donnée doit pouvoir être repérée sans risque de confusion avec une autre donnée de la BD;
  • La COHÉRENCE des données entre elles: la valeur d'une donnée de la BD ne peut être en contradiction avec la valeur d'une autre donnée de la BD;
  • L'INTÉGRITÉ des données (Une donnée ne peut être altérée que par l'intervention VOLONTAIRE d'utilisateur habilités à le faire).

II.1.4.SYSTEMES DE GESTION DE BASES DE DONNÉES:

Un SYSTÈME DE GESTION DE BASES DE DONNÉES (SGBD) est un PROGICIEL qui permet de gérer et d'utiliser des bases de données, c'est à dire:
  • CRÉER une base de données;
  • ADMINISTRER sa structure interne et son contenu;
  • La DÉTRUIRE;
  • Donner aux utilisateurs la possibilité d'en EXTRAIRE ou d'y INSÉRER des INFORMATIONS;

SCHÉMA DE PRINCIPE D'UN SGBD:

Menu de commande de l'animations

Schéma de principe d'un SGBD
COMMENTAIRES:
  • Un Système de Gestion de Bases de Données (SGBD) est un PROGICIEL qui permet de gérer des BASES DE DONNÉES stockées sur un support de masse (ici, un disque dur);
  • Une Base de Données se présente sous la forme d'un certain nombre de fichiers structurés et organisés représentant la structure et le contenu de celle-ci;
  • Les applications utilisatrices communiquent avec le SGBD par l'intermédiaire d'une bibliothèque de fonctions appelée A.P.I (Application Programming Interface);
  • Le SGBD se charge d'interpréter les messages (REQUÊTES) envoyés par les logiciels UTILISATEURS via l'A.P.I et de réaliser dans la BD les actions correspondantes à ces requêtes. Celles-ci peuvent concerner la gestion de la structure de la BD, la mise à jour de son contenu ou l'extraction de données de cette BD;
  • Le SGBD se charge de tous les problèmes inhérents à l'accès physique aux fichiers constituant la base de données;
  • Le SGBD se charge également de transmettre aux UTILISATEURS les comptes-rendus des actions effectuées (par exemple, les données extraites par une requête de lecture de la BD).


II.2.REPRÉSENTATION PHYSIQUE ET PRINCIPES DE FONCTIONNEMENT:


Physiquement, une BASE DE DONNÉES se présente comme un GROUPE DE FICHIERS renfermant des informations. Cependant, une base de données se différencie d'un groupe de fichiers indépendants les uns des autres (fichiers dits "A PLAT") par les caractéristiques suivantes :
  • Les données contenues dans un fichier donné de la BD sont reliées entre elles et à celles des autres fichiers par des RELATIONS LOGIQUES (Organisation STRUCTURÉE);
  • Une donnée ne doit être déclarée qu'une seule fois et dans un seul fichier de la BD, ceci évitant les redondances et les incohérences (UNICITÉ des données);
  • Chacune des données figurant dans les fichiers de la BD doit pouvoir être identifiée SANS AMBIGUÏTÉ;
  • Une donnée contenue dans l'un quelconque des fichiers de la BD ne peut en aucun cas créer une contradiction avec une autre donnée de la BD  (c'est le critère de COHÉRENCE).
  • Une donnée quelconque de la BD ne peut faire référence à une autre donnée qui ne figurerait pas dans les fichiers de la BD (Critère d’INTÉGRITÉ).

DIFFÉRENCES ENTRE FICHIERS A PLAT ET BASES DE DONNÉES:

Menu de commande de l'animations

Différence entre fichiers à plat et bases de données

COMMENTAIRES:

La gauche du schéma représente deux fichier non gérés par une base de données (fichiers "à plat"):
  • L'un stocke les informations relatives aux commandes effectuées par les clients;
  • L'autre représente le fichier des clients;
  • On s'aperçoit que certaines informations relatives à une commande sont également présentes dans le fichier des clients;
  • Ici, par exemple, l'adresse de chaque client est systématiquement répétée dans les deux fichiers;
  • Ceci entraîne entraîne évidemment un risque d'incohérence:
  • Ici, par exemple, la donnée adresse du client n°2 (en rouge) est présente dans les deux fichiers mais n'a pas la même valeur dans ces deux fichiers;
La droite du schéma représente deux fichiers d'une base de données:
  • Le fichier de gauche stocke comme précédemment les informations relatives aux commandes effectuées par les clients;
  • Le fichier de droite stocke comme précédemment les informations relatives aux clients;
  • La différence avec le système de fichiers à plat réside dans le fait que le fichier commande ne contient pas ici de données client: il ne contient qu'une RÉFÉRENCE aux données clients stockées par le fichier clients;
  • De ce fait, il ne peut plus y avoir de contradiction sur la valeur d'une donnée, ni de confusion sur sa nature;
  • Cette référence se fait par un mécanisme de POINTEURS gérés par la base de données. Ces pointeurs sont appelés Clefs primaires ou Index
  • Ce sont ces pointeurs qui matérialisent les relations logiques entre les fichiers.


II.3.DIFFÉRENTS TYPES DE BASES DE DONNÉES:


II.3.1.BASES DE DONNÉES HIÉRARCHIQUES:

Les bases de données HIÉRARCHIQUES organisent les données suivant une structure ARBORESCENTE : chaque donnée à une donnée MÉRE (et une seule) et des données FILLES (par exemple, le système de fichiers de Window ou la classification des espèces animales):
Base de données hiérarchique
Les bases de données HIERARCHIQUES définissent des PARCOURS FIXES PRÉDÉFINIS entre les entités qui les composent. On dit qu'elles sont NAVIGATIONNELLES. Ce type de bases de données est actuellement pratiquement abandonné en informatique pour gérer des données en constante évolution comme peuvent l'être, par exemple, les données "clients", "produits" ou "commandes" d'une application commerciale.

II.3.2.BASES DE DONNÉES RÉSEAUX:

Les bases de données RESEAU définissent également des PARCOURS FIXES définis par des liens entre les entités qui les composent:
Base de données réseaux
Ce type de base de données a connu des applications importantes dans les dernières décénies du XXeme siècle, supportées essentiellement par le langage CODASYL. Cependant, ces applications ont décliné depuis au profit des bases de données dites "relationnelles", beaucoup plus souples d'emploi.

II.3.3.BASES DE DONNÉES RELATIONNELLES:

Contrairement aux précédentes, les bases de données RELATIONNELLES permettent de définir ou redéfinir dynamiquement les relations existant entre les entités. Un modèle RELATIONNEL permet de parcourir la structure des données en empruntant des chemins non prédéfinis, constitués en dynamique par des REQUÊTES. Celles-ci sont associées à des LANGAGES DE REQUÊTES qui permettent de manipuler des objets informatiques appelés TABLES (tableaux de données). Dans ce modèle, ces tables peuvent représenter deux sortes d'objets conceptuels appelés ENTITÉS et RELATIONS suivant le schéma ci-dessous:
Base de données relationnelles
Le MODÈLE RELATIONNEL est actuellement (années 2010) le plus utilisé.

II.3.4.BASES DE DONNÉES OBJETS:

LES BASES DE DONNÉES OBJETS sont des évolutions des bases de données relationnelles destinées à traiter des données complexes comme on peut en rencontrer dans certains domaines d'activités.
En effet, les différents S.G.B.D développés dans les années 1980 et 1990 traitaient exclusivement des données SCALAIRES, à une seule dimension (nombres entiers, nombres réels, etc.), des chaînes de caractères ou des données logiques (files de bits). Or, certaines applications spéciales, comme les applications géographiques (cartographie, 3D, GPS, etc.), travaillent essentiellement sur des données VECTORIELLES. Ces applications pourraient se contenter de bases de données "scalaires", mais leurs performances en seraient beaucoup diminuées. De ce fait, la plupart des éditeurs de bases de données ont progressivement ajouté à leurs produits la possibilité de gérer de telles données complexes (en général, ces ajouts se font par la définition de données du type "tableaux de données").
Les bases de données prenant en compte ces données complexes sont appelées BASES DE DONNÉES OBJETS. Il peut s'agir soit de bases de données classiques munies d'extensions adéquates (MySQL, ORACLE, postgre, etc.), soit de produits spécifiques comme POSTGIS.


II.4.MODÈLES D'ANALYSE DES BASES DE DONNÉES RELATIONNELLES:


II.4.1.GENERALITÉS:

Une base de données RELATIONNELLE peut être décrite selon trois niveaux d'analyse :
  • Le MODÈLE CONCEPTUEL (MCD);
  • LE MODÈLE LOGIQUE (MLD);
  • LE MODÈLE PHYSIQUE (MPD).
Ces trois niveaux d'analyse ont été formalisée à l'origine par la methode MERISE, spécialisée dans l'analyse, la conception et la réalisation de SYSTÈMES D'INFORMATIONS: leur portée dépasse donc la simple conception de bases de données informatiques.

II.4.2.LE MODÈLE CONCEPTUEL DES DONNÉES (MCD):

Le MODÈLE CONCEPTUEL DES DONNÉES (MCD) a pour but d'élaborer une représentation du SYSTEME D'INFORMATION auquel la BD appartient à la fois rigoureuse et facilement compréhensible au niveau de l'UTILISATEUR. Le système d'information est décrit à l'aide de concepts appelés ENTITES et ASSOCIATIONS:
  • Les ENTITES définies représentent les données manipulées par système;
  • Les ASSOCIATIONS représentent les relations existant entre ces entités. Ces relations peuvent être créées, modifiées et détruites dynamiquement.

II.4.3.LE MODÈLE LOGIQUE DES DONNÉES (MLD):

Le MODÈLE LOGIQUE DES DONNÉES (MLD) a pour but de décrire la structure logique des données. Par rapport au niveau CONCEPTUEL, le TYPE de données est précisé à ce niveau. De ce fait, le modèle logique dépend du type de base de données utilisé. En revanche, il est INDÉPENDANT DU LANGAGE DE PROGRAMMATION qui pourra être utilisé par le niveau physique. Le modèle logique décrit les entités et les association sous la formes de TABLES (Tableaux à m lignes et n colonnes).

II.4.4.LE MODÈLE PHYSIQUE DES DONNÉES (MPD):

Le MODÈLE PHYSIQUE DES DONNEES (MPD) est représenté par l'implémentation du modèle logique dans le SGBD choisi. Il s'agit donc de la traduction du modèle logique en langage de programmation (nous verrons plus loin que ce langage est constitué de REQUÊTES adressées au SGBD.
REMARQUE:
Ces trois niveaux correspondent sensiblement aux trois phases classiques de la gestion technique de projets logiciels :
  • MODELE CONCEPTUEL <=> Spécification du BESOIN;
  • MODELE LOGIQUE <=> Conception Préliminaire;
  • MODELE PHYSIQUE <=> Conception détaillée.




Retour accès aux cours Retour sommaire cours
FormateurGaucheRepos FormateurGaucheActif FormateurDroitRepos FormateurDroitActif