Tutti i programmatori devono avere le basi di SQL perché SQL svolge un ruolo fondamentale nei progetti IT. Come il cuore è il centro del corpo umano, allo stesso modo il database è il cuore del progetto e SQL è l'unico modo per comunicare con esso. Usando questo, puoi eseguire tutte le attività come l'aggiunta di dati, il recupero dei dati archiviati, la modifica dei dati esistenti e la rimozione dei dati obsoleti e così via. In questo articolo, discuterò più in dettaglio cos'è Oracle SQL e PL/SQL.
Questo tutorial di Oracle è appositamente progettato per principianti e professionisti. Ti assicuro che padroneggerai il linguaggio di programmazione Oracle SQL e PL/SQL con questo tutorial perché abbiamo progettato con cura i prossimi argomenti della serie di tutorial PL/SQL sono per te.
In questo tutorial imparerai completamente Oracle SQL e PL/SQL da un concetto molto semplice a tutti gli argomenti avanzati del database Oracle in modo efficace e semplice con più domande pratiche e scenari di vita reale. Alla fine, otterrai una migliore comprensione dei concetti del database Oracle e avrai una conoscenza completa della programmazione in Oracle PL/SQL. Inoltre, se stai cercando il ruolo di lavoro di un'azienda come sviluppatore Oracle SQL o sviluppatore Oracle PL/SQL o ingegnere di dati o amministratore di database (DBA), questo tutorial di Oracle è progettato principalmente per te. Non è solo per questi ruoli, ma avrai anche un'idea completa del sistema di gestione del database relazionale Oracle.
Cos'è il database?
Un sistema di gestione di database (DBMS) è una raccolta di programmi scritti per gestire un database. Cioè, funge da interfaccia tra utente e database.
Un database è una raccolta organizzata di informazioni strutturate o dati archiviati elettronicamente in un sistema informatico.
I database sono spesso sviluppati utilizzando tecniche di progettazione e modellazione formali.
All'inizio, il file CSV è stato utilizzato per gestire le informazioni o memorizzare i dati in colonne note come campi e righe note come record. Quando il numero di righe nel file è stato aumentato a molte più (> milioni) righe, è ovvio che è così difficile da gestire da parte dell'uomo. Da qui è stato inventato il modello relazionale per la gestione dei database (RDBMS). In Database, i campi ei record sono definiti rispettivamente come colonne e righe.
Oracle è un sistema di gestione di database relazionali (RDBMS). È ampiamente utilizzato nelle applicazioni aziendali e quasi la metà del mercato mondiale RDBMS è di proprietà di Oracle. È il primo database progettato per il grid computing aziendale. Gestisce le informazioni e le applicazioni nel modo più flessibile ed economico.
Oracle Database contiene due strutture.
- Struttura logica:
Le strutture logiche sono tablespace, oggetti Schema, estensioni e segmenti.
- Struttura fisica:
Le strutture fisiche sono file di dati, file di registro di ripristino, file di controllo.
In Database, abbiamo un oggetto chiamato tabella che è la combinazione di colonne e righe. Questo memorizza i dati nel database. Se le informazioni relative ai dipendenti sono archiviate in colonne e righe come ID dipendente, Nome, Cognome, Città, Paese, la tabella viene chiamata tabella dipendente. La tabella può essere definita anche entità.
ID dipendente | Nome | Cognome | Città | Paese |
102 | Giosuè | Verde | New York | Stati Uniti |
I valori verticali (ID dipendente, nome, ...) sono indicati come colonne/campi e i valori orizzontali (102, Joshua, ...) sono indicati come righe/record.
Con il confronto, il modello relazionale è molto migliore del modello di file flat perché rimuove i dati duplicati.
Di seguito sono riportati gli altri noti database RDBMS disponibili sul mercato oltre a Oracle Database.
Banca dati | Azienda |
MySQL | Oracle Corporation |
DB2 | IBM |
SQL Server | Microsoft |
PostgreSQL | Gruppo di sviluppo globale PostgreSQL |
Cos'è SQL?
SQL sta per Structured Query Language ed è pronunciato come SQL o talvolta come See-Quell.
È un linguaggio standard per l'accesso, la manipolazione e la manutenzione dei database. Possiamo utilizzare SQL per eseguire tutte le attività seguenti nel database.
- Esegui query SQL come DDL, DML, TCL
- Recupera i dati utilizzando l'istruzione o il comando SELECT
- Aggiunta di voci utilizzando l'istruzione INSERT
- Modifica voci utilizzando l'istruzione UPDATE
- Rimuovi le voci utilizzando l'istruzione DELETE
- Attiva il comando SQL per assegnare i privilegi all'utente e agli oggetti Database
- Crea nuovi database
- Crea nuovi oggetti database come tabelle, procedure, viste
SQL è uno dei linguaggi efficaci per comunicare tra l'utente e il database. SQL accetta la richiesta dell'utente, interagisce con il database e restituisce l'output. Potrebbe trattarsi di qualsiasi cosa per recuperare o manipolare i dati.
Il diagramma seguente è l'architettura di SQL.
Ecco alcune istruzioni SQL per una migliore comprensione.
Sintassi dell'istruzione SELECT:
SELECT * FROM <Employee_TableName>;
Sintassi dell'istruzione INSERT:
INSERT INTO <Employee_TableName> values (103,’Michel’, ‘Jackson’, ‘London’, ‘United Kingdom’);
Sintassi dell'istruzione UPDATE:
UPDATE <Employee_TableName> SET <Employee_CityColumn> = ‘New Jersey’ WHERE < Employee_CityColumn > = ‘New York’;
Sintassi dell'istruzione DELETE:
DELETE FROM <Employee_TableName> WHERE < Employee_CityColumn > = ‘New York’;
Cos'è PL/SQL?
PL/SQL sta per Estensione del linguaggio procedurale al linguaggio di query strutturato utilizzato in Oracle ed è anche chiamato linguaggio strutturato a blocchi, che consente al programmatore di combinare la potenza di SQL con le istruzioni procedurali.
Potresti avere una domanda sul motivo per cui è necessario utilizzare Oracle PL/SQL quando disponiamo già di un linguaggio Oracle SQL. La risposta è che, sebbene disponiamo del linguaggio SQL per accedere e manipolare i dati nel database, Oracle PL/SQL è costruito per superare i limiti del linguaggio SQL.
PL/SQL è strettamente integrato con il linguaggio SQL. È un linguaggio altamente strutturato e leggibile che copre l'area in cui manca SQL in Oracle Database. Tutte le istruzioni SQL possono essere passate all'oracle engine contemporaneamente, il che aumenta la velocità di elaborazione e diminuisce il traffico. Inoltre, di seguito è riportato l'elenco delle limitazioni di SQL.
- SQL utilizzato per eseguire solo operazioni DDL e DML e non c'è spazio per i programmatori per utilizzare tecniche di loop, iterazione e controllo condizionale
- Le istruzioni SQL vengono trasmesse al motore Oracle una alla volta, aumentando il traffico e riducendo la velocità.
- SQL non ha un meccanismo di controllo degli errori (Gestione eccezionale) durante la manipolazione dei dati.
- Prestazioni basse rispetto a PL/SQL
Il diagramma seguente è l'architettura di Oracle PL/SQL.
Le unità PL/SQL sono come procedure, funzioni, pacchetti, tipi e trigger, ecc., che vengono archiviate nel database per essere riutilizzate dalle applicazioni. Puoi scrivere codici PL/SQL senza pensare alla distinzione tra maiuscole e minuscole perché è libero di usare sia minuscolo che maiuscolo tranne all'interno della stringa e dei caratteri letterali.
Sintassi di base del blocco Oracle PL/SQL Anonymous
INIZIA
FINE;
Quanto sopra è l'esempio di un blocco anonimo di Oracle PL/SQL perché il blocco non ha alcun nome e non verrà salvato nel server di database per un uso futuro. Se mi chiedi perché un blocco così anonimo, direi che i blocchi anonimi PL/SQL vengono utilizzati principalmente dai programmatori solo a scopo di test.
Abbiamo un blocco PL/SQL che ha il proprio nome, come Funzioni o Procedure. Questo blocco PL/SQL verrà archiviato nel server di database Oracle e potrà essere riutilizzato in seguito.
SQL vs PLSQL - Differenza tra SQL e PLSQL
SQL | PL/SQL |
Lingua di query strutturata | Lingua procedurale all'estensione di SQL |
Esegui come una singola istruzione SQL | Esegui come un intero blocco PLSQL |
Utilizzato per manipolare i dati | Utilizzato per creare un'applicazione |
Impossibile contenere codice PL/SQL nelle istruzioni SQL | È un'estensione di SQL, quindi può contenere istruzioni SQL all'interno del blocco PLSQL. |
SQL è una singola query utilizzata per eseguire operazioni DML e DDL | PL/SQL è un blocco di codici che viene utilizzato per scrivere l'intero blocco di programma/procedura/funzione, ecc. |
Per concludere, SQL è un linguaggio dichiarativo utilizzato per definire quali dati sono necessari. Ma PL/SQL è un linguaggio procedurale. Specifica sia quali dati sono necessari sia come possono essere recuperati nel database.