Leçons de niveau 14

Structured Query Language/Introduction

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche
Début de la boite de navigation du chapitre
Introduction
Icône de la faculté
Chapitre no 1
Leçon : Structured Query Language
Retour auSommaire
Chap. suiv. :Modélisation
fin de la boite de navigation du chapitre
Icon falscher Titel.svg
En raison de limitations techniques, la typographie souhaitable du titre, « Structured Query Language : Introduction
Structured Query Language/Introduction
 », n'a pu être restituée correctement ci-dessus.

Introduction[modifier | modifier le wikicode]

Database-excel.png

Le SQL est le langage utilisé pour manipuler des bases de données.

Structure d'une base de données[modifier | modifier le wikicode]

Sur un serveur, on trouve en général plusieurs bases de données.

Chacune contient des schémas, en général l'un d'entre eux se nomme "public", c’est sur celui-là que vous travaillons. Les autres schémas servent, par exemple, à donner aux utilisateurs une description de la base de données, ils sont donc créés et mis à jour directement par le Système de gestion de base de données relationnelles (SGBDR), nous n'avons pas à nous en occuper dans ce cours.

Chaque schéma contient plusieurs objets. Parmi ces objets, on peut trouver entre autres :

  • Des tables
  • Des vues
  • Des fonctions et procédures
  • Des domaines
  • Des types utilisateur
  • Des triggers
  • D'autres objets spécifiques aux SGBDR

On effectue des requêtes SQL pour accéder ou modifier les données sur le serveur, à travers une interface graphique (exemples : PHPmyadmin, MS-Access…) ou un langage intermédiaire (exemple : PHP).

Tables[modifier | modifier le wikicode]

La table est certainement l’objet le plus manipulé dans une base de données. Elle est composée de plusieurs éléments.

Une table contient plusieurs colonnes avec des types bien précis.

Une table est le seul élément d'une base de données qui puisse contenir des données. Une ligne de données contient plusieurs cellules, en fait autant de cellules qu’il y a de colonnes dans la table. Par exemple, si on crée une table "armoires" avec 3 colonnes : numéro, position, nombre_de_tiroirs, alors chaque ligne sera composée de trois éléments. Par exemple 17, (205,459,309), 5. L'élément du milieu étant une coordonnée tri-dimensionnelle. Nous verrons plus tard comment créer des tables, ce concept de colonnes sera alors revu.

Les lignes de ce tableau sont appelées enregistrements.

Vues[modifier | modifier le wikicode]

Une vue ne contient pas de données, mais elle en renvoie. Une vue est en fait une requête "pré-établie" qui s'utilise comme une table.

Fonctions / Procédures[modifier | modifier le wikicode]

La plupart des SGBDR permettent de créer des fonctions, comme dans presque tous les langages de programmation.

Domaines / types utilisateur[modifier | modifier le wikicode]

Les domaines et types utilisateur sont des types créés par l'utilisateur. Chaque colonne doit avoir un type bien précis. Pour notre exemple ce serait "integer, Position3D, integer". Le type Integer existe par défaut dans tous les SGBDR, mais pas Position3D, il faut donc le créer, c’est ce qu'on appelle un type utilisateur.

Triggers[modifier | modifier le wikicode]

Les triggers (mot anglais signifiant "déclencheurs") sont en fait des fonctions qui se déclenchent lorsqu'on insère, modifie ou supprime des données. Ils permettent par exemple de vérifier la validité des données insérées ou d'empêcher la suppression de données cruciales pour le reste de la base de données.

Création d'une base de données[modifier | modifier le wikicode]

En guise de test et de premier contact avec le langage SQL, nous allons tout simplement créer notre base de données. Pour cela exécuter l’ordre suivant :

CREATE DATABASE wikitests;

Si on traduit en français cela donne "Crée une base de données appelée wikitests".

À présent, nous devons nous connecter à cette base de données nouvellement créée. La façon de le faire est fortement liée au SGBDR qu'utilisé. Par exemple sous PostGreSQL, il faut faire :

/connect wikitests

Sous MySQL et MS-SQL :

USE wikitests

D'autres SGBDR obligent à se déconnecter du serveur puis à se reconnecter directement à la base.

Il est donc conseillé de se référer à la documentation du SGBDR employé si aucune des deux syntaxes ci-dessus ne fonctionne.

Via phpMyAdmin[modifier | modifier le wikicode]

À partir d'un fichier[modifier | modifier le wikicode]

Dans l'onglet SQL, soit le fichier création.sql contenant les lignes ci-dessus, on crée donc la base de données avec :

source création.sql

Dans l'interface graphique[modifier | modifier le wikicode]

PHPMyAdmin.png

Dans l'onglet Bases de données, remplir le champ sous Créer une base de données, puis cliquer sur Créer.