SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:"

Transcript

1 SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i normali linguaggi di programmazione In quest ultimo caso è necessario che un preprocessore si occupi di riconoscere in un sorgente il codice SQL e lo trasformi in codice del linguaggio che si sta usando. Uno dei problemi che sorgono è il fatto che SQL sia orientato agli insiemi mentre i linguaggi di programmazione, ad eccezione di alcuni linguaggi ad oggetti, possono essere soltanto orientati alle tuple. Le tuple dovranno quindi essere scandite una per una per eseguire un comando SQL. Si può ovviare a questo o con linguaggi ad oggetti che supportino operazioni evolute sugli insiemi o mediante i cursori. Cursori I cursori estendono SQL in modo tale da fornire la possibilità ad un programma di accedere alle tabelle una riga alla volta. Hanno un comportamento simile ai puntatori a file. declare NomeCursore [scroll] cursor for SelectSQL [for < read only update [ of Attributo {, Attributo } ] > ] associa un cursore ad una interrogazione. scroll indica se il programma può spostarsi liberamente nell interrogazione for [read only update] specifica se il cursore deve essere usato in un comando di modifica o in sola lettura. Cursori open NomeCursore attiva l interrogazione cui è collegato il cursore e permette di accedere al risultato tramite il comando fetch [ Posizione from ] NomeCursore into ListadiFetch che prende una riga dal cursore e la ripone nelle variabili della ListadiFetch. La corrispondenza fra attributi e variabili è per posizione. Quando si parla di riga corrente si intende l ultima riga letta. Posizione può assumere i valori: next (il cursore legge la riga successiva alla corrente) prior (la precedente) first (la prima) last (l ultima) absolute EsprIntera (la i-esima, i è il risultato dell espressione) relative EsprIntera (la i-esima rispetto alla corrente) 1

2 Cursori Le opzioni di posizione viste possono essere usate solo se è stata specificata l opzione scroll. Altrimenti solo next. In quel caso l implementazione è più efficiente. update e delete possono usare i cursori. update NomeTabella set Attributo = < Espressione null default > {, Attributo = < Espressione null default > } where current of NomeCursore delete from NomeTabella where current of NomeCursore close NomeCursore chiude il cursore e libera la memoria dalla copia del risultato della query cui è collegato. Se la query restituisce solo una riga si può evitare il cursore e usare select ListaAttributi into ListaVariabili SQL dinamico In molti casi è necessario formulare interrogazioni arbitrarie, non solo parametrizzabili, ma anche dipendenti ad esempio dallo stato dell esecuzione di un programma. Le interrogazioni che si possono formulare attraverso le istruzioni viste sinora sono di tipo statico, cioè scritte una volta per tutte. SQL dinamico consente di costruire interrogazioni al momento dell esecuzione di un programma. In SQL statico, i comandi vengono compilati una volta per tutte. Questo si traduce in elevata efficienza. In SQL dinamico, per ottimizzare l efficienza di un programma e mantenerla equivalente a quella di SQL statico, sono previste due modalità di esecuzione. SQL dinamico execute immediate IstruzioneSQL Questo comando provoca l esecuzione immediata dell istruzione e può quindi essere usato solo per comandi che non richiedono parametri in ingresso o in uscita. Es. istruzionesql= delete from Dipartimento where Nome = Amministrazione ; $ execute immediate :istruzionesql Se il comando viene eseguito più volte o se il programma deve gestire uno scambio di parametri bisogna distinguere 2 fasi: preparazione ed esecuzione. 2

