5° Anno TEORIA 4. Introduzione al linguaggio SQL | Seite 62

16. Il linguaggio SQL Vers. 11.2 – Febbraio 2026
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.
N. B. Nelle nostre attività di laboratorio utilizzaremo come“ linguaggio ospite” il PHP da interfacciare tramite la libreria( estensione)“ mysqli” al database servere MySql
Per maggiori dettagli consultare il file
https:// www. riochierego. it / mobile / docs / quinta / lab / PPT-4-Interazione-PHP-MYSQL-Estensione- MySQLi. pdf
https:// www. riochierego. it / mobile / docs / quinta / lab / MySQLi-Estensione-Modo-uso. pdf
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 62