oracle database application development
Bu Öğretici, Özellikleri, Faydaları ve Örnek Programlarının yanı sıra Oracle Veritabanı Uygulama Geliştirme, Oracle SQL, PL / SQL ve Oracle APEX'i Açıklar:
Önceki öğreticide Veri Ambarı Rehberi , nın-nin ORACLE Serisini tamamlayın , Oracle veri ambarı hakkında avantajlar, mimari, riskler ve OLTP sistemi ile karşılaştırma hakkında bilgi edindik.
Dijitalleşmeye doğru ilerlerken, endüstriler artık ticarileştirmeyi desteklemek için web uygulamaları oluşturmaya odaklanıyor. Bu uygulamalar çoğunlukla veritabanına dayalıdır ve kullanıcılara dinamik bir şekilde gerçek zamanlı bilgi sağlar.
Oracle, bu hayati verileri işlemek için web geliştirmeyi kolay ve güvenli hale getirebilecek belirli veritabanı geliştirme teknikleri geliştirdi.
Ne öğreneceksin:
Oracle Veritabanı Uygulama Geliştirme
Bu yazıda, Oracle Database'in sunduğu, uygulama geliştirmeyi kolaylaştıran özellikleri anlayacağız.
Oracle SQL
SQL, Yapılandırılmış sorgu dili . Bu, Oracle, MS SQL Server, MySQL, vb. Gibi çoğu ilişkisel veritabanı tarafından desteklenen küme tabanlı bir dildir. Bu dil, bir veritabanı içinde veri yönetimini gerçekleştirmek için amaca yönelik olarak tasarlanmıştır. Kullanıcılar bu dili kullanarak veri alma, veri silme, veri işleme vb. Gibi farklı veri işlemlerini gerçekleştirebilirler.
Belirli görevleri gerçekleştirmek için, veritabanına bir arabirim görevi görür ve ifadeler, DB'ye gönderilen talimatlar olur. Bu ifadeler, kullanıcılara bir veritabanı içindeki verileri kontrol etme yeteneği sağlar.
Kullanıcılar, Oracle tarafından sağlanan farklı araçları kullanarak veya erişim izinleri olması koşuluyla program uygulamaları aracılığıyla veritabanlarına dolaylı olarak da erişebilirler. Ancak bu uygulamalar veya araçlar, kullanıcı isteklerini veritabanına koyarken yalnızca arka uçta SQL ifadelerini kullanmalıdır.
SQL İşlemleri
Bu dilin yardımıyla, kullanıcı aşağıda listelendiği gibi çeşitli işlemleri gerçekleştirebilir:
# 1) Veri Sorgulama İşlemi
- Kullanmak SEÇ ifadesi, kullanıcı veri almak için bir veritabanı içindeki herhangi bir tabloyu sorgulayabilir.
# 2) Veri Sıralama İşlemi
- TARAFINDAN SİPARİŞ ifadesi, kullanıcıların sorgu sonuçlarını artan veya azalan düzende sıralamasına yardımcı olur.
# 3) Veri Manipülasyon İşlemleri
- INSERT ifadesi, kullanıcıların herhangi bir yeni veriyi bir veritabanı tablosuna eklemesine izin verir.
- GÜNCELLEME ifadesi, kullanıcıların bir veritabanı tablosundaki mevcut verileri güncellemelerine olanak tanır.
- SİL ifadesi, kullanıcının bir tablodan satırları silmesine yardımcı olur.
# 4) Veri Tanımlama İşlemleri
- TABLO OLUŞTUR ifadesi, kullanıcıların bir veritabanı içinde yeni tablolar oluşturmasına izin verir.
- TABLOYU DEĞİŞTİR deyimi, kullanıcının mevcut bir tablonun yapısını değiştirmesine izin verir.
- DAMLA TABLOSU deyimi, kullanıcıların tabloları veritabanından kendilerinin silmesine izin verir.
# 5) Veritabanı ve Veritabanı Nesnelerine Erişim Kontrolü
- HİBE ifadesi, yöneticilerin son kullanıcılara DB nesneleri üzerindeki ayrıcalıkları vermesine yardımcı olur.
- İPTAL ET komutu, DB nesnelerine yukarıda verilen erişimi kaldırmaya yardımcı olur.
SQL verileri yönetebildiğinden, bu dili öğrenmek yalnızca veritabanı geliştiricileri için gerekli değildir, aynı zamanda veritabanı yöneticileri, kalite analistleri, mimarlar ve aboneler gibi diğer iş profillerini de destekler.
Oracle, SQL kullanıcılarını desteklemek için SQL * Plus, SQL Developer Oracle JDeveloper, Oracle HTML DB vb. Gibi SQL gelişimini kolaylaştırabilecek çeşitli araçlar geliştirdi.
Yordamsal ve nesneye yönelik programlanabilirlik kavramlarını SQL'e ekleyen Java, PL / SQL vb. Gibi çeşitli SQL dil uzantıları vardır.
Son kırk yılda, veri işleme alanında çok fazla ilerleme olmuş ve piyasaya birçok yeni teknik getirilmiştir. SQL bu dönemde hala hayatta kalmayı başardı ve sonunda gelişmiş teknoloji olarak gelişti.
Şimdi, SQL neden bu kadar ilgi çekici? Neden hala en çok tercih edilen ve başarılı veri işleme teknolojilerinden biri?
SQL'in kalıcı başarısı, aşağıda sıralanan faktörlerin sonucudur:
# 1) Sağlam Çerçeve
Veriler, analiz amacıyla toplanmaktadır ve bu analiz, tek bir veri satırı yerine bir veri kümesi veya birden çok veri satırı etrafında çerçevelenebilir. Olarak bilinen belirli kurallar İlişkisel Cebir , sorgu oluşturma ve yürütmeyi yönetmek için tanımlanmıştır.
4 operatörden oluşur:
- Projeksiyon: İlişkisel bir veritabanı içindeki veriler, satırlar ve sütunlar biçiminde tabloda depolanır. Tahminler, sorgu yürütme sırasında tanımlanan ilk öğelerdir. Kendisi için bir sorgu tasarlanmış olan bir tablo içindeki seçilmiş sütunlardır. Projeksiyonlardan SQL sorgusunun ilk bölümünde, yani SELECT deyiminde bahsedilir.
- Filtrele: Sorgu çerçevesi içindeki projeksiyonları belirledikten sonra, bir sonraki adım sorgu ile ilgili satırları tanımlamak olacaktır. . Filtreler, sorgunun WHERE yan tümcesinde belirtilir ve sonuçlara dahil edilecek satırları tanımlar.
- Katılmak: İşlemlerin çoğu birden fazla veri kümesinin sorgulanmasını gerektirir ve bu nedenle birleştirmeler bir zorunluluk haline gelir. Birleştirme işlemleri, mantıksal ilişkilere dayalı olarak bir sorgudaki gerekli alanlar birleştirilerek iki veya daha fazla veri kümesi üzerinde gerçekleştirilebilir. INNER JOIN, OUTER JOIN, SELF JOIN ve CARTESIAN PRODUCT gibi çeşitli birleştirme türleri mevcuttur.
- Toplama: Veri Toplama, bir iş kararı vermek için özetlenmiş veriler her zaman gerekli olduğundan, veri analizi sırasında en sık gerçekleştirilen faaliyetlerden biridir. Bu nedenle, veri toplama, SUM, COUNT, AVG, MIN, vb. Gibi çeşitli işlevler kullanılarak gerçekleştirilebilir.
# 2) Şeffaf Optimizasyon
Oracle veritabanı, SQL optimizasyonu için zengin bir teknikler setine sahiptir. SQL Query Optimizer, en iyi yürütme planını oluşturarak ifade yürütme için en etkili ve verimli yöntemi belirler.
# 3) Evrim Boyunca
SQL, çeşitli alanlardaki sürekli gelişmeye bağlı olarak on yıllar boyunca pazarda geçerliliğini korudu. Aşağıda belirtilen özelliklerle baştan sona geliştirildi.
test kullanıcıları için sql sorgu görüşme soruları
- Yeni veri işleme teknikleriyle geliştirildi.
- Yeni matematiksel hesaplamalarla geliştirildi.
- Kodu yaklaşan veri türleriyle eşleştirme yeteneği eklendi.
- XML ve JSON belgeleri, Kovan tabloları, HDFS dosyaları, görüntü stili (BLOB ve CLOB) ve uzamsal nesneler gibi veri kaynaklarını desteklemek için geliştirilmiştir.
# 4) Standartlara Dayalı Dil
1986'da SQL dili ANSI'nin standardı haline geldi ve o andan itibaren tüm bu yıllar boyunca birçok yeni sürümle gelişmeyi ve ortaya çıkmayı başardı. Standardizasyon, SQL'e
- Büyük kod değişiklikleri olmadan çeşitli veritabanları arasında uygulama taşınabilirliğini sürdürme.
- Geriye dönük kod uyumluluğunun ve sürekliliğinin sağlanması. Yıllar önce yazılan SQL kodu, çok fazla kod değişikliği yapmadan bugün de çalışmayı başarıyor.
Oracle PL / SQL
Daha önce okuduğumuz gibi, SQL, ilişkisel bir veritabanında depolanan verilere erişmek için geliştirilen set yönelimli dillerden biridir. Oracle Veritabanının üzerine inşa edilen herhangi bir uygulama, veritabanı içeriğine erişmek için yalnızca SQL ifadelerinin yürütülmesini gerektirir.
Ancak prosedürel olmayan bir dil olan SQL, herhangi bir uygulama için uçtan uca bir iş mantığı uygulamak için yeterli değildir ve bu nedenle PL / SQL tanıtılmıştır.
Önerilen Okuma = >> PL SQL Öğreticileri
PL / SQL'de PL, Usul Dili SQL ise Yapılandırılmış sorgu dili . PL / SQL, karar verme, farklı yinelemeler ve SQL'de eksik olan diğer prosedür özellikleri gibi işlevleri destekleyen bir SQL dil uzantısıdır.
SQL dilini (IF Koşullu İfadeler, Atamalar, Döngüler, vb.) Gibi yerel olmayan prosedür komutlarıyla birleştirir ve dolayısıyla SQL'in yeteneklerini geliştirir.
Uygulama geliştirme için PL / SQL dilini kullanmak aşağıdaki şekillerde faydalıdır:
- SQL ile daha iyi entegrasyon: PL / SQL, SQL ile iyi entegre edilmiştir ve hem Dinamik hem de Statik SQL'i destekler.
- Arttırılmış performans: İfadelerin birer birer yürütüldüğü SQL'den farklı olarak, PL / SQL, ağ trafiğini azaltan ve dolayısıyla performansı artıran yürütme için tam ifade bloğunu bir kerede gönderir.
- Geliştirme Süresi Kazandırır: Olağanüstü işleme, veri gizleme, nesne yönelimli veri türleri ve kapsülleme gibi kullanışlı PL / SQL özelliklerinin mevcudiyeti sayesinde, geliştiriciler kodu tasarlamak ve hata ayıklamak için ihtiyaç duydukları zamandan çok tasarruf edebilirler. Ayrıca, uygulama geliştiricileri tarafından kullanılabilen sistem tanımlı paketlere erişim sunar.
- Taşınabilirlik: PL / SQL dili kullanılarak tasarlanan uygulamalar, herhangi bir işletim sisteminde tamamen taşınabilirdir.
- Güvenlik: PL / SQL, uygulamalarına yüksek düzeyde güvenlik sağlar .
Temel PL / SQL Program Birimleri
PL / SQL, bir blok içinde bir araya getirilen ve tek olarak yürütülen birden fazla SQL ifadesinin bir birimidir. Bu program birimleri Oracle Database Server tarafından derlenebilir ve veri tabanına kaydedilir.
Bir PL / SQL programı 3 bölüme ayrılmıştır:
- Beyanname: Bu bölüm, kod bloğu içinde kullanılabilen değişkenler, sabitler vb. Gibi kod öğelerini açıklayan bildirimsel ifadeleri tutar. Bu bölüm isteğe bağlıdır.
- Yürütülebilir: Program her çalıştırıldığında çalışacak kod deyimlerini tutar. Bu bölüm bir PL / SQL programı için zorunludur.
- Olağanüstü Kullanım: Bu bölüm, programın yürütülmesi sırasında 'catch' veya 'trap' ifadeleri kullanılarak ortaya çıkan istisnai senaryoları içerir. Bu bölüm isteğe bağlıdır.
Yukarıdaki bölümler göz önüne alındığında, bir PL / SQL programı dört anahtar kelimeyle tanımlanır BİLDİR, BAŞLA, İSTİSNA & SON .
PL / SQL bloğu temel sözdizimi:
DECLARE BEGIN EXCEPTION END;
Daha net bir resim elde etmek için çeşitli örnekler görelim.
# 1) YALNIZCA UYGULANABİLİR
Aşağıdaki programın yalnızca çalıştırılabilir bölümü vardır ve DBMS_OUTPUT.PUT_LINE prosedürü çıktı ekranında metni görüntülemek için çağrılır.
BEGIN DBMS_OUTPUT.put_line ('Hello!'); END;
# 2) BİLDİRİN VE UYGULANABİLİR
Burada program, VARCHAR2 (50) türünde bir değişkenin “Merhaba!” Dizesini tutacak şekilde bildirildiği bir bildirim bölümüne sahiptir.
DECLARE text VARCHAR2 (50):= 'Hello!'; BEGIN DBMS_OUTPUT.put_line (text); END;
# 3) BEYAN EDİN, UYGULANABİLİR VE OLAĞANÜSTÜ KULLANIM
Bu programın tüm bölümleri vardır, yani BİLDİRMEK, YÜRÜTÜLÜĞÜ ve İSTİSNA İŞLEME.
DECLARE text VARCHAR2 (50):= 'Hello'; BEGIN DBMS_OUTPUT.put_line (text); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line (SQLERRM); END;
PL / SQL programları bu şekilde farklı bölümlerle oluşturulabilir.
Oluşturulduktan sonra, bu programların gerektiğinde çağrılabilmeleri için veritabanında saklanması gerekir. Ancak yukarıdaki kod bloklarının herhangi bir referans adı olmadan yazılma şekli organize bir yöntem değildir, dolayısıyla bunlara Anonim kod blokları diyebiliriz.
Anonim blokların kullanılması, büyük ve karmaşık uygulamalar oluşturma amacını yerine getirmez çünkü bu, çok fazla kod karmaşıklığı ve sürdürülebilirlik ile sonuçlanır.
İşte Altprogramlar olarak da bilinen Adlandırılmış bloklar kavramı geliyor. Alt programlar, bir veritabanında depolanabilecekleri benzersiz referans adlarına sahip olabilir. Referans isimleri kullanılarak bu programlara çağrı yapılabilir.
Adlandırılmış bir bloğun yapısı, anonim bir bloğun yapısı ile aynı olacaktır, ancak bu, 'CREATE' anahtar sözcüğü yerine 'DECLARE' anahtar sözcüğü ile başlamaz. 'CREATE' anahtar sözcüğü, derleyiciye kod bloğunu daha sonra çağrılabilecek bir veritabanı nesnesi olarak oluşturması ve kaydetmesi talimatını verir.
Adlandırılmış bloklar 2 tipte olabilir:
- Fonksiyonlar.
- Saklanan Prosedürler.
KİME işlevi alt program veya alt rutin olarak da bilinen adlandırılmış bir blok olarak tanımlanır. İşlevleri kullanmanın amacı hesaplama yapmaktır ve her zaman bir değer döndürür.
Aşağıdaki gibi bir fonksiyon oluşturabiliriz:
CREATE (OR REPLACE) FUNCTION function_name ((parameter (,parameter)) ) RETURN return_data_type IS|AS --declaration statements BEGIN -- executable statements Return return_variable; EXCEPTION -- exception-handling statements END;
Saklanan Prosedürler ayrıca bir görevi gerçekleştirmek için yazılan bloklar olarak adlandırılır. Saklanan yordamların kullanılamaması veya işlevler kullanılabilirken SQL deyimleriyle çağrılamaması açısından işlevlerden farklıdırlar. Ayrıca, işlevler tek bir değer döndürmeye bağlıyken prosedürler birden fazla değer döndürebilir.
Depolanan Prosedürleri aşağıdaki gibi oluşturabiliriz:
CREATE (OR REPLACE) PROCEDURE procedure_name ((parameter (,parameter)) ) IS --declaration statements BEGIN --executable statements EXCEPTION --exception handling statements END;
Oracle Application Express (APEX)
APEX, Oracle tarafından tasarlanan ve dünya çapındaki endüstrilerin iş problemleriyle başa çıkmasına olanak tanıyan bir uygulama geliştirme platformudur. Kuruluşların verilerini web uygulamaları aracılığıyla genişletilebilir bir platform üzerinden sergilemelerine olanak tanıyan bir araçtır.
24 * 7 kullanılabilirliği olan basit bir 'elektronik tabloya erişim' uygulamasından kritik uygulamalara kadar APEX kullanılarak çeşitli uygulamalar oluşturulabilir. Oracle, bu platform aracılığıyla geliştiricilere çeşitli geliştirme seçenekleriyle uyum sağlamaya odaklanmış ve kullanıcılara olağanüstü bir deneyim bırakmıştır.
Oracle APEX aracı, birçok özellik ve işlevle zenginleştirilmiştir ve kullanıcı arayüzü, veri, güvenlik, izleme vb. Birçok yönden başarı kazanmıştır. Herhangi bir karmaşık araç olmayarak kullanıcılara esneklik sağlar. Oracle APEX üzerinde çalışmak için, geliştiricinin teknik bir uzman olması gerekmez, çünkü APEX birçok yardım ve kılavuzla birlikte gelir.
Özellikler aşağıda belirtilmiştir:
# 1) Kullanıcı Dostu Arayüz
Oracle APEX, şu adla bilinen kullanıcı dostu bir arayüze sahip, karmaşık olmayan ve kullanımı kolay bir araçtır Evrensel Tema . Bu tema, geliştiricilerin kendi kendine yanıt veren ve etkileşimli web uygulamaları oluşturmasına olanak tanıyor çünkü çok zengin ve kullanıcıya uygulama geliştirme sürecinde rehberlik etme açısından destekleyici. Bir geliştiricinin CSS, HTML veya Javascript gibi herhangi bir kodlama dilinde uzman olması gerekmez.
# 2) Veriye Dayalı
Bu araç çok güçlüdür ve verilerini istenen şekilde sunmak için endüstriler tarafından kullanılabilecek çeşitli uygulama oluşturma süreçlerini destekler. Verileri verimli bir şekilde işleme ve işleme yeteneğine sahip, veri odaklı bir araçtır. Etkileşimli Rapor bileşenini kullanarak her kullanıcının raporlarını benzersiz yöntemlerle özelleştirmesini sağlar.
# 3) Güvenlik
daha yeni olanlar için temel sql mülakat soruları ve cevapları
Güvenlik, bugünlerde her sektörün en önemli gereksinimlerinden biridir. Oracle, APEX'i, güvenlik standartlarını sıkı bir şekilde takip ederek yüksek düzeyde güvenli uygulamalar sağlayabilecek şekilde tasarlamıştır.
# 4) Taşınabilirlik
Oracle APEX taşınabilir bir araçtır ve kullanıcı bu özelliği iş gereksinimlerine göre kullanabilir. Dağıtılmış bir Oracle veritabanı olması koşuluyla, aracı bu dünyanın her yerinde, hatta Bulut üzerinde bile dağıtabilirler.
# 5) İzleme
Oracle APEX, performans sorunlarını, uygulama sorunlarını veya bilgisayar korsanlığı girişimlerini tanımlamak için izleme ve günlük kaydı yeteneklerine sahiptir.
# 6) Küreselleşme
Oracle APEX, çeşitli dilleri ve ilgili ortamları destekleyebilecek ve dolayısıyla dünyanın farklı yerlerindeki geliştiriciler tarafından uygulamalarını geliştirmek için kullanılabilecek şekilde tasarlanmıştır.
APEX Mimarisi
Oracle APEX, esas olarak 3 katmandan oluşan güçlü bir mimariye sahiptir.
- İnternet tarayıcısı.
- Orta Seviye: ORDS (Oracle Rest Data Services).
- Veritabanı Katmanı: Oracle Veritabanı (APEX).
(resim kaynak )
Nasıl çalıştığını anlamak için istek akışını inceleyelim.
Burada, tarayıcı düzeyinde bir web isteği oluşturulacak ve ardından Oracle Rest Data Servisleri yani ORDS. Ayrıca, ORDS bu isteği şuna iletir: Oracle APEX veritabanı içinde. Şimdi, APEX isteği işleyecek ve yanıtı, tarayıcıya geri gönderecek olan ORDS'ye geri iletecektir. APEX mimarisi içinde istek akışı budur.
Oracle APEX, geliştiricilerin gerçek zamanlı iş sorunlarını çözmelerine yardımcı olan çok çeşitli çözümler sunmuştur. Ayrıca, geliştiricilerin APEX uygulamalarının bir uzantısı olan üçüncü taraf kitaplıklarını kullanmalarına izin verir. Bu uzantılar, uygulamaları daha ayrıcalıklı ve güçlü kılan geliştirmeler olacaktır.
Çok sayıda avantajın yanı sıra, bu aracın da birkaç sınırlaması vardır. Bunlar aşağıda listelenmiştir:
- Oracle APEX, yalnızca Oracle'ın sahip olduğu araçlar kullanılarak kurulabilir ve Oracle veritabanı ile birlikte dağıtılabilir.
- Çoğu web sunucusu Oracle APEX'in barındırılmasına izin vermez, bu nedenle APEX'te sınırlı barındırma seçenekleri kalır.
- Sürüm kontrolü yoktur ve farklı uygulama bileşenlerine yalnızca web arayüzü kullanılarak erişilebilir ve düzenlenebilir.
Sonuç
Bu yazıda, Oracle tarafından sunulan farklı geliştirme seçenekleri SQL, PL / SQL ve Oracle APEX gibi özellikleri, faydaları ve sınırlamaları ile birlikte daha basit bir şekilde tanıtılmıştır. Umarım, veritabanı geliştirme araçlarının ve dillerinin kullanımı konusunda size netlik kazandırmıştır.
PREV Eğitimi | SONRAKİ Eğitici
Önerilen Kaynaklar
- Oracle Database Nasıl Test Edilir
- Oracle Veritabanı Eğitimi - Oracle Veritabanı Nedir?
- En Popüler Oracle Mülakat Soruları: Oracle Basic, SQL, PL / SQL Soruları
- PL SQL Paketi: Örneklerle Oracle PL / SQL Paketi Eğitimi
- En Popüler Oracle Formları ve Raporları Mülakat Soruları
- Oracle Data Warehouse: Veri Ambarı Mimarisi ve Daha Fazlası
- Oracle Real Application Testing - Üretime Geçmeden Önce Oracle DB'yi Test Etme Çözümü
- Oracle Veritabanını Bellek, Alan ve CPU İşleme için Test Etmenin Sistematik Yolları