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
  • Exercices
  • Introduction
  • Commandes de bases
  • Langage de définition de données (LDD)
  • Langage de manipulation de données (LMD)
  • Types de données
  • Exercice
  • Présentation
  • Calcul relationnel
  • Algèbre relationnelle
  • Division relationnelle
  • Relation
  • Fonction
  • Application
  • Injection
  • Surjection
  • Bijection
  • Association
  • Exemples
  • Dépendances fonctionnelles
  • Décomposition de relations
  • Inférence logique
  • Normalisation
  • Aux pays des bières
  • Modélisation
  • Exercices
  • Liste des projets
  • Aux pays des bières
  • Au Tournoi des six nations
  • Salles de concerts
  • Généralités
  • Langage SQL
  • Modèle relationnel
  • Généralités
  • SQL
  • Algèbre relationnelle
  • Synthèse
Index

Archives

  • Site Web
  • Sources reStructuredText
  • EniBook 1.618033988
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

SQL est un langage permettant de communiquer avec une base de données.

C’est un langage déclaratif qui consiste à décrire les propriétés de ce que l’on souhaite obtenir comme résultat.

Le langage SQL (Structured Query Language) est un langage de requêtes qui :

  • peut être compris et écrit par des humains non-informaticiens
  • permet de rechercher, ajouter, supprimer, mettre à jour des informations
  • offre la possibilité de partager des données entre applications

Le langage SQL (Structured Query Language) est un langage structuré pour:

  • décrire l’organisation des données
  • écrire des requêtes pour manipuler de l’information

Le langage SQL permettra dans un SGBD relationnel de :

  • sauvegarder des données de manière persistente dans des fichiers
  • gérer des droits d’accès sur les données par des utilisateurs
  • gérer des transactions d’utilisateurs sur les données

L’objectif général du langage SQL est de proposer un langage déclaratif pour :

  • créer et manipuler des bases de données relationnelles

en précisant ce que l’on veut (QUOI) créer et rechercher comme information sans savoir (COMMENT) la stocker et aller la retrouver dans un système de fichiers.

Historiquement le langage SQL est issu des développements en parallèle :

  • d’universitaires : QUEL (INGRES,université de Berkeley)
  • d’industriels : QBE, SQL (IBM )

Les industriels finissent, comme souvent, par l’emporter 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é 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…

SQL est un donc un Langage déclaratif « universel » pour manipuler des données relationnelles. On distingue 4 gandes catégories d’utilisation de ce langage :

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

SQL peut-être exploité 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

La syntaxe des commandes du langage SQL pezut-être regroupée 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”.

 
Systèmes d'Information : Introduction, 13 avr. 2023.