Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Merise - Guide pratique (3e édition)
  3. Guide pratique (3e édition)
Extrait - Merise - Guide pratique (3e édition) (modélisation des données et des traitements, manipulations avec le langage SQL,...)
Extraits du livre
Merise - Guide pratique (3e édition) (modélisation des données et des traitements, manipulations avec le langage SQL,...)
1 avis
Revenir à la page d'achat du livre

SQL (Structured Query Language)

Présentation du langage SQL

Au chapitre Le Modèle Physique des Données de ce livre, nous avons vu que le modèle physique nous permettait d’établir l’ensemble des relations (ou fichiers) constituant la base de données. Merise nous aide à la conception et à l’élaboration de la base de données, le langage SQL quant à lui nous aide à manipuler les données ou la structure de la base de données.

1. Historique

Le langage SQL a été élaboré dans les années 1970 d’après les théories d’un informaticien britannique : Edgar Frank Codd.

Le docteur Codd est considéré comme l’inventeur du modèle relationnel. Il travaillait au laboratoire de recherche d’IBM à San José en Californie. IBM mis du temps a croire en la théorie d’un langage d’interrogation des données structuré et ce sont des entreprises concurrentes telles Oracle qui les premières misèrent sur le langage SQL.

De par sa nature simple et presque naturelle, SQL ne tarda pas à devenir un standard de fait dans la manipulation des données.

Il fut rapidement normalisé, garantissant ainsi son indépendance vis-à-vis des systèmes de gestion de bases de données relationnelle (SGBDR). Ainsi, une requête SQL peut...

Le langage de manipulation des données

Nous allons aborder dans cette partie les ordres du langage de manipulation de données. Nous allons commencer par l’ordre SELECT.

Pour les exemples, nous allons utiliser les trois fichiers tirés de ces modèles relationnels :

Clients(NumCli, Nom, Prénom, Adresse, Cp, Ville, Téléphone)

