Ce support sur SQL Server 2019 s'adresse aussi bien aux étudiants en informatique désirant apprendre le SQL avec SQL Server qu'aux informaticiens qui souhaitent actualiser leurs compétences sur SQL Server 2019 pour comprendre et maîtriser les fonctionnalités qui permettent de concevoir et réaliser une base de données.
Le support permet de détailler l'ensemble des instructions nécessaires à la définition des tables et...
Ce support sur SQL Server 2019 s'adresse aussi bien aux étudiants en informatique désirant apprendre le SQL avec SQL Server qu'aux informaticiens qui souhaitent actualiser leurs compétences sur SQL Server 2019 pour comprendre et maîtriser les fonctionnalités qui permettent de concevoir et réaliser une base de données.
Le support permet de détailler l'ensemble des instructions nécessaires à la définition des tables et au paramétrage de la base de données ainsi qu'à la manipulation des données : les différentes instructions SQL et Transact SQL (procédures, fonctions, déclencheurs) sont présentées et illustrées afin de bien comprendre l'intérêt des différentes fonctionnalités exposées. Pour ces différents points, les auteurs proposent de nombreux exercices (et leur correction) afin que le lecteur puisse s’exercer et bien appréhender ces concepts.
La gestion des données non structurées (FILESTREAM) ou les structures hiérarchiques et les données géographiques, sont développées. Les principales fonctionnalités qui permettent d'obtenir une gestion des données plus efficace sont également détaillées, comme le XML ou l'intégration du code CLR (Common Langage Runtime). La bibliothèque de programmation SMO et sa manipulation en PowerShell sont également présentées.
La base de données qui est construite au fur et à mesure de la lecture du support ainsi que tous les codes SQL des corrections des exercices sont en téléchargement sur le site www.editions-eni.fr.
1.2 Qu’est-ce qu’un système de gestion de bases de données ?
1.3 Qu’est-ce que le langage SQL ?
1.4 Qu’est-ce que le langage Transact-SQL ?
1.5 Qu’allez-vous apprendre à réaliser avec cet ouvrage ?
2. Les tables
2.1 Les attributs
2.2 Les enregistrements
2.3 La représentation d'une table
2.3.1 La forme condensée
2.3.2 La forme étendue
2.3.3 La forme textuelle
3. L'identification d'un enregistrement
3.1 Clé primaire
3.2 Clé secondaire
4. La nullité
5. Les domaines de valeurs
6. Les contraintes d'intégrité référentielle et les clés étrangères
7. La normalisation des tables
7.1 La première forme normale
7.2 La deuxième forme normale
7.3 La troisième forme normale
8. Le schéma relationnel de la base de données et le dictionnaire des données
9. L'algèbre relationnelle
9.1 Les opérateurs
9.1.1 L’union
9.1.2 L’intersection
9.1.3 La différence
9.1.4 La division
9.1.5 La restriction
9.1.6 La projection
9.1.7 Le produit cartésien
9.1.8 Les jointures
9.1.9 Les calculs élémentaires
9.1.10 Les calculs d'agrégat
9.2 Les étapes de résolution d'un problème
9.2.1 La forme de la table résultante
9.2.2 Les tables concernées
9.2.3 Les attributs concernés
9.2.4 L’ordonnancement des opérations
9.2.5 Un exemple plus complexe
10. Exercices
10.1 L’identification des clés primaires et des clés secondaires
10.2 Les formes normales
10.3 L’identification des contraintes d’intégrité référentielle
10.4 La réalisation du dictionnaire des données
10.5 L’algèbre relationnelle
11. Correction des exercices
11.1 L’identification des clés primaires et des clés secondaires
11.2 Les formes normales
11.3 L’identification des contraintes d’intégrité référentielle
11.4 La réalisation du dictionnaire des données
11.5 L’algèbre relationnelle
Implémentation des bases de données
1. Présentation de SQL Server
1.1 L’installation de l’environnement
1.1.1 L’installeur
1.1.2 SQL Server
1.1.3 SQL Server Management Studio
1.2 L’utilisation de SQL Server Management Studio
1.2.1 La connexion
1.2.2 Les fenêtres
2. Les principes élémentaires de la gestion d'une base de données
2.1 Les trois catégories d'instructions
2.2 Les instructions
2.3 Les commentaires
2.4 Les identificateurs
2.5 Les instructions du Data Definition Language
2.5.1 La création
2.5.2 Le contexte d’exécution
2.5.3 La modification
2.5.4 La suppression
3. Les tables
3.1 La création
3.2 Les types de données
3.2.1 Les chaînes de caractères
3.2.2 Les valeurs numériques
3.2.3 Les valeurs binaires
3.2.4 Les dates
3.2.5 Les autres types
3.2.6 Les synonymes pour coller à la norme
3.2.7 Les types de données définis par l'utilisateur
3.2.8 Les attributs requis
3.3 Les contraintes
3.3.1 Le positionnement des contraintes
3.3.2 Le nommage des contraintes
3.3.3 Les clés primaires
3.3.4 Les clés secondaires
3.3.5 Les clés étrangères
3.3.6 Les vérifications
3.3.7 Les valeurs par défaut
3.4 Les valeurs auto-incrémentées et les séquences
3.4.1 Les valeurs auto-incrémentées
3.4.2 Les séquences
3.5 Les colonnes calculées
3.6 La modification d’une table
3.6.1 La suppression d'une contrainte
3.6.2 L'ajout d'une contrainte
3.6.3 La modification d'une contrainte
3.6.4 L'activation et la désactivation d'une contrainte
3.6.5 L'ajout d'un attribut
3.6.6 La modification d'un attribut
3.6.7 La suppression d'un attribut
3.6.8 Le renommage
3.7 La suppression d’une table
4. Les index
4.1 La notion d'index
4.2 L'intérêt d’une bonne indexation
4.3 Les index organisés et les index non organisés
4.3.1 Les tables sans index organisé
4.3.2 Les index organisés
4.3.3 Les index non organisés
4.3.4 Les index couvrants
4.3.5 Les index filtrés
4.3.6 Les index et les colonnes calculées
4.3.7 Les index et les calculs d'agrégat
4.4 La création
4.5 La suppression d’un index
4.6 La reconstruction d’un index
4.7 Les statistiques
4.8 L’obtention d’informations
5. Les schémas
5.1 L'intérêt
5.2 La création
5.3 Le nom complet d'une table
6. La gestion d’une base de données
6.1 Le schéma de la base de données
6.2 La gestion de l'espace de stockage
6.3 La gestion de l'objet DATABASE
6.3.1 La création d’une base de données
6.3.2 La modification de la taille des fichiers
6.3.3 La suppression d’une base de données
6.3.4 La configuration d’une base de données
6.4 Les bases de données en mémoire
6.4.1 La création d’une base de données en mémoire
6.4.2 La création d’une table en mémoire
7. La surveillance et la vérification des bases et des objets
8. Exercice
8.1 La création de la base de données
8.2 La création des tables
8.3 L’ajout d’une colonne calculée
8.4 L’ajout d’index pour accélérer les jointures
8.5 L’ajout d’index pour accélérer les recherches et les tris
8.6 La création d’une base de données plus finement paramétrée
9. Solutions des exercices
9.1 La création de la base de données
9.2 La création des tables
9.3 L’ajout d’une colonne calculée
9.4 L’ajout d’index pour accélérer les jointures
9.5 L’ajout d’index pour accélérer les recherches et les tris
9.6 La création d’une base de données plus finement paramétrée
Les ordres du SQL
1. Les bases du langage SQL
1.1 Les expressions
1.2 Les opérateurs
1.2.1 Les opérateurs arithmétiques
1.2.2 La concaténation de chaînes de caractères
1.2.3 Les opérateurs binaires
1.2.4 Les opérateurs de comparaison
1.3 Les fonctions
1.3.1 Les fonctions d'agrégation
1.3.2 Les fonctions mathématiques
1.3.3 Les fonctions trigonométriques
1.3.4 Les fonctions logarithmiques
1.3.5 La fonction de tirage de nombres aléatoires
1.3.6 Les fonctions sur les dates
1.3.7 Les fonctions sur les chaînes de caractères
1.3.8 Les fonctions système
1.3.9 Les fonctions de conversion de type
1.3.10 Les fonctions logiques
2. Les instructions du Data Manipulation Language
2.1 L’insertion de lignes
2.2 La modification de lignes
2.3 La suppression de lignes
2.4 L’extraction de lignes
2.5 Les opérations de l'algèbre relationnelle
2.5.1 La sélection de colonnes
2.5.2 La restriction
2.5.3 Les calculs élémentaires
2.5.4 La projection
2.5.5 Les calculs d'agrégat
2.5.6 Le produit cartésien
2.5.7 La jointure
2.5.8 La jointure externe
2.5.9 Le tri
2.5.10 L’union
2.5.11 La différence
2.5.12 L’intersection
2.5.13 L’extraction des premières lignes seulement
2.6 Les requêtes de création de tables et les tables temporaires
2.7 L'optimiseur de requête
2.8 Les tables CTE
2.9 La génération de lignes statistiques
2.10 Les sous-requêtes
2.11 Le pivot
2.11.1 Le principe de fonctionnement
2.11.2 Un exemple d'utilisation
2.11.3 Le pivot en sens inverse
2.12 La fusion de données
3. Les vues
3.1 La création
3.2 La manipulation des données
3.3 La suppression
4. Exercices
4.1 La suppression des données
4.2 L’insertion du jeu d’essai
4.3 Le test des contraintes d’intégrité
4.4 La traduction de l’algèbre relationnelle en requêtes SQL
4.5 L’écriture de requêtes SQL
4.6 La création d’une vue
5. Correction des exercices
5.1 La suppression des données
5.2 L’insertion du jeu d’essai
5.3 Le test des contraintes d’intégrité
5.4 La traduction de l’algèbre relationnelle en requêtes SQL
5.5 L’écriture de requêtes SQL
5.6 La création d’une vue
Transact-SQL : le langage procédural
1. Le SQL procédural
1.1 Les variables
1.1.1 Les variables utilisateur
1.1.2 Les variables système
1.1.3 L'affichage
1.2 Les transactions
1.2.1 Le principe
1.2.2 La gestion des transactions
1.2.3 La gestion des verrous
1.2.4 Les transactions à validation différée
1.3 Les lots d’instructions et les scripts
1.4 Le contrôle de flux
1.4.1 Le retour
1.4.2 L'expression CASE
1.4.3 Les blocs d’instructions
1.4.4 La structure de contrôle alternative
1.4.5 Les boucles
1.4.6 Les valeurs des lignes affectées
1.5 Les curseurs
1.5.1 La déclaration
1.5.2 L'ouverture
1.5.3 La récupération d’une ligne
1.5.4 La fermeture
1.5.5 La désallocation
1.5.6 Des exemples
1.6 Les exceptions
1.6.1 Les messages d'erreur
1.6.2 Le déclenchement d’une erreur par le programmeur
1.6.3 La création d’un message d'erreur
1.6.4 La gestion des erreurs
2. Les procédures stockées
3. Les fonctions stockées
3.1 La création
3.2 La modification
3.3 La suppression
3.4 L'utilisation du résultat d'une fonction en tant que table
4. L’exécution des procédures et fonctions
4.1 L’appel
4.2 Le contexte d'exécution
5. Les déclencheurs
6. Exercices
6.1 La création d’une fiche de location et ses lignes associées
6.2 Le montant d’une fiche
6.3 L'enregistrement du paiement d'une fiche
6.4 La synthèse des fiches
6.5 La mise à jour automatique de l’état des fiches
6.6 La vérification de la disponibilité des articles pour la location
7. Correction des exercices
7.1 La création d’une fiche de location et ses lignes associées
7.2 Le montant d’une fiche
7.3 L'enregistrement du paiement d'une fiche
7.4 La synthèse des fiches
7.5 La mise à jour automatique de l’état des fiches
7.6 La vérification de la disponibilité des articles pour la location
Gestion des données distribuées
1. Introduction
2. SQL Server Integration Services
2.1 Les principes de fonctionnement
2.2 L'assistant d'importation et d'exportation
2.3 Les autres utilitaires
2.3.1 L’utilitaire d'exécution de package
2.3.2 Les utilitaires en ligne de commande
3. Le transport d’une base de données
3.1 Le détachement d’une base
3.1.1 Depuis SQL Server Management Studio
3.1.2 Avec un script Transact-SQL
3.2 Le rattachement d’une base
3.2.1 Depuis SQL Server Management Studio
3.2.2 Avec un script Transact-SQL
3.3 Le déplacement d’une base ou des fichiers
4. Les exports et imports au format CSV
4.1 Les instructions BULK
4.1.1 L'import
4.1.2 L’utilisation comme une table
4.2 Le programme BCP
5. Les serveurs liés
5.1 La gestion des serveurs liés
5.1.1 L’ajout d'un serveur lié
5.1.2 La suppression d'un serveur lié
5.2 La gestion des utilisateurs distants
5.3 L’utilisation des ressources distantes
5.4 Les synonymes
Les types évolués
1. Introduction
2. Le format XML
2.1 Le type XML
2.2 La manipulation d’une colonne de type XML
2.2.1 Les opérations du DML
2.2.2 Les méthodes spécifiques
2.3 L’indexation d’une colonne de type XML
2.3.1 L’index principal
2.3.2 L’index secondaire
2.4 Les langages XQuery et XPath
2.5 L’instruction FOR XML
2.6 La méthode OPENXML
2.7 La méthode OPENROWSET
3. Le type table value parameter
4. Les structures hiérarchiques
4.1 Le type de données HierarchyId
4.2 Les index
4.3 Les méthodes
5. Les données images
6. Les données spatiales
7. Exercices
7.1 La mise en place d’une hiérarchie des catégories d’articles
7.2 L’affichage de la hiérarchie des catégories
7.3 L’export des articles au format XML
8. Correction des exercices
8.1 La mise en place d’une hiérarchie des catégories d’articles
8.2 L’affichage de la hiérarchie des catégories
8.3 L’export des articles au format XML
Le Common Language Runtime (CLR)
1. SQL Server et le CLR
1.1 Le Transact-SQL ou le CLR ?
1.2 Le code CLR
1.2.1 L’accès à des ressources externes
1.2.2 Les instructions SQL
1.2.3 Les types de données
1.2.4 L'accès aux données
1.2.5 La localisation du code
2. La création du code CLR géré dans SQL Server
2.1 L’activation de la prise en charge du code CLR
2.2 Le travail dans Visual Studio
2.3 Les types de données personnalisés
2.4 La publication du code
2.5 L’utilisation d’un type personnalisé
2.6 Les procédures stockées
2.7 Les déclencheurs de base de données
2.8 Les fonctions de calcul d'agrégat
3. La manipulation d'une base de données avec PowerShell
3.1 L’installation de SMO
3.2 L'utilisation de SMO
4. Exercices
4.1 Un mot de passe pour les clients
4.2 Des graphiques de valeurs
5. Correction des exercices
5.1 Un mot de passe pour les clients
5.2 Des graphiques de valeurs
Annexes
1. Schéma de la base des exercices
2. Le script de création de la base
3. Le jeu d'essai
4. Glossaire
Index
Hervé BOISGONTIER
Hervé BOISGONTIER a travaillé pour les Universités d'Orsay et de Strasbourg sur le développement d'applications dans différents langages de programmation et sur des projets de traitement d'images et de réalité virtuelle. Aujourd’hui formateur en développement informatique sur différents langages de programmation depuis plus de 10 ans, il propose au lecteur des livres réellement efficaces, et empreints de toute sa pédagogie, sur des langages tels que HTML, PHP, Java, SQL ou Transact-SQL ainsi que sur la mise en pratique du Green IT et de l’accessibilité dans le métier d’informaticien. Il s’intéresse également depuis longtemps au développement durable. A ce titre, il a suivi les formations Ecoconception de services numériques par GreenIT.fr et Développer des sites web accessibles par Access42 et obtenu les certifications associées.
Ingénieur en Informatique pour l'Industrie, consultant, Jérôme GABILLAUD est également responsable pédagogique dans un grand centre de formation informatique. Spécialiste des systèmes d'accès aux données Microsoft ou Oracle, il est déjà auteur de nombreux ouvrages sur ce sujet, reconnus pour leurs qualités techniques et pédagogiques.