﻿<?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 Computed Columns &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/sql-server-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>
		<item>
		<title>SQL Server’da Computed Columns</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-computed-columns</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Tue, 03 Apr 2018 09:30:02 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Computed Columns]]></category>
		<category><![CDATA[SQL Server’da Computed Columns]]></category>
		<category><![CDATA[SQL Server’da Computed Columns Kullanımı]]></category>
		<guid isPermaLink="false">http://sqlserveregitimleri.com/?p=5292</guid>

					<description><![CDATA[Herkese merhaba, Bu yazıda SQL Server&#8217;da Computed Columns kullanımından bahsedeceğim. SQL Server&#8217;da Computed Columns bir tabloda bir veya birden fazla kolondan yapılan bir hesaplama sonucu üretilen...]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba,</p>
<p>Bu yazıda SQL Server&#8217;da Computed Columns kullanımından bahsedeceğim.</p>
<p>SQL Server&#8217;da Computed Columns bir tabloda bir veya birden fazla kolondan yapılan bir hesaplama sonucu üretilen bir kolon’dur.</p>
<p>Örnek olarak bir satış tablonuz olsun birim fiyat ve adet kolonlarını çarptırarak tutar kolonu oluşturabilirsiniz ya da elinizde maliyet ve satış fiyatı var diyelim kar veya zararı otomatik olarak oluşturabilirsiniz. Örnek kullanımı inceleyelim.</p>
<pre class="lang:default decode:true ">--Database oluşturma

CREATE DATABASE ComputedColumnOzelligi
GO
USE ComputedColumnOzelligi
GO

--Tablo oluşturma

CREATE TABLE Tablo (
Sayi1 INT,
Sayi2 INT,
Sayi3 AS Sayi1 + Sayi2 PERSISTED
)

--Tabloya veri insert etme

INSERT INTO dbo.Tablo (Sayi1,
Sayi2) 
VALUES 
(5 ,2),(6,3),(7,8)

--Tabloyu listeleme

SELECT * FROM dbo.Tablo
</pre>
<p>Burada Sayi3 adında bir alan oluşturduk. Bu alan Sayi1 ile Sayi2 alanlarını toplayarak oluşturulmuş bir alan. Bu alanı belirtirken Persisted ifadesini işlem sonrası koyuyorsunuz. Persisted olarak işaretlenmediği sürece varsayılan olarak Computed Column’lar diskte tutulmazlar yani sanaldırlar. Veri çekilmek istendiğinde otomatik olarak hesaplanırlar. Persisted olarak işaretlemek Insert, Update ve Delete performansını biraz düşürür. Select performansını ise biraz arttıracaktır. Persisted kullanımı ihtiyaca göre belirlenebilir.</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"> 870</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
