Oracle PL/SQL. Motivazioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Oracle PL/SQL. Motivazioni"

Transcript

1 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 anno, un bonus da calcolarsi così: Per ciascun progetto a cui un impiegato partecipa, l impiegato riceve un bonus pari all 1% del budget di progetto Gli impiegati che partecipano a più progetti hanno un bonus pari alla somma dei bonus relativi a ciascun progetto Ogni volta che vengono portate a termine le operazioni per il calcolo del bonus, si vuole anche conoscere la somma totale dei bonus assegnati agli impiegati 2 1

2 Motivazioni Le operazioni richieste, difficilmente possono essere eseguite attraverso un unico comando SQL Inizializzare a zero il valore del bonus di ciascun impiegato Conoscere il numero di progetti a cui partecipa ciascun impiegato Incrementare il valore del bonus sulla base del budget di progetto Tenere traccia di tutti gli incrementi effettuati per calcolare la somma di tutti I bonus È dunque conveniente il ricorso a più comandi SQL per elaborare in cascata i dati dell archivio, possibilmente facendo uso di opportune variabili di appoggio Tutto questo richiede una estensione delle funzionalità base di SQL!!! 3 PLSQL Senza PLSQL, le istruzioni SQL vengono trasmesse e processate una alla volta Programmi che prevedono molte istruzioni SQL devono effettuare molteplici chiamate al DBMS, con ricadute su traffico di rete e tempi complessivi di elaborazione Con PLSQL, un intero blocco di istruzioni può essere inviato al DBMS L elaborazione dei risultati intermedi non deve essere trasmessa all applicazione che riceve solo il risultato finale dell elaborazione Con PLSQL si possono anche definire stored procedures che sono compilate e memorizzate in forma eseguibile per ridurre i tempi di esecuzione Con le stored procedures il traffico di rete è ulteriorimente ridotto dato che si passano solo i parametri, non l intero codice. Inoltre le stored procedures possono essere condivise tra utenti diversi riducendo i requisiti complessivi di memoria 4 2

3 Struttura Ogni programma PLSQL è costituito da blocchi logici (in cascata o nidificati) ciascuno dei quali raggruppa tre sezioni: dichiarativa (DECLARE) istruzioni d esecuzione (END) gestione eccezioni (EXCEPTION) In un blocco, possono essere dichiarate costanti e variabili. Le variabili possono essere utilizzate per memorizzare i risultati di una query Un blocco PLSQL può contenere istruzioni SQL, strutture di controllo del flusso d esecuzione (for-loop, while-loop, if-then-else, casewhen), manipolazione delle eccezioni (controllo errori), e chiamate ad altri blocchi PLSQL I blocchi PLSQL che specificano procedure e funzioni possono essere raggruppati in packages 5 Struttura Un altra importante caratteristica di PLSQL è che offre un meccanismo per processare i risultati delle query in un modo orientato alle tuple una tupla alla volta A questo scopo, vengono utilizzati i cursori Un cursore è fondamentalmente un puntatore al risultato di una query ed è impiegato per leggere i valori degli attributi delle tuple selezionate, inserendoli in variabili Un cursore è tipicamente usato in combinazione con un costrutto loop per elaborare, riga per riga, i risultati di una query 6 3

4 Dichiarazioni Costanti, variabili, cursori ed eccezioni usate in un blocco PLSQL devono essere dichiarati nella sezione di dichiarazione di quel blocco La dichiarazione di variabili e costanti ha la seguente sintassi: <nome variabile> [costant] <tipo di dati> [not null] [:= <espressione>]; DECLARE wages NUMBER; --Inizializzazione con null hours_worked CONSTANT NUMBER := 40; hourly_salary NUMBER := 22.50; bonus NUMBER := 150; country VARCHAR2(128); --Inizializzazione con null 7 Dichiarazioni PLSQL supporta la dichiarazione ancorata del tipo di dato di una variabile Si può richiedere che la variabile abbia lo stesso tipo di una particolare colonna di una tabella IMPIEGATO.Matricola%TYPE Oppure abbia un tipo in grado di memorizzare una tupla completa di una determinata tabella (o risultato di query) DIPARTIMENTO%ROWTYPE 8 4