3 SQL dinamico Fase di preparazione prepare NomeComando from IstruzioneSQL fa analizzare l istruzione e la fa tradurre nel linguaggio procedurale del sistema. Gli eventuali parametri sono sostituiti da? In pratica, definisce una funzione che sarà possibile chiamare dal linguaggio ad alto livello. prepare :comando from select Città from Dipartimento where Nome =? Quando non serve più l istruzione è possibile deallocare memoria la deallocate prepare NomeComando deallocate prepare :comando SQL dinamico Fase di esecuzione execute NomeComando [ into TargetList ] [ using ListaParametri ] La target list contiene le variabili in cui deve essere inserito il risultato dell esecuzione del comando. La lista dei parametri specifica i valori che devono essere assunti dai parametri della funzione. execute :comando into :citta using :dipartimento diventa, se :dipartimento assume il valore Produzione, select Città from Dipartimento where Nome = Produzione SQL dinamico e cursori I cursori vengono utilizzati come in SQL statico, con la sola differenza che si associa al cursore l identificativo dell interrogazione invece che l interrogazione stessa e che si possono usare using e into per specificare i valori dei parametri di ingresso e uscita. Es. prepare :comando from :istruzionesql declare Cursore cursor for :comando open Cursore using :nome1 3

4 Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi e le priorità di realizzazione. Raccolta e analisi dei requisiti individua proprietà e funzionalità del sistema tramite interazione con gli utenti e definizione informale dei dati e delle operazioni. Progettazione divisa in progettazione dei dati e progettazione delle applicazioni. Individua struttura e organizzazione dei dati e caratteristiche degli applicativi che vi dovranno accedere. Implementazione realizza la base di dati e il codice dei programmi conformemente alle specifiche Validazione e collaudo verifica il corretto funzionamento del sistema informativo Funzionamento il sistema informativo diviene operativo Metodologia di progettazione Una metodologia di progettazione di una base di dati consiste in: decomposizione del progetto in più passi strategie realizzative e criteri di scelta di alternative modelli di riferimento per descrivere dati di ingresso e uscita delle varie fasi e può essere valutata in base alle proprietà: generalità: per garantire la possibilità di utilizzare la metodologia indipendentemente dal problema affrontato qualità del prodotto (correttezza, completezza, efficienza) facilità d uso di strategie e modelli di riferimento Fasi della progettazione Progettazione concettuale rappresenta le specifiche informali in modo formale e completo, ma indipendente dalla rappresentazione usata nei DBMS. Produce lo schema concettuale e fa riferimento ad un modello concettuale dei dati. Rappresenta il contenuto informativo e non la codifica. Progettazione logica traduce lo schema concettuale nello schema logico basato su un modello logico (es. modello relazionale) ancora indipendente dalla realizzazione fisica della base di dati. Progettazione fisica completa lo schema logico con la specifica dei parametri fisici di memorizzazione dei dati. Produce uno schema fisico e fa riferimento ad un modello fisico dei dati, dipendente dal DBMS. 4

5 Modello dei dati insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica componente fondamentale: meccanismi di strutturazione (o costruttori di tipo) come nei linguaggi di programmazione esistono meccanismi che permettono di definire tipi di dati, così ogni modello dei dati prevede alcuni costruttori ad esempio, il modello relazionale prevede il costruttore relazione, che permette di definire insiemi di record omogenei Due tipi (principali) di modelli modelli logici: utilizzati nei DBMS esistenti per l organizzazione dei dati utilizzati dai programmi indipendenti dalle strutture fisiche esempi: relazionale, reticolare, gerarchico, a oggetti modelli concettuali: permettono di rappresentare i dati in modo indipendente da ogni sistema e dal modello logico su cui è basato cercano di descrivere i concetti del mondo reale sono utilizzati nelle fasi preliminari di progettazione il più noto è il modello Entità-Relazione Modelli concettuali, perché? servono per ragionare sulla realtà di interesse, indipendentemente dagli aspetti realizzativi permettono di rappresentare le classi di dati di interesse e le loro correlazioni prevedono efficaci rappresentazioni grafiche (utili anche per documentazione e comunicazione) 5

6 Progettazione concettuale Progettazione logica Progettazione fisica 6

Basi di Dati Concetti Introduttivi

Basi di Dati Concetti Introduttivi Università Magna Graecia di Catanzaro Informatica Basi di Dati Concetti Introduttivi Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Lucidi tratti da: Atzeni, Ceri,

Dettagli

Fondamenti di Teoria delle Basi di Dati

Fondamenti di Teoria delle Basi di Dati Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 1: Introduzione Obiettivi La conoscenza della teoria delle basi di dati? No (o non solo) Piuttosto: Come si può affrontare un problema in

Dettagli

DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire:

DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire: DBMS Un DBMS deve garantire: Affidabilità Privatezza dei dati Efficienza Efficacia DBMS Affidabilità Un DBMS deve garantire di poter mantenere intatto il suo contenuto, anche in caso di malfunzionamento.

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: progettazionedb.pdf Sistemi Informativi L-B Progettazione di

Dettagli

Metodologie e modelli di progetto

Metodologie e modelli di progetto Metodologie e modelli di progetto Ingg. Francesco Gullo, Giovanni Ponti D.E.I.S Università della Calabria fgullo@deis.unical.it gponti@deis.unical.it 1 I Sistemi Informativi Un sistema informativo èun

Dettagli

Basi di Dati. Concetti e Principi Generali. Maria Mirto

Basi di Dati. Concetti e Principi Generali. Maria Mirto Basi di Dati Concetti e Principi Generali Maria Mirto Organizzazione dei Dati Archivi o file Procedure di accesso in qualunque linguaggio di programmazione Duplicazione dati: ridondanza incoerenza formati

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Dettagli

Sommario. Introduzione... 13

Sommario. Introduzione... 13 Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26

Dettagli

Introduzione alle Basi di Dati

Introduzione alle Basi di Dati Introduzione alle Basi di Dati Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 1 Appunti dalle lezioni SQL

Dettagli

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11 Basi di dati DOCENTE PROF. ALBERTO BELUSSI Anno accademico 2010/11 Informazioni generali sull organizzazione Insegnamento annuale su due semestri Orario I Semestre Lunedì 11.30 13.30 (aula B) Martedì 11.30

Dettagli

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a INTRODUZIONE ALLA PROGETTAZIONE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Lezione odierna e successive Metodologia di progetto Progettazione concettuale Progettazione logica Fondamentali per il secondo

Dettagli

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Modelli dei Dati MODELLI DEI DATI Prof. Alberto Postiglione

Dettagli

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Modelli dei Dati Prof. Alberto Postiglione Università degli

Dettagli

Basi di dati 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 2012/13

Basi di dati 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 2012/13 Basi di dati 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 2012/13 Informazioni generali sull organizzazione Insegnamento annuale su due semestri Orario I Semestre Lunedì 11.30 13.30

Dettagli

SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3

SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3 SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3 Patrizio Pelliccione patrizio.pelliccione@di.univaq.it Dipartimento di Informatica Università degli Studi dell Aquila RINGRAZIAMENTI Queste slides

Dettagli

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza Definizione 1 Lezione 2 Le basi di dati Gli archivi di dati Organizzato in modo integrato attraverso tecniche di modellazione di dati Gestiti su memorie di massa Con l obiettivo Efficienza trattamento

Dettagli

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale Unione Europea Regione Sicilia Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale ISTITUTO TECNICO INDUSTRIALE STATALE G. MARCONI EDILIZIA ELETTRONICA e

Dettagli

Basi di dati. Elena Baralis Politecnico di Torino

Basi di dati. Elena Baralis Politecnico di Torino Libri di testo Atzeni, Ceri, Paraboschi, Torlone, Basi di dati, 2 a ed., McGraw Hill, 1999. Baralis, Belussi, Psaila, Basi di dati: temi d esame svolti, Esculapio, 2000. Introduzione - 2 Introduzione Sistema

Dettagli

Elementi di Informatica LB Basi di Dati. Anno accademico 2007/2008 Prof. Stefano Contadini

Elementi di Informatica LB Basi di Dati. Anno accademico 2007/2008 Prof. Stefano Contadini Elementi di Informatica LB Basi di Dati Anno accademico 2007/2008 Prof. Stefano Contadini Elementi di Informatica LB Basi di Dati Introduzione: 1. Il concetto di Base dei Dati 1 Risorse di una organizzazione

Dettagli

Pag Politecnico di Torino 1

Pag Politecnico di Torino 1 Introduzione Strutture fisiche di accesso Definizione di indici in SQL Progettazione fisica Linguaggio SQL: costrutti avanzati D B M G D B M G2 Organizzazione fisica dei dati All interno di un DBMS relazionale,

