﻿<?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>Computed Columns &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/computed-columns/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Sat, 08 Apr 2023 21:22:04 +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&#8217;da Computed Columns Nedir?</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-computed-columns-nedir</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Sat, 08 Apr 2023 21:22:04 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Computed Columns]]></category>
		<category><![CDATA[Computed Columns Nedir]]></category>
		<category><![CDATA[SQL Server Computed Columns]]></category>
		<guid isPermaLink="false">https://sqlserveregitimleri.com/?p=16043</guid>

					<description><![CDATA[Herkese merhaba. Bu yazıda SQL Server’da Computed Columns konusunun ne olduğu ve Computed Columns Nedir bununla ilgili bilgi paylaşacağım. SQL Server&#8217;da Computed Columns, bir tabloda...]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba. Bu yazıda SQL Server’da Computed Columns konusunun ne olduğu ve Computed Columns Nedir bununla ilgili bilgi paylaşacağım.</p>
<p>SQL Server&#8217;da Computed Columns, bir tabloda saklanmayan ancak tablodaki diğer sütunların değerlerine dayalı olarak hesaplanan bir sütundur. Computed columns, bir formül veya ifade kullanılarak oluşturulur ve tablodaki diğer sütunların değerleri değiştikçe otomatik olarak güncellenir.</p>
<p>Computed columns&#8217;lar, tablolardaki verileri analiz etmek, işlemek ve kullanmak için çok kullanışlıdır. Örneğin, bir tabloda müşterilerin doğum tarihlerinin tutulduğunu varsayalım ve yaşlarının hesaplanması gerekiyor. Yaş sütunu, müşterinin doğum tarihi sütununa dayalı olarak bir Computed columns olarak oluşturulabilir. Bu şekilde, her yeni müşteri eklendiğinde veya mevcut bir müşterinin doğum tarihi değiştirildiğinde yaş sütunu otomatik olarak güncellenecektir.</p>
<p>Computed columns&#8217;lar, SQL Server&#8217;da CREATE TABLE veya ALTER TABLE ifadesi kullanılarak oluşturulabilir. Formüller veya ifadeler, SQL Server tarafından desteklenen herhangi bir işlemci veya fonksiyon kullanılarak oluşturulabilir.</p>
<p>SQL Server’da Computed Columns ile oluşturulan kolonlar fiziksel olarak diskte yer kaplamazlar. Ancak Computed Columns  yani hesaplanmış kolonların diskte yer tutmasını fiziksel olarak diske yazılmasını istiyorsanız; “<strong>PERSISTED</strong>” ifadesini kullabilirsiniz.</p>
<p>&#8220;<strong>PERSISTED</strong>&#8221; olarak işaretlenmediği sürece default olarak Computed Columns’lar diskte yer tutulmazlar. Yani aslında sanaldırlar. Veri çekilmek istendiğinde otomatik olarak hesaplanırlar.</p>
<p>SQL Server’da Computed Columns üzerinde <strong>INDEX</strong> tanımlamanız gerekiyorsa “<strong>PERSISTED</strong>” özelliğini kullanmalısınız.</p>
<p>SQL Server’da Computed Columns&#8217;ları <strong>&#8220;PERSISTED&#8221;</strong> olarak işaretlemek INSERT,UPDATE ve DELETE performansını biraz düşüreceği gibi SELECT performansını biraz arttıracaktır. Bu işlemi sisteminizin ihtiyacına göre belirlemelisiniz.</p>
<ul type="disc">
<li>Computed Columns <strong>&#8220;PERSISTED&#8221; </strong>olarak tanımlanırsa primary key ve foreign key tanımlayabilirsiniz.</li>
<li><strong>&#8220;PERSISTED&#8221; </strong>olarak tanımlasanızda tanımlamasanızda Index ve Unique Constraint oluşturabilirsiniz.</li>
<li>Computed Columns’u oluşturan kolonlardan sadece bir tanesi nullable(not null olarak set edilmemişse) ise Computed Columns üzerinde Default Constraint tanımlayabiliyorsunuz. Fakat set ettiğiniz bu default constraint değerini SQL Server Computed Columns’u oluşturan nullable değere sahip kolona atıyor.</li>
<li>Computed Column’u GETDATE() gibi non-deterministic(her çağrıldığında farklı değerler üreten) fonksiyonları kullanarak oluşturabilirsiniz fakat <strong>&#8220;PERSISTED&#8221; </strong>yapamazsınız ve index oluşturamazsınız.</li>
<li>Bir Computed Column’u, deterministic olsun veya olmasın içerisindeki veriler güncellenemez. Dolayısıyla hiçbir zaman Insert veya Update cümlesi içerisinde güncellenecek alanlar içerisinde yer alamaz. Computed Column’a Insert ya da Update yapamazsınız.</li>
</ul>
<p>SQL Server&#8217;da Computed Columns ile ilgili aşağıda birkaç örnek göreceksiniz.</p>
<pre class="line-numbers"><code class="language-sql">CREATE TABLE OrderDetails (
	OrderID INT NOT NULL
   ,ProductID INT NOT NULL
   ,Quantity INT NOT NULL
   ,UnitPrice MONEY NOT NULL
   ,TotalPrice AS Quantity * UnitPrice -- Computed column kullanımı
);</code></pre>
<p>Yukarıdaki örnek, &#8220;OrderDetails&#8221; adlı bir tablo oluşturur. Tablo, sipariş detaylarını saklar ve toplam fiyatı hesaplamak için Computed Columns kullanır. TotalPrice adlı Computed Columns, Quantity ve UnitPrice sütunlarının çarpımından hesaplanır ve tablodaki diğer sütunların değerlerine dayalı olarak otomatik olarak güncellenir.</p>
<p>Yeni bir sütun oluşturmak için Computed Columns kullanımı örneği ise aşağıdadır.</p>
<pre class="line-numbers"><code class="language-sql">ALTER TABLE Customers
ADD FullName AS (FirstName + ' ' + LastName); -- Computed column kullanımı</code></pre>
<p>Yukarıdaki örnek, &#8220;Customers&#8221; adlı bir tabloya FullName adlı yeni bir sütun ekler. FullName sütunu, FirstName ve LastName sütunlarındaki verilerin birleştirilmesiyle hesaplanır. Computed column kullanarak FullName sütunu otomatik olarak güncellenir.</p>
<p>Linkteki kaynağı da okuyabilirsiniz : <a href="https://www.sqlservertutorial.net/sql-server-basics/sql-server-computed-columns/">https://www.sqlservertutorial.net/sql-server-basics/sql-server-computed-columns/</a></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"> 230</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
