PL/SQL Uso di un linguaggio procedurale per un database

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PL/SQL Uso di un linguaggio procedurale per un database"

Transcript

1 PL/SQL Uso di un linguaggio procedurale per un database Roberto Basili Corso di Basi Di Dati 1 a.a Abstract Questa breve dispensa descrive piu etesamente i contenuti della esercitazione del Gli esempi proposti si propongono di elucidare l uso dell ambiente di programmazione di una componente procedurale di interazione con un database. In particolare PL/SQL, il linguaggio procedurale reso disponibile nell ambiente Oracle 8, verra utilizzato come strumento esemplificativo. Questo documento rappresenta la prima versione di questa dispensa. Si rimanda inoltre alle dispense di riferimento consigliate nel corso. Si prega di notificare all autore eventuail errori o inconsistenze che molto probabilmente abitano le seguenti pagine 1 Introduzione Nella costruzione di un database spesso l attenzione e concentrata sui dettagli concettuali e logici dello schema al fine di ottimizzare lo sfruttamento delle potenzialita deli strumenti standard di manipolazione e interrogazione dei dati. E spesso vero pero che SQL da solo non garantisce le caratteristiche di proceduralita necessarie per la implementazione di operazione complesse sui dati. Un esempio e la generazione di raggruppamenti dei dati sulla base di uguaglianze per intervalli (ad es. Generare rispetto al campo intero A, tutti le k classi di equivalenza che riuniscono i gruppi di record secondo la condizione: tabella.a mod k ). Per implementare tali procedure PL/SQL fornisce una sintassi per la programmazione strutturata, che consente, oltre alle tipiche operazioni di un linguaggio di programmazione, la interazione con un database mediante costrutti SQL e l utilizzo di astrazioni funzionali in procedure/funzioni e packages. PL/SQL rappresenta un linguaggio di programmazione interpretato per la macchina astratta definita dal sottostante interprete SQLplus. Dato un programma PL/SQL, memorizzato in un file PLSQLprog.sql, la sua attivazione e possibile mediante il seguente comando SQLplus: SQLplusPrompt> start PLSQLprog 2 Struttura di Base di un blocco PL/SQL Un blocco PL/SQL e caratterizzato dalla seguente struttura fondamentale. [Header] [DECLARE <Costanti> 1

2 <Variabili> <Cursori> <Gestori di eccezioni/errori> ] BEGIN <Istruzioni PL/SQL> [ EXCEPTIONS <Gestione eccezioni/errori> ] END / La struttura quindi contiene sezioni opzionali (Header, Declare) e una notazione standard per la definizione del blocco funzionale (BEGIN END). Costanti e variabli sono analoghe ai correspondenti usi di essi nella programmazione strutturata. I Cursori sono utilizzati per le interazioni con il database e fornisco una astrazione funzionale delle tabelle ottenute mediante interrogazioni SQL al database. Le loro caratteristiche verrano descritte nella sezione 3.2. E da osservare che le regole di visibilita degli identificatori seguono analogamente le regole usate in un ambiente di programmazione a scoping statico (ad es. il Pascal). 3 Sezione delle dichiarazioni 3.1 Dichiarazione delle Variabili La sintassi generale per la dichiarazione delle variabili e la seguente: <nome variabile> <tipo variabile> [:= valore legale]; dove la dichiarazione del tipo puo essere opzionalmente seguita da una assegnazione di inizializzazione. Esempi di dichiarazioni di variabili sono le seguenti: DECLARE counter number(9) := 0; Ricavo number (15,3); ProdID Prodotto.PId%TYPE; De Prodotto.Descrizione%TYPE; Forn Prodotto.Fornitore%TYPE; Cst Prodotto.Costo%TYPE; Prd Prodotto%ROWTYPE; La variabile counter viene utilizzata come un numero a 9 cifre (intero) ed e inzializzata al valore 0. Ricavo invece e un numero di 15 cifre significative, di cui 3 costituiscono la parte decimale. L arrotondamento viene in genere garantito per le operazioni di assegnazione, manipolazione e stampa a video. Le definizioni di ProdID, De, Forn, Cst seguono una sintassi piu ricca: il loro tipo infatti viene derivato dal tipo dei campi corrispondenti, PId, Descrizione, Fornitore e Costo, della relazione/tabella Prodotto. Se la seguente e la istruzione SQL per la costruzione della tabella Prodotto: 2

