• Aide
  • Eurêkoi Eurêkoi

Livre

SQL : les fondamentaux du langage : avec exercices et corrigés

Résumé

Guide destiné aux développeurs et informaticiens débutants appelés à travailler avec un système de gestion de base de données relationnelles (SGBDR). Les ordres principaux du langage SQL sont présentés afin de permettre une prise en main rapide de ce type de bases de données et être capable de créer des tables, de les interroger et de les modifier. Avec des compléments accessibles en ligne. ©Electre 2024


  • Éditeur(s)
  • Date
    • C 2024
  • Notes
    • La couv. porte en plus : "En téléchargement : scripts" ; "Version en ligne offerte ! pendant 1 an"
    • La 4e de couv. indique : "Sur www.editions-eni.fr : les scripts des exemples du livre"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
    • SQL = Structured query language.
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (443 p.) : ill., tabl. ; 21 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-04332-1
  • Indice
  • Quatrième de couverture
    • SQL

      Les fondamentaux du langage

      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 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ème.

      Les exemples utilisés dans ce livre ont été réalisés avec la version Oracle 21c DB Express Edition, SQL Server 2022 Developer Edition, la version 11 de MariaDB Community Server (MySQL), PostgreSQL en version 15.3 et sont en téléchargement sur le site www.editions-eni.fr.


  • Tables des matières
      • SQL

      • Les fondamentaux du langage (avec exercices et corrigés)

      • 5e édition

      • Éditions Eni

      • Avant-propos
      • Chapitre 1
      • Introduction
      • 1. Un peu d'histoire13
      • 2. Les normes SQL15
      • 3. Description rapide du modèle relationnel17
      • 3.1 Principaux concepts du modèle relationnel18
      • 3.2 Principales règles19
      • 4. L'algèbre relationnelle22
      • 4.1 Généralités22
      • 4.2 Les opérateurs22
      • 4.2.1 Union22
      • 4.2.2 Intersection23
      • 4.2.3 Différence24
      • 4.2.4 Division24
      • 4.2.5 Restriction26
      • 4.2.6 Projection26
      • 4.2.7 Produit cartésien27
      • 4.2.8 Jointure28
      • 4.2.9 Calculs élémentaires29
      • 4.2.10 Calcul d'agrégats30
      • 5. Les systèmes de gestion de bases de données utilisant SQL30
      • Chapitre 2
      • La définition des données (LDD)
      • 1. Les types de données31
      • 1.1 Numériques31
      • 1.2 Caractères35
      • 1.3 Dates et heures36
      • 1.4 Les types binaires39
      • 1.5 Autres types de données40
      • 2. La création de tables40
      • 2.1 L'ordre CREATE41
      • 2.2 Tables temporaires44
      • 2.3 Les commentaires (COMMENT)45
      • 2.4 Créer une table à partir d'une sélection de données47
      • 2.5 Utilisation des synonymes50
      • 2.6 Les séquences51
      • 3. La suppression de tables55
      • 3.1 L'ordre DROP55
      • 4. Vérifier l'existence d'un objet56
      • 5. La modification de table58
      • 5.1 L'ordre ALTER58
      • 5.2 Renommer une table (RENAME)59
      • 6. Vider une table60
      • 7. Les vues61
      • 7.1 Pourquoi utiliser des vues ?61
      • 7.2 La création de vues53
      • 7.3 La suppression de vues66
      • 8. Les index66
      • 8.1 Les index et la norme SQL67
      • 8.2 Les différentes méthodes d'organisation des index68
      • 8.3 La création d'index69
      • 8.4 La suppression d'index71
      • 9. L'intégrité des données72
      • 9.1 La clé primaire (PRIMARY KEY)72
      • 9.2 La clé étrangère (FOREIGN KEY)74
      • 9.3 Les valeurs par défaut (DEFAULT)76
      • 9.4 La valeur NULL78
      • 9.5 La contrainte d'unicité UNIQUE79
      • 9.6 La contrainte de vérification CHECK79
      • 9.7 La suppression d'une clé primaire80
      • 9.8 Quelques conseils81
      • 10. Exercices82
      • 11. Solutions des exercices84
      • Chapitre 3
      • La manipulation des données (LMD)
      • 1. Introduction89
      • 2. La sélection de données89
      • 2.1 L'ordre de sélection de données SELECT91
      • 2.2 Les options DISTINCT et ALL93
      • 2.3 Les tris94
      • 2.4 Les options TOP, LIMIT, OFFSET ou ROWNUM96
      • 2.5 L'utilisation des alias98
      • 2.6 La clause de restriction WHERE100
      • 2.7 Les commentaires101
      • 2.8 Les jointures102
      • 2.8.1 La jointure interne104
      • 2.8.2 La jointure externe106
      • 2.8.3 La jointure naturelle108
      • 2.8.4 La jointure croisée110
      • 2.8.5 Syntaxes des différentes formes de jointures111
      • 2.9 Les regroupements (GROUP BY)112
      • 2.10 Les fonctions utilisées lors d'un regroupement115
      • 2.10.1 Compter des lignes (COUNT)115
      • 2.10.2 Additionner des valeurs (SUM)117
      • 2.10.3 Valeurs maximum et minimum (MAX et MIN)118
      • 2.10.4 Moyenne de valeurs (AVG)119
      • 2.10.5 La clause de restriction sur un regroupement (HAVING)120
      • 2.11 Les instructions de condition CASE et IIF121
      • 2.12 La concaténation123
      • 2.13 L'instruction de choix (CHOOSE)126
      • 2.14 Résumé des syntaxes possibles du SELECT126
      • 2.15 Les opérateurs ensemblistes127
      • 2.15.1 L'opérateur UNION127
      • 2.15.2 L'opérateur INTERSECT131
      • 2.15.3 L'opérateur EXCEPT ou MINUS133
      • 2.16 Les opérateurs arithmétiques135
      • 2.17 Les opérateurs de comparaison135
      • 2.18 Les opérateurs logiques136
      • 2.19 Comment construire une requête : quelques conseils139
      • 2.20 Exercices sur la sélection de données142
      • 2.20.1 Questions générales142
      • 2.20.2 Exercices d'application142
      • 3. L'insertion de données151
      • 3.1 L'ordre INSERT152
      • 3.2 L'insertion à partir d'une autre table154
      • 3.3 Résumé des syntaxes de l'INSERT156
      • 3.4 Exercices sur l'insertion de données156
      • 4. La suppression de données157
      • 4.1 L'ordre DELETE157
      • 4.2 Exercices sur la suppression de données158
      • 5. La modification de données159
      • 5.1 L'ordre UPDATE159
      • 5.2 Exercices sur la modification de données161
      • 6. Agir sur les données à partir d'une autre table161
      • 6.1 L'ordre MERGE161
      • 7. Solutions des exercices165
      • 7.1 Solutions des exercices sur la sélection de données165
      • 7.1.1 Questions générales165
      • 7.1.2 Exercices d'application165
      • 7.2 Solutions des exercices sur l'insertion de données180
      • 7.3 Solutions des exercices sur la suppression de données182
      • 7.4 Solutions des exercices sur la modification de données183
      • Chapitre 4
      • Les fonctions
      • 1. Introduction185
      • 2. Les fonctions numériques185
      • 2.1 ABS : valeur absolue186
      • 2.2 Valeur ASCII d'un caractère186
      • 2.3 COS : cosinus - SIN : sinus187
      • 2.4 LOG (<numéro base>, <colonne>) : logarithme de la colonne sélectionnée dans la base indiquée187
      • 2.5 MOD ( <colonne>, <valeur> ) : modulo188
      • 2.6 ROUND(<colonne>,[<précision>]) : arrondi188
      • 2.7 SQRT : racine carrée189
      • 3. Les fonctions de gestion des dates et heures189
      • 3.1 Date du jour : CURRENT_DATE190
      • 3.2 Heure actuelle191
      • 3.3 Date et heure du jour : CURRENT_TIMESTAMP193
      • 3.4 Les différents formats d'affichage des dates194
      • 3.5 La manipulation des dates et des heures200
      • 4. Les fonctions sur les chaînes de caractères207
      • 4.1 Changement de casse LOWER / UPPER / UCASE / LCASE (minuscules et majuscules)207
      • 4.2 Supprimer les espaces à droite ou à gauche d'une chaîne de caractères : TRIM / LTRIM / RTRIM208
      • 4.3 Trouver la position d'une chaîne de caractères dans une chaîne : INSTR, CHARINDEX et POSITION210
      • 4.4 Ajouter des caractères avant ou après une chaîne : LPAD / RPAD211
      • 4.5 Extraire une partie d'une chaîne de caractères : SUBSTR213
      • 4.6 Diviser une chaîne de caractères en lignes de sous-chaînes : STRING_SPLIT213
      • 4.7 Remplacer une chaîne de caractères par une autre chaîne : REPLACE214
      • 4.8 Insérer une chaîne de caractères dans une autre chaîne : STUFF215
      • 4.9 Calculer la longueur d'une chaîne de caractères : LENGTH ou LEN215
      • 4.10 Date au format chaîne de caractères : DATENAME216
      • 5. Les principales fonctions de conversion217
      • 5.1 Transformer un numérique ou une date en texte : TO_CHAR.217
      • 5.2 Changer le type d'une colonne : CAST ou CONVERT218
      • 5.3 Changer le classement d'une colonne de type alphanumérique (COLLATE)219
      • 6. Les fonctions de fenêtrage220
      • 6.1 Numérotation séquentielle et rangement de lignes220
      • 6.2 Distribution de lignes en groupes numérotés221
      • 6.3 Décalage de valeurs d'une ligne à une autre222
      • 7. Les autres fonctions224
      • 7.1 NVL : tester une colonne à null224
      • 7.2 Tester plusieurs valeurs : COALESCE225
      • 7.3 Comparer deux colonnes : NULLIF226
      • 8. Exercices227
      • 9. Solutions des exercices228
      • Chapitre 5
      • La sécurité des données (DCL)
      • 1. Introduction237
      • 2. Pourquoi définir des droits ?237
      • 3. Créer une connexion245
      • 4. Créer un utilisateur.245
      • 5. Changer le mot de passe d'un utilisateur247
      • 6. Attribuer des droits (GRANT)248
      • 6.1 Attribuer des droits sur la manipulation d'une table248
      • 6.2 Attribuer des droits sur les objets de la base253
      • 6.3 Les autres droits possibles256
      • 7. Interdire l'accès (DENY)259
      • 7.1 Interdire l'accès à certains objets de la base259
      • 8. Supprimer des droits (REVOKE)259
      • 8.1 Supprimer des droits sur la manipulation d'une table259
      • 8.2 Supprimer des droits sur les objets de la base260
      • 9. Utilisation des rôles261
      • 10. Supprimer un rôle262
      • 11. Exercices263
      • 12. Solutions des exercices263
      • Chapitre 6
      • Le contrôle de transactions (TCL)
      • 1. Problématique des accès concurrents267
      • 1.1 Illustration des accès concurrents267
      • 1.1.1 Exemple 1 : mises à jour simultanées267
      • 1.1.2 Exemple 2 : incohérence des données suite à une modification d'un autre utilisateur269
      • 1.2 Le mécanisme de verrouillage270
      • 2. Notion de transaction271
      • 2.1 Définition d'une transaction271
      • 2.2 Comment éviter les incohérences de données272
      • 2.3 Mise en œuvre d'un verrouillage272
      • 2.3.1 READ UNCOMMITTED273
      • 2.3.2 READ COMMITTED273
      • 2.3.3 REPEATABLE-READ273
      • 2.3.4 SERIALIZABLE273
      • 2.3.5 Syntaxes274
      • 2.4 Mise en œuvre d'un verrouillage applicatif275
      • 2.4.1 Comment connaître les verrous posés sur une table ?276
      • 2.4.2 Comment supprimer des verrous posés sur une table ?278
      • 2.5 Validation des modifications (COMMIT)280
      • 2.6 Abandon des modifications (ROLLBACK)281
      • 2.7 Les points de synchronisation (SAVEPOINT)282
      • 2.8 Exemple d'utilisation des points de synchronisation282
      • 3. Exercice285
      • 4. Solution de l'exercice285
      • Chapitre 7
      • La programmation
      • 1. Introduction291
      • 2. Syntaxe générale291
      • 3. Les curseurs295
      • 4. Le contrôle des flux.298
      • 4.1 La boucle WHILE298
      • 4.2 La boucle FOR301
      • 4.3 La boucle LOOP303
      • 4.4 Les structures conditionnelles CASE et IF304
      • 5. Les exceptions Oracle les plus utilisées306
      • 6. La gestion des erreurs en Transact SQL307
      • 7. Création d'une procédure stockée309
      • 8. Création d'une fonction stockée313
      • 9. Les packages317
      • 10. Compilation d'une procédure, d'une fonction ou d'un package319
      • 11. Suppression d'une procédure, d'une fonction ou d'un package320
      • 12. Les déclencheurs320
      • 12.1 Création d'un déclencheur de contrôle et mise à jour dans une table324
      • 12.2 Création d'un déclencheur de suivi des mises à jour328
      • 13. Exercices335
      • 14. Solutions des exercices335
      • Chapitre 8
      • Approfondissement
      • 1. Les sous-requêtes341
      • 1.1 Les sous-requêtes imbriquées341
      • 1.2 Les sous-requêtes corrélées344
      • 1.3 WITH CTE (Expression de Table Commune)345
      • 2. Les imports et exports de données346
      • 2.1 Charger des données en masse avec SQL*Loader346
      • 2.2 Les imports et exports de tables avec Oracle354
      • 2.2.1 Les exports de tables354
      • 2.2.2 Les imports de tables358
      • 2.3 Extraire les données d'une table dans un fichier à plat359
      • 2.4 Importer les données d'une autre source de données362
      • 2.5 Importer les données d'un fichier XML363
      • 3. Quelques notions de performances365
      • 3.1 Utilisation de EXPLAIN PLAN366
      • 3.2 Utilisation du package DBMS_XPLAN.DISPLAY369
      • 3.3 Optimisation des requêtes par l'utilisation des HINTS370
      • 3.4 Conclusion372
      • 4. Les tables système372
      • 4.1 Tables système pour les tables et colonnes373
      • 4.1.1 Oracle373
      • 4.1.2 MySQL373
      • 4.1.3 SQL Server373
      • 4.1.4 PostgreSQL373
      • 4.2 Tablés système pour les index et les vues374
      • 4.2.1 Oracle374
      • 4.2.2 MySQL374
      • 4.2.3 SQL Server374
      • 4.2.4 PostgreSQL374
      • 4.3 Les autres tables système375
      • 4.3.1 Oracle375
      • 4.3.2 MySQL375
      • 4.3.3 SQL Server376
      • 4.3.4 PostgreSQL376
      • 5. Les métadonnées, fonctions et procédures système SQL Server376
      • 6. Quelques scripts bien utiles377
      • 6.1 Connaître la taille réelle d'une colonne377
      • 6.2 Rechercher et supprimer des doublons dans une table378
      • 6.3 Afficher le contenu d'une table sans connaître sa structure380
      • 6.4 Générer les ordres d'insertion dans une table à partir d'un fichier Excel382
      • 7. Exercices385
      • 8. Solutions des exercices385
      • Chapitre 9
      • Les erreurs les plus couramment rencontrées
      • 1. Introduction389
      • 2. Sur les accès aux données (LDD/LMD)390
      • 3. Sur les transactions et les sessions (TCL/DCL)404
      • 4. Sur les composants internes (mémoire, système)406
      • Annexes
      • 1. Récapitulatif des ordres principaux409
      • 1.1 Les principaux ordres du LDD (Langage de Définition de Données) ou DDL (Data Définition Language)409
      • 1.2 Les principaux ordres du LMD (Langage de Manipulation de Données) ou DML (Data Manipulation Language)412
      • 1.3 Les principaux ordres du LCD (Langage de Contrôle des Données) ou DCL (Data Control Language)416
      • 1.4 Les principaux ordres du LCT (Langage de Contrôle des Transactions) ou TCL (Transaction Control Language)418
      • 1.5 La création de procédures et de fonctions419
      • 2. Fonctions SQL présentées dans ce livre421
      • 3. Glossaire423
      • Index425

  • Origine de la notice:
    • Electre
  • Disponible - 681.228(07) BIS

    Niveau 3 - Informatique