SQL Server - Views.

Slides:



Advertisements
Benzer bir sunumlar
4 SQL- Yapısal Sorgulama Dili
Advertisements

Tablo oluşturma İlk olarak tabloları oluşturmamız gerekli..
SQL de Değişken Tanımlama
SQL Komutlar 5 Sibel SOMYÜREK.
Alt Sorgular Veritabanı 2.
Veri Tabanı Yönetim Sistemleri
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
Veri Tabanı Yönetim Sistemleri
BÖLÜM 6 SQL SERVER KOMUTLARI.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
SQL (STRUCTURED QUERY LANGUAGE)
VIEW (BAKIŞ) OLUŞTURMA
VIEW lerle çalışmak 11.BÖLÜM.
SQL Dili ve MySQL Komutları
SQL’e Giriş ve SELECT Komutu
GÖRÜNÜŞLER (VİEWS). Görünüş Temel tablolar üzerinde yeni bir tablo almak için yapılan işlemlerin sonucu Sanal tablo- gerçekten veri tabanında yoktur ve.
VeriTabanı Uygulama.
SQL Sibel SOMYÜREK.
SQL Komutları (2) Uzm. Murat YAZICI.
VTYS Öğr. Gör. Engin DUTAR
SQL’ e Giriş Uzm. Murat YAZICI.
SİSTEM VERİTABANLARI. Sistem veritabanlarını tanıma. Kendi Login’imizi oluşturma Neler İşleyeceğiz?
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
K ıSıT -V ıEW -S EQUENCE U NıON -I NTERSECTıON -E XCEPT E XıSTS -I N İbrahim Onur Sığırcı.
Yeni Veritabanı Oluşturma
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Veri Tabanı Yönetim Sistemleri Hafta 1. 2 Temel Kavramlar Veri Olguların, kavramların, veya talimatların, insan tarafından veya otomatik yolla iletişim,
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Arş. Gör. Pınar CİHAN.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
İNTERNET PROGRAMLAMA -2. Veritabanı Nedir? Veritabanı, bilgilerin düzenli bir ş ekilde saklandı ğ ı yapılardır. De ğ i ş kenlerdeki bilgiler ve formlardan.
Çağrı Kuçat SQL Yapısı.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
View View’ler select ifadesi ile tanımlanmış sanal tablolardır. Temel amacı base tabloların içerisinden veri kümesi getirip ortaya çıkan sonucu sanal.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Constraint-View-Sequence Union-Intersection-Except Exısts-In Arş. Gör. Pınar CİHAN.
İdari ve Mali İşler Daire Başkanlığı
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
Yapısal Sorgulama Dili SQL Hafta 6 Ders Notu
Veri Tabanı Yönetimi Dersi 7. Laboratuvarı
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
VIEW lerle çalışmak 11.BÖLÜM.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Transaction ve Örnekler
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Veri Tabanı Yönetim Sistemleri 1 Ders 10 Veri Sözlüğü ve DDL
İNDEKS.
TETİKLEYİCİLER ve HATA KONTROLÜ
14.DERS Örnekler, Sorular BUKET DOĞAN.
5. HAFTA Öğr. Gör. Yunus KÖKVER
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
SQL.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Sorgu / dml / ddl komutları
RAISE RECORD/CURSOR TRIGGER
SQL (STRUCTURED QUERY LANGUAGE)
VERİTABANI YÖNETİM SİSTEMLERİ 3-Normalizasyon
Stored Procedure Öğr.Gör.Metin Akbulut.
SQL Server - Triggers.
SQL Server - Stored Procedures
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-4-DML
BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler
Intersect Tablo1 Sno Ad Soyad 1 Ali Ak 2 Veli Kara 3 Can Mor Tablo2
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
SQL VIEW.
Sunum transkripti:

SQL Server - Views

View Nedir? Hangi Amaçlarla Kullanılır? View, bir veya birden fazla tablodan (base tablo) değişik sorgularla çekilmekte olan bilgilerin içerisinde tutulduğu sanal tablolardır. Hangi Amaçlarla Kullanılır? Bir kullanıcının bir tablo içerisindeki herşeyi görmesinin istenmediğinde, Bir kullanıcının çok miktarda veri bulunduran bir tablo üzerinde sorgulama yapması yerine işlemi daha kolaylaştırmak/hızlandırmak için bu verilerin bir bölümü üzerinde çalışması istendiğinde Kullanıcıların çeşitli birim dönüşümlerinden veya işlemlerden geçmiş verileri görmesi gerektiğinde Farklı ve karmaşık tablolarda tutulan verilerin tek ve sade bir şekilde görmesi gerektiğinde Kompleks sorguları basitleştirmek gerektiğinde kullanılır