3 CREATE TABLE Prodotto( PId integer, Descrizione CHAR(20), Fornitore CHAR(20), Costo number(15,3) PRIMARY KEY (PId) ); allora le due sequenti dichiarazioni sono equivalenti: Cst Cst Prodotto.Costo%TYPE; number(15,3); E da osservare pero che la prima rappresenta una forma piu flessibile perche la correttezza del codice PL/SQL risultante viene preservata anche a fronte di modifiche del database sottostante. Cambiamenti della definizione della tabella Prodotto infatti possono rendere illegale la seconda dichiarazione ma non la prima delle due: essa continua ad essere valida poiche la sintassi Table name.field%type viene ricalcolata alla attivazione del blocco, preservando quindi la coerenza tra il codice PL/SQL ed il database sottostante. Lo stesso vale naturalemente per la dichiarazione Prd Prodotto%ROWTYPE; che rappresenta una variabile la cui struttura interna e identica ad una tupla/record nella relazione/tabella prodotto. 3.2 Dichiarazione dei cursori La dichiarazione di un cursore e la seguente: CURSOR <cursor_name> IS <SQL_statement>; <cursor name> e l identificatore del cursore e <SQL statement> e l operazione che sui dati si intende effettuare. Esempi di dichiarazione di cursori sono: CURSOR Tabella1_Cursor IS SELECT e, f FROM Tabella1 WHERE e < f; CURSOR CURSOR_NAME is select * from Prodotto where Costo >= ; Per usi piu complessi (e quindi dichiarazioni) si rimanda alla sezione

4 4 Blocco di programma 4.1 Assegnazioni ed espressioni Assegnazioni ed espressioni su valori o variabili dichiarate nel blocco di definizione seguono regole sintattiche analoghe a quelle di un linguaggio di programmazione strutturato. Esempi sono: (1) counter := 0; (2) Ricavo := Cst * 1.25; (3) counter := counter + 1; (4) Diff_Costo := abs(costo1 - Costo2)/Costo1; (n1) Cst := Prd.Costo; (n2) De := Prd.Descrizione; L uso di costanti, operazioni aritmetiche e funzioni e esemplificato dagli esempi (1)- (4). I casi (n1) ed (n2) dimostrano l uso di assegnazioni a partire da campi di strutture complesse: Prd e dichiarato come Prd Prodotto%ROWTYPE; e Cst, De come Cst Prodotto.Costo%TYPE; DE Prodotto.Descrizione%TYPE; 4

5 5 Uso dei cursori 5.1 Cursori Semplici: Schemi di Iterazione Dato un cursore l utilizzo di esso e esemplificato dalla seguente sequenza di istruzioni: / DECLARE CURSOR cursor_name is SELECT * FROM Prodotto WHERE Costo >= ; BEGIN open cursor_name; /* Apertura del cursore Viene calcolata la query SQL e viene allocata la memoria intermedia per le tuple in uscita */ counter := 0; loop fetch cursor_name into Prd; /* Viene caricata una tuple in Prd */ exit when cname%notfound; /* condizione di uscita dal ciclo */ ProdId := Prd.PId; /* uso dei valori recuperati dalla tabella prodotto */ Cst := Prd.Costo; De := Prd.Descrizione; Ricavo := Cst * 1.25; /* aggornamento di altre variabili nello spazio di indirizzamento del blocco */ counter := counter + 1; /* contatore delle iterazioni, i.e. tuple */ end loop; close cursor_name; /* deattivazione del cursore */ END 5.2 Cursori Parametrici Un cursore come cursor name della sezione precedente puo dipendere da alcune costanti (nell esempio il valore ). Per rendere piu generale la nozione di un cursore ad esso possono essere associati uno o piu parametri rispetto ai quali attivazioni diverse possono operare su valori diversi. La astrazione ottenuta e simile quindi a quela di una astrazione funzionale come la procedura in un ambiente di progammazione strutturata. Tali cursori detti parametrici hanno una dichiarazione piu complessa, che include il nome, il tipo ed il numero di parametri. Ad es. cursor Parametric_Cursor( Soglia Prodotto.Costo%TYPE ) is select * from Prodotto where Costo >= Soglia; In questo caso la condizione WHERE nella query SQL puo assumere configurazioni diverse a fronte di diversi valori del parametro Soglia. Invocazioni diverse (cioe con risultati diversi sulla stessa istanza del database) dello stesso cursore sono quindi possibili: open Parametric_Cursor( ); 5

