Veritabanı Tasarımı

advertisement
Veritabanı Tasarımı
Görünüm Oluşturma
Görünüm Oluşturma
Konular
• Görünümlerin veritabanı yönetici bakış açısından üç kullanımın
listelenmesi
• Bir iş perspektifinden, bir veya daha fazla tablodan elde edilen
verilerin mantıksal alt kümelerini oluşturabilmenin ve
kullanabilmenin neden önemli olduğunu açıklama
• Alt sorguda tek bir ana tablo kullanılarak sütun takma adlı ve adsız
bir görünüm oluşturma
• İki tablodaki değerleri görüntülemek için grup fonksiyonlarını içeren
karmaşık bir görünüm oluşturma
• Bir görünümden veri alma
2 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Amaç
Geçmişe dönüp Oracle Academy öğrencisi olarak neler öğrendiğinize
bir bakın. Bu dersi almayan bir öğrenciye göre neler biliyorsunuz
bunu düşünün, daha kolay olacaktır.
Bilgi edindiğiniz düzey sadece bir kaç taraftan anlaşılmaktadır. Şimdi,
kendinizi bir işin Veritabanı Yöneticisi olarak hayal edin. Bir
yöneticinin şirketin veritabanını kullanarak verileri girebilmesini ve
verilere ulaşabilmesini mümkün hale getirmek için ne yaparsınız.
"Bunu çok karmaşık yapmayın; sadece tüm işlemler ile ilgili rapor
hazırlayabilmeyi istiyorum."
3 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Amaç
Çalışanların şirketin tüm verilerine erişimi yetkisi olmalı mıdır?
Birleştirme durumlarını içeren komutları nasıl çalıştıracaklardır?
Herhangi birinden veri girişi sağlamak akıllıca mıdır?
Bunlar veritabanı yöneticisi olarak masıl cevaplayacağınızı bilmeniz
gereken sorulardır. Bu bölümde özel kullanıcı gereksinimlerini
karşılamak için özelleştirilmiş tablo sunumları olan görünümleri nasıl
oluşturacağımızı öğreneceğiz
4 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Görünüm
Görünümlerin dayandığı tablalar
esas tablo olarak adlandırılır. Bir
görünüm veri sözlüğünde bir
SELECT ifadesi olarak tutulur.
5 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Görünümlerden Neden Kullanılır?
• Görünümler esas tablo verilerine erişimi kısıtlar çünkü görünüm
tablodan seçilmiş sütunları gösterebilir.
• Görünümler daha karmaşık SELECT ifadelerine dayalı çalıştırılan
sorgulardaki karmaşıklığı azaltmak için kullanılır. Örneğin,
görünümü oluşturan kullanıcı, çoklu tablodan veri getiren join
ifadeleri oluşturabilir. Görünümü kullanan, altta yatan kodu ve nasıl
oluşturulduğunu bilemez. Kullanıcı görünüm aracılığı ile basit
sorgular kullanarak veritabanı ile etkileşim kurar.
6 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Görünümlerden Neden Kullanılır?
• Görünümler, kullanıcılar için veri bağımsızlığı sağlayarak birkaç
tablodan veri getirmek için kullanılabilir. Kullanıcılar aynı veriye
farklı yollarla bakabilir.
• Görünümler kullanıcı gruplarının sahip oldukları izin ve kriterlere
göre veriye erişimini sağlar.
7 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Görünüm Oluşturma
Bir görünüm oluşturmak için, CREATE VIEW ifadesi içine bir alt sorgu
gömülür. Görünüm ifadesinin sözdizimi şu şekildedir:
Örnek:
8 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Görünüm Oluşturma
9 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Görünüm Oluşturma
OR REPLACE
FORCE
Var olan görünümü tekrardan oluşturur.
Esas tablolar mevcut olsa da olmasa da görünümü oluşturur.
NOFORCE
Esas tablolar mevcut ise görünümü oluşturur.
view_name
alias
Görünümün adını belirler.
Görünüm sorguları tarafından seçilen her bir ifade için bir
adlandırma belirler
subquery
Tam bir SELECT ifadesidir. Takma adlar SELECT listesinde sütunlar için
kullanılabilir. Alt sorgu karmaşık SELECT sözdizimi içerebilir.
10 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Görünüm Oluşturma
WITH CHECK
OPTION
Eklenen ya da güncellen görünüm için sadece satırların erişilebilir
olduğunu ifade eder.
constraint
WITH READ
ONLY
CHECK OPTION kısıtlamasına verilen adlandırmadır.
DML işlemlerinin bu görünümde çalışamamasını sağlar.
11 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Görünüm Oluşturma Kuralları
• Görünümü tanımlayan alt sorgu karmaşık SELECT sözdizimi
içerebilir.
• Görünümü tanımlayan alt sorguORDER BY deyimi içeremez.
ORDER BY deyimi görünümden veri alınırken tanımlanır.
• OR REPLACE seçeneğini görünüm tanımını, onu kaldırmadan ya
da nesne yetkilerini tekrar belirleyerek değiştirmek için
kullanabilirsiniz.
• Takma adlar alt sorgularda sütun isimleri için kullanılabilir.
12 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
CREATE VIEW Özellikleri
Görünümleri ikiye sınıflandırmak için basit ve karmaşık ifadeleri
kullanılır.
Özellik
Basit Görünüm
Karmaşık Görünüm
Veriyi elde etmek için kullanılan tablo
sayısı
Bir
Bir ya da daha çok
Fonksiyon içerebilir
Hayır
Evet
Veri grupları içerebilir
Hayır
Evet
Görünüm aracılığı ile DML işlemleri
gerçekleştirebilir (INSERT, UPDATE,
DELETE)
Evet
Her zaman değil
13 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Basit Görünüm
Aşağıda basit bir görünüm örneği verilmektedir. Alt sorgu veriyi tek bir
tablodan elde etmektedir ve join fonksiyonu ya da herhangi bir grup
fonksiyonu içermez. Çünkü basit bir görünümdür. Esas tabloyu
etkileyen INSERT, UPDATE, DELETE ve MERGE işlemleri görünüm
aracılığı ile gerçekleşir.
14 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Basit Görünüm
SELECT ifadesindeki sütun adları gösterildiği üzere takma ada sahip
olabilir. Takma adlar CREATE VIEW ifadesinden sonra SELECT alt
sorgusundan önce listelenebilir
15 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Basit Görünüm
Esas tablolar mevcut olsa da olmasa da görünümler oluşturulabilir.
CREATE VIEW ifadesine FORCE kelimesini eklemek görünümü
oluşturur.
Veritabanı yöneticisi olarak bu seçenek veritabanı gelişimi sürecinde
gerekli olan yetkiler için bekliyorsanız kullanışlı olabilir. FORCE
seçeneği geçersiz olmasına rağmen bir görünüm oluşturacaktır.
NOFORCE seçeneği görünüm oluştururken varsayılandır.
16 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Karmaşık Görünüm
Karmaşık görünümler grup fonksiyonları ve join içeren görünümlerdir.
Örnekte iki tablodan veri getiren bir görünüm oluşturulmaktadır.
17 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Karmaşık Görünüm
Grup fonksiyonları karmaşık görünüm ifadelerine eklenebilir.
18 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Görünüm Oluşturma
Görünümü Değiştirme
Var olan bir görünümü yeniden oluşturmanda değiştirmek için
CREATE VIEW komutunda OR REPLACE seçeneği kullanılır. Eski
görünüm yeni sürümü ile değiştirilir.
Örneğin:
19 | Copyright © 2011, Oracle. Bütün hakları mahfuzdur.
Download