SQL'deki viewler bir tür sanal tablolardır. Bir viewde, veri tabanında gerçek bir tabloda olduğu gibi satır ve sütunlar da bulunur. Veri tabanında bulunan bir veya daha fazla tablodan alanları seçerek bir view oluşturabiliriz. view, bir tablonun tüm satırlarına veya belirli koşullara göre belirli satırlara sahip olabilir.
Bu makalede, Görünümler oluşturma, silme ve güncelleme hakkında bilgi edineceğiz.
Örnek Tablolar :
CREATE VIEW deyimini kullanarak View oluşturabiliriz. Görünüm, tek bir tablodan veya birden çok tablodan oluşturulabilir.
Sözdizimi :
CREATE VIEW view_name AS
SELECT column1, column2…
FROM table_name
WHERE condition;
view_name: Name for the View
table_name: Name of the table
condition: Condition to select rows
Tek bir tablodan ViewOluşturma:
Bu örnekte StudentDetails tablosundan DetailsView adlı bir View oluşturacağız.Sorgu:
CREATE VIEW DetailsView AS
SELECT NAME, ADDRESS
FROM StudentDetails
WHERE S_ID
Şimdi görünümü şu şekilde sorgulayabiliriz.,
SELECT * DetailsView;
Birden fazla tablodan View Oluşturma :
Bu örnekte, StudentDetails ve StudentMarks adlı iki tablodan MarksView adlı bir View oluşturacağız. Birden çok tablodan bir view oluşturmak için SELECT deyimine birden çok tablo ekleyebiliriz.Sorgu:
CREATE VIEW MarksView AS
SELECT StudentDetails.NAME, StudentDetails.ADDRESS, StudentMarks.MARKS
FROM StudentDetails, StudentMarks
WHERE StudentDetails.NAME = StudentMarks.NAME;
View'i kaldırmak
Bir view oluşturmayı öğrendik, ancak ya oluşturulan bir viewe artık ihtiyaç duyulmazsa? belki silmek isteyeceğiz. SQL var olan bir viewi silmemize izin verir. DROP deyimini kullanarak bir viewi silebilir veya bırakabiliriz.
DROP VIEW view_name;
view_name : Silmek istediğimiz Görünümün adı.
Viewi güncellemek için yerine getirilmesi gereken belirli koşullar vardır. Bu koşullardan herhangi biri karşılanmazsa, görünümü güncellememize izin verilmez.- Görünümü oluşturmak için kullanılan SELECT ifadesi, GROUP BY ya da ORDER BY yantümcesini içermemelidir.
- SELECT ifadesi DISTINCT anahtar sözcüğüne sahip olmamalıdır.
- Görünüm, tüm NOT NULL değerlerine sahip olmalıdır.
- Görünüm iç içe geçmiş sorgular veya karmaşık sorgular kullanılarak oluşturulmamalıdır.
- Görünüm tek bir tablodan oluşturulmalıdır. Görünüm birden fazla tablo kullanılarak oluşturulduysa, görünümü güncellememize izin verilmez.
CREATE VIEW SampleView AS
SELECT S_ID, NAME
FROM StudentDetails
WHERE NAME IS NOT NULL
WITH CHECK OPTION;