Introduction aux bases de données relationnelles

*En informatique, une base de données est un lot d’informations stockées dans un dispositif informatique. Les technologies existantes permettent d’organiser et de structurer la base de données de manière à pouvoir facilement manipuler le contenu et stocker efficacement de très grandes quantités d’informations. wikipédia *

Peu importe le support utilisé pour rassembler et stocker les données (papier, fichiers, etc.), dès lors que des données sont rassemblées et stockées d’une manière organisée dans un but spécifique, on parle de base de données.

Pour introduire un système de base de données relationnel, nous pouvons nous demander en dans un premier comment faisait-on avant ?

Autrefois, les informations étaient stockées de manière physique et souvent complexe à organiser et à retrouver.
Comme sur l’image suivante, nos bases de données étaient de très vastes espaces de stockage des ouvrages, l’information était donc quelque part par là … Bien qu’une bonne organisation du rangement facilitait la recherche grâce à un classement par nature connexes (exemple : Type, style, auteur …), le temps pour retrouver une information était long et nécessitait une intervention humaine qualifiée. Comme une gigantesque bibliothèque !

Constat :

– Nous baignons dans un tourbillon d’informations

– Nous recevons des informations de notre environnement

– Nous transmettons des informations à notre environnement

– Les informations prennent la forme de données (signes mémorisés et

Véhiculés sur un support matériel ou immatériel)

Question : comment stocker, partager et traiter ces données ?

Réponse : – Autrefois dans une bibliothèque (ancienne forme de base de données),
– Aujourd’hui dans une base de données


Une BD sans informatique est constituée:

  • d’un ensemble de fichiers,
  • des liens logiques entre ces fichiers.

Chaque fichier est composé d’une collection de fiches. Une fiche comporte un ou plusieurs renseignements sur un élément (objet ou personne) de la BD. Chacun de ces renseignements (appelés aussi champs) est une information indivisible.

Base de données avec informatique :

La définition d’une BD est la même que précédemment. Par contre, les concepts utilisés en informatique sont un peu différents. Ces derniers dépendent du modèle de représentation des données considéré. Dans le cadre de ce cours, nous considérerons le modèle relationnel . Dans ce modèle, une BD est définie par:

  • un ensemble de tables (Ex: une table pour les vols; tel vol part de tel aéroport à telle heure, arrive à tel autre aéroport à telle heure, a tel équipage, sur tel avion, etc.). Une table est une collection d’articles (Ex: un vol). Un article est un recueil de champs. Un champ est une information atomique (Ex: code d’un vol).
  • un ensemble de relations entre ces tables (Ex: tel pilote assure tel vol)

Petite illustration :

Une fiche client autrefois (ou sans informatique) :

  • Nous avons toute une suite d’informations qui nous permettent d’identifier de façon détaillée un client, une commande et un produit (numéro de client, commande n°, n° produit).
  • Nous avons des liens entre ce client et cette commande
  • Nous avons un état du stock de produit, la somme du chiffre d’affaire réalisé.

Alors, comment les ranger dans un ordinateur ?

Plusieurs solutions s’offrent à nous.

Précédemment, nous avons vus qu’une base de données était constituée de table avec des liens entre elles (basiquement!). Nous allons donc rester dans notre exemple du client GILLET, et réorganiser tout ça par tableaux.

Nous avons donc dans ce cas quatre tableaux qui chacun designent une entité de notre bon de commande :

– Les données de la commande (numéro de commande, numéro du client qui a passé la commande, date de la commande)

– Les données client (numéro de client, nom, adresse, localité)

– Les données des détails (Numéro de la commande, numéro du produit, quantité commandée)

– Les données des produits (Numéro du produit, Libelle du produit, son prix)

Quelles sont ces couleurs ? Nous avons sous les yeux les liens qui lient les tableaux entre eux …

Autrement appelé des clés primaires et étrangères !!

