SQL’DE VİEW(SANAL TABLO) OLUŞTURMAK

03 Temmuz 2010 – 13:23

View ler hangi durumlarda kullanılır,faydaları nelerdir?


Yapacağınız sql işleminde birden fazla tabloyu ve onların farklı farklı colonlarını kullanacaksınız,hepsini birleştirmek ,gerekli tablodan sorgu yapmak biraz zahmetli bir iş olabilir,bunun yerine view denen sanal tablolardan oluşturup,gerekli colonları farklı tablolardan alıp sorguları tek bir tablo üzerinden yapmak işinizi kolaylaştırailir.Karmaşık sorgular kolay bir hale gelmiş  olur.Ayrıca view kullanmanın çok önemli nedenlerinden bir tanesi sağladığı güvelikler.Tablolarınızın tamanının görünmesini istemediğiniz zamanlarda  sanal tablo kullanıp tablolarınızın tamamının görünmesini engelleyebilirsiniz.

View ler üzerinde yapılan değişikler kendilerini oluşturan kaynak tabloları da etkiler,aynı değişiklikler kaynak tablolara da yansır.

Oluşturulan Viewler  resimde görüldüğü gibi  Object Explorer kısmında ana başlık altında toplanır:

adsiz41

Viewler nasıl  oluşturulur?

create view vw_viewAdi

–tavsiye olunur ki oluşturulan view adları vw_ ile başlasın,böylece veri tabanınıza yeni bakan biri onun view olduğunu kolayca alsın

as

select kolonAdi from tabloAdi

where şart

with check option

view oluştururken with check point ifadesi yazılırsa,tanımlamadaki where şartı muhafaza edilmiş olur where şartı dışındaki insert,update,delete işlemleri yapılmaz hata verir

create view vw_DogruHazirlanmisView

as

select firstname,lastname

from Employees

where FirstName like ‘a%’

with check option

insert into vw_DogruHazirlanmisView values(’derya’,'dd’)

–eklenme yapılmak istendiğinde hata verir

hata:The attempted insert or update failed because the target view either specifies WITH CHECK OPTION or spans a view that specifies WITH CHECK OPTION and one or more rows resulting from the operation did not qualify under the CHECK OPTION constraint.(with check pointten dolayı ‘a’ ile başlamayan bir ekleme yapılamaz)

with Schemabinding

Viewin oluşturulduğu kaynak tablo üzerinde değişiklik yapılmasına izin vermeyecek.

create  view vw_CokUgrastim

with schemabinding          –sütunla ilgili bir değişiklik yapılamıyor

as

select firstname,lastname,city

from dbo.employees  –dbo. olmalı

drop table Employees          –yazıldığında hata verir

hata:Could not drop object ‘Employees’ because it is referenced by a FOREIGN KEY constraint.

with encription(gizli view)

Kaynekların  gizliliğini sağlayan koddur,kullanıcı sadece oluşturulan view ile ilgili verilere erişebiliyor,kaynak tablolarla ilgili hiç bir bilgiye ulaşamıyor.

create view vw_Benim

with encryption   –kaynak görmeme,design aktif değil

as

select * from products

adsiz8

Resimde de görüldüğü gibi gizli view kullanıldıktan sonra viewin üstünde kilit işareti olur ve ‘modify’ seçeneği aktiif değildir.

DERYA GÜNDÜZ
deryagunduz.blogspot.com
deryagunduz47@gmail.com
Bookmark and Share

Post a Comment

Subscribe without commenting