oracle database application development
Questo tutorial spiega lo sviluppo di applicazioni Oracle Database, Oracle SQL, PL / SQL e Oracle APEX insieme alle loro caratteristiche, vantaggi e programmi di esempio:
Nel precedente tutorial di Guida al data warehouse , di Serie ORACLE completa , abbiamo imparato a conoscere Oracle Data Warehouse con vantaggi, architettura, rischi e confronto con il sistema OLTP.
Mentre ci stiamo muovendo verso la digitalizzazione, le industrie sono ora concentrate sulla creazione di applicazioni web per supportare la commercializzazione. Queste applicazioni sono per lo più basate su database che forniscono informazioni in tempo reale agli utenti in modo dinamico.
Per gestire questi dati vitali, Oracle ha messo a punto alcune tecniche di sviluppo di database che possono rendere lo sviluppo web facile e sicuro.
Cosa imparerai:
Sviluppo di applicazioni per database Oracle
In questo articolo, comprenderemo le funzionalità offerte da Oracle Database che facilitano lo sviluppo di applicazioni.
Oracle SQL
SQL sta per Structured Query Language . Questo è un linguaggio basato su set supportato dalla maggior parte dei database relazionali come Oracle, MS SQL Server, MySQL, ecc. Questo linguaggio è progettato appositamente per eseguire la gestione dei dati all'interno di un database. Utilizzando questo linguaggio, gli utenti possono eseguire diverse operazioni sui dati come il recupero dei dati, l'eliminazione dei dati, la manipolazione dei dati, ecc.
Per eseguire determinate attività, funge da interfaccia per il database e le istruzioni diventano le istruzioni inviate al DB. Queste istruzioni forniscono agli utenti la capacità di controllare i dati all'interno di un database.
Gli utenti possono accedere ai database anche indirettamente utilizzando diversi strumenti forniti da Oracle o tramite applicazioni di programma, a condizione che siano presenti le autorizzazioni di accesso. Ma queste applicazioni o strumenti devono utilizzare istruzioni SQL solo nel back-end mentre inseriscono le richieste degli utenti nel database.
Operazioni SQL
Con l'aiuto di questa lingua, l'utente può eseguire una serie di operazioni come elencato di seguito:
# 1) Operazione di query sui dati
- Usando il SELEZIONARE , l'utente può interrogare qualsiasi tabella all'interno di un database per recuperare i dati.
# 2) Operazione di ordinamento dei dati
- ORDINATO DA aiuta gli utenti a ordinare i risultati della query in ordine crescente o decrescente.
# 3) Operazioni di manipolazione dei dati
- INSERIRE L'istruzione consente agli utenti di inserire nuovi dati in una tabella di database.
- AGGIORNARE L'istruzione consente agli utenti di aggiornare i dati esistenti all'interno di una tabella di database.
- ELIMINA istruzione aiuta l'utente a cancellare le righe da una tabella.
# 4) Operazioni di definizione dei dati
- CREA TABELLA L'istruzione consente agli utenti di creare nuove tabelle all'interno di un database.
- ALTER TABLE L'istruzione consente all'utente di modificare la struttura di una tabella esistente.
- TABELLA DI CADUTA L'istruzione consente agli utenti di eliminare le tabelle dal database.
# 5) Controllo dell'accesso al database e agli oggetti del database
- CONCEDERE L'istruzione aiuta gli amministratori a concedere i privilegi sugli oggetti DB agli utenti finali.
- REVOCARE Il comando aiuta a rimuovere l'accesso sopra concesso sugli oggetti DB.
Poiché SQL è in grado di gestire i dati, l'apprendimento di questo linguaggio non è solo necessario per gli sviluppatori di database, ma supporta anche altri profili professionali come amministratori di database, analisti della qualità, architetti e abbonati.
Per supportare gli utenti SQL, Oracle ha sviluppato diversi strumenti che possono facilitare lo sviluppo SQL come SQL * Plus, SQL Developer Oracle JDeveloper, Oracle HTML DB, ecc.
Sono disponibili varie estensioni al linguaggio SQL come Java, PL / SQL, ecc. Che hanno aggiunto a SQL i concetti di programmabilità procedurale e orientata agli oggetti.
Negli ultimi quattro decenni, ci sono stati molti progressi nel campo dell'elaborazione dei dati e molte nuove tecniche sono state introdotte nel mercato. SQL è ancora riuscito a sopravvivere durante questo periodo e alla fine si è evoluto come tecnologia migliorata.
Ora, perché SQL è così convincente? Perché è ancora preferibile e una delle tecnologie di elaborazione dati di successo?
Il successo duraturo di SQL è il risultato dei fattori elencati di seguito:
# 1) Struttura robusta
I dati vengono raccolti per scopi di analisi e questa analisi può essere inquadrata attorno a un set di dati o più righe di dati anziché una singola riga di dati. Alcune regole, note come Algebra relazionale , sono stati definiti per governare la costruzione e l'esecuzione della query.
È composto da 4 operatori:
- Proiezione: I dati all'interno di un database relazionale vengono archiviati nella tabella sotto forma di righe e colonne. Le proiezioni sono i primi elementi identificati durante l'esecuzione della query. Sono le colonne selezionate all'interno di una tabella per cui è stata progettata una query. Le proiezioni sono menzionate nella prima parte della query SQL, ovvero l'istruzione SELECT.
- Filtro: Dopo aver identificato le proiezioni all'interno del framework della query, il passaggio successivo consiste nell'identificare le righe rilevanti per la query . I filtri sono menzionati all'interno della clausola WHERE della query e identificheranno le righe da includere nei risultati.
- Aderire: La maggior parte delle operazioni richiede che vengano interrogati più set di dati e quindi i join diventano una necessità. I join possono essere eseguiti su due o più set di dati combinando i campi obbligatori in una query basata su relazioni logiche. Sono disponibili vari tipi di join come INNER JOIN, OUTER JOIN, SELF JOIN e CARTESIAN PRODUCT.
- Aggregato: L'aggregazione dei dati è una delle attività più frequenti eseguite durante l'analisi dei dati poiché i dati riepilogati sono sempre necessari per prendere una decisione aziendale. Quindi, l'aggregazione dei dati può essere eseguita utilizzando varie funzioni come SUM, COUNT, AVG, MIN, ecc.
# 2) Ottimizzazione trasparente
Il database Oracle dispone di un ricco set di tecniche per l'ottimizzazione SQL. SQL Query Optimizer determina il metodo più efficace ed efficiente per l'esecuzione dell'istruzione generando il miglior piano di esecuzione.
# 3) In tutta Evolution
SQL è rimasto rilevante nel mercato nel corso dei decenni a causa della continua evoluzione in varie aree. È stato completamente migliorato con le funzionalità menzionate di seguito.
come creare un nuovo progetto in eclipse
- Migliorato con nuove tecniche di elaborazione dei dati.
- Migliorato con nuovi calcoli matematici.
- Incorporata la capacità di mappare il codice con i tipi di dati imminenti.
- Migliorato per supportare origini dati come documenti XML e JSON, tabelle Hive, file HDFS, stile immagine (BLOB e CLOB) e oggetti spaziali, ecc.
# 4) Linguaggio basato su standard
Nel 1986, il linguaggio SQL è diventato lo standard di ANSI e da allora in poi è riuscito ad evolversi ed emergere con molte nuove versioni in tutti questi anni. La standardizzazione ha aiutato SQL a
- Mantenimento della portabilità dell'applicazione su vari database senza importanti modifiche al codice.
- Garantire la compatibilità e la continuità del codice con le versioni precedenti. Il codice SQL che è stato scritto anni fa riesce ancora ad essere eseguito anche oggi senza molte modifiche al codice.
Oracle PL / SQL
Come abbiamo letto in precedenza, SQL è uno dei linguaggi set-oriented sviluppati per accedere ai dati archiviati in un database relazionale. Qualsiasi applicazione costruita sulla parte superiore di Oracle Database richiederebbe solo istruzioni SQL, da eseguire per accedere al contenuto del database.
Ma essendo un linguaggio non procedurale, SQL non è sufficiente per implementare una logica aziendale end-to-end per qualsiasi applicazione e quindi viene introdotto PL / SQL.
Lettura consigliata = >> Tutorial PL SQL
In PL / SQL, PL sta per Linguaggio procedurale mentre SQL sta per Structured Query Language . PL / SQL è un'estensione del linguaggio SQL che supporta funzionalità come il processo decisionale, diverse iterazioni e altre funzionalità procedurali in cui SQL manca.
Combina il linguaggio SQL con comandi procedurali non nativi come (IF Conditional Statements, Assignments, Loops, ecc.) E, quindi, migliora le capacità di SQL.
L'utilizzo del linguaggio PL / SQL per lo sviluppo di applicazioni è vantaggioso nei seguenti modi:
- Migliore integrazione con SQL: PL / SQL è ben integrato con SQL e supporta SQL dinamico e statico.
- Prestazioni migliorate: A differenza di SQL, in cui le istruzioni vengono eseguite una per una, PL / SQL invia il blocco completo di istruzioni contemporaneamente per l'esecuzione che riduce il traffico di rete e quindi migliora le prestazioni.
- Risparmia tempo di sviluppo: Grazie alla disponibilità di utili funzionalità PL / SQL come la gestione eccezionale, l'occultamento dei dati, i tipi di dati orientati agli oggetti e l'incapsulamento, gli sviluppatori possono risparmiare molto tempo necessario per la progettazione e il debug del codice. Inoltre, offre accesso a pacchetti definiti dal sistema che possono essere utilizzati dagli sviluppatori di applicazioni.
- Portabilità: Le applicazioni progettate utilizzando il linguaggio PL / SQL sono completamente portabili su qualsiasi sistema operativo.
- Sicurezza: PL / SQL fornisce un alto livello di sicurezza alle sue applicazioni .
Unità di programma PL / SQL di base
PL / SQL è un'unità di più istruzioni SQL messe insieme in un blocco ed eseguite come una sola. Queste unità di programma possono essere compilate da Oracle Database Server e vengono salvate all'interno del database.
Un programma PL / SQL è stato classificato in 3 sezioni:
- Dichiarazione: Questa sezione contiene le istruzioni dichiarative che dichiarano elementi di codice come variabili, costanti, ecc. Che possono essere utilizzate all'interno del blocco di codice. Questa sezione è facoltativa.
- Eseguibile: Contiene le istruzioni del codice che verranno eseguite, ogni volta che il programma viene eseguito. Questa sezione è obbligatoria per un programma PL / SQL.
- Maneggevolezza eccezionale: Questa sezione contiene gli scenari eccezionali sollevati durante l'esecuzione del programma utilizzando le istruzioni 'catch' o 'trap'. Questa sezione è facoltativa.
Considerando le sezioni precedenti, un programma PL / SQL è identificato da quattro parole chiave DICHIARARE, INIZIARE, ECCEZIONE & FINE .
Sintassi di base del blocco PL / SQL:
DECLARE BEGIN EXCEPTION END;
Vediamo vari esempi per ottenere un'immagine più chiara.
# 1) ESEGUIBILE SOLO
Il programma seguente ha solo una sezione eseguibile e la procedura DBMS_OUTPUT.PUT_LINE viene chiamata per visualizzare il testo sullo schermo di output.
BEGIN DBMS_OUTPUT.put_line ('Hello!'); END;
# 2) DICHIARARE ED ESEGUIBILE
Qui, il programma ha una sezione di dichiarazione in cui viene dichiarata una variabile di tipo VARCHAR2 (50) per contenere la stringa 'Hello!'.
DECLARE text VARCHAR2 (50):= 'Hello!'; BEGIN DBMS_OUTPUT.put_line (text); END;
# 3) DICHIARAZIONE, ESECUZIONE E GESTIONE ECCEZIONALE
Questo programma ha tutte le sezioni cioè DICHIARARE, ESEGUIBILE e GESTIONE ECCEZIONI.
DECLARE text VARCHAR2 (50):= 'Hello'; BEGIN DBMS_OUTPUT.put_line (text); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line (SQLERRM); END;
È così che i programmi PL / SQL possono essere costruiti con diverse sezioni.
Una volta costruiti, questi programmi dovrebbero essere memorizzati nel database in modo che possano essere richiamati ogni volta che è necessario. Ma il modo in cui i blocchi di codice sopra sono scritti senza alcun nome di riferimento non è organizzato, quindi possiamo chiamarli blocchi di codice anonimi.
L'utilizzo di blocchi anonimi non soddisfa lo scopo di creare applicazioni grandi e complesse in quanto comporterebbe una notevole complessità e manutenibilità del codice.
Ecco il concetto di blocchi con nome, noto anche come sottoprogrammi. I sottoprogrammi possono avere nomi di riferimento univoci con i quali possono essere memorizzati in un database. È possibile effettuare una chiamata a questi programmi utilizzando i loro nomi di riferimento.
La struttura di un blocco con nome sarebbe la stessa di quella di un blocco anonimo tranne per il fatto che non inizierà con la parola chiave “DECLARE”, piuttosto con la parola chiave “CREATE”. La parola chiave 'CREATE' indica al compilatore di creare e salvare il blocco di codice come oggetto di database che può essere richiamato in seguito.
I blocchi denominati possono essere di 2 tipi:
- Funzioni.
- Procedura di archiviazione.
PER funzione è definito come un blocco denominato, noto anche come sottoprogramma o subroutine. Lo scopo dell'utilizzo delle funzioni è eseguire il calcolo e restituirà sempre un valore.
Possiamo creare una funzione come di seguito:
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;
Procedura di archiviazione sono anche denominati blocchi scritti per eseguire un'attività. Sono diverse dalle funzioni per il modo in cui le stored procedure non possono essere utilizzate o chiamate con istruzioni SQL mentre le funzioni possono essere utilizzate. Inoltre, le procedure possono restituire più di un valore mentre le funzioni sono associate per restituire un singolo valore.
Possiamo creare stored procedure come di seguito:
CREATE [OR REPLACE] PROCEDURE procedure_name [(parameter [,parameter]) ] IS --declaration statements BEGIN --executable statements EXCEPTION --exception handling statements END;
Oracle Application Express (APEX)
APEX è una piattaforma di sviluppo di applicazioni progettata da Oracle che consente alle industrie di tutto il mondo di affrontare i propri problemi di business. È uno strumento che consente alle organizzazioni di mostrare i propri dati su una piattaforma estensibile attraverso le proprie applicazioni web.
È possibile creare una varietà di app utilizzando APEX direttamente da una semplice app di 'accesso a un foglio di calcolo' alle app critiche con la disponibilità di 24 * 7. Attraverso questa piattaforma, Oracle si è concentrata sull'accogliere gli sviluppatori con una varietà di opzioni di sviluppo e lasciare agli utenti un'esperienza eccezionale.
Lo strumento Oracle APEX è arricchito con molte caratteristiche e funzionalità e ha avuto successo su più sfaccettature come l'interfaccia utente, i dati, la sicurezza, il monitoraggio, ecc. Fornisce flessibilità agli utenti non essendo uno strumento complesso. Per lavorare su Oracle APEX, lo sviluppatore non ha bisogno di essere un esperto tecnico poiché APEX viene fornito con molto aiuto e guide.
Le caratteristiche sono menzionate di seguito:
# 1) Interfaccia user-friendly
Oracle APEX è uno strumento non complicato e facile da usare con un'interfaccia user-friendly nota come Tema universale . Questo tema consente agli sviluppatori di creare applicazioni Web auto-reattive e interattive poiché è molto ricco e di supporto in termini di guida dell'utente attraverso il processo di sviluppo delle applicazioni. Uno sviluppatore non deve essere un esperto in alcun linguaggio di codifica come CSS, HTML o Javascript.
# 2) Basato sui dati
Questo strumento è molto potente e supporta una varietà di processi di creazione di applicazioni che possono essere utilizzati dalle industrie per presentare i propri dati nel modo richiesto. È uno strumento basato sui dati che mantiene la capacità di elaborare e manipolare i dati in modo efficiente. Consente a ogni utente di personalizzare i propri rapporti in modi unici utilizzando il componente Rapporto interattivo.
# 3) Sicurezza
La sicurezza è uno dei requisiti cruciali di ogni settore al giorno d'oggi. Oracle ha progettato APEX in grado di fornire applicazioni altamente protette seguendo rigorosamente gli standard di sicurezza.
# 4) Portabilità
Oracle APEX è uno strumento portatile e l'utente può utilizzare questa funzione secondo le proprie esigenze aziendali. Possono distribuire lo strumento ovunque e ovunque in questo mondo, anche sul cloud, a condizione che sia distribuito un database Oracle.
# 5) Monitoraggio
Oracle APEX è dotato di funzionalità di monitoraggio e registrazione per identificare eventuali problemi di prestazioni, problemi delle applicazioni o tentativi di hacking.
# 6) Globalizzazione
Oracle APEX è stato progettato in modo tale da poter supportare vari linguaggi e ambienti correlati e quindi può essere utilizzato dagli sviluppatori in diverse parti del mondo per sviluppare le proprie applicazioni.
Architettura APEX
Oracle APEX ha un'architettura potente che consiste principalmente di 3 livelli.
- Programma di navigazione in rete.
- Livello medio: ORDS (Oracle Rest Data Services).
- Livello database: Database Oracle (APEX).
[Immagine fonte ]
differenza tra test funzionali e non funzionali
Esaminiamo il flusso di richieste per capire come funziona.
Qui, una richiesta web verrà generata a livello di browser e quindi passata a Oracle Rest Data Services cioè ORDS. Inoltre, ORDS passa tale richiesta a Oracle APEX all'interno del database. Ora, APEX elaborerà la richiesta e restituirà la risposta a ORDS, che la ritrasferirà al browser. Questo è il modo in cui la richiesta scorre all'interno dell'architettura APEX.
Oracle APEX ha offerto un'ampia gamma di soluzioni che hanno aiutato gli sviluppatori a risolvere i loro problemi di business in tempo reale. Consente inoltre agli sviluppatori di utilizzare librerie di terze parti che sono un'estensione delle applicazioni APEX. Queste estensioni saranno i miglioramenti alle applicazioni rendendole più privilegiate e potenti.
Oltre a numerosi vantaggi, questo strumento ha anche poche limitazioni. Questi sono elencati di seguito:
- Oracle APEX può essere installato utilizzando solo strumenti di proprietà di Oracle e può essere distribuito insieme al database Oracle.
- Non molti host web consentono l'hosting di Oracle APEX, quindi APEX ha scelte di hosting limitate.
- Il controllo della versione non è presente ed è possibile accedere a diversi componenti dell'applicazione e modificarli solo tramite l'interfaccia web.
Conclusione
In questo articolo, diverse opzioni di sviluppo offerte da Oracle come SQL, PL / SQL e Oracle APEX è stato introdotto in modo più semplice insieme alle loro caratteristiche, vantaggi e limitazioni. Spero che ti abbia dato chiarezza sull'uso degli strumenti e dei linguaggi di sviluppo del database.
Tutorial PREV | PROSSIMO Tutorial
Lettura consigliata
- Come testare il database Oracle
- Tutorial su Oracle Database - Che cos'è Oracle Database?
- Domande principali per l'intervista su Oracle: Oracle Basic, SQL, PL / SQL Questions
- Pacchetto PL SQL: Tutorial pacchetto Oracle PL / SQL con esempi
- Principali domande di colloquio su Oracle Forms and Reports
- Oracle Data Warehouse: architettura del data warehouse e altro
- Oracle Real Application Testing - Soluzione per testare Oracle DB prima di passare alla produzione
- Metodi sistematici per testare il database Oracle per memoria, spazio e elaborazione della CPU