Définitions :

Chaque enregistrement doit pouvoir être identifié de manière unique. La clé primaire d’une table doit se placer sur des champs qui permettent d’identifier chaque ligne de la table.
Dans notre cas, le numéro de commande est clé primaire de la table commande (elle identifie par un code une commande et une seule ! )

Une clé étrangère identifie une colonne d’une table comme référence d’une colonne d’une autre table (la table référencée). Une contrainte de clé étrangère permet ainsi d’établir des liens entre plusieurs tables.

Dans notre cas, restons toujours sur le champ numéro de commande :
Il est présent en qualité de clé étrangère de la table détails. Il pourra nous servir à effectuer une requête dans la table détails en spécifiant un numéro de commande hébergé dans la table commande.

* L’ensemble constitué d’une clé primaire et d’une clé étrangère sert à établir des relations entre tables. Il s’agit d’un des principes fondamentaux des bases de données relationnelles.*

Donc, Tables composées de champs + relations entre elles … ça ressemble à nos tableaux et nos couleurs ! On ajoute des données (ajouts de clients, de commandes, de produits), et voila, nous avons notre base de données !

– Une base de données est constituée d’un ensemble de tables.

– Chaque table contient les données relatives à des entités de même nature.

– Chaque ligne d’une table reprend les données relatives à une entité.

– Chaque colonne d’une table décrit une propriété commune des entités.

– Les lignes d’une table sont distinctes. C’est sur une (voire plusieurs) colonne(s) que se joue cette unicité. Le jeu de colonnes dont les valeurs sont uniques constitue un Identifiant de la table.

– Les lignes d’une table peuvent faire référence chacune à une ligne d’une autre table, où des informations sur une entité associée peuvent être obtenues. Les colonnes de référence s’appellent clé étrangère vers cette autre table.

Maintenant, que peut-on faire de ces données ?

  • Vérifier une commande lors de son enregistrement : le client est-il connu ? son adresse a t-elle changé ? les produits commandés sont-ils répertoriés ?
  • Produire les factures
  • Calculer le chiffre d’affaire mensuel
  • Etudier la répartition géographique des ventes
  • Préparer le rapprovisionnement des produits en rupture de stock


..
.

Comment est représentée une base de données ?


Nous abordons la partie concept de la base de données que nous survolerons car le but n’étant pas que vous soyez des pros de la BDD en details car la partie SQL va nous prendre pas mal de temps !
J’ai emprunté à notre amis Wikipédia son article sur les concepts de la base de données qui est très bien illustré.

De manière générale, un schéma conceptuel est une représentation d’un ensemble de concepts reliés sémantiquement entre eux. Les concepts sont connectés par des lignes fléchées auxquelles sont accolés des mots. La relation entre les concepts s’appuie sur des termes exprimant celle-ci : « mène à », « prévient que », « favorise », etc.

Le schéma conceptuel poursuit plusieurs buts. Il construit la représentation mentale d’une situation, que cette dernière soit personnelle, celle d’un groupe ou encore celle d’une organisation. Il permet de résumer la structure synthétique d’une connaissance construite à partir de sources diverses.

L’ajout d’objets de support : diagrammes, rapports, autres schémas, feuille de calcul, etc., durant l’élaboration des schémas aide l’apprenant à augmenter la quantité et la qualité des informations ainsi apprises. C’est en raison de cet effet positif sur l’apprentissage qu’au xxie siècle des pédagogues ont commencé à utiliser ce type de schéma dans le cadre de leur cours.

En informatique, un schéma conceptuel est une représentation graphique qui sert à décrire le fonctionnement d’une base de données. Il représente ainsi les objets principaux contenus dans cette dernière, leurs caractéristiques et les relations qui s’établissent entre ces différents objets. Cette représentation est normée suivant une modélisation bien définie.