6 . open Parametric_Cursor( ); 6

7 6 Output in PL/SQL 6.1 Uso della Libreria DBMS Output La stampa a video dei risultati dei programmi PL/SQL e utile soprattutto in fase di debugging. A tale proposito e resa disponibile la libreria DBMS OUTPUT che in genere risiede in $ORACLE_HOME\Rdbms\Admin\. La libreria rende disponibili alcune funzioni standard di uscita, tra cui: PUT( buffer char() ), per la stampa del buffer a video PUT LINE( buffer char() ), per la stampa del buffer a video con automatico ritorno a capo NEW LINE, per la chiusura con un a capo di un buffer di stampa prodotto da precedenti PUT Per utilizzare il video come standard output e necesario configurare l ambiente SQLplus mediante la istruzione: SQLplus> set serveroutput on che consente la visualizzazione in output. Un analogo effetto ha la seguente istruzione PL/SQL: DBMS OUTPUT.enable; BEGIN L uso della libreria DBMS OUTPUT e esemplificato dal codice PL/SQL di seguito: loop fetch cname into Prd; exit when cname%notfound; ProdId:=Prd.PId; Cst:=Prd.Costo; De:=Prd.Descrizione; Ricavo := Cst * 1.25; DBMS_OUTPUT.PUT_LINE( Il Prodotto: De ha un prezzo di to_char(ricavo) ); counter := counter + 1; end loop; close cname; DBMS_OUTPUT.PUT_LINE( Sono stati analizzati to_char(counter) prodotti ); END; / Da osservare l accodamento di piu stringhe nel buffer grazie all operatore e l uso della funzione standard to char() per la trasformazione di quantita numeriche in stringhe. Poiche le funzioni in DBMS OUTPUT assumono un default di 120 caratteri nel buffer usato per l ouput a video, stringhe piu grandi producono messaggi di errore. Per estendere il buffer e possibile usare il comando DBMS OUPUT.ENABLE con un parametro in piu che defiisca la taglia del buffer in byte. La seguente istruzione PL/SQL 7

8 DBMS OUPUT.ENABLE(20000) determina un buffer di 20k. Un programma completo per il calcolo del prezzo di prodotti e fornito com eesemplificazione di seguito. /* Calcolo del Prezzo Nov 2000 Argomenti: - Uso di cursori - Uso delle funzioni - Uso delle librerie di stampa *********************************** */ DECLARE ProdID Prodotto.PId%TYPE; De Prodotto.Descrizione%TYPE; Forn Prodotto.Fornitore%TYPE; Cst Prodotto.Costo%TYPE; Prezzo number (38); counter number(9); cursor cname( Thresh Prodotto.Costo%TYPE ) is select * from Prodotto where Costo >= Thresh; Prd cname%rowtype; BEGIN commit; counter := 0; for Prd in cname(60000) loop ProdId := Prd.PId; Cst := Prd.Costo; De := Prd.Descrizione; Prezzo := Cst * 1.25; DBMS_OUTPUT.PUT_LINE( Il Prodotto: trim(de) ha un prezzo di to_char(prezzo) ); counter := counter + 1; end loop; DBMS_OUTPUT.PUT_LINE( Sono stati analizzati to_char(counter) prodotti ); END; / 8

9 7 FILE I/O in PL/SQLi 7.1 Uso della Libreria utl file La libreria utl file consente la lettura e la scrittura su file. Per una trattazione completa si rimanda alle dispense consigliate del corso. Alcune osservazioni ed esempi sono state inseriti in questa sezione. La prima osservazione e che qualsiasi file si intenda manipolare e necessario: ottenere i diritti di accesso dal database corrente, cioe dichiarare le directory accessibili per operazioni di I/O nella cofigurazione del DB stesso. descrivere tali file in termini di una directory del file system locale e di un nome file. tali informazioni sono in genere disgiunte per i motivi di seguito illustrati La prima informzione e parte della configurazione del database ed e determinata all atto della sua attivazione. Tale informazione quindi e parte dei paranetri di inizializzazione che risiedono i genere in $ORACLE_HOME\ORA_DATA\DATABASE_NAME\init.ora In tale file quindi vanno inserite le righe di dichiarazione della variabile di ambiente utl file dir per ogni directory che si intende utilizzare per operazioni di I/O. Tali dichiarazioni non supportano discese ricorsive attraverso il corrente file system, ma debbono eventualmente essere enumerate. Un esempio di dichiarazione (in ambiente Windows) e il seguente. FILE init.ora utl_file_dir = c:\database\datiutente utl_file_dir = c:\database\datiutente\datiscambio Per utilizzare un file e necessario completare le operazioni di apertura e chiusura del file stesso analoghe alle funzionalita disponibili in un ambiente di programmazione strutturata. Le operazioni di apertura e chiusura del database sono garantite dalle funzioni e OutFileHandler := utl_file.fopen(outdirectoryname, OutFileName,OpenMode); utl_file.fclose(outfilehandler); rispettivamente. OpenMode assume rispettivamente i valori di W (write), R (read) ed A Append. Le funzioni sono sono illustrate dal seguente frammento di programma. Outdir char(200); Outfilename char(25); Outf UTL_FILE.FILE_TYPE; Outdir := c:\database\datiscambio ; Outfilename := Mio.dat ; DBMS_OUTPUT.PUT_LINE ( Trying to open < trim(outdir) / trim(outfilename) ); Outf := utl_file.fopen(outdir, Outfilename, W );. /uso del file */ utl_file.fclose(outf); 9

