BTS CG P7 fiabilisation de l'information et du SI

Comprendre les bases de Données et les systèmes de traitement de l’information


  1. De la base de données au système de gestion de la base de données. 
    1. La base de données
      1. Les informations non structurées
      2. Les informations structurées
      3. Une structuration en données élémentaires
      4. Le rôle de la BDD
    2. Les système de gestion de base de données (SGBD)
      1. Principes de fonctionnement
    3. Les modèles de structuration des bases de données : Focus sur les indexations hiérarchiques et relationnelles
      1. L’indexation
      2. Le modèle hiérarchique
      3. Le modèle relationnel
        1. La clé primaire
        2. Les attributs
        3. Les enregistrements
        4. La clé étrangère
  2. Les systèmes de gestion de base de données relationnelles (SGBDR) et le langage SQL
    1. Les systèmes de gestion de base de données relationnelles (SGBDR)
    2. Le langage SQL
      1. Les différents types d’instruction
        1. Le langage de définition de données (LDD)
        2. Le langage de contrôle des données (LCD)
        3. Le langage de manipulation des données (LMD)
        4. Le langage des contrôle des transactions (LCT)

De la base de données au système de gestion de la base de données. 

La base de données

Une base de données (BDD) est une collection de données structurées, semi-structurées, brutes ou de ou d’informations organisées et indexées afin d’être facilement consultables, gérables et mises à jour.

Les données d’une BDD peuvent être stockées sous une forme structurée ou sous la forme de données brutes peu structurées, localisées dans un même lieu et sur un même support informatisé, ou répartie sur plusieurs machines à plusieurs endroits.

Les informations non structurées

Les informations non structurées ou données non structurées sont des données représentées ou stockées sans format prédéfini. Ce sont les informations les plus faciles à lire pour un humain. Par exemple, une adresse telle que M Damien Larivière, 34 rue Ruisseau, 62300 Eauneuve. Cette adresse est facile à lire pour un humain mais ne permet aucun traitement, comme la sélection de clients en fonction de leur lieu de résidence.

Les informations structurées

Les informations structurées sont des informations qui figurent dans les bases de données et les langages informatiques, disposées de façon à être traitées automatiquement et efficacement par un logiciel. Elles possèdent un format prédéfini (JJ-MM-YYYY pour une date, HH:MM:SS pour une heure par exemple, %, monétaire, comptabilité, nombre etc), et un attribut.

Ci-dessous, la même adresse. Chaque champs renvoie à une information déterminée (nom, prénom, adresse)

Une structuration en données élémentaires

Une donnée est dite élémentaire lorsqu’elle n’est pas obtenue du croisement d’autres données. Elle nécessite donc un niveau de décomposition suffisant. Par exemple, le CA mensuel peut être considéré comme une donnée élémentaire, contrairement au CA trimestriel qui sera issu d’un traitement, par le calcul des différents CA mensuels.

Toujours dans le même exemple, l’adresse est à nouveau décomposée, on y a ajouté les attributs code postal, ville, ce qui permettra de sélectionner les clients par Ville ou Code postal.

Le rôle de la BDD

Les modèles de structuration des bases de données : Focus sur les indexations hiérarchiques et relationnelles

L’indexation

En informatique, un index est une structure de données utilisée et entretenue par le système de gestion de base de données (SGBD) pour lui permettre de retrouver rapidement les données.Il existe différentes typologies de SGBD, tels qu’en organisation hiérarchiques, en réseau, relationnels, orientés objet, objet-relationnels, XML/RDF ou mixtes. 

Le modèle hiérarchique

