Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Ketahui hubungan antara semua tabel database di SQL Server

Terkadang, representasi tekstual mungkin juga membantu; dengan kueri ini pada tampilan katalog sistem, Anda bisa mendapatkan daftar semua hubungan FK dan bagaimana menghubungkan dua tabel (dan kolom apa yang dioperasikannya).

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

Masukkan ini ke dalam Excel, dan Anda dapat mengiris-iris - berdasarkan tabel induk, tabel yang direferensikan, atau apa pun.

Saya merasa panduan visual sangat membantu - tetapi terkadang, dokumentasi tekstual sama baiknya (atau bahkan lebih baik) - hanya 2 sen saya.....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. nvarchar(maks) vs NText

  2. Saat menggunakan GETDATE() di banyak tempat, apakah lebih baik menggunakan variabel?

  3. Menjalankan prosedur tersimpan yang dijadwalkan pada SQL server

  4. Cara Menghapus Spasi Leading dan Trailing di SQL Server – TRIM()

  5. Ganti nama kolom SQL Server 2008