10 Un esempio completo con l uso delle funzioni di scruittura su file e riportato di seguito. /* Stampa dei prezzi su FILE Argomento: Uso dei file */ DECLARE Outdir char(200); Outfilename char(25); Outf UTL_FILE.FILE_TYPE; De Prodotto.Descrizione%TYPE; Forn Prodotto.Fornitore%TYPE; Cst Prodotto.Costo%TYPE; Ricavo number (12); counter number(9) := 0; cursor cname( Thresh Prodotto.Costo%TYPE ) is select * from Prodotto where Costo >= Thresh; Prd cname%rowtype; BEGIN commit; open cname(30000); DBMS_OUTPUT.enable(200000); Outdir := C:\Documenti\Robertob\Didattica\BasidiDati\Esempio ; Outfilename := Mio.dat ; DBMS_OUTPUT.PUT_LINE ( Trying to open < trim(outdir) \ Outfilename ); Outf := utl_file.fopen(outdir, Outfilename, W ); loop fetch cname into Prd; exit when cname%notfound; Cst := Prd.Costo; De := Prd.Descrizione; Ricavo := Cst * 1.25; DBMS_OUTPUT.PUT_LINE( Il Prodotto: trim(de) ha un prezzo di to_char(ricavo) ); utl_file.putf( Outf, Il prodotto <%s> ha un prezzo di Lt. %s\n, trim(de), to_char(ricavo) ); utl_file.fflush(outf); counter := counter + 1; end loop; close cname; DBMS_OUTPUT.PUT_LINE( Sono stati analizzati to_char(counter) prodotti ); 10

11 END; / utl_file.fclose(outf); EXCEPTION WHEN utl_file.invalid_path THEN DBMS_OUTPUT.PUT_LINE ( Path << trim(outdir) >> Wrong ); WHEN utl_file.write_error THEN DBMS_OUTPUT.PUT_LINE( Write error!! ); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE ( File << Outfilename >> not Found ); 11

12 8 Uso complesso dei cursori Il seguente esempio illustra l uso annidato di cursori. Il programma si propone di raggruppare diversi prodotti in fasce di prezzo. La fascia di prezzo e centrata sul prezzo X di un prodotto contiene tutti i prodotti che costano X piu o meno il 2O% di X. /* Raggruppamenti per Fascia di Prezzo Nov 2000 Argomento: Uso di cursori annidati *********************************** */ DECLARE BEGIN emp_found boolean := FALSE; ProdID Prodotto.PId%TYPE; De Prodotto.Descrizione%TYPE; Forn Prodotto.Fornitore%TYPE; Cst Prodotto.Costo%TYPE; Ricavo number (38); counter number(9); counter2 number(9); cursor cname( Thresh Prodotto.Costo%TYPE ) is select * from Prodotto where Costo >= Thresh ORDER BY Costo; Prd cname%rowtype; cursor pippo is select * from Prodotto; Prd1 cname%rowtype; Prd2 pippo%rowtype; Cost_Diff number(10,2); commit; DBMS_OUTPUT.enable(200000); counter := 0; for Prd in cname(30000) loop Cst := Prd.Costo; if Cst*1.25 > then De := Prd.Descrizione; Ricavo := Cst * 1.25; ProdId := Prd.PId; DBMS_OUTPUT.PUT_LINE( Analizzo il Prodotto: trim(de) ( trim(prd.fornitore) ) Ricavo: Ricavo ); DBMS_OUTPUT.NEW_LINE; counter2 := 0; for Prd2 in pippo loop Cost_Diff := abs(prd2.costo - Cst)/Prd2.Costo; if Cost_Diff <= 0.20 then 12

