İpucu

İlk önce test için bir DB oluşturacağız. Daha sonra iki adet tablo ekleyeceğiz ve bu eklediğimiz tabloları birbirine bağlayacağız.Bunun içinde Primary Key ve Foreign Key mantığını kullanacağız. Peki bundan sonra ne yapacağız. Tüm Bağlantıları bitirdikten sonra hazırlamış olduğumuz DB mizdeki bağlantıları bulma scriptini DB miz üzerinde çalıştıracağız. DB ve Tablo oluştuma Scripti…

1 Create Database DenemeYK
2 GO
3  
4 CREATE TABLE [dbo].[YKtest1](
5     [TC] [int] IDENTITY(1,1) NOT NULL,
6     [Name] [varchar](50) NOT NULL,
7     [Sur_Name] [varchar](100) NOT NULL,
8      
9 CONSTRAINT [PK__YKTest1_ysf] PRIMARY KEY CLUSTERED
10 (
11     [TC] ASC
12 )
13 )ON [PRIMARY]
14 GO
15  
16  
17 CREATE TABLE [dbo].[YKtest2](
18     [TC] [int] IDENTITY(1,1) NOT NULL,
19     [Father_Name] [varchar](50) NOT NULL,
20     [B_Date] [datetime],
21          
22 CONSTRAINT [PK__YKTest2_ysf] PRIMARY KEY CLUSTERED
23 (
24     [TC] ASC
25 )
26 )ON [PRIMARY]
27 GO
28  
29 ALTER TABLE [dbo].[YKtest2]  WITH CHECK ADD  CONSTRAINT[FK__YKTest2_ysf] FOREIGN KEY([TC])
30 REFERENCES [dbo].[YKtest1] ([TC])
31  
32 ON UPDATE CASCADE
33 ON DELETE CASCADE
34 GO
35  
36 ALTER TABLE [dbo].[YKtest2] CHECK CONSTRAINT [FK__YKTest2_ysf]
37 GO

Database imizi,tablolarımızı ve bağlantılarını oluşturduktan sonra bu bağlantıları bulma scriptimizi çalıştırıyoruz.

1 Select object_name(rkeyid) Parent_Table,object_name(fkeyid) Child_Table,object_name(constid) FKey_Name,
2 c1.name FKey_Col,c2.name Ref_KeyCol
3 From sys.sysforeignkeys s Inner join sys.syscolumns c1 on
4 ( s.fkeyid = c1.id And s.fkey = c1.colid )
5 Inner join syscolumns c2 on ( s.rkeyid = c2.id And s.rkey = c2.colid )
6 Order by Parent_Table,Child_Table

Bu aşamadan sonra ekrana gelen sonuç kümesi aşağıdaki gibidir. Parent_Table :Ana Tablo demketir.Yani Referans alınan tablodur. Child_Table : Bu da Referans alan tablodur. FKey_Name : Foreign Key imize verdiğimiz isimdir. FKey_Col :Foreign Key imizn hangi kolanda olduğunu gösterir. Ref_KeyCol : Referans Kolounumuzun hangisi olduğu bilgisini verir bize.   Sonuç olarak;

Parent_Table

Child_Table

FKey_Name

FKey_Col

Ref_KeyCol

YKtest1

YKtest2

FK__YKTest2_ysf

TC

TC

Saygılarımla

Yusuf KAHVECİ

Database Administrator

(İzin Alınmadığı Sürece Makalelerimin Yayınlanması Yasaktır! )