29 Ocak 2013 Salı

SQL SERVER-DE VIEW YARATMAQ

View-lar virtual cedvellerdir.Real cedveller kimi setirlerden ve sutunlardan ibaretdir.View-da olan field-ler database-de real olan 1 veya coxlu cedvellerden goturulmus field-lerdir.View yaradarken meslehet goruremki view adlarini vw_ ile baslayasinizki onu cedvellerden ayird etmek daha asan olsun.
Edeceyimiz sql sorgularinda 1-den cox cedveli ve onlarin ayri -ayri sutunlarini istifade etmek ,bunlarin hamisini birlesdirmek ve lazim olan cedvelden sorgu gondermek isteyirikse bu zaman bunlari etmek evezine view yaradib lazimli sutunlari lazimli cedvellerden alib tek 1 cedvel uzerinden sorgu gondermek isimizi dahada asanlasdirar.yeni qarisiq olan sorgular daha asan 1 hala salinmis olar.
Syntax:

CREATE VIEW vw_Hale AS
SELECT Sutun1,Sutun2..
FROM Hale
WHERE condition

Gizli view-da yarada bilerik.Bu zaman heckim bizim yaratdigimiz view-nun hansi cedveller ile elaqeli oldugunu gore bilmez.Bu zaman view-nun uzerinde kilit sekili emele gelecek ve modify secimi aktiv olmayacaq.


CREATE VIEW vw_Hale
with encryption---modify secimi deaktiv olacaq
AS
SELECT Sutun1,Sutun2..
FROM Hale
WHERE condition


View hemise var olan melumati gosterir.View yaratmanin diger bir ustun cehetide security terefdendir.Eger cedvelimizde olan sutunlarin hamisinin gorunmesini istemirikse view yaradib cedvellerimizin hamisinin gorunmesinin qarsisini ala bilerik.
View-nu update etmekde mumkundur.Eger view-a yeni sutun daxil etmek istesek o zaman gerekki onu update edek.
Syntax-i asagidaki kimidir:

CREATE OR REPLACE VIEW vw_Hale AS
SELECT Sutun1,Sutun2..
FROM Hale
WHERE condition

Yaratdigimiz view-nu silmek ucun DROP VIEW ifadesinden istifade edirik:

DROP VIEW vw_Hale 


Ancaq view-lar ile bezi emeliyyatlar edile bilmez.Onlar asagidakilardir:
-Order by istifade oluna bilmez;
-Adsiz sutun istifade oluna bilmez.Meselen,SUM funksiyasini istifade etmek isteyirikse o zaman mutleq as ile ad vermeliyik;
-1den cox sorgu yazmaq olmaz.Yeni,sadece bir select ile baslayan sorgu yaza bilerik;
-Insert,Update veya Delete istifade ede bilmerik;
-Her hansi bir parametr gondere bilmerik.


Hiç yorum yok:

Yorum Gönder