5 Dichiarazioni La dichiarazione di un cursore specifica un insieme di tuple (come risultato di una query) in modo che le tuple possano essere processate individualmente, una alla volta, usando l istruzione fetch La dichiarazione di un cursore ha la seguente sintassi: cursor <nome cursore> [(<lista parametri>)] is <istruzione select>; Se le tuple selezionate dal cursore devono essere modificate all interno del blocco PLSQL, deve essere aggiunta la clausola for update [(<colonna(e)>)] alla fine della dichiarazione del cursore In questo caso le tuple vengono bloccate e gli altri utenti non vi possono accedere finché non è stato eseguito un comando commit 9 Dichiarazioni Le eccezioni vengono usate per processare errori e avvisi che si incontrano durante l esecuzione delle istruzioni PLSQL Alcune eccezioni sono definite internamente: ZERO_DIVIDE (divisione per 0) Altre eccezioni possono essere specificate dall utente alla fine di un blocco PLSQL Le eccezioni definite dall utente devono essere dichiarate usando la sintassi <nome eccezione> exception 10 5

6 Variabili Ci sono tre modi per assegnare un valore ad una variabile: Attraverso l operatore := seguito dal valore DECLARE wages NUMBER; --Inizializzazione con null hours_worked CONSTANT NUMBER := 40; hourly_salary NUMBER := 22.50; bonus NUMBER := 150; country VARCHAR2(128); --Inizializzazione con null wages := (hours_worked * hourly_salary) + bonus; country := 'France'; country := UPPER('Canada'); 11 Variabili Ci sono tre modi per assegnare un valore ad una variabile: Attraverso l operatore := seguito dal valore Attraverso il costrutto SELECT INTO In questo caso bisogna che l istruzione select recuperi almeno una tupla, altrimenti verrà notificato un errore! Se l istruzione recupera più di una tupla, allora deve essere utilizzato un cursore. DECLARE employee_rec EMP%ROWTYPE; max_sal EMP.SAL%TYPE; select EMPNO, ENAME, JOB, MGR, SAL, COMM, HIREDATE, DEPTNO into employee_rec from EMP where EMPNO = 5698; select max(sal) into max_sal from EMP; 12 6

7 Variabili Ci sono tre modi per assegnare un valore ad una variabile: Attraverso l operatore := seguito dal valore Attraverso il costrutto SELECT INTO Attraverso passaggio di parametri ad una subroutine con i costrutti IN, OUT ed IN OUT DECLARE new_sal NUMBER(8,2); emp_id NUMBER(6) := 126; PROCEDURE adjust_salary(emp_id NUMBER, sal IN OUT NUMBER) IS emp_job VARCHAR2(10); avg_sal NUMBER(8,2); SELECT AVG(salary) INTO new_sal FROM employees; adjust_salary(emp_id, new_sal); -- assigns a new value to new_sal 13 Costrutti per il controllo di flusso Costrutti per il controllo condizionale: IF-THEN-ELSE CASE-WHEN Costrutti per il controllo di iterazione: LOOP FOR-LOOP WHILE-LOOP Costrutti per l interruzione di flusso: GOTO 14 7

8 Costrutti per il controllo di flusso Per il controllo condizionale, PLSQL offre costrutti if-then-else nella forma: if <condizione> then <sequenza di istruzioni> [elsif] <condizione> then <sequenza di istruzioni> [else] <sequenza di istruzioni> end if; 15 Cursori I cursori sono necessari per gestire i dati recuperati da istruzioni di select Fanno eccezione le query che restituiscono un solo dato o una singola tupla Prima che un cursore (già dichiarato nella sezione DECLARE) possa essere usato, deve essere aperto utilizzando l istruzione open: open <nome cursore> [(<lista di parametri>)]; L istruzione select associata viene quindi processata e il cursore punta alla prima tupla restituita dalla select 16 8

