﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL Server Foreign Key Constraint &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/sql-server-foreign-key-constraint/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Thu, 22 Apr 2021 23:30:47 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>SQL Server Foreign Key Constraint Kullanımı</title>
		<link>https://sqlserveregitimleri.com/sql-server-foreign-key-constraint-kullanimi</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Sat, 06 Jan 2018 13:30:03 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Foreign Key Constraint Kullanımı]]></category>
		<category><![CDATA[SQL Server Foreign Key Constraint]]></category>
		<category><![CDATA[SQL Server Foreign Key Constraint Kullanımı]]></category>
		<guid isPermaLink="false">http://sqlserveregitimleri.com/?p=3738</guid>

					<description><![CDATA[Herkese merhaba, Bu yazıda sizlere SQL Server&#8217;da Foreign Key Constraint kullanımından bahsedeceğim. SQL Server&#8217;da Foreign Key Constraintler bir tablodaki sütun değerinin, ilişkili olduğu başka bir...]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba,</p>
<p>Bu yazıda sizlere SQL Server&#8217;da Foreign Key Constraint kullanımından bahsedeceğim.</p>
<p>SQL Server&#8217;da Foreign Key Constraintler bir tablodaki sütun değerinin, ilişkili olduğu başka bir tablodaki sütun değerinden geldiğini doğrulamak için kullanılan bir kısıtlamadır. Konu hakkındaki örneği aşağıda görebilirsiniz.</p>
<pre class="lang:default decode:true ">CREATE TABLE Musteriler
    (
      MusteriID INT NOT NULL ,
      Ad VARCHAR(20) NOT NULL ,
      Yas INT NOT NULL ,
      Adresi CHAR(25) ,
      Maasi DECIMAL(18, 2) ,
      PRIMARY KEY ( MusteriID ),
    );


CREATE TABLE Siparisler
    (
      SiparisID INT PRIMARY KEY NOT NULL ,
      Tarih DATETIME,
      MusteriID INT 
      CONSTRAINT FK_SiparislerMusterileri FOREIGN KEY (MusteriID) REFERENCES Musteriler(MusteriID),     
      Miktar INT
    );
</pre>
<p>Burada <strong>Musteriler</strong> diye bir tablomuz mevcut. Müşterilerimizin siparişilerinin tutulacağı <strong>Siparisler</strong> diye bir tablo daha oluşturuyoruz. Siparişler tablomuzu oluştururken Foreign Key alanı olarak <strong>MusteriID</strong> kısmını referans alıyoruz. Yani Siparisler kısmındaki <strong>MusteriID</strong> alanını Musteriler tablosundaki <strong>MusteriID</strong> alanına referans ediyoruz. En başta da Constrait diyoruz ve sonrasında bu Constraint&#8217;in adını belirtiyoruz. İşlemi şöyle düşünebiliriz. Tablolarımıza veri eklerken ilk olarak Musteriler tablosuna veri eklememiz gerekli. Neden ilk buraya veri eklememiz gerekli? Çünkü müşterimiz olmadan herhangi bir siparişimizin olması mümkün değil. Zaten veri ekleme yapınca da sizden Musteriler tablosunda tutulan bir MusteriID değeri isteyecektir. Eğer Musteriler tablosunda olmayan rastgele bir değer girerseniz yine bir uyarı alacaksınız. İlişkiyi SQL Server&#8217;da diyagram olarak aşağıdaki şekilde görebilirsiniz.</p>
<p><img fetchpriority="high" decoding="async" class="alignnone wp-image-3742 size-full" src="http://sqlserveregitimleri.com/wp-content/uploads/2018/01/sql-server-foreign-key-constraint-kullanimi-1.jpg" alt="" width="700" height="240" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2018/01/sql-server-foreign-key-constraint-kullanimi-1.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2018/01/sql-server-foreign-key-constraint-kullanimi-1-315x108.jpg 315w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere ana tablomuz <strong>Musteriler</strong> tablosudur.</p>
<p>İki tablo arasındaki Foreign Key alanını kaldırmak için ise aşağıdaki kodu yazıyoruz.</p>
<pre class="lang:default decode:true ">ALTER TABLE Siparisler
DROP CONSTRAINT FK_SiparislerMusteriler; 
</pre>
<p>Diyagramda sonucu aşağıdaki gibi görebiliriz.</p>
<p><img decoding="async" class="alignnone wp-image-3743 size-full" src="http://sqlserveregitimleri.com/wp-content/uploads/2018/01/sql-server-foreign-key-constraint-kullanimi-2.jpg" alt="" width="700" height="237" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2018/01/sql-server-foreign-key-constraint-kullanimi-2.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2018/01/sql-server-foreign-key-constraint-kullanimi-2-315x107.jpg 315w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere aralarında herhangi bir ilişki kalmamıştır.</p>
<p>Siparişler tablosuna Foreign Key tanımlaması yapmak için aşağıdaki kodu yazmalıyız.</p>
<pre class="lang:default decode:true ">ALTER TABLE Siparisler

ADD FOREIGN KEY (MusteriID) 

REFERENCES  dbo.Musteriler(MusteriID)
</pre>
<p>Burada Siparisler tablosundaki MusteriID ile Musteriler tablosundaki MusteriID alanını kullanarak bir foreign key tanımlaması yaptık. Dikkat edilmesi gereken nokta ise işlemi daha önce oluşturulmuş iki tablo üzerinde yaptığımız. Bundan dolayı ALTER TABLE ifadesini kullandık.</p>
<p>Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.</p>
<div class='epvc-post-count'><span class='epvc-eye'></span>  <span class="epvc-count"> 1.956</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