View Oluşturma ve Kullanımı CREATE VIEW vwOgrenciler AS SELECT * FROM tbOgrenciler SELECT * FROM vwOgrenciler CREATE VIEW vwOgrencilerFiltre SELECT OgrKod, Name FROM tbOgrenciler WHERE Sinif=3

CREATE VIEW vwDolarFiyatlar (Urunkod, UrunAd, UrunFiyat) - - Alanlara yeni isimler verilebilir AS SELECT urunkod, urunisim, listefiyat FROM tbUrunler WHERE dovizkod=‘USD’ SELECT Urunkod, Urunad FROM vwDolarFiyatlar

CREATE VIEW vwHatali1 AS SELECT CREATE VIEW vwHatali1 AS SELECT * FROM tbOgrenciler ORDER BY ogrno Üstteki örnek çalıştığında hata verecektir. Çünkü View oluşturan kod bloğunda ORDER BY, COMPUTE, COMPUTE BY, INTO gibi ifadeler bulunamaz.

View’in Yapısını Değiştirme ALTER VIEW vwOgrencilerFiltre AS SELECT * FROM tbOgrenciler WHERE sinif=1 sp_helptext viewad - - - Varolan view’in kodunu gösterir. SELECT * FROM sys.views - - - Tanımlı view listesini gösterir.

CREATE/ALTER VIEW vwOgrencilerFiltre WITH ENCRYPTION AS SELECT CREATE/ALTER VIEW vwOgrencilerFiltre WITH ENCRYPTION AS SELECT * FROM tbOgrenciler WHERE ogrno BETWEEN 1 AND 50 View kodunun gizlenmesi/şifrelenmesi için WITH ENCRYPTION ifadesi kullanılır. Şifrelenmiş bir view ALTER edilirken her seferinde WITH ENCRYPTION ifadesi kullanılmalıdır. Kullanılmazsa şifrelemeden vazgeçildiği şeklinde düşünülerek çalıştırılır.

View’in Silinmesi DROP VIEW vwOgrencilerFiltre

View’ler ile Kayıt İşlemleri Viewler bünyelerinde veri tutmadıklarından ilgili değişiklikler doğrudan base tablo üzerinde gerçekleşirler. Bir view aynı anda sadece tek bir tabloda veri değiştirebilir. Birden fazla tablodan veri çeken bir view üstünde değişiklik yapılacaksa, ya aynı anda tek tablo üstünde değişiklik yapacak parçalara bölünür ya da INSTEAD OF triggerları kullanılır. Bir view, veri gireceği base tablodaki IDENTITY, NOT NULL, CONSTRAINT veya indekslere takılmamalıdır. WHERE ile filtrelenmiş bir kaydın, UPDATE cümlesi ile filtre dışına çıkması veya bir view tarafından seçemediği bir kaydı eklemesi olasıdır. Bu tür durumları önlemek için view tanımı WITH CHECK OPTION seçeneği ile yapılmalıdır. Veri güvenliği açısından koruma sağlar.

CREATE VIEW vw_100BirimAlti AS SELECT urunad, fiyat FROM tbUrun WHERE bfiyat<100 INSERT INTO vw_100Birimalti(urunad, fiyat) VALUES (‘kitap’, 300) satırı çalışır. Fakat vw_100BirimAlti isimli view bu kaydı listeleyemez.

Kişinin göremeyeceği kayıtlar ekleyememesi için vw_100BirimAlti isimli view aşağıdaki gibi değiştirilmelidir. ALTER VIEW vw_100BirimAlti AS SELECT urunad, fiyat FROM tbUrun WHERE fiyat<100 WITH CHECK OPTION Yapılan bu düzenleme sonrasında aşağıdaki kayıt ekleme kodu hata verecektir. INSERT INTO vw_100Birimalti(urunad, fiyat) VALUES (‘kitap’, 300)

Parçalı View Oluşturma CREATE VIEW vw_TumSubeler AS SELECT * FROM tbSube1 UNION ALL SELECT * FROM tbSube2 SELECT * FROM vw_TumSubeler tbSube1 tablosu Subekod tint not null Urunkod int Urunad varchar(50) Subekod ve urunkod - - Primary Key (PK) Check (subekod=1) tbSube2 tablosu Check (subekod=2) Insert into vw_TumSubeler (subekod, urunkod, urunad) Values (1,4, ‘Defter’), (2,4, ’Kitap’), (2,5,’Cetvel’)

View’in Adını Değiştirme Sp_rename ‘view1’, ‘view1_new’ Exec/Execute Sp_rename ‘view1’, ‘view1_new’

Kaynaklar Yazılımcılar için SQL Server 2012 ve veritabanı Programlama, Y.Gözüdeli, Seçkin Yayınevi. Veritabanı Yönetim Sistemleri I, T.ÖZSEVEN, Murathan Yayınevi.