9 Cursori Le tuple selezionate possono essere processate una alla volta utilizzando il comando fetch fetch <nome cursore> [(<lista di parametri>)]; Tipicamente la lista di parametri specifica alcune variabili dove memorizzare i valori dalla tupla corrente del cursore le variabili devono avere lo stesso tipo di dati dei risultati della select Dopo un comando fetch, il cursore avanza alla successiva tupla nell insieme del risultato dell istruzione select Dopo che tutte le tuple sono state processate, si utilizza il comando close per chiudere e disabilitare il cursore close <nome cursore>; 17 Cursori L avanzamento del cursore all interno del risultato può essere gestito attraverso un loop semplice: DECLARE cursor emp_cur is select * from EMP; emp_rec EMP%ROWTYPE; emp_sal EMP.SAL%TYPE; open emp_cur; loop fetch emp_cur into emp_rec; exit when emp_cur%notfound; emp_sal := emp_rec.sal; close emp_cur; 18 9

10 Cursori L avanzamento del cursore all interno del risultato può essere semplificato con un loop for: [<< <nome etichetta> >>] for <nome record> in <nome cursore> [(lista di parametri>)] loop <sequenza di istruzioni> Un record utilizzabile per memorizzare una tupla recuperata da un cursore viene implicitamente dichiarato Inoltre, questo loop esegue implicitamente una fetch ad ogni iterazione, una open prima dell ingresso nel loop e una close dopo che il loop è terminato Se ad un iterazione nessuna tupla viene recuperata, il loop viene automaticamente terminato senza un exit 19 Cursori [<< <nome etichetta> >>] for <nome record> in <nome cursore> [(lista di parametri>)] loop <sequenza di istruzioni> In un loop for è anche possibile specificare una query al posto di <nome cursore> : for <nome record> in (<istruzione select>) loop <sequenza di istruzioni> DECLARE sal_rec EMP.SAL%TYPE; for sal_rec in (select SAL + COMM total from EMP) loop ; 20 10

11 Esempio Il seguente codice aumenta del 5% lo stipendio degli impiegati che hanno KING come loro responsabile Si usa il costrutto cursor-for-update che integra la funzione di update all interno del cursore DECLARE manager EMP.MGR%TYPE; cursor emp_cur (mgr_no number) is select SAL from EMP where MGR = mgr_no for update of SAL; select EMPNO into manager from EMP where ENAME = 'KING'; for emp_rec in emp_cur(manager) loop update EMP set SAL = emp_rec.sal*1.05 where current of emp_cur; commit; 21 Esercizio Dopo aver abilitato l output sul terminale SQLPLUS (set serveroutput on) definire ed eseguire una procedura che stampi matricola, cognome e stipendio di ciascun impiegato DECLARE emp_mat IMPIEGATO.MATRICOLA%TYPE; emp_cog IMPIEGATO.COGNOME%TYPE; emp_sti IMPIEGATO.STIPENDIO%TYPE; for emp_rec in (select * from IMPIEGATO) loop DBMS_OUTPUT.PUT_LINE('Matricola: ' emp_rec.matricola ' Cognome: ' emp_rec.cognome ' Stipendio: ' TO_CHAR(emp_rec.stipendio)); for emp_rec in (select * from IMPIEGATO) loop emp_mat := emp_rec.matricola; emp_cog := emp_rec.cognome; emp_sti := emp_rec.stipendio; DBMS_OUTPUT.PUT_LINE ('Matricola: ' emp_mat ' Cognome: ' emp_cog ' Stipendio: ' TO_CHAR(emp_sti)); 22 11

12 DECLARE cursor emp_cur is select * from IMPIEGATO; emp_rec IMPIEGATO%ROWTYPE; Esercizio emp_mat IMPIEGATO.MATRICOLA%TYPE; emp_cog IMPIEGATO.COGNOME%TYPE; emp_sti IMPIEGATO.STIPENDIO%TYPE; open emp_cur; loop fetch emp_cur into emp_rec; exit when emp_cur%notfound; emp_mat := emp_rec.matricola; emp_cog := emp_rec.cognome; emp_sti := emp_rec.stipendio; DBMS_OUTPUT.PUT_LINE ('Matricola: ' emp_mat ' Cognome: ' emp_cog ' Stipendio: ' TO_CHAR(emp_sti)); close emp_cur; DECLARE cursor emp_cur is select * from IMPIEGATO; emp_mat IMPIEGATO.MATRICOLA%TYPE; emp_cog IMPIEGATO.COGNOME%TYPE; emp_sti IMPIEGATO.STIPENDIO%TYPE; for emp_rec in emp_cur loop emp_mat := emp_rec.matricola; emp_cog := emp_rec.cognome; emp_sti := emp_rec.stipendio; DBMS_OUTPUT.PUT_LINE ('Matricola: ' emp_mat ' Cognome: ' emp_cog ' Stipendio: ' TO_CHAR(emp_sti)); 23 Esercizio Con riferimento alla base dati impiegatodipartimento-progetto-pp, definire una procedura che individui i responsabili di progetto che guadagnano meno degli impiegati che supervisionano ed aumentarne lo stipendio in modo che guadagnino almeno quanto gli impiegati che supervisionano: Per ogni supervisore calcolare lo stipendio massimo dei suoi supervisionati Se maggiore del proprio stipendio aggiornare il proprio stipendio a tale valore 24 12