Dettagli

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 22 Introduzione ai database Prima dei DBMS, le organizzazioni utilizzavano semplici file per

Dettagli

2011 Politecnico di Torino 1

2011 Politecnico di Torino 1 SQL per le applicazioni Call Level Interface Le richieste sono inviate al DBMS per mezzo di funzioni del linguaggio ospite soluzione basata su interfacce predefinite API, Application Programming Interface

Dettagli

Ciclo di vita di un sistema informativo

Ciclo di vita di un sistema informativo Ciclo di vita di un sistema informativo 1) Studio di fattibilità definire, in maniera per quanto possibile precisa, i costi delle varie alternative possibili stabilire le priorità di realizzazione delle

Dettagli

SQL e linguaggi di programmazione Applicazioni ed SQL: architettura

SQL e linguaggi di programmazione Applicazioni ed SQL: architettura SQL e applicazioni Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, 1996-2002 Capitolo 5: SQL nei linguaggi di programmazione (versione preliminare e parziale) 16/10/2002 In applicazioni complesse,

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati

Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli Studi di Bologna Anno Accademico 2008/2009 Sommario

Dettagli

PROGRAMMAZIONE INFORMATICA SECONDO BIENNIO. Liceo Scientifico opzione Scienze Applicate

PROGRAMMAZIONE INFORMATICA SECONDO BIENNIO. Liceo Scientifico opzione Scienze Applicate PROGRAMMAZIONE INFORMATICA SECONDO BIENNIO Liceo Scientifico opzione Scienze Applicate Anno scolastico 2017-2018 Programmazione di Informatica pag. 2 / 7 INFORMATICA - SECONDO BIENNIO OBIETTIVI SPECIFICI

Dettagli

Corso di Laurea in Informatica Basi di Dati a.a

Corso di Laurea in Informatica Basi di Dati a.a Corso di Laurea in Informatica Basi di Dati a.a. 2012-2013 Laboratorio 31B Esercitatori : Ing. G. Laboccetta Dott.ssa V. Policicchio Progetto Didattico Durante le lezioni saranno realizzate tutte le fasi

Dettagli

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI LE BASI DI DATI Prima parte Premesse introduttive I MODELLI DEI DATI MODELLAZIONE DEI DATI Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la natura

Dettagli

Modello Entità - Relazione. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G2 D B M G4 D B M G6. Progettazione di basi di dati

Modello Entità - Relazione. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G2 D B M G4 D B M G6. Progettazione di basi di dati di basi di dati Modello Entità-Relazione concettuale logica Normalizzazione Sistemi informativi D B M G D B M G2 Modello Entità-Relazione di basi di dati di basi di dati Entità e relazioni Attributi Identificatori

Dettagli

D B M G D B M G 2. Sistemi informativi. Progettazione di basi di dati

D B M G D B M G 2. Sistemi informativi. Progettazione di basi di dati Sistemi informativi D B M G Progettazione di basi di dati Modello Entità-Relazione Progettazione concettuale Progettazione logica Normalizzazione D B M G 2 1 Progettazione di basi di dati D B M G Modello

Dettagli

ARCHITETTURA DI UN DBMS

ARCHITETTURA DI UN DBMS ARCHITETTURA DI UN DBMS Modelli di dati Un approccio con basi di dati fornisce un certo livello di astrazione dei dati Nasconde i dettagli sulla memorizzazione dei dati stessi Un modello dei dati fornisce

Dettagli

LA PROGETTAZIONE DELLA BASE DI DATI. la progettazione della base di dati 1

LA PROGETTAZIONE DELLA BASE DI DATI. la progettazione della base di dati 1 LA PROGETTAZIONE DELLA BASE DI DATI la progettazione della base di dati 1 Il progetto della base di dati si inserisce nel: Ciclo di vita del sistema informativo comprendente in generale le seguenti attività:

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Sistemi Informativi L Corso di Laurea in Ingegneria dei Processi Gestionali A.A. 2003/2004 Docente: Prof. Wilma Penzo Progettazione di basi di dati È una delle attività del

