0% ont trouvé ce document utile (0 vote)
22 vues54 pages

Présentation Du Langage SQL 1. Historique: Année Appellation

Rémunération

Transféré par

Joseline Yango
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
22 vues54 pages

Présentation Du Langage SQL 1. Historique: Année Appellation

Rémunération

Transféré par

Joseline Yango
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Présentation du langage SQL

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
à 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 être portée sans modifications (ou alors
mineures) de
MySQL à Oracle ou d’Oracle à SQL Server.
Voici un tableau récapitulant les différentes versions successives du
langage SQL :

Année Appellation
1986 SQL-86 ou SQL-87
1989 SQL-89 ou SQL-1
1992 SQL-92 ou SQL-2
1999 SQL-99 ou SQL3
2003 SQL 2003
2008 SQL 2008

Les versions apportant leurs lots de modifications il est important, avant


d’utiliser l’une ou l’autre, de vérifier que le système de gestion de bases
de données intègre la même version.
2. Structuration

Le langage SQL est composé de trois parties majeures et distinctes :

Le DML (Data Manipulation Language) ou LMD (langage de


manipulation des données) : le DML permet de consulter ou de
modifier le contenu de la base de données.

Le DDL (Data Definition Language) ou LDD (langage de définition


des données) le DDL permet de modifier la structure de la base de
données.

Le DCL (Data Control Language) ou LCD (langage de contrôle des


données) : le DCL permet de gérer les privilèges, ou les différents
droits des utilisateurs sur la base de données.

Voici les principaux ordres employés :


DML DDL DCL
SELECT CREATE GRANT
DELETE RENAME REVOKE
INSERT ALTER
UPDATE DROP

Une requête SQL peut être employée seule, dans un éditeur de requête
fourni par le logiciel de gestion de bases de données, ou directement
intégrée dans le langage de programmation. Par exemple, une requête
peut être testée directement avec phpMyAdmin et être ensuite intégrée
dans une procédure écrite en langage PHP pour interagir avec le
gestionnaire de bases de données MySQL.
Le langage de manipulation des données(LMD)

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 mettre en place une base de donnée et
l’utiliser pour la manipulation :

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

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

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


Fournisseur ( id-f, nom, prenom, tel, adresse)
 Sélection des données

La commande SELECT permet de réaliser une recherche d’informations


selon certains critères.

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’en-
semble des lignes satisfaisant à la condition de recherche.

 L’option DISTINCT permet de ne conserver que des lignes dis-


tinctes, en éliminant les doublons.

 La liste des attributs indique la liste des colonnes choisies, sépa-


ré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 re-


cherche complexes à l’aide d’opérateurs logiques et/ou de compara-
teurs arithmétiques.
Voyons ensemble quelques exemples :

Afficher le contenu de la table client.

SELECT *
FROM Clients;

Résultat renvoyé par la requête :


Afficher les noms et prénoms des clients.

SELECT Nom, Prénom


FROM Clients;

Résultat retourné par la requête :


Utilisation du mot clé DISTINCT.
Activons cette requête :

SELECT Nom
FROM Clients;

Comme le mot clé ALL est actif par défaut, le résultat retourné par la
requête sera le suivant :

Nous nous rendons compte que le nom ELOHIM apparaît deux fois, ce qui
dans notre cas n’est d’aucun intérêt.
Voici la requête corrigeant ce problème :

SELECT DISTINCT Nom


FROM Clients;

Et le résultat retourné :

Il est possible de modifier l’affichage d’un nom de colonne en utilisant le


mot clé AS.
Par exemple, nous souhaitons modifier l’affichage du Nom par Nom des
clients.

Voici la requête :
SELECT DISTINCT Nom AS Nom des clients
FROM Clients;
Et le résultat retourné :

La restriction

La restriction est une opération sur une relation RELATION1 produisant


