» Introduction
A quoi sert XML dans un SGBDR ?
Intégration de XML dans SQL Server.
Pourquoi développer en .NET côté serveur ?
La machine SQL CLR.
Travaux pratiques
Comment créer des colonnes XML, intégration de données XML, utilisation de routines SQL CLR (HierarchyID, SIG).
» XML, données et méthodes
Structuration d'un document XML.
XML valide et typé.
Stockage XML et méthodes XPath/XQuery publiées sur colonne.
Restitution de données sous forme XML (clause FOR XML).
Intégration de documents XML via sp_xml_preparedocument.
Ou est utilisé XML dans SQL Server ?
Travaux pratiques
Création d'un fichier XML bien formé résultant d'une extraction de données. Manipulation SQL d'un document XML. Création d'une vue présentant une colonne XML de façon relationnelle.
» .NET et SQL Server
Niveau de Sécurité du code.
Contrôle de mauvaise conduite avec les appdomains.
La notion d'Assembly et l'intégration du code .NET.
Modèles de codage .NET pour SQL server.
La notion de connexion contextuelle.
» Créer des types de données avec .NET
Squelette de codage
Attributs impératifs.
L'interface iNullable et la propriété NULL.
Les méthodes obligatoires Parse et ToString.
Problématique de l'indexation.
Travaux pratiques
Création d'un type de données "Interval" et des méthodes de lecture et d'écriture associées.
» Créer des fonctions UDF et UDA avec .NET
Squelette de codage d'une UDF scalaire.
Restrictions sur les UDF.
L'attribut SqlFunction.
Méthodes spécifiques aux UDA (fonctions d'agrégation).
Les "table-valued UDF".
Travaux pratiques
Création d'une fonction d'addition de durée à un " interval ". Création d'une fonction d'agrégation d' " interval ".
» Procédures et triggers avec .NET
Intégration de requêtes dans le codage SQL CLR.
Gestion des transactions contextuelles.
La spécificité des procédures SQL CLR.
Les Triggers DML et DDL.
Travaux pratiques
Mise en place d'un trigger vérifiant le non recoupement d'Interval.