13 Esercizio Per ogni supervisore calcolare lo stipendio massimo dei suoi supervisionati: select s.matricola, s.stipendio, max(i.stipendio) from impiegato s, progetto p, pp, impiegato i where s.matricola=p.responsabile AND p.codice=pp.progetto AND pp.impiegato=i.matricola group by s.matricola, s.stipendio 25 Esercizio Nota la matricola del supervisore aggiornarne il valore di stipendio: update impiegato set stipendio = new_stipendio where matricola=mat_leader 26 13

14 Esercizio DECLARE cursor emp_cur is select s.matricola, s.stipendio, max(i.stipendio) as max_stip from impiegato s, progetto p, pp, impiegato i where s.matricola=p.responsabile AND p.codice=pp.progetto AND pp.impiegato=i.matricola group by s.matricola, s.stipendio; emp_mat IMPIEGATO.MATRICOLA%TYPE; emp_sti_s IMPIEGATO.STIPENDIO%TYPE; emp_sti_i IMPIEGATO.STIPENDIO%TYPE; for emp_rec in emp_cur loop emp_mat := emp_rec.matricola; emp_sti_s := emp_rec.stipendio; emp_sti_i := emp_rec.max_stip; if emp_sti_s < emp_sti_i then update impiegato set stipendio = emp_sti_i where matricola=emp_mat; commit; end if; 27 Stored procedures Il comando CREATE PROCEDURE (o CREATE FUNCTION) consente di definire procedure (o funzioni) che vengono memorizzate nel server e richiamate attraverso il comando EXECUTE Procedure e funzioni possono ricevere parametri di ingresso che vengono passati alla loro chiamata Le funzioni possono anche restituire dei valori al termine della loro esecuzione 28 14

15 Stored procedures Sintassi per la definizione di una procedura create [or replace] procedure <nome procedura> [(<lista di parametri>)] is <dichiarazione> begin <sequenza di istruzioni> [exception <routine di gestione dell eccezione>] end [<nome procedura>]; e di una funzione: create [or replace] function <nome funzione> [(<lista di parametri>)] return <tipo di dati> is <dichiarazione> begin 29 Stored procedures Una volta create, procedure e funzioni possono essere cancellate attraverso i comandi drop procedure <nome procedura> drop function <nome funzione> 30 15

16 Stored procedures La specifica dei parametri prevede la seguente sintassi: <nome parametro> [IN OUT IN OUT] <tipo di dato> [{:= DEFAULT} <espressione>] La clausola opzionale IN, OUT, e IN OUT specifica il modo nel quale il parametro è utilizzato (se omessa il parametro è considerato IN) IN significa che il parametro è accessibile in lettura ma non in scrittura OUT significa che il parametro è accessibile in scrittura ma non in lettura IN OUT permette di accedere al parametro sia in lettura che scrittura 31 Stored procedures Procedura che aumenta lo stipendio degli affiliati ad un dipartimento di una percentuale variabile Una volta creata, la procedura può essere chiamata con execute raise_salary('d002', 0.3) dal terminale sqlplus Se la procedura viene chiamata dall interno di un blocco PLSQL, la parola chiave execute viene omessa create procedure raise_salary(dno dipartimento.codice%type, percentage number DEFAULT 0.5) is cursor emp_cur (dept_no dipartimento.codice%type) is select STIPENDIO from IMPIEGATO where DIPARTIMENTO = dept_no for update of STIPENDIO; empsal number(8); begin for emp_rec in emp_cur(dno) loop update IMPIEGATO set STIPENDIO = emp_rec.stipendio*((100+percentage)100) where current of emp_cur; commit; 32 end raise_salary; 16