Dettagli

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1 ECDL - Database Introduzione European Computer Driving Licence - Modulo 5 - Database LEZIONE 1 Informazioni sul corso orario: Giovedì - 14.30-16.30 materiale: http://www.fotoboni.com/carlo/ docente: webmaster@fotoboni.com

Dettagli

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive Note introduttive Il metodo di lavoro proposto ripercorre il ciclo di vita di un sistema informativo automatizzato attraverso l analisi, il progetto, la realizzazione e il testing. Il sistema informativo

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple

Dettagli

Informatica per le Scienze Umane. Introduzione al corso: programma

Informatica per le Scienze Umane. Introduzione al corso: programma Informatica per le Scienze Umane Introduzione al corso: programma 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle informazioni

Dettagli

Corso di Informatica. Software di produttività personale e database. Ing Pasquale Rota

Corso di Informatica. Software di produttività personale e database. Ing Pasquale Rota Corso di Software di produttività personale e database Ing Pasquale Rota Argomenti I programmi di produttività personale Le basi di dati Fogli elettronici Software di produttività personale e database

Dettagli

Basi di dati attive. Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger).

Basi di dati attive. Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger). Basi di dati attive Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger). Tali regole vengono attivate in modo automatico al verificarsi

Dettagli

Librerie digitali. Uso di XML per memorizzare i metadati. Descrizione generale. XML per memorizzare i metadati. Motivi dell uso di XML

Librerie digitali. Uso di XML per memorizzare i metadati. Descrizione generale. XML per memorizzare i metadati. Motivi dell uso di XML Librerie digitali Uso di XML per memorizzare i metadati Descrizione generale Ad ogni dato associo un file XML che descrive il contenuto del dato stesso Memorizzo su file system sia il dato sia il file

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,

Dettagli

Corso di Laurea in Informatica Basi di Dati a.a

Corso di Laurea in Informatica Basi di Dati a.a Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio 31B Esercitatori : Ing. G. Laboccetta Dott.ssa V. Policicchio Presentazione delle lezioni di laboratorio: finalità del corso modalità

Dettagli

Trigger. Basi di dati attive. Trigger: regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi

Trigger. Basi di dati attive. Trigger: regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi Basi di dati attive : regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi Oggi fanno parte dello standard SLQ-99 In passato ogni DBMS li implementava seguendo

Dettagli

REGIONE BASILICATA UFFICIO S. I. R. S.

REGIONE BASILICATA UFFICIO S. I. R. S. UFFICIO S. I. R. S. Modellazione dati Id Base Dati CONTROLLO DEL DOCUMENTO APPROVAZIONI Redatto da: Approvato da: Data Autore Ing. Vincenzo Fiore VARIAZIONI Versione prec. Data Autore Paragrafi modificati

Dettagli

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato Informatica per le Scienze Umane Introduzione al corso: programma dettagliato 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione

INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione 2.1c: MODELLI DEI DATI MODELLI DEI DATI Atzeni, cap. 1.3 DBMS: Modelli dei Dati 10 ott 2011 Dia 3 Modelli Logici e Modelli Concettuali Modelli Logici (disponibili sui DBMS commerciali) E un insieme di

Dettagli

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è

Dettagli

PROGRAMMAZIONE. INFORMATICA SECONDO BIENNIO Opzione Scienze Applicate

PROGRAMMAZIONE. INFORMATICA SECONDO BIENNIO Opzione Scienze Applicate PROGRAMMAZIONE INFORMATICA SECONDO BIENNIO Opzione Scienze Applicate Anno scolastico 2016-2017 Programmazione di Informatica pag. 2 / 5 INFORMATICA - SECONDO BIENNIO OBIETTIVI SPECIFICI DI APPRENDIMENTO

Dettagli

Basi di dati. Giuseppe De Giacomo. Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma

Basi di dati. Giuseppe De Giacomo. Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Basi di dati Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2007/08 Canale M-Z http://www.dis.uniroma1.it/!degiacomo/didattica/basidati/

Dettagli

I DATI E LA LORO INTEGRAZIONE 63 4/001.0

