1. Livres et vidéos
  2. SQL - Les fondamentaux du langage (avec exercices et corrigés) - (3e édition)

SQL Les fondamentaux du langage (avec exercices et corrigés) - (3e édition)

  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne
  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

Présentation

Ce livre sur les fondamentaux du langage SQL s'adresse aux développeurs et informaticiens débutants appelés à travailler avec un Système de Gestion de Bases de Données Relationnelles (SGBDR) pour stocker et manipuler des données. Son objectif est de décrire les ordres principaux les plus utilisés du langage SQL (indépendamment des déclinaisons réalisées par les éditeurs de SGBDR) pour permettre au lecteur de prendre en main rapidement une base de données relationnelle et être capable de créer des tables, de les interroger, de les modifier, d'insérer et de supprimer des lignes.

Le livre débute par un bref historique sur la création de la norme SQL puis présente quelques notions sur le modèle relationnel. Ensuite, chaque chapitre présente une subdivision de SQL : la création et la manipulation des tables puis la gestion des données dans ces tables en incluant les dernières évolutions comme les fonctions de fenêtrage. L'auteur enchaîne avec la sécurité des données et quelques notions de transactions, puis présente la programmation avec quelques éléments de PL/SQL et l'étude des déclencheurs. Le livre se termine en abordant des thèmes un peu plus complexes comme les chargements en masse, les imports et exports de tables, les notions de performances ou encore les objets systèmes.

Les exemples utilisés dans ce livre ont été réalisés avec la version Oracle 12c (12.1.0.2) DB Developer VM, SQL Server 2016 SP1 Developer Edition, la version MySQL 5.7.11, PostgreSQL en version 9.5.6 et sont en téléchargement sur le site www.editions-eni.fr.


Les chapitres du livre :
Avant-propos – Introduction – La définition des données (LDD) – La manipulation des données (LMD) – Les fonctions – La sécurité des données (LSC) – Le contrôle de transactions (TCL) – La programmation – Approfondissement – Les erreurs les plus couramment rencontrées – Annexes

