sql >> Databáze >  >> RDS >> Sqlserver

Znát vztahy mezi všemi tabulkami databáze v SQL Server

Někdy může pomoci i textová reprezentace; s tímto dotazem na zobrazení systémového katalogu můžete získat seznam všech vztahů FK a jak propojit dvě tabulky (a na jakých sloupcích fungují).

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

Vložte to do Excelu a můžete krájet a krájet - na základě nadřazené tabulky, odkazované tabulky nebo čehokoli jiného.

Vizuální průvodce považuji za užitečné - ale někdy je textová dokumentace stejně dobrá (nebo dokonce lepší) - jen moje 2 centy.....



  1. Jak nakonfigurovat sdílení PostgreSQL pomocí ClusterControl

  2. Odemknutí výhod programu certifikovaných partnerů MariaDB

  3. Jak získám asynchronní / událostmi řízenou podporu LISTEN/NOTIFY v Javě pomocí databáze Postgres?

  4. Jak funguje CONVERT_TZ() v MariaDB