Sull'argomento "commentare un database Microsoft SQL Server" non abbiamo semplicemente speso parole, abbiamo realizzato insieme un vero e proprio progetto, partendo dalle basi fino ad arrivare alla sua realizzazione. Oggi vediamo come inserire i commenti direttamente in SQL tramite le interfacce o le procedure messe a disposizione dall'ambiente SQL Server e il linguaggio T-SQL.
Microsoft SQL Server Management Studio
L'interfaccia grafica più utilizzata per accedere ai dati di un database SQL Server è Microsoft SQL Server Management Studio che mette a disposizione facili strumenti visuali (drag-n-drop, wizard, syntax checker, sql editor...) per realizzare graficamente e tramite procedura guidata, le medesime operazioni che possono essere fatte tramite il linguaggio TSQL.
La MS_Description di SQL Server
Il commmento in ambiente SQL Server viene chiamata "descrizione", nello specifico viene utilizzata la keyword MS_Description. Questa a tutti gli effetti è una proprietà estesa di un oggetto SQL Server (tabella, colonna, vista , trigger, procedura...). Ad un oggetto possono essere inserite un qualsiasi numero di proprietà estese a patto che contengano un valore testuale). L'insieme di tutte le extended properties è fornito dalla vista di sistema sys.extended_properties dove sono presenti di default già una serie di proprietà interne al database engine di Microsoft.
MS_Description tramite GUI
Non tutti i commenti si possono visualizzare o inserire tramite Microsoft SQL Server Management Studio, e non tutti sono presenti nel solito posto. Vediamo insieme tutte le procedure per visualizzare una MS_Description in maniera "visuale":
- TABELLA: Selezionare una tabella nell'elenco delle tabelle, eseguire il click con il tasto destro del mouse e selezionare la voce Modifica (Design) quindi premere il tasto F4 (visualizza finestra proprietà). La MS_Description è contenuta nella casella "descrizione" della finestra delle proprietà, liberamente editabile da tastiera.
- COLONNA: Il procedimento è identico rispetto a quello della tabella, l'unica differenza si ha nel fatto che la descrizione è inserita nella finestra di proprietà della colonna e non nelle proprietà della tabella.
- VISTA o STORED PROCEDURE: In questo caso non abbiamo un campo relativo nella finestra delle proprietà, per accedere alla MS_Description è necessario selezionare l'elemento Vista o Stored Procedure dalla finestra di esplorazione oggetti, selezionare la voce Proprietà del menu contestuale e selezionare la voce Proprietà Estese del menu a sinistra (vengono elencate TUTTE le proprietà estese legate all'oggetto).
Come potete notare da questo elenco manca l'oggetto TRIGGER, infatti per questo oggetto Microsoft non mette a disposizione una visualizzazione testuale delle proprietà estese, anche se è possibile assegnarle o leggerle tramite script TSQL.
MS_Description tramite Script
Vediamo dunque quale script è necessario utilizzare per leggere o scrivere una proprietà estesa tramite script TSQL. Partiamo dal fatto che le proprietà estese vengono inserite (su qualsiasi oggetto) sempre dalla stored procedure di sistema SP_ADDEXTENDEDPROPERTY a cui devono essere passati diversi parametri:
exec sp_addextendedproperty
'property_name','property_value',
'Schema','my_schema_name',
'Element','Element_name',
'Sub_Element','Sub_Element_Name'
'property_name','property_value',
'Schema','my_schema_name',
'Element','Element_name',
'Sub_Element','Sub_Element_Name'
Nello specifico "Element" potrà essere: 'Table' o 'View' o 'Procedure';
Nello specifico "Sub_Element" potrà essere: 'Column' o 'Trigger';
Ricapitolando, se volessi inserire il commento nella colonna "nome" della tabella "utenti" la mia sintassi sarà:
exec sp_addextendedproperty 'MS_Description','Nome Utente','Schema','dbo','Table','Utenti','Column','Nome'
Conclusione
Abbiamo visto che è molto semplice inserire un commento tramite tutti gli strumenti messi a disposizione sia dal Management Studio che dal linguaggio TSQL. Naturalmente le proprietà estese possono essere diverse e avere nomi diversi a piacere per rispondere di volta in volta alle vostre necessità.
ATTENZIONE: Non è garantita la compatibilità e la portabilità dell proprietà estese, effettuando backup e restore con versioni diverse di SQL Server da quella in uso.
Nessun commento:
Posta un commento