1. BASI DI DATI ESERCITAZIONI -05- MSSQL - SQL Email:
[email protected] Universit di Trento Corso di Laurea in
Ingegneria dellInformazione e dellOrganizzazione
2. Subquery
Le subquery permettono di esprimere dellecondizioni basate sul
risultato di interrogazioni
3. Subquery
selezionare tutti i dati relativi ai cd di lagabue (senza
join)
SELECT*
FROMtCd
WHERE
(cd_cantante_id =
(
SELECTcantante_id
FROMtCantante
WHEREcantante_nome = 'ligabue')
)
4. Subquery
inserire dati di Ella con
genere di tipo "soul"
INSERT INTO tCantante (cantante_genere_id, cantante_nome,
cantante_sitointernet, cantante_descrizione)
select genere_id, 'Ella', 'www.ella.it', 'Ella Fitzgerald' from
tGenere wheregenere_tipo='soul '
5. Subquery
inserire dati di Ella con
genere di tipo "soul
label con di id 2
INSERT INTO tCantante (
cantanti_nome, cantanti_sitointernet,
cantanti_descrizione, cantanti_genere_id )
SELECT ella ', 'www. ella .it',
( SELECT label_nome FROM tLabel WHERE Label_id = '2' ),
( SELECT generi_id FROM tGenere WHERE generi_tipo = 'soul' )
;
6. Stored procedure: Vantaggi
Evitareal client diriscrivere querycomplesse offrendo la
possibilit di richiamare una procedura archiviata all'interno del
database.
Quantitinformazioni scambiatetra client e server sarminorea
tutto vantaggio delle prestazioni.
Mantenere librerie di funzioni da utilizzare all'interno del
database stesso.Potenzialmente si potrebbe eseguire ogni operazione
richiamando una diversa procedura, senza conoscere la struttura di
un database magari complesso, o avendone una conoscenza
limitata.
Possibilit di assegnare permessi di modifica o di lettura
limitati sulle tabelle concedendo solo permesso di eseguire le
sp.
7. Stored procedure: Svantaggi
Le stored procedureaumentano il carico di lavoro per il server
SLQ .
A volte non si pu utilizzare il linguaggio che si vorrebbe
utilizzare, perch il DBMS non lo supporta.
La logica del programma viene spostata sul server SQL;
(incompatibilit con il modello logico di applicativi a tre livelli)
(dati|logica|applicativodati-procedure|logica|applicativo)