une relation RELATION2 de même schéma mais comportant les seuls
tuples qui vérifient la condition précisée en opérande.
Essayons les requêtes suivantes :

Sélectionner les clients habitants en RDC.

SELECT *
FROM Clients
WHERE Ville=’RDC’;

Lister les articles dont le prix est supérieur à 15 euros.

SELECT *
FROM Articles
WHERE Prix>15;

 Les apostrophes ne servent que pour différencier les valeurs alpha-


numériques des valeurs numériques.

Dans la clause WHERE les opérateurs suivants peuvent être utilisés :


> Supérieur
>= Supérieur ou égal
< Inférieur
<= Inférieur ou égal
= égal
<> Différent
AND Et
OR Ou
NOT Pas
IS NULL Valeur indéterminée
ALL Tous
ANY Au moins un
EXISTS Existence
Lister les articles dont le prix est compris entre 14 et 30 euros.
SELECT *
FROM Articles
WHERE prix>14 AND prix <30;
Cette requête est correcte, mais manque d’élégance. Il existe d’autres
mots clés permettant d’exprimer certaines contraintes.

 IN
 BETWEEN
 LIKE

Reformulons la requête précédente pour la rendre plus élégante :

SELECT *
FROM Articles
WHERE prix BETWEEN 14 AND 30;

Afficher les clients dont les noms sont Baptiste et la ville est Rodez

SELECT *
FROM Clients
WHERE nom=’Baptiste’
AND ville=’Rodez’;

Afficher les clients dont les noms sont Baptiste ou la ville est Rodez
SELECT *
FROM Clients
WHERE nom=’Baptiste’
OR ville=’Rodez’;

Afficher les clients dont les numéros de téléphone ont été saisis.
SELECT *
FROM Clients
WHERE Téléphone IS NOT NULL;
Afficher les clients dont les numéros de téléphone n’ont pas été saisis.
SELECT *
FROM Clients
WHERE Téléphone IS NULL;

Afficher les clients qui habitent les villes de Rodez, Aurillac ou Tarbes.

SELECT *
FROM Clients
WHERE Ville IN (’Rodez’, ’Aurillac’, ’Tarbes’);

Afficher les clients dont les noms commencent par B.

SELECT *
FROM Clients
WHERE Nom LIKE ’B%’

Afficher les clients dont les noms ne commencent pas par B.

SELECT *
FROM Clients
WHERE Nom NOT LIKE ’B%’

Afficher les clients dont les noms finissent par B.

SELECT *
FROM Clients
WHERE Nom LIKE ’%B’

Afficher les clients dont les noms contiennent un B.


SELECT *
FROM Clients
WHERE Nom LIKE ’%B%’

c. Les tris

Avec SQL il est possible d’effectuer des tris selon différents critères grâce
à la clause ORDER BY et aux mots clés ASC,
DESC. Par défaut le tri est par ordre croissant.
Afficher les noms et prénoms des clients triés par noms croissants.

SELECT *
FROM Clients
ORDER BY Nom ASC;

Afficher les noms et prénoms des clients triés par noms décroissants.

SELECT *
FROM Clients
ORDER BY Nom DESC;

d. Les jointures

La jointure est l’opération consistant à rapprocher selon une condition les


tuples de deux relations RELATION1 et RELATION2 afin de former une
troisième relation RELATION3 qui contient l’ensemble de tous les tuples
obtenus en concaténant un tuple de RELATION1 et un tuple de RELA-
TION2 vérifiant la condition de rapprochement.

Afficher les noms et prénoms des clients ayant acheté un article le 30


février 2009.

SELECT Nom, Prénom


FROM Clients, Achats
WHERE Clients.NumCli = Achats.Numcli
AND Achats.Date=’30/02/2009’;

Afficher le nom, le prénom des clients ainsi que la quantité et désignation


des produits achetés.

SELECT Nom, Prénom, Qté, Désignation


FROM Clients, Achats, Articles
WHERE Clients.NumCli=Achats.Numcli
AND Achats.NumArt=Articles.NumArt;