17 Stored procedures oppure con begin raise_salary('d002', 0.3); end; dall interno di un blocco PLSQL Questa è la modalità da adottare per eseguire la procedura dal pannello SQL commands dell interfaccia web create procedure raise_salary(dno dipartimento.codice%type, percentage number DEFAULT 0.5) is cursor emp_cur (dept_no dipartimento.codice%type) is select STIPENDIO from IMPIEGATO where DIPARTIMENTO = dept_no for update of STIPENDIO; empsal number(8); begin for emp_rec in emp_cur(dno) loop update IMPIEGATO set STIPENDIO = emp_rec.stipendio*((100+percentage)100) where current of emp_cur; commit; end raise_salary; 33 Stored procedures Da notare che la procedura poteva essere scritta molto più semplicemente senza ricorrere al costrutto del cursor for update create procedure quick_raise_salary(dno dipartimento.codice%type, percentage number DEFAULT 0.5) is begin update IMPIEGATO set STIPENDIO = STIPENDIO*((100+percentage)100) where DIPARTIMENTO=dno; end quick_raise_salary; Il costrutto del cursor for update è tuttavia necessario quando l elaborazione richiede di operare su una riga alla volta di una tabella 34 17

18 Stored procedures Per poter richiamare una funzione da una shell di SQL*Plus, è necessario prima definire una variabile alla quale assegnare il risultato della funzione In SQL*Plus, una variabile può essere definita utilizzando il comando variable <nome variabile> <tipo di dati>; variable salary number. La funziona sopra può quindi essere chiamata usando il comando execute :salary := get_dept_salary(20); Da notare i due punti che devono essere messi davanti alla variabile salary 35 Stored procedures La seguente funzione incrementa gli stipendi e restituisce la somma degli incrementi effettuati create or replace function raise_salary(dno varchar2, percentage number DEFAULT 0.5) return number is delta_sal number; cursor emp_cur (dept_no varchar2) is select STIPENDIO from IMPIEGATO where DIPARTIMENTO = dept_no for update of STIPENDIO; empsal IMPIEGATO.STIPENDIO%TYPE; begin delta_sal := 0.0; open emp_cur(dno); loop fetch emp_cur into empsal; exit when emp_cur%notfound; if empsal IS NOT NULL then delta_sal := delta_sal + empsal*(percentage100); update IMPIEGATO set STIPENDIO = empsal*((100+percentage)100) where current of emp_cur; end if; close emp_cur; commit; return delta_sal; 36 end raise_salary; 18

19 Stored procedures Il funzionamento della funzione può essere verificato eseguendo dalla shell SQLPLUS i seguenti comandi: declare dato number(12,2); begin dato := raise_salary('d001'); dbms_output.put_line(to_char(dato)); end; 37 Esercizio Aggiungere alla tabella impiegato un campo bonus (number) Definire una funzione che imposti il valore di bonus in base al seguente criterio: Per ciascun progetto a cui un impiegato partecipa, l impiegato riceve un bonus pari all 1% del budget di progetto Gli impiegati che partecipano a più progetti hanno un bonus pari alla somma dei bonus relativi a ciascun progetto Ogni volta che viene chiamata la funzione restituisce la somma dei bonus assegnati agli impiegati 38 19

