Fichier de rejeu Close

Indication Close

A propos de... Close

Commentaire Close

Systèmes d'Information

  • Notions mathématiques
  • Calcul relationnel
  • Algèbre relationnelle
  • Langage de requêtes
  • Arbre de requêtes
  • QCM
  • Introduction
    • Définition
    • Historique
    • Langage
    • Syntaxe
  • Commandes de bases
  • Langage de définition de données
  • Types de données
  • Requêtes
  • Présentation
  • Calcul relationnel
  • Algèbre relationnelle
  • Division relationnelle
  • Dépendances fonctionnelles
  • Décomposition de relations
  • Inférence logique
  • Normalisation
  • Aux pays des bières
  • Modélisation
  • Exercices
  • Présentation
  • Aux pays des bières
  • Au Tournoi des six nations
  • Salles de concerts
  • Définitions
  • Langage SQL
  • Modèle relationnel
  • Films
  • Repas
  • Repas
Index

Téléchargements

  • Site
  • Sources
  • EniBook
logo

Crédits

© Your Copyright

Aide

En-tête

MenuContenu
Sommaire,
Téléchargements
Aide sur les outils

Pied de page

ChevronAction
Aller en haut de la page courante
Aller en bas de la page courante
Passer à la page précédente
Passer à la page suivante

Introduction

../_images/logo-sql.jpg

Il existe une quantité importante d’information sur le langage SQL.

Dans un premier temps, le lecteur pourra consulter le lien suivant wikipédia pour avoir une approche globale sur le langage SQL.

Ci-dessous une présentation très schématique de ce qu’est le langage SQL.

Définition

Structured Query Language : langage de requêtes
  • peut être écrit par des humains
  • pour chercher, sauvegarder des données dans des fichiers
  • données partagées entre applications
Structured Query Language : structuré
  • pour pouvoir être traitée automatiquement par des machines
Objectif général du langage SQL :
  • Préciser QUOI chercher sans savoir COMMENT le trouver

Langage déclaratif pour créer et manipuler de bases de données relationnelles

Historique

Issu des développements en parallèle :
  • d’universitaires : QUEL (INGRES,université de Berkeley)
  • d’industriels : QBE, SQL (IBM )

Les industriels l’emporte et le langage SQL sera normalisé ANSI en 1986.

Les universitaires, dont Michael Stonebraker qui a reçu le pris A. Turing en 2014, développent post-ingres qui devient postgres puis PostgreSQL, un SGBDR relationnel Open Source dont nous recommandons vivement l’installation.

SQL est devenu un standard (ANSI) plus ou moins respectée par les SGBD relationnels :
  • SQL 1 (1986) : standard de description/manipulation
  • SQL 2 (1992) : supporte totalement le modèle relationnel
  • SQL 3 (1999) : doit supporter les modèles objets,
  • SQL 4 (200 ?) : modèle déductif…

Langage

SQL est un Langage déclaratif « universel » pour manipuler des données relationnelles :

  • Data Definition Language (DDL) : créer des ensembles de données
  • Data Manipulation Language (DML) : manipulation des données dans des ensembles
  • Data Control Language (DCL) :contrôler les données (types, contraintes,droits d’accès …)
  • Transaction Control Language (TCL) : partager l’accès aux données

SQL peut-être exploiter dans des langages de programmation et réciproquement :

  • PSM : Persistent Stored Module (PSM), procédures stockées, triggers sur un serveur de base de données
  • CLI : Call Level Interface (CLI), appels de fonctions dans des requêtes SQL
  • Embedded SQL : faire des requêtes SQL dans un langage hôte

Syntaxe

Les commandes du langage SQL sont regroupées en sous-ensembles pour :
  • Créer de l’information (Langage de Définition de Données, DDL en anglais).
    • CREATE TABLE : créer des tables (ensemble de données).
    • CREATE INDEX : créer des index sur des colonnes (attributs) de table.
    • CREATE VIEW : créer une vue (correspondant à une requête) sur la base de données.
    • ALTER TABLE : faire évoluer le modèle de données en modifiant les tables.
    • DROP TABLE : détruire une table (un ensemble) dans la base de données.
    • DROP INDEX : enlevre un index existant sur une colonne (attribut) de table.
    • DROP VIEW : détruire une vue sur des tables (ensembles) de la base de données.
  • Manipuler de l’information (Langage de Manipulation de Données, DML en anglais).
    • SELECT : rechercher des informations
    • UPDATE : mettre à jour des informations
    • INSERT : insérer de l’information
    • DELETE : enlever des informations
  • Contrôler l’information (Langage de Contrôle des Données, DCL en anglais).
    • GRANT : donner des droits à des utilisateurs
    • REVOKE : enlever des droits à des utilisateurs
    • LOCK : verrouiller des droits sur des informations
  • Gérer des transactions (Langage de Contrôle des Données, DCL en anglais).
    • BEGIN : lancer une transaction sur la base de données
    • COMMIT : sauvegarder les changements sur la base de données
    • ROLLBACK: annuler tous les changements depuis le lancement de la transaction
    • SAVE POINT : pour diviser la transaction en plusieurs pints de sauvegarde

Ces commandes ne représentent évidemment qu’une partie de l’ensemble de commandes du langage selon la norme SQL.

Chaque SGBD relationnel suit de plus ou moins près cette norme de manière à être “SQL Compliant”.

Dans ce cours nous n’utiliserons qu’une partie de l’ensemble des commandes disponibles.

 
Systèmes d'Information : Introduction, 12 févr. 2018.