top of page

Cette page est comprise avec :

// IP : Le Protocole Internet \\

1 • Le guide du protocole

2 • Les différentes versions

3 • L'adressage et les classes

4 • Le datagramme et l'entête

5 • La fragmentation

6 • L'encapsulation

7 • Le routage

// Le Guide des Protocoles \\

1 • IP : Le Protocole Internet

2 • TCP : Le Protocole Transport

3 • Ethernet : Le Guide

4 • DNS & DHCP : Les Bases

• IPsec : Protocole sécuritaire

Chapitres
suivants

Une base de données, permet de stocker et de retrouver des informations en rapport avec un thème ou une activité ; celles-ci peuvent être de natures différentes et plus ou moins reliées entre elles. 

Les données peuvent y être très structurées (comme les bases de données relationnelles), ou bien hébergées sous la forme de données brutes déstructurées (base de données NoSQL Redis par exemple) qui, dans ce cas, seront ensuite parcourues de manière organisée au moment de la lecture via des moteurs spécifiques.

SQL
Base de données
Introduction au langage SQL

Temps de lecture : 20 minutes

Antoine Driget

  • 10/10/2019

Qu'est-ce que SQL ?

Pour commencer avec de bonnes bases voyons tout d'abord ce que SQL signifie.

SQL est le sigle de Structured Query Language, en français langage de requête structurée, c'est un langage informatique normalisé servant à exploiter des bases de données relationnelles.

Le langage SQL se découpe généralement en quatre parties :

  • DML (Data Manipulation Language). La manipulation des données permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles.

  • DDL (Data Definition Language). La définition des données permet de créer et de modifier l'organisation des données dans la base de données.

  • TCL (Transaction Control Language). Le contrôle de transaction permet de commencer et de terminer des transactions.

  • DCL (Data Control Language). Le contrôle des données permet d'autoriser ou d'interdire l'accès à certaines données pour certaines personnes.

En bref : SQL est un langage pour exploiter des bases de données; il inclut la création, la suppression, l'extraction, la modification, les autorisations etc. 

 

SQL est un langage standard ANSI (American National Standards Institute), mais il existe de nombreuses versions différentes du langage SQL.

Pourquoi SQL ?

SQL est très populaire car il permet aux utilisateurs les avantages suivants:

  •  Accéder aux données des systèmes de gestion de base de données relationnelle.

  •  Définir les données  dans une base de données et les manipuler.

  •  Intégrer dans d'autres langages en utilisant des modules SQL, des bibliothèques et des pré-compilateurs.

  •  Créer et supprimer des bases de données et des tables.

  •  Créer une vue, une procédure stockée et des fonctions dans une base de données.

  •  Définir des autorisations sur les tables, les procédures et les vues.

Et son histoire alors ?

SQL est un langage qui a été développé dans les années 60, sur les bases théoriques du Dr Codd, dans le but de dialoguer avec les grandes banques de données.

Les premières versions utilisables ont été développées par IBM et Oracle (à l'époque Relational Software) dans les années 70. Il a été adopté comme une norme ISO en 1987, et depuis plusieurs révisions se sont succédées : SQL-89, SQL-92, SQL-99, SQL:2003 et SQL:2008.

La version sous laquelle nous vivons actuellement est SQL:2011, adoptée en décemnbre 2011.

Il existe une différence notable entre les langages traditionnels (Fortran, Pascal, C, C++, Java) et SQL. Ces langages permettent de décrire des procédures de calcul et de traitement. On indique donc au processeur ce qu’il doit faire, et dans quel ordre. Ce que l'on indique au processeur, c'est donc comment un calcul ou un traitement doit être mené. On appelle ces langages des langages procéduraux, tout simplement parce qu'ils décrivent des procédures.

SQL est un langage non procédural. Une commande SQL n’explique pas comment les traitements doivent être menés, mais quel doit en être le résultat. La marche à suivre pour déterminer le bon résultat est à la charge du logiciel serveur, le programmeur SQL n’a a priori pas à s’en soucier. Il s’en soucie en fait, notamment pour des raisons d’optimisation et de temps de calcul. Les logiciels serveurs ont entre autres toute liberté pour utiliser toutes les procédures d'optimisation qu'ils veulent.

Malgré les efforts de standardisation, les différents acteurs du marché des bases de données ont développé leur propre SQL, et il reste des différences notables entre les serveurs disponibles sur le marché. Ces différences peuvent apparaître à trois niveaux :

  • Le serveur ne supporte pas certaines fonctionnalités, et les instructions SQL correspondantes n’ont pas été implémentées ;

  • Les types de données ne correspondent pas toujours en syntaxe d’un serveur à l’autre, ou certains serveurs supportent des types de données différents, ou encore ont leur propre syntaxe de déclaration (c'est notamment le cas pour les dates) ;

  • Certaines fonctions n’ont tout simplement pas la même syntaxe d'un serveur à l'autre.

Consulter la documentation du serveur que vous utilisez est donc toujours une précaution élémentaire à prendre avant de commencer un projet.

Dans le prochain chapitre nous verrons...
bottom of page