Les noms de tables peuvent devenir fastidieux à saisir, on peut simplifier


l’écriture en utilisant le mot clé AS.
Afficher le nom, le prénom des clients ainsi que la quantité et désignation
des produits achetés.

SELECT Cl.Nom, Cl.Prénom, Ac.Qté, Ar.Désignation


FROM Clients AS Cl, Achats AS Ac, Articles AS Ar
WHERE Cl.NumCli=Ac.Numcli
AND Ac.NumArt=Ar.NumArt;

e. Les fonctions statistiques

SQL offre cinq fonctions mathématiques standard :

Fonctions Description
AVG(attribut) calcule la moyenne des valeurs dans l’attribut.
SUM(attribut) calcule la somme des valeurs dans l’attribut.
MIN(attribut) détermine la plus petite valeur dans l’attribut.
MAX(attribut) détermine la plus grande valeur dans l’attribut.
COUNT(attribut) compte le nombre d’occurrences dans l’attribut.

Calculer le prix moyen des articles.


SELECT AVG(Prix) AS Prix Moyen
FROM Articles;

Calculer le prix moyen des articles, afficher le prix minimum et le prix


maximum.

SELECT AVG(Prix) AS Prix Moyen, MIN(Prix), MAX(Prix)


FROM Articles;

Afficher la somme de toutes les quantités achetées.


SELECT SUM(Qté) AS Quantité
FROM Achats;

Compter le nombre de catégories.

SELECT COUNT(Catégorie) AS Nombre de catégorie


FROM Articles.
Le problème avec cette requête c’est qu’elle va retourner le nombre total
de lignes dans la colonne catégorie (5 dans la table exemple), mais pas le
nombre de catégories uniques (3 dans la table exemple). Voici comment
corriger ce problème.

Compter le nombre de catégories sans doublons.

SELECT COUNT(DISTINCT Catégorie) AS Nombre de catégorie


FROM Articles.

Faire la somme des quantités totales des achats réalisés pour l’article nu-
méro 3.

SELECT SUM(Qté) AS Quantité totale


FROM Achats
WHERE NumArt=3;

En dehors de ces fonctions, il est possible aussi d’effectuer des calculs


dans les requêtes. Imaginons que nous désirions afficher les prix augmen-
tés de 10%. Voici une façon de l’écrire :

SELECT Désignation, Prix*1,10 AS Prix augmenté


FROM Articles;

La valeur n’est pas modifiée dans le fichier, la valeur est calculée juste
pour l’affichage.

f. Les opérations portant sur des ensembles

L’algèbre relationnelle permet l’utilisation d’opérateurs ensemblistes. Il en


existe trois :
 UNION,
 INTERSECT,
 EXCEPT.
Les mots clés INTERSECT et EXCEPT n’étant pas normalisés dans SQL, ils
risquent de ne pas être fonctionnels dans le SGBD. Le mot clé EXCEPT
peut être remplacé par NOT EXISTS et INTERSECT par EXISTS.
Le mot clé UNION retourne l’ensemble des tuples appartenant aux rela-
tions de la requête.

Par exemple :
Afficher les numéros des articles dont le prix est supérieur à 20 euros ainsi
que les numéros des articles achetés par le client numéro 1.

SELECT NumArt
FROM Articles
WHERE Prix > 20
UNION
SELECT NumArt
FROM Achats
WHERE NumCli=1;

g. Les regroupements

Les regroupements permettent de créer des sousensembles d’occur-


rences. Une seule ligne regroupe ainsi les valeurs identiques en fonction
de l’attribut spécifié.

Imaginons que dans le fichier achat nous souhaitons avoir le total des prix
par catégorie. Par exemple ceci :
Catégorie Prix
Cd 12
Dvd 19
Informatique 80
La requête permettant ce regroupement s’exprime en utilisant la clause
GROUP BY.

