15
SQL SERVER 2012’de VIEW ve CTE Kavramı İBRAHİM ERSOY ASSISTANT CONSULTANT - BİLGEADAM

SQL Server 2012’de View ve CTE

Embed Size (px)

Citation preview

Page 1: SQL Server 2012’de View ve CTE

SQL SERVER 2012’de VIEW ve CTEKavramıİBRAHİM ERSOYASSISTANT CONSULTANT - BİLGEADAM

Page 2: SQL Server 2012’de View ve CTE

Ajanda

VIEW

• View Nedir?• View Designer• VIEW

Oluşturma(TSQL)

• VIEW Update

VIEW Seçenekleri

• SCHEMABINDING

• CHECK• ENCRYPTION

CTE

• WITH

Page 3: SQL Server 2012’de View ve CTE

VIEW

Page 4: SQL Server 2012’de View ve CTE

VIEW NEDİR?

SQL Server üzerindeki bir veya birden çok tablodaki verilere ulaşmanıza olanak sağlayan sanal tablolarıdır.

Page 5: SQL Server 2012’de View ve CTE

VIEW DESIGNER

SQL Server üzerinde VIEW ler oluşturmanıza olanak sağlayan görsel arayüze View Designer denir.

Birkaç adımda SSMS kullanarak Viewler geliştirebilirsiniz.

Page 6: SQL Server 2012’de View ve CTE

VIEW Oluşturma(T-SQL)

Create View ornekviewASSelect * from Product

Oluşturma Çağırma

Select * from ornekview

Page 7: SQL Server 2012’de View ve CTE

VIEW Update

VIEW ları Update ederken bir takım kurallara uymak gerekir:

• Sadece tek bir tabloyla çalışırken• View muhakkak bir Primary Key e sahip olmalı• DISTINCT,GROUP BY,HAVING gibi ifadelere sahip olmamalı• İlişkili tablo yapısı olmayacak

Page 8: SQL Server 2012’de View ve CTE

VIEW Seçenekleri

Page 9: SQL Server 2012’de View ve CTE

WITH SCHEMABINDING

Bu özellik sonradan Tablo üzerindeki alanlarda değişiklik yapıldığında VIEW üzerinde de değişiklik yapılmasını sağlar.

Create View ornekview WITH SCHEMABINDINGas select * from Gorevler

Page 10: SQL Server 2012’de View ve CTE

WITH CHECK

Bu özellik view oluşturulduğunda ‘Where’ cümleciğini kullandığımız bir yapı söz konusu olduğunda ve ilerleyen dönemlerde bu cümlenin bağlantılı olduğu alanın kayıtlarının değiştirilmesini engeller.

Create View ornekview as select * from GorevlerWhere gorev='Genel Mudur'WITH CHECK OPTION

Page 11: SQL Server 2012’de View ve CTE

WITH ENCRYPTION

Bir View oluşturduğunuzda,View nesnesine ait açıklama bilgileri sys.syscomments de saklanır.Eğer ki biz başkalarının oluşturduğumuz view nesnesine ait açıklama bilgilerini okumasını istemiyorsak,ENCRYPTION kullanırız.

Create View ornekview WITH ENCRYPTIONas Select * from Gorevler

Page 12: SQL Server 2012’de View ve CTE

CTE(Common Table Expressions)

Page 13: SQL Server 2012’de View ve CTE

WITH SÖZCÜĞÜ

WITH sözcüğünü kod bloklarına benzetebilirsiniz.

CTE sorgu başladıktan bitene kadar yaşar.

With GorevSecici(GorevID,gorevad)as (Select gorev_id,gorevfrom Gorevler)

Select * from GorevSecici

C#’da ‘Object Initializer’ lara benzer

Page 14: SQL Server 2012’de View ve CTE

Sorular

Page 15: SQL Server 2012’de View ve CTE

Katıldığınız için Teşekkürler!

İbrahim ErsoyASSISTANT CONSULTANT - BİLGEADAM