sql >> Database >  >> RDS >> Sqlserver

Ken de relaties tussen alle tabellen van de database in SQL Server

Soms kan een tekstuele weergave ook helpen; met deze query op de systeemcatalogusweergaven, kunt u een lijst krijgen van alle FK-relaties en hoe de twee tabellen koppelen (en op welke kolommen ze werken).

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

Dump dit in Excel en je kunt snijden en dobbelen - op basis van de bovenliggende tabel, de tabel waarnaar wordt verwezen of iets anders.

Ik vind visuele handleidingen nuttig - maar soms is tekstuele documentatie net zo goed (of zelfs beter) - gewoon mijn 2 cent.....



  1. Identiteitstoename in SQL Server 2012-kolom springt van 6 naar 1000+ bij 7e invoer

  2. SQL Server Parallel Back-up Herstellen -1

  3. Vergelijk arrays voor gelijkheid, negeer de volgorde van elementen

  4. Alle uitgeschakelde beperkingen in SQL Server retourneren (T-SQL-voorbeeld)