Effectuer le regroupement des articles par catégorie et cumuler les prix.

SELECT Catégorie, Sum(Prix) AS Prix cumulés


FROM Articles
GROUP BY Catégorie;
Calculer le prix de vente moyen par catégorie.
SELECT Catégorie, AVG(Prix) AS Prix moyen
FROM Articles
GROUP BY Catégorie;

Pour chaque client, afficher le nombre d’achats et le montant cumulé des


achats.

SELECT Clients.Nom, Clients.Prénom, Count(*) AS Nbre,


Sum(Articles.prix*Achats.Qté) As Total
FROM Achats, Clients, Articles
WHERE Achats.NumCli=Clients.NumCli
AND Achats.NumArt=Articles.NumArt
GROUP BY Clients.Nom, Clients.Prénom;

Calculer le prix de vente moyen des articles par catégorie, dont le prix de
vente est inférieur ou égal à 15.

SELECT Catégorie, AVG(Prix)


FROM Articles
WHERE Prix <= 15
GROUP BY Catégorie;

Lorsque l’on souhaite réaliser des restrictions sur la clause de regroupe-


ment, il faut utiliser la clause HAVING.

Afficher les numéros de clients ayant plus de 1 achat.

SELECT NumCli, count(*) AS Nbr de commande


FROM Achats
GROUP BY NumCli
HAVING COUNT(*)>1;

Afficher les clients dont le prix moyen d’achat des articles est supérieur à
10 euros dans l’ordre croissant des noms.

SELECT Clients.nom, AVG(Articles.prix)


FROM articles, Achats, Clients
WHERE Clients.NumCli = Achats.NumCli
AND Achats.NumArt=Articles.NumArt
GROUP BY Clients.nom
HAVING AVG(Articles.Prix)>10
ORDER BY Clients.nom;

h. Les sous requêtes

Les sous requêtes, appelées aussi requêtes imbriquées, permettent de ré-


aliser de façon élégante des traitements qui pourraient s’avérer fastidieux
voir difficilement réalisable à l’aide de plusieurs requêtes simples. Pour
simplifier, le rôle d’une sous requête est d’envoyer le résultat de son trai-
tement dans la requête principale. Voyons grâce à un exemple.

Lister les achats du client « Auguy »

SELECT NumArt, Date, Qté


FROM Achats
WHERE NumCli = (SELECT NumCli FROM Clients Where Nom = ’Auguy’);

La sous requête renvoie le numéro du client recherché à la requête prin-


cipale.
Nous aurions pu, pour cet exemple traiter la requête de cette façon à l’aide
d’une jointure :
SELECT Achats.NumArt, Achats.Date, Achats.Qté
FROM Achats, Clients
WHERE Clients.NumCli=Achats.NumCli
And Clients.Nom=’Auguy’ ;

Mais si nous compliquons les exemples, nous allons nous rendre compte
que les sous requêtes deviennent de bonnes alliées.

Par exemple :
Nous désirons connaître les articles de prix supérieur au prix moyen de
tous les articles.

SELECT *
FROM Articles
WHERE Prix > (SELECT AVG(PRIX)
FROM Articles);
La sous requête calcule le prix moyen et le retourne à la requête principale
qui peut ainsi effectuer son travail de recherche des prix supérieurs au prix
moyen.
Maintenant, observons la puissance de sous requêtes.

Rechercher les clients habitant la même ville que le client numéro 2 et


ayant acheté des articles de prix supérieur à 15 euros.

SELECT Nom, Prénom


FROM Clients, Achats
WHERE Clients.Ville = (SELECT Ville
FROM Clients
WHERE NumCli=2)
AND Clients.NumCli=Achats.NumCli
AND Achats.NumArt IN (SELECT NumArt
FROM Articles
WHERE Prix>15);

Observons la deuxième sous requête.

Le mot clé IN permet de faire rechercher un numéro d’article dans un