Le modèle d’index le plus utilisé est le système en arbre (arborescence), aussi appelée B Tree. Dans cette logique, la structure de la BDD reprend celle d’un arbre. Un tronc, puis des branches, puis des feuilles, chaque nœud correspondant à une étiquette. Ainsi, de manière simplifiée, pour une BDD gestion client, on trouve en tronc l’étiquette client, puis en première arborescence le numéro client et le type de client. Troisième niveau, les feuilles, le numéro client est décomposé ensuite en Nom, Adresse, Code postal etc.  le type de client en particulier/professionnel, ou selon son statut (ambassadeur, normal, VIP par exemple pour un programme de fidélité).

Sa structuration doit permettre ainsi qu’à chaque fois que de nouvelles informations sont ajoutées, les données sont mises à jour, et éventuellement supprimées (changement d’adresse, de numéro de carte de crédit etc). 

Le modèle relationnel

En informatique, une base de données relationnelle est une base de données où l’information est organisée dans des tableaux à deux dimensions (colonnes et lignes) appelés relations ou tables, Une base de données consiste en une ou plusieurs relations, reliées entre elles selon une organisation de réseau. 

Les relations sont structurées par une clé primaire et des attributs. 

La clé primaire

La clé primaire est un attribut de la relation qui sera mentionnée en premier dans la relation et qui sera repérée sans ambiguïté par le logiciel. Une clé primaire ne doit présenter aucun doublon. On retient donc souvent un numéro ou un code spécifique.

Les attributs

Les attributs correspondent aux champs des colonnes (le type de données qui y sont intégrées. CpCli sera obligatoirement un nombre correspondant au code postal)

Les enregistrements

Les données sont appelées enregistrements. Par exemple, la donnée  de la colonne D est une adresse, en ligne 18,  correspondant au client 2319. Cet enregistrement est affecté à un attribut et à une clé primaire. 

En conclusion, ma relation CLIENT est composée des attributs NumCli, NomCli, PrenomCli,AdrCli, CpCli, VilleCli, EmailCli, TelCli. 

La clé primaire sera le numéro client

Elle sera formalisée ainsi : CLIENT (NumCli, NomCli, PrenomCli,AdrCli, CpCli, VilleCli, EmailCli, TelCli)

La clé étrangère

Une clé étrangère dans une relation permet le lien avec une autre relation. Ainsi, ma relation facture intégrera la clé primaire de la relation CLIENT pour que les deux bases puissent communiquer. Chaque relation doit être liée à une autre pour qu’on puisse ainsi exploiter le modèle relationnel.

Le modèle le plus utilisé est le modèle relationnel, on parle alors de système de gestion de base de données relationnel. (SGBDR).

Les systèmes de gestion de base de données relationnelles (SGBDR) et le langage SQL

Les systèmes de gestion de base de données relationnelles (SGBDR)

La base de données est ainsi un « conteneur », une boîte dans laquelle sont stockées des données (chiffres, dates ou mots), c’est le pilier du système d’information, car elle est à l’origine la collecte de données, le stockage, le traitement et la diffusion d’informations, qui sont les fonctions du système d’information.

Un SGBDR permet de créer des tables, d’établir des liens entre ces tables et d’exploiter la base de données (mettre à jour, rechercher, sélectionner, trier, transformer… les informations de la base de données). Il est dédié à l’exploitation de base de données relationnelles.

Le SGBDR est un logiciel système servant à stocker, à manipuler ou gérer, et à partager des données dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des informations. .

Principes de fonctionnement

Concrètement, le SGBD est une API (interface logiciel qui permet de connecter un logiciel ou service à un autre), qui est l’intermédiaire entre la BDD et son utilisateur. L’API vise à favoriser la communication humain/machine, en masquant la complexité des opérations effectuées lors du traitement des données. 