I DATI E LA LORO INTEGRAZIONE 63 4/001.0 I DATI E LA LORO INTEGRAZIONE 63 4/001.0 L INTEGRAZIONE DEI DATI INTEGRAZIONE DEI DATI SIGNIFICA LA CONDIVISIONE DEGLI ARCHIVI DA PARTE DI PIÙ AREE FUNZIONALI, PROCESSI E PROCEDURE AUTOMATIZZATE NELL AMBITO

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

Basi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive

Basi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive Basi di dati attive Paolo Atzeni Stefano Ceri Basi di dati attive BD con componente per la gestione di regole Evento- Condizione-Azione (regole di produzione): eventi: normalmente modifiche della base

Dettagli

Che cos è l informatica?

Che cos è l informatica? BASI DI DATI Metodo di studio riflessione sui concetti, riferimento alle esperienze personali svolgimento di esercizi svolgimento di un progetto, realizzato con un opportuno strumento (MS Access) Che cos

Dettagli

Informatica per l Ambiente e il Territorio

Informatica per l Ambiente e il Territorio Corso di Laurea in Ingegneria per l Ambiente e il Territorio Informatica per l Ambiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea A.A. 2003-2004 Obiettivi del corso Il corso

Dettagli

PROGRAMMAZIONE DISCIPLINARE DIPARTIMENTALEDI INFORMATICA

PROGRAMMAZIONE DISCIPLINARE DIPARTIMENTALEDI INFORMATICA I.I.S. G. CENA ISTITUTO D ISTRUZIONE SUPERIORE G. CENA - Ivrea SEZIONE TECNICA ANNO SCOLASTICO 2016/2017 PROGRAMMAZIONE DISCIPLINARE DIPARTIMENTALEDI INFORMATICA DOCENTI Francisco Ezio, Nespolo Donatella,

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)

Dettagli

Linguaggi, Traduttori e le Basi della Programmazione

Linguaggi, Traduttori e le Basi della Programmazione Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi

Dettagli

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Ingegneria del Software. Modelli di produzione del software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. Concetti di base Sommario 2. 2.1 Modello a cascata 2.2 Modelli incrementali 2.3 Modelli evolutivi 2.4 Modelli agili

Dettagli

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Corso di Basi di Dati/Laboratorio di Basi di Dati

Corso di Basi di Dati/Laboratorio di Basi di Dati Corso di Basi di Dati/Laboratorio di Basi di Dati ed. 2007-2008 Alfredo Cuzzocrea (ICAR & DEIS, Università della Calabria) 0984-494618 cuzzocrea@si.deis.unical.it http://si.deis.unical.it/~cuzzocrea SITO

Dettagli

Componenti di un DBMS

Componenti di un DBMS Componenti di un DBMS Come fa un DBMS a garantire le proprietà ACIDe di una transazione? Vediamo i componenti principali dal più interno a quello di più alto livello: Controllore di Concorrenza Gestore

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 6 Raffaella Gentilini 1 / 40 Sommario 1 Viste 2 3 2 / 40 Viste Viste le viste sono tabelle virtuali corrispondono al risultato di una query (SELECT) valutata

Dettagli

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi che aggiungono via via più

Dettagli

Viene richiesto di MIN CARD(S,E) = 1 UPDATE DELETE MAX CARD(S,E) = 3 INSERT UPDATE

Viene richiesto di MIN CARD(S,E) = 1 UPDATE DELETE MAX CARD(S,E) = 3 INSERT UPDATE Dato il seguente schema E/R E la sua traduzione nel seguente schema relazionale: disponibile in http://www.dbgroup.unimo.it/sire/20110513/20110513.bak Viene richiesto di 1) Risolvere la seguente interrogazione

Dettagli

SISTEMI INFORMATIVI E DATABASE