ensemble de numéros renvoyés par la sous requête.

Afficher les numéros de clients ayant acheté un produit en quantité supé-


rieure à chacun des produits achetés par le client
numéro 1.

SELECT DISTINCT NumCli


FROM Achats
WHERE Qté > ALL
(SELECT Qté
FROM Achats
WHERE NumCli=1);

Le mot clé ALL signifie que Qte va être testé avec l’ensemble des quantités
renvoyées par la sous requête.

Donner la liste des articles dont le prix de vente est supérieur au prix de
vente de tous les articles dont la catégorie est CD.
SELECT *
FROM articles
WHERE Prix > ALL (SELECT Prix
FROM articles
WHERE Catégorie= ’Cd’);

Une autre façon d’écrire cette requête aurait pu être la suivante :

SELECT *
FROM articles
WHERE Prix > (SELECT MAX(Prix)
FROM articles
WHERE Catégorie= ’Cd’);

Le mot clé EXISTS permet de tester que la sous requête renvoie un résul-
tat :

Afficher la liste de tous les clients si l’un d’eux habite Aurillac.

SELECT NumCli, Nom, Prénom


FROM Clients
WHERE EXISTS (Select *
FROM Clients
WHERE Ville=’Aurillac’);

Ou l’inverse :

Afficher la liste de tous les clients si aucun d’eux n’habite Aurillac.


SELECT NumCli, Nom, Prénom
FROM Clients
WHERE NOT EXISTS (Select *
FROM Clients
WHERE Ville=’Aurillac’);
2. L’insertion des données

a. Insertion simple

Le mot clé INSERT permet l’ajout d’enregistrements dans les fichiers.

Syntaxe :
INSERT INTO "nom de table" ("colonne 1", "colonne 2", …)
VALUES ("valeur 1", "valeur 2", ...)

Ajouter un article.

INSERT INTO Articles(Num Art, Désignation, Catégorie, Prix)


VALUES(6,’Pocket Pc HP’,’Pda’,175);

Une autre façon d’écrire la requête est la suivante :

INSERT INTO Articles VALUES (6,’Pocket Pc HP’,’Pda’,175);

Cette dernière requête est fonctionnelle, car l’ensemble des champs est
renseigné. Le nombre de valeurs de la requête doit coïncider avec le
nombre de champs de destination ; Ainsi la requête suivante va retourner
une erreur :

INSERT INTO Articles


VALUES (7,’Pocket Pc HP’);

Lorsque certaines valeurs ne sont pas connues à l’exécution de la requête,


il est possible de la compléter avec le mot clé NULL :

INSERT INTO Articles


VALUES (8,’Pocket Pc HP’,NULL, NULL);

Ou encore il est possible de tout préfixer :

INSERT INTO Articles (NumArt, Désignation)


VALUES (9,’Pocket Pc’)
b. Insertion en masse

Il est possible d’insérer dans une table un ensemble d’enregistrements.


Par exemple, imaginons que nous souhaitons envoyer un mailing ciblé sur
les clients habitant la ville de Rodez. Un fichier nommé mailing de même
structure que le fichier Clients est créé. Voici la requête qui permet de
copier les clients habitant Rodez dans le fichier mailing.

INSERT INTO mailing


SELECT *
FROM Clients
WHERE Ville = ’Rodez’;

3. La modification des données

SQL permet la modification des données grâce au mot clé UPDATE.


Syntaxe :
UPDATE "nom de table"
SET "colonne 1" = [nouvelle valeur]
WHERE {condition}

Augmenter tous les prix de 15 %.

UPDATE Articles
SET Prix = Prix*1.15

Augmenter de 5 % les articles de la catégorie Informatique.


UPDATE Articles
SET Prix = Prix*1.15
WHERE Catégorie=’Informatique’
4. La suppression des données

La suppression des données se réalise avec le mot clé DELETE.


Syntaxe :
DELETE FROM "nom de table"
WHERE {condition}

