SQL View Nedir? View Nasıl Oluşturulur?

Bu yazımızda SQL view ne olduğuna ve nasıl oluşturulup kullanıldığına değineceğiz.

SQL de veri tabanından tabloları görüntülemek veya birleştirerek görüntülemek için sorgular yazarız. Her defasında yeniden sorgular yazmamak için bir kez view oluşturup o view çağırmak daha kolaydır. Bizi defalarca aynı kodu yazmaktan kurtarır. Ama dezavantajları da vardır maalesef. Bunlar dışarıdan parametre almamaları ve performans kaybına sebep olmalarıdır.

NOT : Eğer QUERY ( Sorgu ) hakkında bilginiz yoksa öncelikle onu öğrenmenizi tavsiye ederiz. Örneklerimiz yaparken northwind örnek veri tabanını kullanacağız. northwind veri tabanı öğrenme aşamasında kullanılmak için yapılmış veri tabanıdır.

*NORTHWIND database ndeki terimler

Employees: Çalışanlar   —     Customer: Müşteri  —   Orders: Sipariş —   Order Details : Sipariş Detayları,  Products: Ürünler  —    Region: Bölge, kuzey, güney   —  shippers : nakliyatçılar   —   suppliers : satıcılar territories : saha, şehir  —   quantity : miktar, adet   

View oluşturmak için :

go
create view viewName
as 
Query......
go

Yukarıda görüldüğü gibi create komutu ile view ismi vererek oluştururuz.

View çagırmak için: View ismi ile çağırdığımızda query çalıştırışır ve sonuç bize döner.

select * from ViewName

Örnek 1: Products ile order details tablosundan ProductID, ProductName, UnitPrice çeken view yazalım?

go
create view vProductsJoinOrderDetails
as
select p.ProductID, ProductName, o.UnitPrice from Products p inner join [Order Details] o
on p.ProductID = o.ProductID
go

view çağıralım;

select * from dbo.vProductsJoinOrderDetails

örnek 2: ContactName i içinde s harfi geçen müşterilerin siparişlerindeki  toplam kargoları hesaplayalım. iç select kullanarak yapalım?

go
create view v_MusteriToplamKargo 
as
select Customers.ContactName, (select sum(Freight) from Orders where CustomerID = Customers.CustomerID ) 'Toplam Kargo Bedeli' from Customers where ContactName like '%s%'
go

view çağıralım;

select * from v_MusteriToplamKargo

Burada “toplam kargo bedeli” sanal ismini verdiğimizde syntax hatası verir. Buna dikkat etmeliyiz.

NOT :

select * from sys.tables – Bütün tabloları liste halinde görmemizi sağlar..
select * from sys.views  - Bütün view ları liste halinde görmemizi sağlar..

Not: daha önce yazılmış bir view da “alter” komutu ile değişiklik yapılabilir.
view ları çağıran komut;

select * from sys.views

örnek 3: sadece ‘Alphabetical list of products’ view ini çağıran view

go
alter view vViewleriGetirenKomut
as
select * from sys.views where name = 'Alphabetical list of products'
go

view çağıralım;

select * from vViewleriGetirenKomut

Arkadaşlar bu yazımızda SQL view oluşturmayı ve çağırmayı kısaca anlattık.

Başka bir yazımızda görüşmek üzere…

Leave a Reply