Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Познайте връзките между всички таблици на базата данни в SQL Server

Понякога може да помогне и текстово представяне; с тази заявка в изгледите на системния каталог можете да получите списък с всички FK релации и как свързват две таблици (и с какви колони работят).

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

Изсипете това в Excel и можете да режете на парчета и на зарове - въз основа на таблицата-родител, таблицата за препращане или нещо друго.

Намирам визуалните ръководства за полезни - но понякога текстовата документация е също толкова добра (или дори по-добра) - само моите 2 цента.....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Архитектура на SQL Server AlwaysOn (група за наличност) и инсталация стъпка по стъпка -3 Ръководство за отказ от стъпки

  2. Задайте начална стойност за колона с автоматично увеличение

  3. Използвайте DATABASEPROPERTYEX(), за да върнете настройките на базата данни в SQL Server

  4. Актуализирайте записите в таблицата от CTE

  5. Методи за пейджинг на SQL Server 2008?