Supprimer l’ensemble des lignes de la table clients.

DELETE *
FROM Clients;
Supprimer les clients habitant Rodez.
DELETE
FROM Clients
WHERE Ville=’Rodez’;
-
Le langage de définition des données

SQL fournit des instructions permettant de créer, supprimer, modifier, re-


nommer 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 Achat :

CREATE TABLE Achats


(NumArt INTEGER NOT NULL,
NumArt INTEGER NOT NULL,
Date CHAR(10),
Qté INTEGER,
CONSTRAINT FK1 FOREIGN KEY (NumArt) REFERENCES Articles (NumArt)
CONSTRAINT FK2 FOREIGN KEY (NumCli) REFERENCES Clients (NumCli));

2. La suppression physique de tables

La suppression physique de tables se réalise avec l’ordre SQL DROP.


Par exemple :
Suppression de la table mailing.
DROP TABLE mailing;

3. Modification d’une structure de table

Il peut être nécessaire de modifier la structure d’une table par exemple


pour ajouter un champ, redimensionner un champ ou supprimer un
champ.

a. Ajouter un champ

Ajouter un champ Mail à la table Clients.


ALTER TABLE Clients
ADD Mail CHAR(40);

b. Redimensionner un champ

Agrandir le champ Mail de la table Clients.


ALTER TABLE Clients
MODIFY Mail CHAR(60);
c. Supprimer un champ

Supprimer le champ Mail de la table Clients.


ALTER TABLE Clients
DROP COLUMN Mail;

d. Supprimer une clé sur une table existante

Il est possible de supprimer a posteriori des clés sur une table existante.
Supprimer la clé sur le champ NumArt de la table Articles.

ALTER TABLE Articles


DROP CONSTRAINT C1;

Ajouter une clé primaire sur le champ NumArt de la table Articles.

ALTER TABLE Articles


ADD CONSTRAINT C1 PRIMARY KEY (NumArt);
Renommer une table

Pour renommer une table, rien de plus simple.


Renommer la table Articles en Produits.
RENAME TABLE Articles TO Produits;
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 don-
né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 Client.
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 seulement les prix et les catégories de


la table Articles.
GRANT UPDATE (Catégorie, Prix)
ON Articles

TO Jean-Luc;

Permettre à tout le monde d’afficher le contenu de la table Clients.

GRANT SELECT
ON Clients
TO PUBLIC;

Donner le droit à Jean Luc de faire des sélections dans la table Article et
de pouvoir redistribuer ce droit à d’autres utilisateurs.

GRANT SELECT
ON Articles
TO Jean-Luc
WITH GRANT OPTION;

2. L’ordre REVOKE

L’ordre REVOKE permet de reprendre tous les droits accordés aux utilisa-
teurs.
Enlever le droit donné à Jean Luc d’afficher la table Clients.

REVOKE SELECT
ON clients
FROM Jean-Luc ;
Enlever tous les droits donnés sur la table Clients à tous les utilisateurs.
REVOKE ALL
ON Clients
FROM PUBLIC;
-
Mise en pratique avec SQL SERVER

Installation

Les étapes présentées ci-dessous présentent une simplicité évidente pour


une installation assurément réussie. Méfiez-vous de clics, un moindre dé-
raillement peut mener à causer des échecs lors de la manipulation de cer-
tains services de SQL Server et de certaines configurations.

Spécifications pour une installation réussie

Pour une installation et une manipulation de SQL Server 2008 assurément


réussies, veuillez trouver dans le tableau ci-dessus les spécifications par
rapport aux matériels minimums à avoir.

CPU
- Processeur de 1GHz pour un
Système d’Exploitation en 32 bit ;
- Processeur 1.6GHz pour un Sys-
tème d’Exploitation en 64 bit.

Mais un processeur de 2 GHz est