Achats(#NumCli, #NumArt, Date, Qté)

Articles(NumArt, Désignation, Catégorie, Prix)

Clients

NumCli

Nom

Prénom

Adresse

CP

Ville

Téléphone

1

Auguy

Jean

1 rue droite

30000

Nîmes

0485957575

2

Baptiste

Jean-Luc

7 rue courbe

12000

Rodez

0565428775

3

Baptiste

Amandine

Avenue Foch

12000

Rodez

4

Collard

Marie-Claire

Rue d’Espagne

66000

Perpignan

5

Durand

Raymond

Rue des oliviers

30000

Nîmes

0475145425

Achats

NumCli

NumArt

Date

Qté

1

1

30/01/2018

1

1

5

30/01/2018

4

4

3

29/01/2018

1

4

2

30/01/2018

2

5

2

01/02/2018

2

Articles

NumArt

Désignation

Catégorie

Prix

1

Charlie Winston

Cd

12

2

Caméra Café

Dvd

19

3

WebCam

Informatique

24

4

Graveur

Informatique

38

5

Clé Usb 16G

Informatique

18

1. Sélection des données

La commande SELECT permet de réaliser une lecture d’informations selon certains critères. La commande SELECT retourne les résultats dans un tableau. Cette commande permet de sélectionner une ou plusieurs colonnes d’une ou plusieurs tables.

Syntaxe :

SELECT [ALL / DISTINCT] nom_attribut1 [, nom_attribut2, ......] 
FROM nom_table1 [, nom_table2, ....] 
WHERE <condition de recherche>; 

L’option ALL est l’option par défaut qui permet de sélectionner l’ensemble des lignes satisfaisant à la condition de recherche.

L’option DISTINCT permet de ne conserver que des lignes distinctes, en éliminant les doublons.

La liste des attributs indique la liste des colonnes choisies, séparées par des virgules. Pour sélectionner l’ensemble des colonnes d’une table, il est possible d’utiliser l’option *.

La liste des tables indique l’ensemble des tables (séparées par des virgules) sur lesquelles portent les opérations.

La condition de recherche permet d’exprimer des critères de recherche complexes à l’aide d’opérateurs logiques et/ou de comparateurs arithmétiques....

Le langage de définition des données

SQL fournit des instructions permettant de créer, supprimer, modifier, renommer des fichiers. Ces instructions sont les suivantes :

  • CREATE

  • DROP

  • ALTER

  • RENAME

1. La création de tables

La création d’une table se réalise avec l’ordre CREATE.

Syntaxe :

CREATE TABLE "nom de table" 
("colonne 1" "type de données pour la colonne 1", 
"colonne 2" "type de données pour la colonne 2", 
... ); 

Création de la table Articles.

CREATE TABLE Articles 
    (NumArt INTEGER NOT NULL, 
    Désignation CHAR(60) NOT NULL, 
    Catégorie CHAR(30), 
    Prix INTEGER); 

a. Définition de la clé primaire

Dans la table Articles, la clé primaire est NumArt. Voici comment une clé primaire est définie avec SQL :

CREATE TABLE Articles 
    (NumArt INTEGER NOT NULL, 
    Désignation CHAR(60) NOT NULL, 
    Catégorie CHAR(30), 
    Prix INTEGER 
    Constraint C1 PRIMARY KEY (NumArt)); 

b. Définition des clés étrangères

La table Achats contient deux clés étrangères :

  • NumCli

  • NumArt

Voici la requête de création de la table Achats :

CREATE TABLE Achats 
   ...

Le langage de contrôle des données

Le langage de contrôle des données comprend deux ordres :

  • GRANT

  • REVOKE

GRANT permet de donner des droits à un utilisateur sur une base de données, REVOKE supprime des droits acquis.

1. L’ordre GRANT

Cet ordre utilise différentes options pour définir au mieux les droits.

Option

Explication

ALTER

Donne le droit de modifier la structure d’une table.

DELETE

Donne le droit de supprimer des enregistrements.

INSERT

Donne le droit d’insérer des enregistrements dans une table.

SELECT

Donne le droit d’exécuter des requêtes de sélection.

UPDATE

Donne le droit de modifier les données d’une table.

ALL

Donne tous les droits.

Donner le droit à l’utilisateur Jean-Luc de modifier la structure de la table Clients.

GRANT ALTER 
    ON Clients 
    TO Jean-Luc; 

Donner le droit à l’utilisateur Jean-Luc d’afficher le contenu de la table Clients.

GRANT SELECT 
    ON Clients 
    TO Jean-Luc; 

Donner tous les droits à l’utilisateur Jean-Luc sur la table Clients.

GRANT ALL 
    ON Clients 
    TO Jean-Luc; 

Permettre à Jean-Luc de lire, modifier, insérer dans la table Clients.

GRANT SELECT, UPDATE,INSERT 
    ON Clients 
    TO Jean-Luc; 

Permettre à Jean-Luc de modifier...

Mise en pratique avec MySQL

Tous les exemples donnés plus haut peuvent être testés avec un vrai serveur de base de données.

Le serveur de base de données MySQL est un serveur réputé pour plusieurs raisons :

  • Il existe sur de nombreuses plates-formes (Linux, Unix, Windows).

  • Il supporte une grande montée en charge. Il est capable de gérer des entrepôts de données de plusieurs téraoctets.

  • MySQL peut répondre aux demandes de performances les plus exigeantes. Il peut traiter un volume de requêtes s’exprimant en milliards de requêtes par jours.

  • MySQL offre des fonctions de sécurité qui garantissent une très forte protection des données.

  • MySQL est Open Source et gratuit en licence développement, payant en exploitation. Le coût de possession est très inférieur à ce que propose la concurrence.

Le site officiel français est : https://www.mysql.com/fr/

Il existe des packs logiciels installant une suite logicielle permettant d’installer un serveur MySQL sans effort. Voici certains de ces packs :

Ces différents packs intègrent le serveur Web Apache, le langage PHP et MySQL. Ils offrent aussi des outils de configuration et de gestion de MySQL comme phpMyAdmin.

1. Installation du serveur de base de données

Le pack utilisé dans cet ouvrage sera WampServer.

Il n’y a aucune difficulté pour installer WampServer. Il suffit de télécharger...