Bientôt disponible ! Suivez-nous pour être informé dès la sortie
Caractéristiques
Livre (broché) - 17 x 21 cm
ISBN : 978-2-409-04989-7
EAN : 9782409049897
Ref. ENI : VKRI5SQL
Ce livre de la collection vBook se compose d'un livre de référence sur les fondamentaux du langage SQL et d’un approfondissement sous forme de vidéo sur l’insertion, la modification et la suppression de données dans une base de données.Livre SQL – 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...
Ce livre de la collection vBook se compose d'un livre de référence sur les fondamentaux du langage SQL et d’un approfondissement sous forme de vidéo sur l’insertion, la modification et la suppression de données dans une base de données.
Livre SQL – 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.
Vidéo SQL - Insérer, modifier ou supprimer des données
Cette vidéo a pour objectif de vous transmettre les connaissances essentielles pour maîtriser les fonctions SQL permettant d’interroger une base de données relationnelles.
Après la présentation d'une base de données et des concepts associés (structure, clé primaire, clé étrangère, contraintes, type de données…), les fonctionnalités de l’éditeur de requêtes SQL Server Management Studio seront détaillées. Vous entrerez ensuite dans le vif du sujet en apprenant à insérer, modifier et supprimer des données.
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. Vérifier l’existence d’un objet
5. La modification de table
5.1 L'ordre ALTER
5.2 Renommer une table (RENAME)
6. Vider une table
7. Les vues
7.1 Pourquoi utiliser des vues ?
7.2 La création de vues
7.3 La suppression de vues
8. Les index
8.1 Les index et la norme SQL
8.2 Les différentes méthodes d'organisation des index
8.3 La création d'index
8.4 La suppression d'index
9. L'intégrité des données
9.1 La clé primaire (PRIMARY KEY)
9.2 La clé étrangère (FOREIGN KEY)
9.3 Les valeurs par défaut (DEFAULT)
9.4 La valeur NULL
9.5 La contrainte d’unicité UNIQUE
9.6 La contrainte de vérification CHECK
9.7 La suppression d’une clé primaire
9.8 Quelques conseils
10. Exercices
11. Solutions des exercices
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 ou MINUS
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énérales
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 (,) : logarithme de la colonne sélectionnée dans la base indiquée
2.5 MOD(,) : modulo
2.6 ROUND(,[]) : 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îne de 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
4.6 Diviser une chaîne de carctères en lignes de sous-chaînes : STRING_SPLIT
4.7 Remplacer une chaîne de caractères par une autre chaîne : REPLACE
4.8 Insérer une chaîne de caractères dans une autre chaîne : STUFF
4.9 Calculer la longueur d’une chaîne de caractères : LENGTH ou LEN
4.10 Date au format chaîne de caractères : DATENAME
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
5.3 Changer le classement d'une colonne de type alphanumérique (COLLATE)
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
3. Exercice
4. Solution de l’exercice
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
13. Exercices
14. Solutions des exercices
Approfondissement
1. Les sous-requêtes
1.1 Les sous-requêtes imbriquées
1.2 Les sous-requêtes corrélées
1.3 WITH CTE (Expression de Table Commune)
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.1.4 PostgreSQL
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.2.4 PostgreSQL
4.3 Les autres tables système
4.3.1 Oracle
4.3.2 MySQL
4.3.3 SQL Server
4.3.4 PostgreSQL
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
7. Exercices
8. Solutions des exercices
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éfinition de 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
Anne-Christine BISSON
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. A 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. Également formatrice, elle prolonge avec ses livres sa volonté de partager ses connaissances auprès des lecteurs sur la suite MSBI (dont SSAS, Azure et Power BI) ou sur SQL. Elle est certifiée Microsoft Azure Enterprise Data Analyst.
Spécialisé dans le développement de sites et d’applications web, Sylvain Tropée a travaillé pour le compte de grandes entreprises sur des bases de données conséquentes et sensibles dans le cadre de divers projets. Aujourd’hui formateur au sein de la filière Etude et développement de ENI Ecole depuis 2021, il dispense des formations dans les domaines des bases de données et du développement web dans son ensemble et accompagne au quotidien des dizaines de stagiaires afin de les faire monter en compétences.