SQL Server ile View Yaratmak

BiRkan2

Uzman üye
1 Tem 2007
1,670
49
119
Prison Break
SQL Server ile View Yaratmak

View Nedir ?

İlikisel veritabanlarında bilgiler tablolarda saklanır. Bu tabloların kesişimi,birleşimi ile View'ler oluşturulabilir. View'ler veri tutmaz. Sadece tabloların bir 'görünümü'dür. View aslında sanal bir tablodur. Örneğin bir view iki tablonun birleşimi olabilir. Bir örnek verelim.
A tablosu

id isim kod

1 ali 02
2 veli 03
3 zafer04

B tablosu

id kisi_id lakap

1 3 boga
2 1 okuz
3 2 bond
Burada iki tablo var. Bu iki tablo A.id ve B.kisi_id alanları ile birbiriyle ilişki kurulmuş. Bir kişi hakkında tüm bilgiler aşağıdaki gibi bir view'da gösterilebilir.
id isim kod lakap
1 ali 02 okuz
2 veli O3 bond
3 zafer 04 boga
Görüldüğü gibi iki tablonun birleşik bir görünümü elde edildi.
SQL Server ile View Yaratmak

SQL Server ile bir database yaratıldığı zaman Views klasörü oluşturulur. Bu Views içinde View'ler yaratılabilir. Sağ tıklayıp New View ile bir view yaratıır. Yukarıdaki örnekteki view kodu açağıdaki gibi olur.
select A.*,B.lakap as lakap
from A
join B ON A.id=B.kisi_id
A.id ile B.kisi_id'i bağladık. A'nın tüm sutunlarını ve B'nin lakabını aldık. Sonuç olarak
id isim kod lakap
----------- ---------- ---------- ----------
3 zafer 04 boga
1 ali 02 okuz
2 veli 03 bond
tablosu üretilmiş oldu.
Daha sonra bu view ile sorgu yapabiliriz. Örneğin zafer isimli kişinin lakabını bulalım. Bu view'in adı Kisi olsun.
select lakap from Kisi where isim='zafer'
Bu sorgu ile zafer adlı kişini lakabını bulmuş oluruz. Görüldüğü gibi join yapmamız gerekmedi. Zaten Kisi view'ında join yapmıştık.
Sadece isim lakap çiftinden oluşan bir view'de yapabiliriz.
select A.isim as isim,B.lakap as lakap
from A
join B ON A.id=B.kisi_id

Sonuç olarak View'lar birden fazla tablodan daha kolay veri almak için kullanılır. Program içinde yazılan kod daha basit olur. Yine tablolardaki bazı sütünlar gizlenebilir. Oluşturulan view'e bu sütun koyulmayabilir. View'ler bir çeşit istatistik olrakta kullanılabilir. Örneğin bir tabloda kaç üye var gibi bilgiler bir view'e yazılabilir. View'ların bir yararıda gereksiz bilgilerden bizi kurtarmaktır. Tabloları birbirine bağlayan id'ler View'lerde gösterilmeyebilirler.

 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.