20 Soluzione alter table IMPIEGATO add BONUS number default 0.0; create or replace function calcola_bonus return IMPIEGATO.BONUS%TYPE is total_bonus IMPIEGATO.BONUS%TYPE; current_bonus IMPIEGATO.BONUS%TYPE; cursor emp_cur is select * from IMPIEGATO for update of BONUS; cursor proj_budget (emp_mat IMPIEGATO.MATRICOLA%TYPE) is select p.budget from progetto p, pp where IMPIEGATO=emp_mat AND PROGETTO=CODICE; begin total_bonus := 0.0; for emp_rec in emp_cur loop current_bonus := 0.0; for cur_bud in proj_budget(emp_rec.matricola) loop current_bonus := current_bonus + cur_bud.budget*0.01; update IMPIEGATO set BONUS = current_bonus where current of emp_cur; total_bonus := total_bonus + current_bonus; commit; return total_bonus; end calcola_bonus; 39 Soluzione declare bingo impiegato.bonus%type; begin bingo := calcola_bonus; DBMS_OUTPUT.PUT_LINE(to_char(bingo)); end; 40 20

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

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

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

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

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza Basi dati attive Triggers Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Una base di dati

Dettagli

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)

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

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

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

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

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

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

Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema

Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema Giovanna Rosone 04/03/2010 04/03/2010 SQL, Istruzioni per la modifica dello schema 1 Riepilogo Impiegato Pagamenti Nome colonna PAG_COD PAG_MATR Tipo dati CHAR(6) CHAR(6) Nome colonna Tipo dati PAG_STIPENDIO

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

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

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

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

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

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

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

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

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

Il linguaggio SQL: viste e tabelle derivate

Il linguaggio SQL: viste e tabelle derivate Il linguaggio SQL: viste e tabelle derivate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLd-viste.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Capitolo 7. Esercizio 7.1

Capitolo 7. Esercizio 7.1 Capitolo 7 Esercizio 7.1 Dato lo schema relazionale: IMPIEGATO (Nome, Salario, DipNum) DIPARTIMENTO (DipNum, NomeManager) Definire le seguenti regole attive in Oracle e DB2: 1. una regola, che quando il

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

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

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf Il linguaggio SQL: viste e tabelle derivate Versione elettronica: SQLd-viste.pdf DB di riferimento per gli esempi Imp Sedi CodImp Nome Sede Ruolo Stipendio Sede Responsabile Citta E001 Rossi S01 Analista

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

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

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26 Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione

Dettagli

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli

SQL Server. SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server

SQL Server. SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server SQL Server 7.0 1 SQL Server SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server 2 Strumenti per la gestione Enterprise Manager

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

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

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

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono

Dettagli

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione

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

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

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

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

SQL/OLAP. Estensioni OLAP in SQL

SQL/OLAP. Estensioni OLAP in SQL SQL/OLAP Estensioni OLAP in SQL 1 Definizione e calcolo delle misure Definire una misura significa specificare gli operatori di aggregazione rispetto a tutte le dimensioni del fatto Ipotesi: per ogni misura,

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

4.1 FAX EMAIL: Sollecito consegne via email (Nuova funzione)

4.1 FAX EMAIL: Sollecito consegne via email (Nuova funzione) - 36 - Manuale di Aggiornamento 4 MODULI AGGIUNTIVI 4.1 FAX EMAIL: Sollecito consegne via email (Nuova funzione) È stata realizzata una nuova funzione che permette di inviare un sollecito ai fornitori,

Dettagli

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Vincoli di Integrità Approccio dichiarativo alla loro implementazione Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico

Dettagli

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento Sommario - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento Introduzione - Un database è un archivio strutturato di dati che può essere manipolato con dei comandi nel linguaggio

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

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

Istruzioni DML di SQL

Istruzioni DML di SQL Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,

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

PL/SQL Uso di un linguaggio procedurale per un database

PL/SQL Uso di un linguaggio procedurale per un database PL/SQL Uso di un linguaggio procedurale per un database Roberto Basili Corso di Basi Di Dati 1 a.a. 2000-2001 Abstract Questa breve dispensa descrive piu etesamente i contenuti della esercitazione del

Dettagli

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7 ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni

Dettagli

Software Servizi Web UOGA

Software Servizi Web UOGA Manuale Operativo Utente Software Servizi Web UOGA S.p.A. Informatica e Servizi Interbancari Sammarinesi Strada Caiese, 3 47891 Dogana Tel. 0549 979611 Fax 0549 979699 e-mail: info@isis.sm Identificatore

Dettagli

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6 Finalità della soluzione... 3 Schema generale e modalità d integrazione... 4 Gestione centralizzata in TeamPortal... 6 Dati gestiti dall Anagrafica Unica... 8 Gestione anagrafica... 9 Storicizzazione...

