Connaître l'interconnectivité des tables de base de données est crucial pour maintenir l'intégrité des données. Cependant, les diagrammes de base de données de SQL Server s'avèrent souvent inadaptés à cette tâche, notamment lorsqu'il s'agit de nombreuses tables. Pour relever ce défi, envisagez des approches alternatives.
Une méthode efficace consiste à utiliser une représentation textuelle via une requête structurée (SQL) sur les vues du catalogue système. Vous pouvez récupérer toutes les relations de clé étrangère (FK) ainsi que les tables et colonnes qu'elles impliquent avec la requête suivante :
SELECT fk.name 'FK Name', tp.name 'Parent table', cp.name, cp.column_id, tr.name 'Refrenced table', cr.name, cr.column_id FROM sys.foreign_keys fk INNER JOIN sys.tables tp ON fk.parent_object_id = tp.object_id INNER JOIN sys.tables tr ON fk.referenced_object_id = tr.object_id INNER JOIN sys.foreign_key_columns fkc ON fkc.constraint_object_id = fk.object_id INNER JOIN sys.columns cp ON fkc.parent_column_id = cp.column_id AND fkc.parent_object_id = cp.object_id INNER JOIN sys.columns cr ON fkc.referenced_column_id = cr.column_id AND fkc.referenced_object_id = cr.object_id ORDER BY tp.name, cp.column_id
En important ces données dans Excel, vous pouvez facilement filtrer et trier en fonction des tables parentes ou référencées. , offrant une vue plus organisée et gérable des relations entre les tables. Cette approche offre flexibilité et granularité dans l'extraction des informations nécessaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!