L’objectif de ce workshop de formation de trois jours est de fournir à des développeurs professionnels des connaissances avancées sur le développement des couches d’accès aux données, en utilisant une persistance avec Microsoft SQL Server. Le matériel utilisé pour ce workshop est composé essentiellement de présentations, de démonstrations, et d’exercices dirigés (80% du temps).
Durée
3 jours.
Audience
Les participants doivent connaître la programmation d’application avec Visual Studio, et avoir une expérience minimum en matière de programmation en C# et l’accès à des bases de données. La compréhension des IEnumerable<T> est un atout.
A la fin du workshop
Après ce workshop, les participants seront à même d’implémenter une base de données en utilisant Microsoft SQL Server Management Studio et T-SQL, et de développer les couches d’accès aux données en utilisant ADO.NET avec Visual Studio.
Langue d’intervention
La langue du workshop est le français.
Languages de support
C# / T-SQL
Programme de formation
Module 1 : Présentation de SQL Server
Ce module présente comment définir, programmer et manipuler une base de données Microsoft SQL Server avec Management Studio.
- Présentation des modules de SQL-Server, les services et les outils
- Introduction à Management Studio
- Création d’une base de données
- Les options principales de la base de données
- Introduction au journal de transaction
- La base du Backup de données
- Le détachement et l’attachement de fichiers de données
- La création d’un modèle de donnée simple
- Utilisation des diagrammes
- Assignation de valeurs par défaut
- Indexes, clés étrangères et contraintes
- Illustration de l’implémentation de l’intégrité révérencielle
Module 2 : Utilisation du langage T-SQL
Ce module présente les différentes catégories d’ordres T-SQ et leurs utilisations.
- Présentation du T-SQL
- Le langage de définition (DDL Data Definition Language)
- Le langage de manipulation (DML Data Manipulation Language)
- Le langage de contrôle (DSL Data Control Language)
- Le langage de control de transaction (TCL Transaction Control Language)
- Utilisation du SELECT et la déclaration de variable
- La base de l’agrégat
- Approche ensembliste sur les données et définition de jointure
Module 3 : Programmation
Ce module explique la programmation d’une base de données en utilisant le T-SQL.
- Introduction à la programmation T-SQL
- L’analyseur de requête, plan d’exécution
- Le développement de procédures stockées, et de fonctions
- Expression booléennes et clause WHERE
- Utilisation et développement de déclencheurs (triggers)
- Passage de paramètres et paramètres optionnels
- La gestion des erreurs avec les blocs TRY CATCH
- Présentation de @@IDENTITY et SCOPE_IDENTITY
- Le débogage de procédures et de triggers
- La gestion des transactions, niveau d’isolation (introduction)
- Utilisation des ordres UPDATE, DELETE et INSERT
- Les variables de type table
- Utilisation des CTE (Common Table expression), requêtes récursives
Module 4 : Aspects Sécurité
Ce module explore les bases de configuration de la sécurité des accès qu’un développeur doit savoir.
- Introduction à la sécurité des accès
- Les modes d’authentification
- La configuration des accès (connexion et login) à une base de données
- Utilisation des schémas
Module 5 : Présentation d’ADO.NET
Ce module explique la programmation des accès aux données avec ADO.NET .
- Introduction, intérêt et usage
- Utilisation des objets SQLConnection, SQLCommand et DataReader
- Développement des couches d’accès aux données en C#
- Factorisation des accès dans une classe SqlDataAdapter
- Snippets et extraits de codes, pour la productivité
- Intérêts des IEnumerable<T> dans l’accès aux données
- Du point de vue des transactions !
Module 6 : Organisation des couches d’accès aux données
Ce module explique la segmentation des couches basses de l’application.
- Introduction aux couches d’accès aux données
- Développement de classe de cache – intérêts et limitations
- Implémentation d’une stratégie simple de mise à jour des caches
- Séparation des couches de données (Dao) et de Plateforme
- Sécurisation et Validation
- Exposition des méthodes (Approche SOA)
- Place des couches de données dans une architecture d’application
- Principe du Mocking d’une couche d’accès aux données (implémentation des tests)
Pour me contacter :
Bernard Fedotoff
+33 6 12 54 93 12
bfedotoff(at)agilcom.info ou bfedotoff(at)hotmail.com