Blog

Structured Query Language (SQL)


Cliquez ici pour voir le Cours de l’Algèbre Relationnels

•SQL signifie ” Structured Query Language ” c’est-à-dire “Langage d’interrogation structuré”.

•En fait SQL est un langage complet de gestion de bases de données relationnelles. Il a été conçu par IBM dans les années 70. Il est devenu le langage standard des systèmes de gestion de bases de données (SGBD).

•SQL est un langage de définition de données (LDD), c’est-à-dire qu’il permet de créer des tables dans une base de données relationnelle, ainsi que d’en modifier ou en supprimer.

•SQL est un langage de manipulation de données (LMD), cela signifie qu’il permet de sélectionner, insérer, modifier ou supprimer des données dans une table d’une base de données relationnelle.

•SQL est un langage de protections d’accès Il est possible avec SQL de définir des permissions au niveau des utilisateurs d’une base de données. On parle de DCL (Data Control Language).

Pour créer une table, on utilise le couple de mots-clés CREATE TABLE. La syntaxe est la suivante :

CREATE TABLE NomTable (

NomColonne1 TypeDonnée1,

NomColonne2 TypeDonnée2,

 … );

Il est possible des créer une table un insérant directement des lignes lors de la création. On récupère les lignes à insérer avec AS SELECT.

CREATE TABLE NomTable (

Nom_de_colonne1 Type_de_donnée,

Nom_de_colonne2 Type_de_donnée,

… )

AS SELECT NomChamp1, NomChamp2,

 …

FROM NomTable2

WHERE …;

Un attribut d’une relation est défini pour un certain domaine. On peut également dire qu’il est d’un type particulier. Les types de données disponibles en SQL varient d’un SGBD à l’autre, on peut néanmoins citer un certain nombre de types standards que l’on retrouve dans tous les SGBD.

Les types numériques standard

  • Les nombres entiersINTEGER (ou INT) et SMALLINT, permettent de coder des entiers sur 4 octets (-2.147.483.648 à 2.147.483.647) ou 2 octets (-32.768 à 32.767).
  • Les nombres décimauxDECIMAL(X,Y), où X et Y sont optionnels et désignent respectivement le nombre de chiffres maximum pouvant composer le nombre, et le nombre de chiffres après la virgule. NUMERIC est un synonyme standard.
  • Les nombres à virgule flottanteFLOAT(X), avec X définissant la précision (nombre de bits de codage de la mantisse).REAL est un synonyme standard de FLOAT(24).

Une contrainte d’intégrité est une règle qui définit la cohérence d’une donnée ou d’un ensemble de données de la BD . Il existe deux types de contraintes : sur une colonne unique, ou sur une table lorsque la contrainte porte sur une ou plusieurs colonnes.

une clé est une (ou plusieurs) colonne(s) dont la connaissance permet de préciser un et un seul n-uplet.

• clé primaire : PRIMARY KEY

• clé étrangère : FOREIGN KEY…REFERENCES…

  • ajouter des n-uplets : INSERT INTO
  • insérer une seule ligne :

INSERT INTO NomTable(colonne1,colonne2,colonne3,…) VALUES (Valeur1,Valeur2,Valeur3,…)

  • insérer plusieurs lignes :

INSERT INTO NomTable(colonne1,colonne2,…) SELECT colonne1,colonne2,… FROM NomTable2 WHERE qualification

  • modifier des n-uplets existants :

UPDATE…SET…WHERE…

UPDATE NomTable SET Colonne = ValeurOuExpression WHERE qualification

  • supprimer des n-uplets :

DELETE FROM…WHERE…

DELETE FROM NomTable WHERE qualification

•Suppression d’éléments : DROP (VIEW, INDEX, TABLE)

•DROP TABLE NomTable

     (supprime les données et la structure de la table)

• Suppression de données uniquement : TRUNCATE

•TRUNCATE TABLE NomTable •

•Renommer une table : RENAME

      RENAME TABLE AncienNom TO NouveauNom

Avec ALTER on peut modifier les colonnes d’une table :

  • Modifier le type d’une colonne

ALTER TABLE NomTable

MODIFY NomColonne TypeDonnees

  • Ajouter de nouvelles colonnes

ALTER TABLE NomTable

ADD NomColonne TypeDonnees

  • Supprimer des colonnes

ALTER TABLE NomTable

DROP COLUMN NomCcolonne

  • Ajouter de nouvelles contraintes

ALTER TABLE NomTable

ADD CONSTRAINT NomContrainte

  • Supprimer des contraintes

ALTER TABLE NomTable

DROP CONSTRAINT NomContrainte

  • Activer ou désactiver toutes les contraintes

ALTER TABLE NomTable

CHECK CONSTRAINT NomContrainte

ALTER TABLE NomTable

NOCHECK CONSTRAINT ALL

Qu’est-ce qu’une vue?

Une vue est une table virtuelle, c’est-à-dire dont les données ne sont pas stockées dans une table de la base de données, et dans laquelle il est possible de rassembler des informations provenant de plusieurs tables. On parle de “vue” car il s’agit simplement d’une représentation des données dans le but d’une exploitation visuelle. Les données présentes dans une vue sont définies grâce à une clause SELECT.

Création d’une vue en SQL

La création d’une vue se fait grâce à la clause CREATE VIEW suivie du nom que l’on donne à la vue, puis du nom des colonnes dont on désire agrémenter cette vue (il faut autant de redéfinitions de colonne qu’il y en aura en sortie), puis enfin d’une clause AS précédant la sélection.

La clause AS permet de renomer les champs dans une requête définie par SELECT.

Exemple :

SELECT Compteur AS Ctp FROM Vehicule

Les conditions peuvent faire appel aux opérateurs suivants :

Opérateurs logiques : AND, OR, NOT

Comparateurs de chaînes : IN, BETWEEN, LIKE

Opérateurs arithmétiques : +, −, /, %

Comparateurs arithmétiques : =, ≠, ≤, ≥, <>

Exemple :

SELECT * FROM Vehicules WHERE (Compteur>10000) AND (Compteur<=30000