Le modèle entité-relation (encore appelé modèle Entité / Association) est un type de schéma conceptuel très utilisé pour les bases de données, notamment les bases de données relationnelles.

Concepts

Il s’agit d’un outil permettant de décrire le fonctionnement de la base de données en notifiant :

  • Les entités
    • Ce sont des objets concrets (livre, individu) ou abstraits (compte bancaire) que l’on peut identifier.
    • On peut représenter un ensemble d’entités de la réalité par une entité type (un élève pour l’ensemble des élèves).
    • Ces entités sont caractérisées par leurs attributs (pour l’élève : classe, nom …). Parmi ces attributs, on définit un identifiant qui va permettre de caractériser de façon unique l’entité dans l’ensemble (pour l’élève, ses nom et prénom peuvent jouer ce rôle).
  • Relations entre les entités
    • Elles représentent les liens existant entre une ou plusieurs entités.
    • Elles sont caractérisées par un nom, une propriété d’association et éventuellement des attributs.
  • Degré de relation et cardinalité
    • Le degré de la relation (ou dimension de la relation) est le nombre d’entités qui sont impliquées dans cette relation. La relation peut ne faire intervenir qu’une seule entité, auquel cas elle est dite réflexive.

Exemple d’une relation réflexive : la relation ‘de mariage’

  • La cardinalité (d’une entité par rapport à une relation) exprime le nombre de participations possibles d’une entité à une relation. Comme c’est un nombre variable, on note la cardinalité minimum (0 ou 1) et maximum pour chaque entité. Par exemple, dans une bibliothèque, un usager peut emprunter 0 ou N livres, mais le livre ne peut être emprunté que par 0 ou 1 usager.
  • Les entités sont représentées dans des rectangles et s’écrivent en lettres majuscules.
  • L’identifiant d’une entité (clé primaire) est le premier attribut cité et est souligné. Les autres attributs sont placés à la suite.
  • Les relations sont placées dans des ellipses ou des losanges avec leurs attributs respectifs.
  • Les cardinalités sont placées à côté de l’entité qu’elles caractérisent.
  • Les clés étrangères n’apparaissent pas dans l’entité où elle n’est pas la clé primaire.

En Français, ce MCD nous donne :
« Un client peut commander zéro ou plusieurs produits (0,n) et un produit peut être commandé par un seul client ou plusieurs(1,n). »

Exercice :

Avez-vous tout bien compris ? Essayez de créer le MCD de la base de données citée en exemple au début avec ses quatre tables :

Voici une méthode possible pour réaliser un schéma entité/relation :

  1. Etablir la liste des entités (fait)
  2. Déterminer les attributs de chaque entité en choisissant un identifiant
  3. Etablir les relations entre les différentes entités
  4. Déterminer les attributs de chaque relation et définir les cardinalités

Dans un prochain article, nous introduirons le langage SQL et son utilisation dans une base de données relationnelle.

N’hésitez pas si vous avez des questions.

Publicités

2 responses to “Introduction aux bases de données relationnelles

  • Lefebvre Charlotte

    Bonjour !

    Serait-il possible d’avoir les distinctions entre les notions de champs, tables, attributs et entités ?!

    Merci d’avance

    • Alex

      Bonjour Charlotte,

      Pour ta question, en fait, les quatre choses que tu n’arrives pas à comprendre sont deux choses identiques :
      Dans un MCD (modèle conceptuel), nous avons des entités qui comportent des attributs comme dans l’exemple du client et du produit de l’article
      Dans une base de données relationnelle, ce sont en fait les même choses : nous avons des tables qui comportent des champs.
      Autrement dit, toujours dans cet exemple, Nous avons une ENTITE ou une TABLE « client » (selon si nous sommes dans un MCD ou une BDD)
      Cette objet comporte des CHAMPS ou des ATTRIBUTS (toujours en MCD ou BDD).

      J’espère avoir été clair ? je suis étudiant comme vous, pas professeur 🙂

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :