sql >> Databasteknik >  >> RDS >> Sqlserver

Känn till relationer mellan alla tabeller i databasen i SQL Server

Ibland kan en textrepresentation också hjälpa; med den här frågan i systemkatalogvyerna kan du få en lista över alla FK-relationer och hur länkar två tabeller (och vilka kolumner de fungerar på).

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

Dumpa detta i Excel så kan du skära och tärna - baserat på den överordnade tabellen, den refererade tabellen eller något annat.

Jag tycker att visuella guider är användbara - men ibland är textdokumentation lika bra (eller ännu bättre) - bara mina 2 cent.....



  1. Oracle:spelar kolumnordningen någon roll i ett index?

  2. Hur man returnerar en delsträng från en sträng i SQL Server med SUBSTRING()-funktionen

  3. Hur man hittar EBS R12 komponenter Version

  4. Visa SQL Server Agent Jobbhistorik med Azure Data Studio