13 END; / DBMS_OUTPUT.PUT_LINE( Simile a: trim(prd2.descrizione) ( trim(prd2.fornitore) ) ); counter2 := counter2 + 1; end if; end loop; DBMS_OUTPUT.PUT_LINE( Raggruppati < to_char(counter2) > prodotti ); DBMS_OUTPUT.PUT_LINE( ); end if; counter := counter + 1; end loop; DBMS_OUTPUT.PUT_LINE( Sono stati analizzati to_char(counter) prodotti ); 13

Oracle - PL/SQL. Oracle: Prodotti

Oracle - PL/SQL. Oracle: Prodotti Oracle - PL/SQL Introduzione ad Oracle PL/SQL: Elementi di base Tecniche di programmazione uso delle variabili uso dei cursori uso delle funzioni/procedure I/O Oracle: Prodotti SQL*Plus - Interprete di

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

Oracle PL/SQL. Motivazioni

Oracle PL/SQL. Motivazioni Oracle PLSQL Motivazioni Supponiamo che nella gestione del database Azienda ci venga chiesto di apportare le modifiche necessarie a far sì che ad ogni impiegato possa essere assegnato, alla fine di ogni

Dettagli

LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE

LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE Quattro parti: Gestione dati Client-Server Logica + interfaccia Logica + interfaccia Business rules Sistema di comunicazione Logica applicativa DBMS:

Dettagli

LA REALIZZAZIONE DI APPLICAZIONI. Quattro parti: Gestione dati. Business rules. Logica applicativa. Interfaccia utente. Molte possibili architetture

LA REALIZZAZIONE DI APPLICAZIONI. Quattro parti: Gestione dati. Business rules. Logica applicativa. Interfaccia utente. Molte possibili architetture LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture L approccio tradizionale: uso di un linguaggio PLSQL 1.1

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Come trattare il risultato di un comando SQL (relazioni) che

Come trattare il risultato di un comando SQL (relazioni) che USO DI SQL DA PROGRAMMI: PROBLEMI 1 Come collegarsi alla BD Come trattare gli operatori SQL Come trattare il risultato di un comando SQL (relazioni) che Come scambiare informazioni sull esito delle operazioni.

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

PL/SQL PL/SQL. Ordine degli elementi dei triggers di Oracle. Differenze nei triggers. Versione dei trigger e PSM di Oracle

PL/SQL PL/SQL. Ordine degli elementi dei triggers di Oracle. Differenze nei triggers. Versione dei trigger e PSM di Oracle Versione dei trigger e PSM di Oracle Lucidi derivati da quelli di Jeffrey D Ullman Oracle usa una variante di SQL/PSM che si chiama non consente solo di creare e memorizzare procedure e funzioni, ma puo

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

Dettagli

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12 SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.

Dettagli

Archivi e Basi di Dati

Archivi e Basi di Dati Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati

Dettagli

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

DATABASE. www.andreavai.it

DATABASE. www.andreavai.it Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

Lezione 9. Applicazioni tradizionali

Lezione 9. Applicazioni tradizionali Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

I Sistemi Informativi

I Sistemi Informativi I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e

Dettagli

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

Linee guida per la programmazione di transazioni in PL/SQL

Linee guida per la programmazione di transazioni in PL/SQL Linee guida per la programmazione di transazioni in PL/SQL Giuseppe Berio Giuseppe Berio DI - Unito 1 Esempio La transazione deve registrare l evasione di un ordine, rappresentato su più tabelle specializzate

Dettagli

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive Università degli Studi di Torino - Facoltà di Medicina Veterinaria Laboratorio di epidemiologia delle malattie infettive Scuola Specializzazione in Sanità Animale, Allevamento e Produzioni Zootecniche

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

APPENDICE. Procedure in SQL (1)

APPENDICE. Procedure in SQL (1) APPENDICE Procedure in SQL Transazioni in SQL Embedded SQL Remote Procedure Call Appendice 1 Procedure in SQL (1) Standard SQL2 permette di definire procedure, associate a singoli comandi SQL, memorizzate

Dettagli

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

Programmazione in Java Parte I: Fondamenti

