1/ Organiser l'information dans l'entreprise :
Les données et le modèle relationnel
Le système d'information d'une entreprise ou de toute autre organisation peut être géré informatiquement.
Pour cela, les informaticiens ont conçu un système appelé Système de Gestion de Base de Données Relationnelle (SGBDR).
Le système logiciels du SGBDR va gérer les différentes interdépendances qui existent entre les différentes informations.
Par exemple : un client commande une certaine quantité de produits à une date donnée. Ici, les informations en relation sont toutes celles qui concernent le CLIENT(Raison sociale, adresse, conditions de vente, de règlement), les PRODUITS proposés par l'entreprise (Désignation, prix, TVA) , et la relation entre les deux qui est le fait que les produits peuvent être COMMANDES (quantité).
En fait, le principe est simple :
Toutes données ou informations de même nature sont regroupées dans un ensemble que l’on appelle RELATION ou TABLE.
Dans l’exemple, nous avons 3 relations : CLIENT, COMMANDER et PRODUIT.
Les informations d’une relation sont classées par rubrique que l’on nomme ATTRIBUTS.
Pour la relation CLIENT, les attributs seraient : N°Client, NomClient, RueClient, CodePostalClient, VilleClient
Le N°Client permet d’identifier de manière stable et unique tous les clients de l’entreprise. N°Client est donc la Clé primaire, celle-ci est soulignée et sera toujours le premier des attributs.
Chaque TABLE est en relation avec les autres tables grâce à un lien appelé JOINTURE. Il s’agit de la clé primaire d’une table qui est relié par la clé secondaire# d’une autre table avec laquelle elle est en lien direct.
Exemple : COMMANDER (N°Client#,N°produit#,quantitécommandée)
La table COMMANDER est en relation directe avec les tables CLIENT et PRODUIT grâce à leur code ou N°.
Les valeurs prises par la relation s’appellent les tuples (ou enregistrements).
Exemple pour un tuple de la relation CLIENT : C411005, SARL Dupont, 15 bd du Mail, 01300, Belley
Tous les attributs d'une relation sont en dépendance fonctionnelle avec la clé primaire, ce qui signifie que la connaissance de la valeur de la clé primaire d'un enregistrement permet de déterminer la valeur prise par chacun des attributs.
Avantages de la base de données relationnelle :
- les informations ne sont saisies qu'’une seule fois dans la base de données et sont utilisables pour traitement dans tous les modules du système de la base de données.
Exemple de module: gestion des produits, des commandes, de la facturation, suivi des clients…. - Chaque module est caractérisé par un modèle relationnel.
- Les doubles saisies sont évitées ce qui diminue le risque d’erreur et la perte de temps.
- Les traitements et analyses peuvent s’effectuer en temps réel
2/ La normalisation relationnelle
Pour être efficace, une base de données doit respecter certaines règles de normalisation, appelées Forme normale :
A. La première forme normale ou Règle n°1
Une relation est en première forme normale lorsque les attributs dépendant de la clé ne sont pas divisibles, c'est à dire qu'ils ne correspondent qu'à une seule information.
Exemple : adresse.clt → rue.clt
→ CP.clt
→ ville.clt
B. La deuxième forme normale ou règle n°2
Une relation est en deuxième forme normale si et seulement si :
- Elle est en première forme normale
- Et si tous les attributs de la relation dépendent de la totalité de la clé primaire et pas que d'une partie.
Remarque : Le problème se pose dans les relations dont la clé primaire est composée d'une clé complexe (plusieurs clés étrangères).
Mauvais exemple : CATEGORIE (codecateg#, n°produit#, nom_catégorie)
Cette relation est mal construite car le nom_catégorie dépend fonctionnellement et uniquement de codecateg donc n°produit lui est inutile.
Il faudrait corriger la relation : CATEGORIE (codecateg#, nom_catégorie)
La quantité commandée dépend bien d'une commande précise (numéro de commande) sur un produit précis (numéro d'article) à une date donnée.
C. La troisième forme normale ou règle N°3
Une relation est en troisième forme normale si et seulement si :
- Elle est en deuxième forme normale
- Et si tous les attributs de la relation dépendent de la clé primaire
Mauvais Exemple : COMMANDER (n°commande#, nom.clt, quantitécommandée)
La troisième forme normale n'est pas respectée dans cette relation. L'attribut nom.clt ne dépend pas directement du n°commande mais de n°client.
Bon exemple : COMMANDER (n°commande#, quantitécommandée)