Base de données : De l’algèbre relationnel au SQL (LMD)

sql

Introduction

Un post rapide pour expliquer (sans détails) quelques opérations et opérateurs d’algèbre relationnel et leur correspondance / implémentation en SQL au niveau manipulation de données.

 

 

 

1 Union, Intersection, Différence

Ces trois opérateurs permettent d’obtenir dans une requête des lignes provenant de requêtes distinctes mais de même forme (même nombre de colonne, même type dans le même ordre).

Plus en détails :

  1. L’UNION de n tables donnera une table de schéma identique (aux n tables interrogées) comportant l’ensemble des lignes des ntables interrogées.
    • Exemple :
      SELECT colonne1 , colonne2 FROM Table1
       UNION
      SELECT colonne1 , colonne2 FROM Table2 ;
  2. L’INTERSECTION de n tables donnera une table de schéma identique (aux n tables interrogées) comportant l’ensemble des lignes communes aux n tables interrogées.
    • Exemple :
      SELECT colonne1 , colonne2 FROM Table1
       INTERSECT
      SELECT colonne1 , colonne2 FROM Table2 ;
  3. La DIFFÉRENCE de n tables donnera une table de schéma identique (aux n tables interrogées) comportant l’ensemble des lignes non-communes aux n tables interrogées.
    • Exemple :
      SELECT colonne1 , colonne2 FROM Table1
       MINUS
      SELECT colonne1 , colonne2 FROM Table2 ;

 

2 Restriction

Une restriction s’exprime par le mot-clé WHERE, elle permet de n’obtenir que les lignes répondant à une condition.

  • Exemple :
    SELECT * FROM Table1 WHERE condition ;

    ou la condition est  une expression (arithmétique, match etc…)

 

3 Projection

Une projection a pour but d’éliminer les colonnes inutiles. En SQL elle se traduit en ne spécifiant explicitement que les colonnes voulues dans un SELECT.

  • Exemple :
    SELECT colonne FROM Table1 ;

    ou colonne peut-être une liste ou les éléments sont séparés par des virgules.

 

4 Produit cartésien

Un produit cartésien permet d’obtenir l’association de chaque ligne d’une table avec chaque ligne d’autre tables.

  • Exemple :
    SELECT colonne1 , colonne2 FROM Table1 , Table2 ;

 

5 Jointure

Une jointure est une restriction sur un produit cartésien permettant de lier chaque ligne d’une table avec chaque ligne d’une autre table en respectant une condition. La jointure s’exprime en SQL par  JOIN. Il existe une syntaxe “historique”  et une syntaxe respectant la norme ANSI.

  • Exemples
    • Syntaxe historique:
      SELECT colonne1 , colonne2 FROM Table1 , Table2 WHERE condition ;

      ou condition est une expression.

    • Syntaxe ANSI:
      SELECT colonne1 , colonne2
      FROM Table1 JOIN Table2
      ON condition ;

      ou condition est une expression.

Il existe plusieurs types de jointures telles que : LEFT JOIN, NATURAL JOIN, OUTTER JOIN , INNER JOIN.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site supports SyntaxHighlighter via WP SyntaxHighlighter. It can highlight your code.
How to highlight your code: Paste your code in the comment form, select it and then click the language link button below. This will wrap your code in a <pre> tag and format it when submitted.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="">