Programmazione in Java Parte I: Fondamenti Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Il sistema operativo UNIX/Linux. Gli script di shell

Il sistema operativo UNIX/Linux. Gli script di shell Il sistema operativo UNIX/Linux Gli script di shell Introduzione Le shell permettono La gestione di comandi su linea di comando La shell comprende automaticamente quando il costrutto termina e lo esegue

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System) (DataBase Management System) Sistemi di ges3one di basi di da3 Un Database Management System è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (collezioni

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

Esercitazione sulle libpq - libreria C per PostgreSQL

Esercitazione sulle libpq - libreria C per PostgreSQL Esercitazione sulle libpq - libreria C per PostgreSQL Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2007/2008 Tronci ( roberto.tronci@diee.unica.it ) Esercitazione libpq Basi di Dati 2007/2008

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL. Simona Rotolo

Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL. Simona Rotolo Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL Simona Rotolo 2 Questo documento, rivolto a chi sviluppa codice in PL/Sql, è stato redatto al fine di fornire degli standard di sviluppo che aiuteranno

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++ ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è

Dettagli

Gestione delle tabelle

Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

L architettura di un DBMS

L architettura di un DBMS L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

Dati relazionali e XML

Dati relazionali e XML Dati relazionali e Introduzione (1) Memorizzazione dei dati Utilizzo dei dati Applicazione DBMS relazionale Applicazione Applicazione 2 Introduzione (2) Memorizzazione dei dati Utilizzo dei dati Applicazione

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Uso delle basi di dati. Informazione e dato. Cos è un database. Tabelle. Esempi di database

Uso delle basi di dati. Informazione e dato. Cos è un database. Tabelle. Esempi di database Uso delle basi di dati CORSO ECDL DataBase Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database, come

Dettagli

Nozione di algoritmo. Gabriella Trucco

Nozione di algoritmo. Gabriella Trucco Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 19 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 18 Maggio 2010 idea: sfruttare i

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

GERARCHIE RICORSIVE - SQL SERVER 2008 GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER

Dettagli

Linguaggio C. Fondamenti. Struttura di un programma.

Linguaggio C. Fondamenti. Struttura di un programma. Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione

Dettagli

Gli algoritmi: definizioni e proprietà

Gli algoritmi: definizioni e proprietà Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da

Dettagli

Stored Procedures. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma

Stored Procedures. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Stored Procedures Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati

Dettagli

Sistema di Gestione di Basi di Dati DataBase Management System DBMS

Sistema di Gestione di Basi di Dati DataBase Management System DBMS Base di dati (accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione (accezione specifica) collezione di dati

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei

Dettagli

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. 2ELHWWLYL GD UDJJLXQJHUH SHU JOL VWXGHQWL alla fine dell esercitazione gli studenti dovranno essere in grado di: 1. utilizzare

Dettagli

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?

Dettagli

Elementi di semantica operazionale

Elementi di semantica operazionale Elementi di semantica operazionale 1 Contenuti sintassi astratta e domini sintattici un frammento di linguaggio imperativo semantica operazionale domini semantici: valori e stato relazioni di transizione

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Basi di dati 1 Il Modello Relazionale Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il Modello Relazionale Basi di dati 2 Introduzione Il modello

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Il linguaggio SQL: query innestate

Il linguaggio SQL: query innestate Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei Introduzione Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei. ESEMPI DI INSIEMI DI DATI DA ORGANIZZARE ED USARE IN MANIERA EFFICIENTE Introduzione Più utenti con

Dettagli

Corso di Basi di Dati e Conoscenza

Corso di Basi di Dati e Conoscenza Corso di Basi di Dati e Conoscenza Gestione dei Dati e della Conoscenza Primo Emicorso - Basi di Dati Roberto Basili a.a. 2012/13 1 Obbiettivi Formativi Scenario Le grandi quantità di dati accumulate nelle

Dettagli

Basi di Dati Multimediali. Fabio Strocco

Basi di Dati Multimediali. Fabio Strocco Basi di Dati Multimediali Fabio Strocco September 19, 2011 1 Contents 2 Introduzione Le basi di dati (o database) hanno applicazioni in molti campi, in cui è necessario memorizzare, analizzare e gestire

Dettagli

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio Test (o analisi dinamica) Verifica parte IIA Rif. Ghezzi et al. 6.3-6.3.3 Consiste nell osservare il comportamento del sistema in un certo numero di condizioni significative Non può (in generale) essere

Dettagli