très vivement recommandé pour
une bonne performance et une ra-
pidité de votre SQL Server
Mémoire
- Au minimum 512Mb, si SQL Ser-
ver est le seul processus ;
- Sinon 1Gb de mémoire minimum
est conseillé.

Place disque dur


- Au minimum 1Gb pour seule-
ment l’installation.
- Pour le stockage des bases de
données, cela dépends de l’utilisa-
tion SQL Server.

Système
d’exploitation - Windows Vista
- Windows Xp 32-Bit,
- Windows Server 2003 Sp2
- Windows Server 2008 32-Bit.

Il fonctionnera tout aussi bien sur


des systèmes 64-Bit tels que :
- Windows Server 2003
- Windows Server 2008,
- Windows XP Pro.

Ainsi sur les nouvelles versions de


Windows :
- Windows 7
- Windows 8

Avant tout, signalons tout aussi que cette installation se déroule sur une
machine dont les propriétés sont les suivantes :
- Système d’Exploitation : Windows 7
- Processeur : Intel(R) Pentium(R) CPU B950 @ 2.10GHz 2.10 GHz
- Mémoire RAM : 4, 00 Go
- Type de système : 64 bits

De toutes manières, lors de l’installation, le programme d’installation, lui-


même, va vérifier la compatibilité de la version du SQL Server et la du
système d’exploitation sur lequel vous voulez l’installer.
Les étapes ne sont pas beaucoup commentées, car sur chaque interface
des étapes, il y a des explications inhérentes sur l’image.
a) Lancement de l’installation

b) Installation d’une nouvelle instance

Lorsque vous cliquerez sur le [2], vous trouverez un assistant qui vous
permettra d’installer une première instance de SQL Server, sinon d’en
ajouter tant d’autres ou des nouvelles fonctionnalités à une instance déjà
existant.
c) Vérification de règles de support
d) Choisir la version de SQL Server

Et sur cette page, vous avez la possibilité de choisir les éditions que vous
voudrez bien installer :
Version :
- Entreprise Evaluation
- Expression
- Expression with advanced services

Chacune d’elle, offre certaines limites et avantages.


Mais quant à nous, on installe la version Entreprise Evaluation, celle dont
la clé nous est proposée.

Quelques mots sur les versions de SQL Server 2008

[Editions Serveur]

Entreprise : Plateforme de données complète. Offre des perfor-


mances, une grande évolutivité et une haute disponibilité. Des fonctions
Business Intelligence de classe entreprise vous permettront d’exécuter
des applications sécurisées.
Standard : Plateforme de données complète. Offre une facilité d’utili-
sation et une grande facilité de gestion. Elle inclut des fonctions décision-
nelles intégrées pour exécuter des applications dans les différents services
d’une entreprise. (La version SQL Server Standard for Small Business con-
tient les composants de l’édition standard mais est vraiment utile pour des
entreprises ayant un parc de 75 ordinateurs ou moins.

[Les éditions spécialisées]


 Developer : Permet aux développeurs de créer des applications
par-dessus SQL Server. Elle inclut toutes les fonctionnalités de la
version Entreprise. C’est le choix idéal pour des personnes qui gè-
rent et testent des applications.
 Workgroup : Cette édition est idéale pour des bases de données
à emplacement de branche qui fournissent une gestion de données
fiable et une plateforme de création de rapports qui inclut des syn-
chronisations sécurisées, distantes et des fonctions de gestion.
 Web : C’est une option très peu couteuse pour des hôtes web et
les sites Web qui fournissent des facilités de gestion pour les pro-
priétés Web, à petite ou grande échelle.

[Les éditions gratuites]

 Express : Cette édition s’appuie sur SQL Server 2008. Elle est ca-
pable de remplacer Microsoft Desktop Engine. Elle est intégrée à
Visual Studio et est en téléchargement libre sur internet. Elle facilite
le développement d’applications intégrant des données, qui peu-
vent être riches en possibilités, avec un stockage fiable et facile à
déployer. Elle est idéale pour apprendre à créer des applications de
bureau ou des petites applications serveur.
 Compact 3.5 : Cette édition convient particulièrement au dévelop-
pement d’applications autonomes et occasionnellement connectées
à des périphériques mobiles, des bureaux ou des clients Web.
e) Contrat de licence
f) Installation de fichiers de support du programme d’installation
g) Règles de support
Lisez ici pour comprendre ce que c’est ; Si simple !
On a deux alertes, mais qui, heureusement, ne peuvent pas endomma-
ger l’installation.
h) Choisir les composants ou services désirés pour installer
Vous pouvez par ici sélectionner les composants ou services dont vous
aurez besoin d’utilisation.

