2008-11-02 12 views
48

Oracle'da bir görünüm nedir?Oracle'da Görünüm nedir?

+3

görünümü oluşturmak için kullanılan veri sorgusuna bağlı olarak verileri düzenli olarak yenileyen tablo oluşturmak için http: // stackoverflow.com/questions/1278521/neden-nasıl-a-a-view-in-a-veritabanı içinde – MedicineMan

cevap

111

A Oracle görünümünde ve diğer veritabanı sistemlerinde, bellekte depolanan bir SQL ifadesinin basitçe gösterilmesi, böylece kolayca yeniden kullanılabilmesidir. Örneğin, sık sık bir görünüm bu örnekte

CREATE VIEW view_uscustomers 
AS 
SELECT customerid, customername FROM customers WHERE countryid='US'; 

Bu komut view_uscustomers adlı yeni bir görünüm oluşturur görüldüğü gibi GÖRÜNÜM komutunu CREATE kullanmak oluşturmak için aşağıdaki sorguyu

SELECT customerid, customername FROM customers WHERE countryid='US'; 

sorunu eğer. Bu komutun, bu görünümü tanımlayan bir veri sözlüğü girdisi dışında, veritabanında gerçekte saklanan bir şeyle sonuçlanmadığını unutmayın. Bu, bu görünümü her sorguladığınızda Oracle'ın dışarı çıkması ve görünümü yürütmesi ve veritabanı verilerini sorgulaması gerektiği anlamına gelir. Böyle görünümü sorgulayabilirsiniz:

SELECT * FROM view_uscustomers WHERE customerid BETWEEN 100 AND 200; 

Ve Oracle bu sorguyu dönüştürecek: kullanan Görüntüleme

SELECT * 
FROM (select customerid, customername from customers WHERE countryid='US') 
WHERE customerid BETWEEN 100 AND 200 

Faydaları kod

  • Ortak Özellikleri kullanılıyor. Görünüm, genel bir SQL kümesine dayandığından, bu, çağrıldığında, ayrıştırmayı gerektirme olasılığının düşük olduğu anlamına gelir.
  • Güvenlik. Görünümler, gerçekten sorguladığınız verileri içeren tabloları gizlemek için kullanılmıştır. Ayrıca, belirli bir kullanıcının erişimi olan sütunları kısıtlamak için görünümler kullanılabilir.
  • Predicate pushing

Yaklaşık bu makalede ileri konuları bulabilirsiniz "How to Create and Manage Views in Oracle."

+1

Anlamak için basit ve kolay bir cevap :) Güzel iş! –

11

Görüşlerin fikrini seviyorsanız, ancak performanstan endişe duyuyorsanız Oracle'ın, oracle'in güncelliğini koruduğu görünümü temsil eden önbelleğe alınmış bir tablo oluşturmasını sağlayabilirsiniz.
materialized views

1

bir görünümünde, bir ya da daha fazla tablodan kolonunun bir alt erişim sağlayan bir sanal tablo, bkz. Bir görünüm, verilerini bir veya daha fazla tablodan türetebilir. Bir sorgu çıktısı görünüm olarak saklanabilir. Görünüm küçük bir tablo gibi davranıyor ama fiziksel olarak herhangi bir yer almıyor. Görünüm, özellikle kullanıcıların doğrudan tabloya erişmesini sağlamak için iyi bir yoldur. Oracle'da bir görünüm saklanan bir sql betiğinden başka bir şey değildir. Görünümlerin kendisi veri içermiyor.

1

Bir görünüm, bir ad verilmiş ve veritabanına kaydedilmiş herhangi bir SELECT sorgusudur. Bu nedenle, bir görünüm bazen adlandırılmış bir sorgu veya saklı bir sorgu olarak adlandırılır.

 CREATE OR REPLACE VIEW <view_name> AS 
    SELECT <any valid select query>; 
2
kısa adı bir sorgu için hiçbir ek alan burada

kullanılır ----->

düzenli görünüm Materialized görünümü ----> benzer: bir görünüm oluşturmak için, SQL sözdizimini kullanın