Vues de schémas d'informations (Transact-SQL)
Une vue de schémas d'informations est l'une des diverses méthodes que fournit SQL Server pour l'obtention de métadonnées.
Important
Les vues de schémas d'informations ont fait l'objet de certaines modifications qui rompent la compatibilité descendante. Ces modifications sont décrites dans les rubriques spécifiques à chaque vue.
[!REMARQUE]
Les vues de schémas d'informations fournissent une vue interne indépendante des tables système des métadonnées SQL Server. Elles permettent aux applications de fonctionner correctement bien que des changements importants aient été apportés aux tables système sous-jacentes. Les vues de schémas d'informations incluses dans SQL Server sont conformes à la norme ISO pour INFORMATION_SCHEMA.
SQL Server prend en charge une convention de dénomination en trois parties pour les références au serveur actif. La norme ISO prend également en charge la convention des noms en trois parties. Cependant, les noms utilisés dans les deux conventions sont différents. Les vues de schémas d'informations sont définies dans un schéma spécial appelé INFORMATION_SCHEMA. Ce schéma figure dans chaque base de données. Chaque vue de schémas d'informations comprend des métadonnées pour tous les objets de données stockés dans une base de données particulière. Le tableau suivant décrit la relation entre les noms SQL Server et les noms standard SQL.
Nom SQL Server |
Nom standard SQL équivalent |
---|---|
Base de données |
Catalogue |
Schéma |
Schéma |
Objet |
Objet |
Le type de données défini par l'utilisateur (alias). |
Domaine |
Cette convention de mappage de noms s'applique aux vues compatibles SQL Server ISO suivantes.
Certaines vues comprennent des références à d'autres classes de données telles que les données de type caractère ou binaire.
Comme l'indique l'exemple suivant, lorsque vous faites référence aux vues de schémas d'informations, vous devez utiliser un nom qualifié qui inclut le nom de schéma INFORMATION_SCHEMA.
USE AdventureWorks;
GO
SELECT ccu.TABLE_SCHEMA, ccu.TABLE_NAME, ccu.COLUMN_NAME, cc.CONSTRAINT_SCHEMA, cc.CONSTRAINT_NAME, cc.CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS AS cc
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS ccu
ON cc.CONSTRAINT_NAME = ccu.CONSTRAINT_NAME;