di: Marco Minerva 15 Luglio 2008
SQL Server 2005 fornisce un supporto completo per l'XML: il DBMS, infatti, è in grado di gestire in modo nativo i dati in questo formato, che possono essere memorizzati direttamente in una tabella ed estratti utilizzando XQuery e XPath; inoltre, mette a disposizione una serie di operatori per produrre risultati in XML a partire da informazioni tabellari. In questo articolo ci occuperemo proprio di tale funzionalità. In particolare, analizzeremo i comandi
FOR XML RAWFOR XML AUTOFOR XML PATHPer illustrare il funzionamento dei comandi della famiglia FOR XML, ci serviremo di un database di nome Segreteria, contenente una lista di studenti universitari con i relativi esami sostenuti. Lo schema della base di dati è il seguente:
Figura 1. Relazione Studente-Esame
Eseguiamo lo script Create.sql per creare il database e popolarlo con una serie di record. Supponiamo poi di interrogare l'archivio per recuperare la lista degli esami sostenuti da ciascuno studente:
SELECT s.Nome, s.Cognome, s.Matricola, e.NomeEsame, e.Data, e.Voto, e.Lode FROM Studenti s LEFT JOIN Esami e ON s.IDStudente = e.IDStudente;
| Nome | Cognome | Matricola | NomeEsame | Data | Voto | Lode |
|---|---|---|---|---|---|---|
| Mauro | Rossi | 543436 | Basi di dati | 04/11/2007 | 27 | No |
| Mauro | Rossi | 543436 | Ricerca operativa | 07/01/2008 | 30 | Sì |
| Luca | Verdi | 759050 | Calcolo numerico | 06/02/2008 | 28 | No |
| Carlo | Bianchi | 123986 | Sistemi intelligenti | 29/11/2007 | 24 | No |
| Carlo | Bianchi | 123986 | Reti | 12/03/2008 | 27 | No |
| Carlo | Bianchi | 123986 | Sistemi operativi | 29/04/2008 | 30 | No |
| Francesco | Sempronio | 765905 | NULL | NULL | NULL | NULL |
Il nostro obiettivo è utilizzare i comandi FOR XML RAW, FOR XML AUTO e FOR XML PATH per trasformare questa visualizzazione in una rappresentazione dei dati in formato XML.
|
SQL Maintenance Solution: soluzione free per la manutenzione di SQL Server |
Guida AccessIniziare a sviluppare database grazie alla potenza visuale offerta... |
Guida SQL Server 2005L'RDBMS di Microsoft è uno dei più utilizzati, soprattutto in ambito... |
Guida OracleScoprire ed approfondire un dei più importanti RDBMS sulla scena... |
Ogni settimana, in due distinte newsletter: notizie a approfondimenti su MySQL, SQLserver e Oracle.
Iscriviti alla newsletter