Dettagli

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende. Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per

Dettagli

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

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

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

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

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

Data warehouse in Oracle

Data warehouse in Oracle Data warehouse in Oracle Viste materializzate ed estensioni al linguaggio i SQL per l analisi li i dei dati presenti nei data warehouse Estensioni al linguaggio SQL per l analisi dei dati presenti nei

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

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

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Corso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale

Corso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale Corso di Basi di Dati Linguaggi per basi di dati: lgebra Relazionale Donatella Gubiani Linguaggi per basi di dati Si possono distinguere diversi tipi di linguaggi per la gestione dei dati: Linguaggio di

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle

Dettagli

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Dettagli

SQL - Funzioni di gruppo

SQL - Funzioni di gruppo una funzione di gruppo permette di estrarre informazioni da gruppi di tuple di una relazione le funzioni di gruppo si basano su due concetti: partizionamento delle tuple di una relazione in base al valore

Dettagli

ALICE AMMINISTRAZIONE UTENTI WEB

ALICE AMMINISTRAZIONE UTENTI WEB AMMINISTRAZIONE UTENTI WEB REL. 1.2 edizione luglio 2008 INDICE 1. AMMINISTRAZIONE DI UTENTI E PROFILI... 2 2. DEFINIZIONE UTENTI... 2 2.1. Definizione Utenti interna all applicativo... 2 2.1.1. Creazione

Dettagli

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) SQL PER LA DEFINIZIONE DI BASI DI DATI 1 SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.1 Data emissione 09/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 1.1 09/10/2013

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

Transazioni - Parte 1

Transazioni - Parte 1 Basi di dati II Lezione 3 09/10/2008 Caputo Domenico Cosimo, Francesco Pichierri Transazioni - Parte 1 Le transazioni hanno a che fare con la programmabilità delle basi di dati. Prima di trattarle è necessaria

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

RISOLUTORE AUTOMATICO PER SUDOKU

RISOLUTORE AUTOMATICO PER SUDOKU RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU

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

Nozione ed uso. Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso:

Nozione ed uso. Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: Gestione di vincoli di integrità: Per fallimento Per modifica Auditing: Sicurezza Statistiche Valori derivati

Dettagli

Database Manager Guida utente DMAN-IT-01/09/10

Database Manager Guida utente DMAN-IT-01/09/10 Database Manager Guida utente DMAN-IT-01/09/10 Le informazioni contenute in questo manuale di documentazione non sono contrattuali e possono essere modificate senza preavviso. La fornitura del software

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Esercitazione 02: JDBC, SQL e DB SAMPLE

Esercitazione 02: JDBC, SQL e DB SAMPLE Esercitazione 02: JDBC, SQL e DB SAMPLE Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: Esercitazione02.pdf Sistemi Informativi L-A Applicazione

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

Progetto di Basi di Dati e Multimidia Laboratorio Struttura dell applicazione web

Progetto di Basi di Dati e Multimidia Laboratorio Struttura dell applicazione web Progetto di Basi di Dati e Multimidia Labtorio Struttura dell applicazione web 1 Introduzione La progettazione è stata sviluppata basandosi sul modello MVC-2 Server Centric. I moduli creati si possono

Dettagli

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso 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

Informatica per le discipline umanistiche 2 lezione 10

Informatica per le discipline umanistiche 2 lezione 10 Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione

Dettagli

Basi di Dati. S Q L Lezione 5

Basi di Dati. S Q L Lezione 5 Basi di Dati S Q L Lezione 5 Antonio Virdis a.virdis@iet.unipi.it Sommario Gestione eventi Gestione dei privilegi Query Complesse 2 Esercizio 9 (lezione 4) Indicare nome e cognome, spesa e reddito annuali

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

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio

Dettagli

SQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

SQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, SQL Server 2005 Integration Services SQL Server 2005:

Dettagli

Interrogazioni nidificate, commenti

Interrogazioni nidificate, commenti Interrogazioni nidificate, commenti La forma nidificata è meno dichiarativa, ma talvolta più leggibile (richiede meno variabili) La forma piana e quella nidificata possono essere combinate Le sottointerrogazioni

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

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

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