Table des matières

  • Introduction
    • 1. Un peu d'histoire
    • 2. Les normes SQL
    • 3. Description rapide du modèle relationnel
      • 3.1 Principaux concepts du modèle relationnel
      • 3.2 Principales règles
    • 4. L’algèbre relationnelle
      • 4.1 Généralités
      • 4.2 Les opérateurs
        • 4.2.1 Union
        • 4.2.2 Intersection
        • 4.2.3 Différence
        • 4.2.4 Division
        • 4.2.5 Restriction
        • 4.2.6 Projection
        • 4.2.7 Produit cartésien
        • 4.2.8 Jointure
        • 4.2.9 Calculs élémentaires
        • 4.2.10 Calcul d'agrégats
    • 5. Les systèmes de gestion de bases de données utilisant SQL
  • La définition des données (LDD)
    • 1. Les types de données
      • 1.1 Numériques
      • 1.2 Caractères
      • 1.3 Dates et heures
      • 1.4 Les types binaires
      • 1.5 Autres types de données
    • 2. La création de tables
      • 2.1 L'ordre CREATE
      • 2.2 Tables temporaires
      • 2.3 Les commentaires (COMMENT)
      • 2.4 Créer une table à partir d'une sélection de données
      • 2.5 Utilisation des synonymes
      • 2.6 Les séquences
    • 3. La suppression de tables
      • 3.1 L'ordre DROP
    • 4. La modification de tables
      • 4.1 L'ordre ALTER
      • 4.2 Renommer une table (RENAME)
    • 5. Vider une table
      • 5.1 L'ordre TRUNCATE
    • 6. Les vues
      • 6.1 Pourquoi utiliser des vues ?
      • 6.2 La création de vues
      • 6.3 La suppression de vues
    • 7. Les index
      • 7.1 Les index et la norme SQL
      • 7.2 Les différentes méthodes d'organisation des index
      • 7.3 La création d'index
      • 7.4 La suppression d'index
    • 8. L'intégrité des données
      • 8.1 La clé primaire (PRIMARY KEY)
      • 8.2 La clé étrangère (FOREIGN KEY)
      • 8.3 Les valeurs par défaut (DEFAULT)
      • 8.4 La valeur NULL
      • 8.5 La contrainte d’unicité UNIQUE
      • 8.6 La contrainte de vérification CHECK
      • 8.7 Quelques conseils
    • 9. Exercices d'application
    • 10. Solutions des exercices d'application
  • La manipulation des données (LMD)
    • 1. Introduction
    • 2. La sélection de données
      • 2.1 L'ordre de sélection de données SELECT
      • 2.2 Les options DISTINCT et ALL
      • 2.3 Les tris
      • 2.4 Les options TOP, LIMIT, OFFSET ou ROWNUM
      • 2.5 L’utilisation des alias
      • 2.6 La clause de restriction WHERE
      • 2.7 Les commentaires
      • 2.8 Les jointures
        • 2.8.1 La jointure interne
        • 2.8.2 La jointure externe
        • 2.8.3 La jointure naturelle
        • 2.8.4 La jointure croisée
        • 2.8.5 Syntaxes des différentes formes de jointures
      • 2.9 Les regroupements (GROUP BY)
      • 2.10 Les fonctions utilisées lors d'un regroupement
        • 2.10.1 Compter des lignes (COUNT)
        • 2.10.2 Additionner des valeurs (SUM)
        • 2.10.3 Valeurs maximum et minimum (MAX et MIN)
        • 2.10.4 Moyenne de valeurs (AVG)
        • 2.10.5 La clause de restriction sur un regroupement (HAVING)
      • 2.11 Les instructions de condition CASE et IIF
      • 2.12 La concaténation
      • 2.13 L’instruction de choix (CHOOSE)
      • 2.14 Résumé des syntaxes possibles du SELECT
      • 2.15 Les opérateurs ensemblistes
        • 2.15.1 L'opérateur UNION
        • 2.15.2 L'opérateur INTERSECT
        • 2.15.3 L'opérateur EXCEPT
      • 2.16 Les opérateurs arithmétiques
      • 2.17 Les opérateurs de comparaison
      • 2.18 Les opérateurs logiques
      • 2.19 Comment construire une requête : quelques conseils
      • 2.20 Exercices sur la sélection de données
        • 2.20.1 Questions génrales
        • 2.20.2 Exercices d'application
    • 3. L'insertion de données
      • 3.1 L'ordre INSERT
      • 3.2 L'insertion à partir d'une autre table
      • 3.3 Résumé des syntaxes de l'INSERT
      • 3.4 Exercices sur l'insertion de données
    • 4. La suppression de données
      • 4.1 L'ordre DELETE
      • 4.2 Exercices sur la suppression de données
    • 5. La modification de données
      • 5.1 L'ordre UPDATE
      • 5.2 Exercices sur la modification de données
    • 6. Agir sur les données à partir d’une autre table
      • 6.1 L'ordre MERGE
    • 7. Solutions des exercices
      • 7.1 Solutions des exercices sur la sélection de données
        • 7.1.1 Questions générales
        • 7.1.2 Exercices d'application
      • 7.2 Solutions des exercices sur l'insertion de données
      • 7.3 Solutions des exercices sur la suppression de données
      • 7.4 Solutions des exercices sur la modification de données
  • Les fonctions
    • 1. Introduction
    • 2. Les fonctions numériques
      • 2.1 ABS : valeur absolue
      • 2.2 Valeur ASCII d'un caractère
      • 2.3 COS : cosinus - SIN : sinus
      • 2.4 LOG (<numéro base>,<colonne>) : logarithme de la colonne sélectionnée dans la base indiquée
      • 2.5 MOD(<colonne>,<valeur>) : modulo
      • 2.6 ROUND(<colonne>,[<précision>]) : arrondi
      • 2.7 SQRT : racine carrée
    • 3. Les fonctions de gestion des dates et heures
      • 3.1 Date du jour : CURRENT_DATE
      • 3.2 Heure actuelle
      • 3.3 Date et heure du jour : CURRENT_TIMESTAMP
      • 3.4 Les différents formats d’affichage des dates
      • 3.5 La manipulation des dates et des heures
    • 4. Les fonctions sur les chaînes de caractères
      • 4.1 Changement de casse LOWER / UPPER / UCASE / LCASE (minuscules et majuscules)
      • 4.2 Supprimer les espaces à droite ou à gauche d'une chaînede caractères : TRIM / LTRIM / RTRIM
      • 4.3 Trouver la position d'une chaîne de caractères dans une chaîne : INSTR, CHARINDEX et POSITION
      • 4.4 Ajouter des caractères avant ou après une chaîne : LPAD / RPAD
      • 4.5 Extraire une partie d'une chaîne de caractères : SUBSTR
    • 5. Les principales fonctions de conversion
      • 5.1 Transformer un numérique ou une date en texte : TO_CHAR
      • 5.2 Changer le type d'une colonne : CAST ou CONVERT
    • 6. Les fonctions de fenêtrage
      • 6.1 Numérotation séquentielle et rangement de lignes
      • 6.2 Distribution de lignes en groupes numérotés
      • 6.3 Décalage de valeurs d’une ligne à une autre
    • 7. Les autres fonctions
      • 7.1 NVL : tester une colonne à null
      • 7.2 Tester plusieurs valeurs : COALESCE
      • 7.3 Comparer deux colonnes : NULLIF
    • 8. Exercices
    • 9. Solutions des exercices
  • La sécurité des données (DCL)
    • 1. Introduction
    • 2. Pourquoi définir des droits ?
    • 3. Créer une connexion
    • 4. Créer un utilisateur
    • 5. Changer le mot de passe d’un utilisateur
    • 6. Attribuer des droits (GRANT)
      • 6.1 Attribuer des droits sur la manipulation d’une table
      • 6.2 Attribuer des droits sur les objets de la base
      • 6.3 Les autres droits possibles
    • 7. Interdire l’accès (DENY)
      • 7.1 Interdire l’accès à certains objets de la base
    • 8. Supprimer des droits (REVOKE)
      • 8.1 Supprimer des droits sur la manipulation d’une table
      • 8.2 Supprimer des droits sur les objets de la base
    • 9. Utilisation des rôles
    • 10. Supprimer un rôle
    • 11. Exercices
    • 12. Solutions des exercices
  • Le contrôle de transactions (TCL)
    • 1. Problématique des accès concurrents
      • 1.1 Illustration des accès concurrents
        • 1.1.1 Exemple 1 : mises à jour simultanées
        • 1.1.2 Exemple 2 : incohérence des données suite à une modification d’un autre utilisateur
      • 1.2 Le mécanisme de verrouillage
    • 2. Notion de transaction
      • 2.1 Définition d'une transaction
      • 2.2 Comment éviter les incohérences de données
      • 2.3 Mise en œuvre d'un verrouillage
        • 2.3.1 READ UNCOMMITTED
        • 2.3.2 READ COMMITTED
        • 2.3.3 REPEATABLE-READ
        • 2.3.4 SERIALIZABLE
        • 2.3.5 Syntaxes
      • 2.4 Mise en œuvre d'un verrouillage applicatif
        • 2.4.1 Comment connaître les verrous posés sur une table ?
        • 2.4.2 Comment supprimer des verrous posés sur une table ?
      • 2.5 Validation des modifications (COMMIT)
      • 2.6 Abandon des modifications (ROLLBACK)
      • 2.7 Les points de synchronisation (SAVEPOINT )
      • 2.8 Exemple d'utilisation des points de synchronisation
  • La programmation
    • 1. Introduction
    • 2. Syntaxe générale
    • 3. Les curseurs
    • 4. Le contrôle des flux
      • 4.1 La boucle WHILE
      • 4.2 La boucle FOR
      • 4.3 La boucle LOOP
      • 4.4 Les structures conditionnelles CASE et IF
    • 5. Les exceptions les plus utilisées
    • 6. La gestion des erreurs en Transact SQL
    • 7. Création d'une procédure stockée
    • 8. Création d'une fonction stockée
    • 9. Les packages
    • 10. Compilation d'une procédure, d'une fonction ou d'un package
    • 11. Suppression d'une procédure, d'une fonction ou d'un package
    • 12. Les déclencheurs
      • 12.1 Création d'un déclencheur de contrôle et mise à jour dans une table
      • 12.2 Création d'un déclencheur de suivi des mises à jour
  • Approfondissement
    • 1. Les sous-requêtes
      • 1.1 Les sous-requêtes imbriquées
      • 1.2 Les sous-requêtes corrélées
    • 2. Les imports et exports de données
      • 2.1 Charger des données en masse avec SQL*Loader
      • 2.2 Les imports et exports de tables avec Oracle
        • 2.2.1 Les exports de tables
        • 2.2.2 Les imports de tables
      • 2.3 Extraire les données d’une table dans un fichier à plat
      • 2.4 Importer les données d’une autre source de données
      • 2.5 Importer les données d’un fichier XML
    • 3. Quelques notions de performances
      • 3.1 Utilisation de EXPLAIN PLAN
      • 3.2 Utilisation du package DBMS_XPLAN.DISPLAY
      • 3.3 Optimisation des requêtes par l’utilisation des HINTS
      • 3.4 Conclusion
    • 4. Les tables système
      • 4.1 Tables système pour les tables et colonnes
        • 4.1.1 Oracle
        • 4.1.2 MySQL
        • 4.1.3 SQL Server
      • 4.2 Tables système pour les index et les vues
        • 4.2.1 Oracle
        • 4.2.2 MySQL
        • 4.2.3 SQL Server
      • 4.3 Les autres tables système
        • 4.3.1 Oracle
        • 4.3.2 MySQL
        • 4.3.3 SQL Server
    • 5. Les métadonnées, fonctions et procédures système SQL Server
    • 6. Quelques scripts bien utiles
      • 6.1 Connaître la taille réelle d'une colonne
      • 6.2 Rechercher et supprimer des doublons dans une table
      • 6.3 Afficher le contenu d'une table sans connaître sa structure
      • 6.4 Générer les ordres d'insertion dans une table à partir d'un fichier Excel
  • Les erreurs les plus couramment rencontrées
    • 1. Introduction
    • 2. Sur les accès aux données (LDD/LMD)
    • 3. Sur les transactions et les sessions (TCL/DCL)
    • 4. Sur les composants internes (mémoire, système)
  • Annexes
    • 1. Récapitulatif des ordres principaux
      • 1.1 Les principaux ordres du LDD (langage de définitionde données) ou DDL (Data Definition Language)
      • 1.2 Les principaux ordres du LMD (langage de manipulation de données) ou DML (Data Manipulation Language)
      • 1.3 Les principaux ordres du LCD (langage de contrôle des données) ou DCL (Data Control Language)
      • 1.4 Les principaux ordres du LCT (langage de contrôle des transactions) ou TCL (Transaction Control Language)
      • 1.5 La création de procédures et de fonctions
    • 2. Fonctions SQL présentées dans ce livre
    • 3. Glossaire
    • Index

