Database Relationships Listesi
Merhaba Sevgili Arkadaşlar,
Bu gün sizlerle veritabanımızda ki i Relationships listesini nasıl alırız adım adım bunu öğreneceğiz.
İ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...
Create Database DenemeYK
GO
CREATE TABLE [dbo].[YKtest1](
[TC] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NOT NULL,
[Sur_Name] [varchar](100) NOT NULL,
CONSTRAINT [PK__YKTest1_ysf] PRIMARY KEY CLUSTERED
(
[TC] ASC
)
)ON [PRIMARY]
GO
CREATE TABLE [dbo].[YKtest2](
[TC] [int] IDENTITY(1,1) NOT NULL,
[Father_Name] [varchar](50) NOT NULL,
[B_Date] [datetime],
CONSTRAINT [PK__YKTest2_ysf] PRIMARY KEY CLUSTERED
(
[TC] ASC
)
)ON [PRIMARY]
GO
ALTER TABLE [dbo].[YKtest2] WITH CHECK ADD CONSTRAINT [FK__YKTest2_ysf] FOREIGN KEY([TC])
REFERENCES [dbo].[YKtest1] ([TC])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[YKtest2] CHECK CONSTRAINT [FK__YKTest2_ysf]
GO
Database imizi,tablolarımızı ve bağlantılarını oluşturduktan sonra bu bağlantıları bulma scriptimizi çalıştırıyoruz.
Select object_name(rkeyid) Parent_Table,object_name(fkeyid) Child_Table,object_name(constid) FKey_Name,
c1.name FKey_Col,c2.name Ref_KeyCol
From sys.sysforeignkeys s Inner join sys.syscolumns c1 on
( s.fkeyid = c1.id And s.fkey = c1.colid )
Inner join syscolumns c2 on ( s.rkeyid = c2.id And s.rkey = c2.colid )
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
|