i) L’instance, Renommer !
j) Espace disque requis
k) Configuration du serveur - Sécurité

l) Sécurité

Cette configuration du serveur permet de mettre au point des comptes


utilisateurs qui seront utilisés pour exécuter SQL Server.
Alors, il faut choisir un de types de sécurités :
- AUTORITE NT\Système : pour utiliser les comptes utilisateurs du sys-
tème sur lequel est installé SQL Server, là vous spécifierez les éléments
de sécurités de comptes en question ;
- AUTORITE NT\Réseau : si vous avez dans votre réseau déployé l’Active
Directory, pour utiliser les comptes utilisateurs du réseau, …

Sinon, vous pouvez modifier après cette installation les types de sécurité
:
Menu Démarrer -> Clic droit dur Ordinateur -> (Option) Gérer Ordinateur
; vous verrez la fenêtre suivante :

Déroulez en [1], cliquez les [2], et faites en suite clic droit sur le service
en[3], et option propriétés, sinon sur autre service, et vous aurez la boite
de dialogue suivante :
m) Choisir le mode d’authentification

Le mode d’authentification Windows vous permet d’accéder au serveur


avec le compte utilisateur Windows qu’il faut ajouter en (3), il y a moins
de sécurité car il n’exige plus de mot de passe, puis qu’il utilise le compte
Windows. Le mode Mixte – Authentification Windows et SQL Server –
vous permet de balancer entrer les deux ; il crée par défaut un compte
utilisateur SQL Server nommé « sa » : System Administrator.
Puisque vous prenez le mode d’authentification Mixte en [1], en [2] vous
veniez de mettre le mot de passe pour le compte d’administrateur SQL
Server (nommé « sa », sysadmin ou system administrator), vous devez
aussi désigner le compte utilisateur Windows de la machine courante en
[3], ou sinon ajouter plusieurs autres qui seront autorisés d’administrer le
SQL Server
n) Ajouter l’utilisateur courant pour utiliser le SQL Server
o) Configuration de Reporting Service
p) Création de rapports d’erreurs et d’utilisation à Microsoft

q) Règles d’installation
r) Prêt pour l’installation
s) Installation en cours
t) Installation terminée

Et maintenant que l’installation est bien finie, vous pouvez alors vous en
servir, mais le service exploité dans ce document, c’est le moteur de Base
de Données avec certains services au tour de ce dernier.
Dès à présent, vous avez donc la possibilité de soit ajouter une nouvelle
instance, soit supprimer une ancienne, donc désinstaller :

- Pour ajouter une nouvelle instance, aller dans le « Centre d’Installation


SQL Server : Menu Démarrer -> Tous le Programme -> Microsoft SQL
Server 2008 -> Outils de configuration
Une fois que vous cliquez sur « Centre de configuration SQL Server », la
fenêtre suivante va apparaître :
Vous pouvez ainsi ajouter en [2] une nouvelle instance.
- Pour supprimer, aller carrément dans le Panneau de Configuration ->
Programmes (Désinstaller) et cliquer pour désinstaller l’élément « Micro-
soft SQL Server (64-bit) » et vous verrez la boite suite :
QUELQUE REQUETTES

Vous aimerez peut-être aussi