Auteurs

Anne-Christine BISSONEn savoir plus

Anne-Christine BISSON est consultante indépendante en informatique décisionnelle. Cette experte conseille sur la conception de bases et entrepôts de données de différents SGDB. À ce titre, elle manipule et agrège des données à partir de sources diverses pour les restituer de façon synthétique dans des entreprises et administrations de différents secteurs. Egalement formatrice, elle prolonge avec ce livre sa volonté de partager ses connaissances sur SQL auprès des lecteurs.

Eric GODOCEn savoir plus

Eric GODOC est Directeur de projets informatiques dans une SSII. Ses projets autour du développement et des migrations d'applications au sein de grandes entreprises lui ont apporté une expérience significative sur la manipulation de bases de données relationnelles. Avec ce livre il fait bien sûr profiter les lecteurs de ce retour d'expérience et surtout, il leur fournit les moyens de maîtriser les bases du langage SQL. Son objectif est qu'ils puissent répondre à la majorité des besoins dans l'utilisation d'une base de données relationnelle, quel qu'en soit l'éditeur.

Caractéristiques

  • Niveau Initié à Confirmé
  • Nombre de pages 409 pages
  • Parution décembre 2017
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-01142-9
    • EAN : 9782409011429
    • Ref. ENI : RI3SQL
  • Niveau Initié à Confirmé
  • Parution décembre 2017
    • HTML
    • ISBN : 978-2-409-01144-3
    • EAN : 9782409011443
    • Ref. ENI : LNRI3SQL

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (24,7 Ko)