SISTEMI INFORMATIVI E DATABASE SISTEMI INFORMATIVI E DATABASE SISTEMA INFORMATIVO AZIENDALE (S.I.) In una realtà aziendale si distingue: DATO elemento di conoscenza privo di qualsiasi elaborazione; insieme di simboli e caratteri. (274,

Dettagli

cap.6 del testo a cosa servono i tipi nei linguaggi di programmazione cos è un linguaggio type safe

cap.6 del testo a cosa servono i tipi nei linguaggi di programmazione cos è un linguaggio type safe cap.6 del testo a cosa servono i tipi nei linguaggi di programmazione cos è un linguaggio type safe 1 tipi statici e tipi dinamici in generale i LP hanno tipi statici, cioè ogni variabile ha un tipo dichiarato

Dettagli

SQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"

SQL. SQL: storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. standard di fatto SQL SQL: "storia Sviluppato nella metà degli anni settanta (194) presso il laboratorio di ricerca IBM di S.Josè Dal 1983 ca. "standard di fatto" E il linguaggio di riferimento per l interrogazione di DBMS

Dettagli

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Algebra Relazionale 1 Linguaggi di interrogazione relazionale Linguaggi di interrogazione: permettono la manipolazione e il reperimento di dati da una base di dati Il modello relazionale supporta LI semplici

Dettagli

Sistema azienda. Sistema azienda (o sistema della organizzazione) uno o più obiettivi, o fini istituzionali

Sistema azienda. Sistema azienda (o sistema della organizzazione) uno o più obiettivi, o fini istituzionali Sistema azienda Sistema azienda (o sistema della organizzazione) uno o più obiettivi, o fini istituzionali una struttura, cioè un insieme di parti, sottoinsiemi, risorse i processi, cioè le attività che

Dettagli

Basi di dati Introduzione

Basi di dati Introduzione Basi di dati Introduzione Docente: Stefano Paraboschi parabosc@unibg.it Corso di Sistemi informativi AA 2005/2006 Orario: Lunedì 10.45-12.15, aula 10 Martedì 8.45-10.15, aula 8 Pagina Web del corso: raggiungibile

Dettagli

Esercitazione 4: Trigger in DB2

Esercitazione 4: Trigger in DB2 Esercitazione 4: Trigger in DB2 Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: esercitazione4.pdf Sistemi Informativi L-B Definire trigger

Dettagli

Basi di dati Basi di dati per bioinformatica

Basi di dati Basi di dati per bioinformatica Basi di dati Basi di dati per bioinformatica DOCENTI PROF. ALBERTO BELUSSI PROF CARLO COMBI Anno accademico 2013/14 Organizzazione degli insegnamenti 3 Basi di dati Basi di dati per Bioinformatica Teoria

Dettagli

CURRICOLO DIPARTIMENTO INFORMATICA PRIMO BIENNIO

CURRICOLO DIPARTIMENTO INFORMATICA PRIMO BIENNIO dei limiti nel contesto culturale e sociale in cui vengono applicate CURRICOLO PARTIMENTO INFORMATICA PRIMO BIENNIO MODULO 1 Concetti di base della tecnologia dell informazione Acquisire e interpretare

Dettagli

Linguaggi e Ambienti di Programmazione

Linguaggi e Ambienti di Programmazione Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi

Dettagli

La gestione delle interrogazioni

La gestione delle interrogazioni La gestione delle interrogazioni Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 1 Appunti dalle lezioni Esecuzione e ottimizzazione delle query Un modulo del DBMS Query processor

Dettagli

Programma Master Programmatore Java

Programma Master Programmatore Java Programma Master Programmatore Java PCAcademy Via Capodistria 12 Tel.: 06.97.84.22.16 06.85.34.44.76 Cell. 393.93.64.122 - Fax: 06.91.65.92.92 www.pcacademy.it info@pcacademy.it Informazioni generali La

Dettagli

Perché il linguaggio C?

Perché il linguaggio C? Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare

Dettagli

JDBC. Marco Tessarotto Programmazione dei Web Server Anno Accademico

JDBC. Marco Tessarotto Programmazione dei Web Server Anno Accademico JDBC Marco Tessarotto Programmazione dei Web Server Anno Accademico 2004-2005 JDBC JDBC (Java Database Connectivity) è una API Java per accedere ed elaborare dati in una sorgente dati (di solito un db

Dettagli

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida

Dettagli

Caratteristiche dei linguaggi per Database

Caratteristiche dei linguaggi per Database IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;

Dettagli

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Introduzione ad UML E. TINELLI UML È un linguaggio (e notazione) universale per rappresentare qualunque

Dettagli

SQL - Sottointerrogazioni

SQL - Sottointerrogazioni una delle ragioni che rendono SQL un linguaggio potente è la possibilità di esprimere interrogazioni più complesse in termini di interrogazioni più semplici, tramite il meccanismo delle subqueries (sottointerrogazioni)

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Basi di Dati Sistema informativo Componente

Dettagli

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono BASI DI DATI Una base di dati (database) è un insieme organizzato di informazioni caratterizzate da alcuni aspetti fondamentali: tra esse esiste un nesso logico (cioè sono in qualche modo inerenti ad un

Dettagli

INFORMATICA PER LE SCIENZE UMANE a.a. 2016/2017

INFORMATICA PER LE SCIENZE UMANE a.a. 2016/2017 INFORMATICA PER LE SCIENZE UMANE a.a. 2016/2017 Francesca Levi Dipartimento di Informatica E-mail: francesca.levi@unipi.it levifran@di.unipi.it Francesca Levi Dipartimento di Informatica Informatica per

Dettagli

Le basi di dati. Le basi di dati. dalla teoria all'utilizzo di tutti i giorni. Alessandro Tanasi

Le basi di dati. Le basi di dati. dalla teoria all'utilizzo di tutti i giorni. Alessandro Tanasi Le basi di dati Le basi di dati dalla teoria all'utilizzo di tutti i giorni Alessandro Tanasi alessandro@lonerunners.net http://www.lonerunners.net 1 Sistemi Informativi Il problema: organizzare dati in

Dettagli

Basi di dati Modelli e linguaggi di interrogazione

Basi di dati Modelli e linguaggi di interrogazione Paolo Atzeni Stefano Ceri Stefano Paraboschi Riccardo Torlone Basi di dati Modelli e linguaggi di interrogazione web site McGraw-Hill IUAV - VENEZIA H 9882 BIBLIOTECA CENTRALE Paolo Atzeni Stefano Ceri

Dettagli

Basi di dati. Progettazione di basi di dati: Metodologie e modelli

Basi di dati. Progettazione di basi di dati: Metodologie e modelli Basi di dati Progettazione di basi di dati: Metodologie e modelli Perché preoccuparci? Proviamo a modellare una applicazione definendo direttamente lo schema logico della base di dati: da dove cominciamo?

Dettagli

Servlet & JDBC. Alberto Belussi. anno accademico 2008/2009

Servlet & JDBC. Alberto Belussi. anno accademico 2008/2009 Servlet & JDBC Alberto Belussi anno accademico 2008/2009 Servlet: interazione con un DBMS In Java è possibile interagire con un DBMS attraverso l uso della libreria JDBC (Java Database Connectivity). http://java.sun.com/javase/technologies/database

Dettagli

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012. Basi di dati

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012. Basi di dati Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Basi di dati Le presenti slide sono tratte dalle slide del libro

Dettagli

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a. 2012-2013 2013 Docente: Gigliola Vaglini Docenti laboratorio: Francesco Pistolesi,, Antonio Virdis 1 Obiettivi

Dettagli

Servlet & JDBC ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Servlet: interazione con un DBMS. In Java è possibile interagire con un DBMS attraverso

Servlet & JDBC ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Servlet: interazione con un DBMS. In Java è possibile interagire con un DBMS attraverso Servlet & JDBC 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Servlet: interazione con un DBMS In Java è possibile interagire con un DBMS attraverso l uso della libreria JDBC (Java Database Connectivity).

Dettagli

Capitolo 5. Soluzione: Soluzione in C:

Capitolo 5. Soluzione: Soluzione in C: Capitolo 5 Esercizio 5.1 Realizzare una procedura in un linguaggio di programmazione di alto livello che tramite SQL Embedded elimina dalla tabella DIPARTIMENTO l'elemento che ha il nome che viene fornito

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ SQL (Structured Query Language) e il linguaggio di riferimento per le basi di dati relazionali. Diverse

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2016/2017 7 SQL : Check, Asserzioni,Viste Tiziana Catarci Ultimo aggiornamento : 22/02/2017 Costrutti Avanzati

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL : fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire

Dettagli