Le retraitement de ces données est issu généralement d’une combinaison d’opérations de recherches, de choix, de tri, de regroupement, et de concaténation (fait d’assembler des données de champs différents côte à côte, comme le prénom “Djamil” d’un champs Prénom et le Nom “Durand” d’un champs Nom pour établir l’identité du client “Djamil Durand”. 

Le retraitement de données brutes permet ainsi d’élaborer une information comme la liste des clients domiciliés dans le Pas de Calais, ou la liste des clients VIP si on reprend l’exemple précédent. 

Les SGBD sont partout : lorsque vous retirez du cash d’un distributeur, lorsque vous réservez en ligne, lorsque vous vous envoyez un snap, que vous regardez une vidéo en streaming. D’un point de vue professionnel, les SGBD sont utilisés dans les logiciels d’inventaire, les progiciels de gestion intégrés (PGI) et la plupart des sites web. 

Les SGBD sont équipés de mécanismes qui effectuent des vérifications à l’insu de l’utilisateur, en vue d’assurer la réussite des transactions. La transaction est une opération unitaire qui transforme le contenu de la base de données d’un état A vers un état B. Le SGBD garantit ainsi que les modifications liées à la transformation sont effectuées complètement ou pas du tout. 

Le SGBD permet également la concurrence, c’est-à-dire que la base de données puisse être manipulée par plusieurs personnes en même temps sans que cela n’engendre d’incohérences.

Le SGBD assure également la sécurité des données en autorisant ou en interdisant l’accès à des données, ou en limitant la possibilité de lire certaines données ou encore de les modifier.

Le langage SQL

La mise en œuvre d’un SGBDR s’effectue grâce sur un langage particulier qui sert d’interface entre l’homme et le langage machine : le langage SQL. 

Le langage SQL se présente sous la forme d’instructions (ou requêtes), constituées de mots clés (écrits en anglais), indiquant une action (un ordre) que le SGBDD doit effectuer sur la base de données. 

Les différents types d’instruction

Les instructions (ordres, commandes) sont classées en quatre catégories : 

Le langage de définition de données (LDD)

Le langage de définition de données correspond aux instructions permettant de créer et de modifier la structure de la base de données. On y retrouve ainsi les instructions permettant d’ajouter une table, un utilisateur, un index, ou encore de les modifier ou de les supprimer. 

Exemples : CREATE (pour créer une table, un utilisateur ou un index), ALTER (pour modifier), DROP (pour supprimer).

Le LDD permet également de définir des contraintes d’intégrité: PRIMARY KEY pour définir une clé primaire, NOT NULL pour imposer une valeur, donc de saisir des données pour remplir un  champ, UNIQUE pour imposer que les toutes les valeurs d’une colonne soient différentes, VARCHAR pour indiquer le nombre de caractères, DATE pour les formats

Par exemple, pour la création d’une table Client, dont le numéro client est composé de 4 caractères

Le langage de contrôle des données (LCD)

Le langage de contrôle des données vise à gérer les droits sur les objets de la base, c’est-à-dire contrôler l’accès des utilisateurs aux données et les autorisations dans leur manipulation (consultation, mise à jour des données, modification de la structure etc…)  

Exemples : GRANT (pour autoriser des opérations à certains utilisateurs), DENY (pour interdire), REVOKE (pour supprimer une autorisation).

Le langage de manipulation des données (LMD)

Le langage de manipulation des données regroupe l’ensemble des instructions qui permettent d’interroger et de modifier (ajouter, supprimer) les données de la base de données.  

Exemples : SELECT (pour rechercher des données), UPDATE (pour modifier des données), INSERT INTO (pour ajouter des données), DELETE FROM (pour supprimer des données)

Le langage des contrôle des transactions (LCT)

Une transaction est une séquence d’opérations de lecture ou de mise à jour sur une base de données, se terminant par la validation de toutes les opérations effectuées pendant la transaction, ou leur annulation.  En SQL, on retrouve ainsi les fonctions 

COMMIT : validation de toutes les opérations effectuées par la transaction;

ROLLBACK : annulation de toutes les opérations effectuées par la transaction.

Une transaction est différente d’un processus. Un processus peut en effet être découpé en plusieurs transactions, chacune étant déterminée par le commit ou le rollback de la transaction précédente.