5° Anno TEORIA 4. Introduzione al linguaggio SQL | Page 61

16 . Il linguaggio SQL Vers . 9.3 – Marzo 2024
SQL EMBEDDED
Finora abbiamo ipotizzato di utilizzare SQL in modalità stand-alone ossia abbiamo supposto che le istruzioni SQL venissero scritte attraverso una qualche interfaccia grafica e venissero eseguite dall ’ interprete SQL : La modalità embedded si riferisce all ’ uso di istruzioni SQL all ’ interno di un linguaggio di programmazione detto linguaggio di programmazione ospite . I questo caso oltre alle istruzioni SQL ed alle istruzioni proprie del linguaggio ospite , esiste un terzo tipo di istruzioni che permettono l ’ integrazione ed il controllo del flusso delle istruzioni SQL all ’ interno del linguaggio ospite .
Il principale problema della coesistenza di SQL con il linguaggio ospite è il disadattamento di impedenza o impedance mismatch : questo problema è causato dal fatto che il modello dei dati di SQL è “ set-oriented ” ossia opera su insieme di ennuple , mentre i linguaggi ospite sono “ recordoriented ” ossia operano e si riferiscono ad un solo record alla volta .
Per evitare questo problema si potrebbe pensare di usare un solo linguaggio ma ciò non è possibile : - se si utilizza solo il linguaggio ospite si perdono espressività e semplicità rendendo il codice prodotto incomprensibile ; - se si utilizza solo il linguaggio SQL ( che è diventato sempre più potente e flessibile ) non si hanno ancora a disposizione funzionalità tali da scrivere applicazioni complesse ( come un ’ interfaccia utente oppure un sottoprogramma che calcoli il fattoriale ).
Occorre quindi utilizzarli entrambi anche perché : a ) tutti gli attuali DBMS hanno l ’ SQL come DML ; b ) lo standard ANSI ha definito estensioni particolari per molti linguaggi al fine di includere l ’ SQL .
Le istruzioni SQL per interfacciamento variano a seconda che si tratti di : - linguaggio ospite procedurale ; - linguaggio ospite ad oggetti .
N . B . Una soluzione al problema del disadattamento d ’ impedenza nei linguaggi ospite procedurali consiste nell ’ uso dei cursori espliciti .
DEF : Un cursore è un indicatore di posizione che viene utilizzato per muoversi all ’ interno di una tabella risultato di una query . Esso può essere visto come un puntatore ad una particolare riga di una tabella , riga che prende il nome di riga corrente .
N . B . Una soluzione al problema del disadattamento d ’ impedenza nei linguaggi ospite ad oggetti consiste nell ’ uso di classi di oggetti appositamente definite per l ’ interfacciamento con l ’ SQL che utilizzano dei cursori impliciti .
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 61