5. Database relazionali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "5. Database relazionali"

Transcript

1 Corso di Laurea in Matema1ca Dipar9mento di Matema9ca e Fisica Sistemi per l elaborazione delle informazioni 5. Database relazionali Dispense del corso IN530 prof. Marco Liverani Archivi informa1ci (digitali) L archiviazione dei da9 è una delle applicazioni più diffuse ed importan9 dei calcolatori Tra gli obieqvi dell archiviazione informa9ca dei da9 evidenziamo i seguen9: Garan9re una elevata capacità di archiviazione Garan9re il recupero efficiente delle informazioni archiviate Garan9re la possibilità di selezionare in modo efficiente le informazioni desiderate Garan9re l integrità fisica e logica delle informazioni archiviate Garan9re la possibilità di u9lizzare le informazioni archiviate atraverso diversi strumen1 informa1ci Garan9re la protezione delle informazioni archiviate, impedendo la letura o l alterazione delle informazioni da parte di persone non autorizzate a farlo M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 1

2 Archiviazione su file Ogni programma applica9vo può archiviare su file i da9 di propria competenza Questo 9po di archiviazione tutavia non 9ene conto di alcuni aspeq importan9: Il formato con cui sono memorizzate le informazioni su file è arbitrario, non standard Altre applicazioni so[ware possono accedere ai da9 solo se il formato dei da1 ed il loro significato vengono resi no9 da chi ha progetato l applicazione di archiviazione (oggi si usa frequentemente una codifica XML, che in parte risolve questa problema9ca) Devono essere ges9te situazioni di accesso concorrente Chi sviluppa il so[ware di archiviazione deve farsi carico anche degli aspeg fisici : efficienza nella scritura e nella selezione delle informazioni, protezione delle informazioni riservate, modalità di accesso ai file, ecc. Database Management System Per far fronte a ques9 problemi, a par9re dagli anni 70 sono state sviluppate applicazioni dedicate all archiviazione di informazioni: DBMS, DataBase Management System CaraTeris9che di una base da9 ges9ta atraverso un DBMS: Può avere una grande dimensione (anche superiore a quella di un singolo disco del computer) Può essere condivisa tra più applicazioni È persistente È affidabile, il DBMS fornisce strumen9 per mantenere integro e ges9re dei backup della base da9 È sicuro e garan1sce la riservatezza, consente il controllo degli accessi, solo gli uten9 autorizza9 possono accedere ai da9 È efficiente: le operazioni elementari sull archivio vengono eseguite molto rapidamente È standard: i programmi hanno un interfaccia astrata e di alto livello per scrivere e leggere informazioni sull archivio presente sulla memoria secondaria È disaccoppiato dall applicazione: la componente so[ware di ges9one dei da9 sull archivio informa9co è dis9nta dalla componente so[ware che implementa la logica di business con cui si opera sui da9 È accessibile via rete: il DBMS può operare su una macchina dis9nta da quella su cui viene eseguita l applicazione che u9lizza i da9 dell archivio; l applicazione è inconsapevole della dislocazione fisica del DBMS, si collega al DBMS comunque via rete, anche se il DBMS è sulla stessa macchina su cui gira l applicazione Oggi sul mercato e sui canali del so[ware open source esistono numerosissimi prodog DBMS affidabili: Oracle Database, Microso[ SQL Server, IBM DB/2, MySQL, PostgresSQL, ecc. M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 2

3 Modello di database Ogni DBMS u9lizza un modello astraoo atraverso cui rappresentare le informazioni (e trasformare i singoli da9 in vere e proprie informazioni) Negli anni sono sta9 propos9 diversi modelli, tra i quali: Gerarchico, ad albero Re9colare Relazionale Relazionale ad oggeq Il modello che ci interessa è il modello relazionale, progetato nei laboratori di ricerca di IBM negli anni 70 ed oggi divenuto lo standard di fa7o per le basi di da9 e degli strumen9 DBMS: si parla infaq di RDBMS = rela:onal database management system Il modello relazionale è basato sul conceto di relazione (nel senso algebrico del termine) e di tabella (conceto intui9vo) Data una collezione di insiemi A 1, A 2,, A n, il prodooo cartesiano A 1 A 2 A n è l insieme delle n- ple {(a 1, a 2,, a n ) tali che a i A i i=1,, n} Una relazione su A 1, A 2,, A n è un sotoinsieme del prodoto cartesiano A 1 A 2 A n Relazioni tra insiemi Studen- Corsi Olivieri IN110 Pestrin Simeone AL110 CR210 Fabrianesi Piroso IN440 AM110 Nunzi M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 3

4 Relazioni e prodooo cartesiano Studente Corso Olivieri IN110 Olivieri CR210 Olivieri AL110 Relazione Olivieri Olivieri AM110 IN440 Prodo7o cartesiano Simeone IN110 Simeone CR210 Simeone AL110 Domini e aoribu1 Nell ambito della teoria relazionale dei da9 è u9le poter considerare le n- ple di una relazione come sequenze non ordinate (a differenza di quanto avviene nella teoria degli insiemi) Quindi ad esempio (a 1, a 2, a 3 ) = (a 3, a 1, a 2 ) In questo caso, per dis9nguere i da9 presen9 in una n- pla, è u9le assegnare dei nomi ai valori delle n- ple; tali nomi vengono deq aoribu1 L insieme A i (finito o infinito) dei valori che un certo atributo può assumere è il dominio dell atributo stesso M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 4

5 Relazioni e tabelle È possibile rappresentare una relazione mediante una tabella: Relazione X ATributo A ATributo B ATributo C A 1 B 7 C 4 A 9 B 7 C 1 Il numero di colonne (il numero di atribu9) è il grado della relazione Il numero di righe è la cardinalità della relazione La relazione dell esempio ha cardinalità 2 e grado 3 Chiavi primarie Consideriamo la seguente relazione rappresentata mediante una tabella: Esami Studente Matricola Corso Docente Voto Bianchi IN110 Liverani 24 Verdi AL210 Fontana 27 Rossi IN110 Liverani 25 Bianchi AL210 Fontana 22 Una chiave primaria (primary key) è un campo (atributo) o un insieme di campi della tabella che permetono di individuare univocamente un record (riga della tabella) Nell esempio la chiave primaria è la coppia Matricola + Corso M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 5

6 Chiavi esterne e correlazioni fra tabelle Per ridurre la ridondanza dei da9 (evitare ripe9zioni inu9li) è possibile suddividere le informazioni su più tabelle: Studente Matricola Nome Bianchi Verdi Rossi Corso Nome Docente AL110 Fontana IN110 Liverani Corso Matricola Voto IN AL IN AL Le chiavi esterne (foreign key) sono atribu9 di una tabella X che consentono di correlare il record con un record di una tabella Y atraverso la ripe9zione del valore della chiave primaria della tabella Y Diagramma En1tà/Relazioni In questo modo è possibile costruire una rappresentazione dei da9 atraverso un diagramma (un grafo) che rappresenta le relazioni esisten1 fra le varie en1tà Le relazioni possono essere di tre 9pi: 1:1 : ad ogni record dell en9tà A corrisponde uno ed un solo record dell en9tà B 1:M : ad ogni record dell en9tà A corrispondono diversi record dell en9tà B M:M : ad ogni record di A corrispondono mol9 record di B e viceversa. Studente Corso 1:M M:1 M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 6

7 Diagramma En1tà/Relazioni La relazione viene espressa mediante un verbo o un sostan9vo, rappresentato con un rombo collegato a due en9tà Anche le relazioni, come le en9tà, possono essere caraterizzate da atribu9 Nome Matr. Docente Anno Studente CFU SSD Corso Sos9ene Appello Aula Voto n. iscrid Data Data Diagramma En1tà/Relazioni Di seguito un modello E/R più complesso, parte di un database relazionale di un sistema aziendale M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 7

8 Modello fisico della base da1 Nel modello fisico le en:tà e le relazioni sono rappresentate mediante tabelle collegate tra loro mediante le chiavi primarie e le chiavi esterne Modello fisico della base da1 Ad esempio il modello E/R rela9vo agli studen9, ai corsi e agli esami, può essere tradoto nel modello fisico rappresentato in figura Studente Matricola (PK) Nominativo Iscritto IdStudente (FK) IdCorso (FK) Anno Corso IdCorso (PK) Anno (PK) Nome Docente CFU SSD Sostiene IdStudente (FK) Id (FK) Data Voto IdCorso (FK) Anno (FK) Id (FK) Data N_iscritti Aula M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 8

9 OGmizzazione di una base da1 La possibilità di definire correlazioni tra le en9tà del database ci permete di ogmizzarne la struoura L operazione di oqmizzazione consiste nella suddivisione dei da9 su tabelle dis9nte, in modo da ridurre la ridondanza; questa aqvità si chiama normalizzazione della base da1 Esempio di base da9 non normalizzata Esami Nome Matricola AL210 Prof_AL210 IN110 Prof_IN110 GE110 Prof_GE110 Rossi Fontana 22 Liverani - Lopez Verdi Fontana - Liverani 27 Lopez Bianchi Fontana 30 Liverani 26 Lopez Finalità della normalizzazione Perché normalizzare la base da9? Per risolvere i seguen9 problemi: ridondanza: inu9le ripe9zione di uno stesso dato anomalia di aggiornamento: per mantenere integre e coeren9 le informazioni è necessario modificare più volte uno stesso dato anomalia di cancellazione: eliminando un informazione dal database se ne perdono anche altre anomalia di inserimento: non è possibile inserire informazioni incomplete, anche quando sarebbe necessario farlo Esami Nome Matricola AL210 Prof_AL210 IN110 Prof_IN110 GE110 Prof_GE110 Rossi Fontana 22 Liverani - Lopez Verdi Fontana - Liverani 27 Lopez Bianchi Fontana 30 Liverani 26 Lopez M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 9

10 Forme normali Esistono delle regole che devono essere rispetate dalla base da9 affinché questa sia corretamente normalizzata; queste regole sono note come forme normali Prima forma normale in una tabella non possono esistere colonne definite per contenere una molteplicità di valori NO! Matr Esami Esami sostenu9 AL110 IN110 GE110 IN Matr Corso Voto AL GE IN IN OK! Forme normali Seconda forma normale in una tabella in cui la chiave primaria è composta da più a7ribu: tu7e le colonne devono dipendere dalla chiave primaria NO! Matr Corso Voto Docente AL Fontana GE Lopez IN Liverani AL Fontana Matr Corso Voto AL GE IN OK! IN Corso Nome Docente AL110 Fontana GE110 Lopez IN110 Liverani M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 10

11 Forme normali Terza forma normale Non esistono dipendenze tra colonne di una tabella se non basate sulla chiave primaria NO! Matr Corso Voto Credi AL GE IN IN Corso Nome AL110 GE110 IN110 Docente Fontana Lopez Liverani Matr Corso Voto AL GE IN IN Corso OK! Nome Docente Credi9 AL410 Fontana 6 IN440 Liverani 7 IN110 Liverani 10 Forme normali Forma normale di Boyce e Codd Una tabella è in forma normale se per ogni dipendenza funzionale A B definita su di essa, A con:ene una chiave della tabella. Matr Corso Voto Docente Credi9 Studente AL Fontana 10 Rossi GE Lopez 10 Bianchi IN Liverani 10 Rossi IN Fontana 7 Verdi NO! Dipendenze funzionali: A B: il valore di A determina il valore di B Corso Docente Corso Credi9 Matricola, Corso Voto Matricola Studente M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 11

12 Forme normali Forma normale di Boyce e Codd Una tabella è in forma normale se per ogni dipendenza funzionale A B definita su di essa, A con:ene una chiave della tabella. Matr Corso Voto AL GE IN IN Studente Matricola Nome Bianchi Verdi Rossi Corso Nome Docente Credi9 AL110 Fontana 10 GE110 Lopez 10 IN110 Liverani 10 OK! Dipendenze funzionali: A B: il valore di A determina il valore di B Corso Docente Corso Credi9 Matricola, Corso Voto Matricola Studente Linguaggio SQL: caraoeris1che Per operare su una base da9 relazionale è stato progetato un linguaggio standard: SQL (Structured Query Language) È un linguaggio di interrogazione e manipolazione della base da9 e delle informazioni in essa contenute Non è un linguaggio impera9vo/procedurale, è un linguaggio dichiara1vo: manca dei conceq di variabile e di stru7ura di controllo algoritmica, 9pica dei linguaggi impera9vi e della programmazione struturata È cos9tuito da tre insiemi di istruzioni: DDL (Data Defini:on Language): per definire la strutura della base da9 DCL (Data Control Language): per ges9re i criteri di protezione e di accesso ai da9 DML (Data Manipula:on Language): per operare sui da9 M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 12

13 Data Defini1on Language È il set di istruzioni di SQL per la definizione della strutura della base da9. Sono tre le istruzioni principali del DDL: create: per la creazione di database, tabelle, indici, viste, ecc. alter: per la modifica della strutura di una tabella o di altri oggeq interni ad una base da9 drop: per l eliminazione di una tabelle, di un intero database o di altri oggeq Creazione di un database: create database studenti; Cancellazione di un database: drop database studenti; Dominio di definizione degli aoribu1 Definire una tabella significa definirne gli aoribu1 e il dominio degli stessi atribu9 I domini sono quelli 9pici di ogni linguaggio di programmazione: numeri interi (int, integer) numeri floa1ng point (float, real, double) stringhe di caraoeri (char, varchar) date (date, 9me, 9mestamp) Altri 9pi possono essere defini9 sulla base di specifiche 9piche di un determinato RDBMS Ogni atributo può essere anche caraterizzato da un valore di default e una serie di vincoli (es. not null per i campi obbligatori di una tabella) Tra i vincoli vi è la possibilità di aggiungere un atributo alla chiave primaria della tabella o l atributo di chiave esterna referenziando uno o più campi chiave di un altra tabella M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 13

14 Creazione di una tabella Nell esempio riportato di seguito vengono create due tabelle denominate corso ed esame (usando la sintassi di MySQL): create table corso ( sigla char(5) not null primary key, nome char(20) not null, docente char(30), crediti integer default 6 ) engine=innodb; create table esame ( s_corso char(5) not null references corso.sigla, matr_studente char(10) not null references studente.matricola, voto integer not null, primary key (s_corso, matr_studente) foreign key (s_corso) references corso(sigla) on update cascade on delete restrict, foreign key (matr_studente) references studente(matricola) on update cascade on delete cascade ) engine=innodb; Indici sulle tabelle Per rendere più efficiente l operazione di selezione dei da9 presen9 su una tabella, è possibile creare uno o più indici su una stessa tabella Se una tabella è priva di indici, l unico metodo per cercare da9 che corrispondono ad un determinato criterio, è quello di eseguire un full table scan, ossia una scansione dell intera tabella su cui si esegue la ricerca: il tempo richiesto è lineare nel numero di righe della tabella (complessità O(n)) L indice è una strutura da9 che consente di migliorare i tempi di ricerca delle informazioni presen9 in una tabella L indice è spesso una strutura da9 ad albero (alberi binari, alberi R- B, ecc.) costruita sui valori di una specifica colonna di una tabella di database (es.: il campo cognome di una tabella anagrafica): in questo modo il tempo di ricerca diventa logaritmico, anziché lineare: O(log 2 n) Su una stessa tabella possono essere defini9 più indici su più campi Esempio: create index nominativo on studente (cognome) Dopo varie operazioni di inserimento e cancellazione sui record di una tabella, l indice è probabilmente sbilanciato e quindi non più efficace: in tali casi è sufficiente eliminare l indice (drop index nominativo) e ricrearlo dopo qualche istante M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 14

15 Indici sulle tabelle Studente Matricola Nome Cognome Mario Rossi Anna Bianchi Elena Neri Chiara Aldi Ugo Mei Aldo Bruni Irene Sassi Bianchi Mei Tabella con n righe: per cercare un dato devo scorrerla per intero (n operazioni di confronto) Rossi Indice sull atributo cognome : è un albero parzialmente ordinato la cui altezza è vicina a log 2 n Aldi Bruni Neri Sassi Data Control Language È il set di istruzioni di SQL per la definizione dei permessi di accesso sui database e sulle tabelle e per la ges9one degli account utente. Sono due le istruzioni principali del DCL: grant: per assegnare un determinato permesso ad un utente revoke: revocare un determinato permesso ad un utente Concessione di permessi: grant privilegi on risorsa to uten: with grant option; Esempio: grant select on studenti to liverani; M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 15

16 Data Manipula1on Language È il set di istruzioni di SQL per la ges1one delle informazioni presen9 nella base da9 Sono quatro le istruzioni principali del DML: insert: per inserire da9 in una tabella select: per selezionare in base a determina9 criteri o condizioni i da9 presen9 in una o più tabelle update: per modificare i da9 di una tabella sulla base di un determinato criterio di selezione delete: per eliminare i record di una tabella corrisponden9 ad una determinata condizione Inserimento da1 L istruzione insert consente di inserire un insieme di valori nei campi di un solo record in una tabella: l ordine con cui vengono forni9 i valori ai diversi campi, sono specifica9 elencando nello stesso ordine i nomi degli atribu9 corrisponden9 Le stringhe di caraoeri devono essere delimitate da apici; se la stringa con9ene un apice, questo va riportato due volte esempio: Maria Giovanna, Guido Dell Acqua, Le date devono essere indicate nel formato specifico del DBMS (es.: aaaa- mm- gg, come ) Sintassi dell istruzione insert: insert into tabella (campo 1,, campo k ) values (valore 1,, valore k ); Esempio: insert into corso (sigla, cfu, nome, docente) values ( IN110, 10, Informatica 1, Liverani Marco ); M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 16

17 Selezione di record L istruzione select consente di leggere informazioni presen9 sul database, selezionando il risultato da una o più tabelle, mediante apposite condizioni che consentono di scegliere tra i record presen9 in archivio, quelli da visualizzare in output Sintassi dell istruzione select: select tabella 1.campo 1,, tabella h.campo k from tabella 1,, tabella h where condizione order by tabella i.campo i,, tabella j.campo j ; Esempio: select (corso.sigla, corso.nome, corso.docente) from corso where crediti>=6 order by corso.docente, corso.sigla; Anche il risultato di una select è una tabella: una select su una o più tabelle produce una tabella Join È possibile eseguire operazioni di selezione che coinvolgano più tabelle grazie alle correlazioni stabilite tra queste atraverso le chiavi primarie e le chiavi esterne Questa operazione si chiama join Esempio: select studente.nome, studente.cognome, corso.nome, esame.voto from studente, corso, esame where studente.matricola=esame.matr_studente and esame.s_corso=corso.sigla order by esame.voto; M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 17

18 Join e prodooo cartesiano di tabelle Ogni operazione di join fra più tabelle consiste innanzi tuto in un prodooo cartesiano tra le tabelle coinvolte nella select Dalla relazione (tabella) otenuta come prodoto cartesiano si selezionano solo le righe che corrispondono con la where condi:on Una operazione di join può essere quindi molto onerosa per la macchina: la base da9 deve essere progetata in modo da minimizzare il numero di join necessarie per otenere le informazioni di interesse Join e prodooo cartesiano di tabelle Matr Corso Voto AL GE IN Studente Matricola Nome Bianchi Verdi Rossi select esame.corso, esame.voto, studente.nome from esame, studente where esame.matr=studente.matricola; Join: esame studente Matr Corso Voto Matricola Nome AL Bianchi AL Verdi AL Rossi GE Bianchi GE Verdi M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 18

19 Aggiornamento L istruzione update consente di modificare alcuni dei valori assegna9 ai campi di una tabella dei record che soddisfano determinate condizioni Sintassi dell istruzione update: update tabella set campo 1 =valore 1,, campo k =valore k where condizione; Esempio: update studente set nome= Mori where matricola=102030; ATenzione: una istruzione update priva di una condizione esegue l aggiornamento su tuoe le righe (record) della tabella Cancellazione L istruzione delete permete di eliminare i record di una tabella che soddisfano una determinata condizione Sintassi dell istruzione delete: delete from tabella where condizione; Esempio: delete from studente where nome like Mo% or matricola=213243; ATenzione: una istruzione delete priva di una condizione esegue la cancellazione di tug i record (tute le righe) della tabella L operatore like permete di confrontare il valore di un campo con una parte di una stringa, u9lizzando il caratere jolly % Nell esempio elimina i record della tabella studente in cui il campo nome inizia con la stringa Mo M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 19

20 Operazioni di gruppo È possibile otenere atraverso una select anche valori non presen9 nei campi della tabella, ma calcola1 raggruppando più record sulla base di un criterio di aggregazione Esempio: select studente.nome, avg(esame.voto) as media from studente, esame where studente.matricola=esame.matr group by studente.nome order by media desc; select count(*) from studenti; Tipiche funzioni di gruppo sono sum: somma i valori numerici dei campi average/avg: calcola la media aritme9ca dei valori numerici dei campi count: conta i record che soddisfano determinate condizioni SQL e altri linguaggi di programmazione Spesso il linguaggio SQL viene u9lizzato all interno di programmi scriq con altri linguaggi di programmazione (C, C++, Java, Perl, Python, ecc.) Nello sviluppo di un programma è spesso molto u9le il conceto di transazione una transazione raccoglie una serie di operazioni svolte sul database e solo al termine della transazione stessa le esegue effeqvamente (commit) in caso si verifichi un errore durante l esecuzione del programma, è possibile chiudere la transazione annullando tute le operazioni eseguite fino a quel momento (rollback) Esistono librerie di funzioni API per l accesso alle interfacce messe a disposizione dai DBMS Esempio in linguaggio Perl u9lizzando DBI/DBD per MySQL: #!/usr/bin/perl use DBI; $db = DBI- >connect("dbi:mysql:dbname=marcodb", "marco", "marco") or die DBI::errstr; $query = $db- >prepare("select nome, cognome from rubrica order by cognome"); $query- >execute(); for ($i=1; $i <= $query- >rows(); $i++) { ($nome, $cognome) = $query- >fetchrow(); print "Record n. $i\n Nome: $nome\n Cognome: $cognome\n\n"; } $query- >finish(); $db- >disconnect(); M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 20

21 SQL e altri linguaggi di programmazione Un esempio analogo in linguaggio C #include <my_global.h> #include <mysql.h> int main(void) { MYSQL *connessione = mysql_init(null); mysql_real_connect(connessione," ", "marco", "marco", "marcodb, 0,NULL,0); mysql_query(connessione, "select nome, cognome from rubrica order by cognome"); MYSQL_RES *risultato = mysql_store_result(connessione); MYSQL_ROW riga; while (riga = mysql_fetch_row(result)) { printf("nome: %s\ncognome: %s\n\n", row[0], row[1]); } mysql_free_result(risultato); mysql_close(connessione); return(0); } Object- Rela1onal Mapping Spesso per lo sviluppo di programmi che fanno uso di una base da9 relazionale si u9lizzano linguaggi di programmazione object oriented (es.: Java, C#, C++, ecc.) In tali casi una buona ingegnerizzazione del codice la si può raggiungere mappando le classi di oggeg implementate dal programma con en1tà presen1 sul database relazionale, che offrono funzioni di persistenza per gli oggeq otenu9 istanziando tali classi Un prodoto ORM (Object- Rela:onal Mapping) offre delle funzioni di alto livello per realizzare il collegamento tra le classi del programma e le en9tà del database In questo modo il codice sorgente si semplifica, visto che è la libreria ORM ad occuparsi della maggior parte delle ques9oni tecniche di interazione tra il programma e il DBMS Hibernate è un so[ware middleware open source che implementa il servizio ORM per applicazioni scrite in Java: mediante file di configurazione si definisce la mappatura tra oggeq del programma Java ed en9tà presen9 sul DBMS (o che Hibernate deve creare sul DBMS nella fase di inizializzazione) con alcuni metodi messi a disposizione dal middleware si eseguono operazioni di scritura e letura dei da9, operando diretamente sugli oggeq del programma, senza la necessità di u9lizzare diretamente il linguaggio SQL NHibernate è un prodoto equivalente ad Hibernate, per il framework Microso[.net M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 21

22 NO- SQL Database Management Systems Il modello relazionale è potente, flessibile e assai diffuso, ma ha dei limi9, sopratuto quando è necessario tratare moli enormi di da9 o quando è difficile struturare a priori il dato nelle en9tà del database Esistono numerosi modelli per la rappresentazione dei da9, diversi dal modello relazionale Ques9 modelli sono implementa9 in prodoq so[ware disponibili sul mercato e più spesso sui canali del so[ware open source: si trata di prodoq sperimentali o assai solidi e ben strutura9, u9lizza9 per la ges9one affidabili di servizi on- line estremamente onerosi (Google, Facebook, ecc.) Tali prodoq u9lizzano linguaggi di interrogazione del database e di manipolazione dei da9 diversi da SQL: per questo si parla di NO- SQL database, Not Only SQL Database NO- SQL Database Management Systems Document Oriented Database Non memorizzano i da9 in tabelle con campi uniformi per ogni record come nei DB relazionali: ogni record è memorizzato come un documento che possiede determinate carateris9che; qualsiasi numero di campi con qualsiasi lunghezza può essere aggiunto al documento ProdoQ so[ware: IBM Lotus Notes, OrientDB, MongoDB, Apache Solr, ecc. Graph Database Rappresenta i da9 come un grafo ed u9lizza ver9ci e spigoli del grafo per memorizzare informazioni; gli elemen9 del grafo (ver9ci e spigoli) possono rappresentare informazioni con strutura e significato differente ProdoQ so[ware: Neo4j, OrientDB, ecc. Database basa1 su coppie chiave/valore Sono basa9 su array associa9vi, mappe o dizionari: sono cos9tui9 da coppie chiave/valore (es.: nome/marco, cognome/liverani, ecc.) ProdoQ so[ware: BigTable (Google), Berkeley DB, ecc. Database object oriented Implementano un modello ad oggeq, 9picamente integrato con il modello relazionale; consentono l implementazione di metodi per operare su specifici 9pi di dato (immagini fotografiche, da9 spaziali georeferenzia9, da9 con uno specifico significato fisico, ecc.) ProdoQ so[ware: Informix Illustra, IBM DB/2 Universal Database, ecc. M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 22

23 Bibliografia essenziale 1 Atzeni, Ceri, Paraboschi, Torlone, Basi di da: ConceD, linguaggi e archite7ure, McGraw- Hill, Guidi, Dorbolò, Guida a SQL, McGraw- Hill, Codd, A rela:onal model for large shared data banks, Communica9on of the ACM, 13(6), June MySQL, MySQL Reference Manual, htp://dev.mysql.com/doc/refman/5.6/en/ 5 PostgreSQL, PostgreSQL Documenta:on, htp://www.postgresql.org/docs/9.4/sta9c/ Oracle Exadata Database Machine Oracle, leader mondiale nel se7ore dei prodod RDBMS, produce delle macchine server di classe enterprise specificamente proge7ate ed ingegnerizzate per svolgere con la massima efficienza il ruolo di database machine M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 23

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

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Introduzione a MySQL

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

Dettagli

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002 Database, SQL & MySQL Dott. Paolo PAVAN Maggio 2002 1 Struttura RDBMS MYSQL - RDBMS DATABASE TABELLE 2 Introduzione ai DATABASE Database Indica in genere un insieme di dati rivolti alla rappresentazione

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Algebra Relazionale. algebra relazionale

Algebra Relazionale. algebra relazionale Algebra Relazionale algebra relazionale Linguaggi di Interrogazione linguaggi formali Algebra relazionale Calcolo relazionale Programmazione logica linguaggi programmativi SQL: Structured Query Language

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

Dal modello concettuale al modello logico

Dal modello concettuale al modello logico Dal modello concettuale al modello logico Traduzione dal modello Entita - Associazione al modello Relazionale Ciclo di sviluppo di una base di dati (da parte dell utente) Analisi dello scenario Modello

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Il linguaggio SQL: transazioni

Il linguaggio SQL: transazioni Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 4.8.SQL.transazioni.pdf Cos è una transazione? Una transazione è un unità logica di elaborazione che corrisponde a una serie di

Dettagli

Grafi, alberi e re1: modelli su cui cercare soluzioni o;me

Grafi, alberi e re1: modelli su cui cercare soluzioni o;me Università degli Studi Roma Tre Dipar-mento di Scienze della Formazione Laboratorio di Matema-ca per la Formazione Primaria Grafi, alberi e re: modelli su cui cercare soluzioni o;me Mini corso Informa.ca

Dettagli

Il linguaggio SQL Basi di dati 1. Il linguaggio SQL. Angelo Montanari. Dipartimento di Matematica e Informatica Università di Udine

Il linguaggio SQL Basi di dati 1. Il linguaggio SQL. Angelo Montanari. Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL Basi di dati 1 Il linguaggio SQL Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL Basi di dati 2 Introduzione SQL (Structured Query Language)

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

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

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

Dettagli

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

Esercitazione su SQL

Esercitazione su SQL Esercizio 1. Esercitazione su SQL Si consideri la base di dati relazionale composta dalle seguenti relazioni: impiegato Matricola Cognome Stipendio Dipartimento 101 Sili 60 NO 102 Rossi 40 NO 103 Neri

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

SQL. Dipartimento del Tesoro

SQL. Dipartimento del Tesoro Dipartimento del Tesoro SQL 1 Database...4 1.1 COS È UN DATABASE...4 1.2 DAGLI ARCHIVI AI DBMS...5 1.3 VANTAGGI OFFERTI DAI DBMS...6 1.4 INDIPENDENZA DEI DATI DALL APPLICAZIONE...7 1.5 RISERVATEZZA NELL

Dettagli

Import Dati Release 4.0

Import Dati Release 4.0 Piattaforma Applicativa Gestionale Import Dati Release 4.0 COPYRIGHT 2000-2005 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati.questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete.

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete. Premessa. La traccia di questo anno integra richieste che possono essere ricondotte a due tipi di prove, informatica sistemi, senza lasciare spazio ad opzioni facoltative. Alcuni quesiti vanno oltre le

Dettagli

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato Intalio Convegno Open Source per la Pubblica Amministrazione Leader nei Sistemi Open Source per il Business Process Management Navacchio 4 Dicembre 2008 Andrea Calcagno Amministratore Delegato 20081129-1

Dettagli

PHP: form, cookies, sessioni e. Pasqualetti Veronica

PHP: form, cookies, sessioni e. Pasqualetti Veronica PHP: form, cookies, sessioni e mysql Pasqualetti Veronica Form HTML: sintassi dei form 2 Un form HTML è una finestra contenente vari elementi di controllo che consentono al visitatore di inserire informazioni.

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Product Overview. ITI Apps Enterprise apps for mobile devices

Product Overview. ITI Apps Enterprise apps for mobile devices Product Overview ITI Apps Enterprise apps for mobile devices ITI idea, proge2a e sviluppa apps per gli uten6 business/enterprise che nell ipad, e nelle altre pia2aforme mobili, possono trovare un device

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Basi di Da( Presentazione del corso

Basi di Da( Presentazione del corso Basi di Da( Presentazione del corso Basi di Da( Prof. Riccardo Martoglia E- mail: riccardo.martoglia@unimo.it Home page del corso: h4p://www.isgroup.unimo.it/corsi/bda: 2 Basi di Dati - Presentazione del

Dettagli

Progettazione di un DB....in breve

Progettazione di un DB....in breve Progettazione di un DB...in breve Cosa significa progettare un DB Definirne struttura,caratteristiche e contenuto. Per farlo è opportuno seguire delle metodologie che permettono di ottenere prodotti di

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI. Luca Carnini. Tesina presentata per la discussione del diploma di laurea in

MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI. Luca Carnini. Tesina presentata per la discussione del diploma di laurea in MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI di Luca Carnini Tesina presentata per la discussione del diploma di laurea in Ingegneria informatica Politecnico di Milano sede

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

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

La Valutazione della Ricerca nelle Università Italiane: la SUA-RD e le prospettive future.

La Valutazione della Ricerca nelle Università Italiane: la SUA-RD e le prospettive future. La Valutazione della Ricerca nelle Università Italiane: la SUA-RD e le prospettive future. Massimo Castagnaro Coordinatore AVA - Consiglio Direttivo ANVUR massimo.castagnaro@anvur.org Roma, 11.11.2014

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office Gestione delle Architetture e dei Servizi IT con ADOit Un Prodotto della Suite BOC Management Office Controllo Globale e Permanente delle Architetture IT Aziendali e dei Processi IT: IT-Governance Definire

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

CA RC/Update for DB2 for z/os

CA RC/Update for DB2 for z/os SCHEDA PRODOTTO CA RC/Update for DB2 for z/os CA RC/Update for DB2 for z/os CA RC/Update for DB2 for z/os (CA RC/Update) è uno strumento di gestione di dati e oggetti DB2 che consente agli amministratori

Dettagli

Rational Asset Manager, versione 7.1

Rational Asset Manager, versione 7.1 Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Note Prima di utilizzare queste informazioni e il prodotto

Dettagli

Business Intelligence

Business Intelligence aggregazione dati Business Intelligence analytic applications query d a t a w a r e h o u s e aggregazione budget sales inquiry data mining Decision Support Systems MIS ERP data management Data Modeling

Dettagli

Funzioni. Corso di Fondamenti di Informatica

Funzioni. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Funzioni Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e dei

Dettagli

SIASFi: il sistema ed il suo sviluppo

SIASFi: il sistema ed il suo sviluppo SIASFI: IL SISTEMA ED IL SUO SVILUPPO 187 SIASFi: il sistema ed il suo sviluppo Antonio Ronca Il progetto SIASFi nasce dall esperienza maturata da parte dell Archivio di Stato di Firenze nella gestione

Dettagli

Manipolazione di testi: espressioni regolari

Manipolazione di testi: espressioni regolari Manipolazione di testi: espressioni regolari Un meccanismo per specificare un pattern, che, di fatto, è la rappresentazione sintetica di un insieme (eventualmente infinito) di stringhe: il pattern viene

Dettagli

SISSI IN RETE. Quick Reference guide guida di riferimento rapido

SISSI IN RETE. Quick Reference guide guida di riferimento rapido SISSI IN RETE Quick Reference guide guida di riferimento rapido Indice generale Sissi in rete...3 Introduzione...3 Architettura Software...3 Installazione di SISSI in rete...3 Utilizzo di SISSI in Rete...4

Dettagli

Energy risk management

Energy risk management Il sistema di supporto alle tue decisioni Energy risk management Un approccio orientato agli attori M.B.I. Srl, Via Francesco Squartini 7-56121 Pisa, Italia - tel. 050 3870888 - fax. 050 3870808 www.powerschedo.it

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

Sommersi dalle informazioni?

Sommersi dalle informazioni? Sommersi dalle informazioni? Centro Dir. Colleoni Viale Colleoni, 1 Pal. Taurus 1 20041 Agrate Brianza (MI) T: +39 039 5966 039 F: +39 039 5966 040 www.tecnosphera.it DOCUMENT MANAGEMENT GESTIONE DOCUMENTALE

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 6: Potenza espressiva del calcolo Calcolo su domini, discussione Pregi: dichiaratività Difetti: "verbosità": tante variabili! espressioni

Dettagli

Piattaforma Applicativa Gestionale. Import dati. Release 7.0

Piattaforma Applicativa Gestionale. Import dati. Release 7.0 Piattaforma Applicativa Gestionale Import dati Release 7.0 COPYRIGHT 2000-2012 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati. Questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

Scheda descrittiva del programma. Open-DAI. ceduto in riuso. CSI-Piemonte in rappresentanza del Consorzio di progetto

Scheda descrittiva del programma. Open-DAI. ceduto in riuso. CSI-Piemonte in rappresentanza del Consorzio di progetto Scheda descrittiva del programma Open-DAI ceduto in riuso CSI-Piemonte in rappresentanza del Consorzio di progetto Agenzia per l Italia Digitale - Via Liszt 21-00144 Roma Pagina 1 di 19 1 SEZIONE 1 CONTESTO

Dettagli

1. Dal computer ad un sistema informa1vo

1. Dal computer ad un sistema informa1vo Corso di Laurea in Matema1ca Dipar9mento di Matema9ca e Fisica Sistemi per l elaborazione delle informazioni 1. Dal computer ad un sistema informa1vo Dispense del corso IN530 prof. Marco Liverani Computer

Dettagli

Lezione 9: Strutture e allocazione dinamica della memoria

Lezione 9: Strutture e allocazione dinamica della memoria Lezione 9: Strutture e allocazione dinamica della memoria Laboratorio di Elementi di Architettura e Sistemi Operativi 9 Maggio 2012 Allocazione dinamica della memoria Memoria dinamica È possibile creare

Dettagli

Introduzione al GIS (Geographic Information System)

Introduzione al GIS (Geographic Information System) Introduzione al GIS (Geographic Information System) Sommario 1. COS E IL GIS?... 3 2. CARATTERISTICHE DI UN GIS... 3 3. COMPONENTI DI UN GIS... 4 4. CONTENUTI DI UN GIS... 5 5. FASI OPERATIVE CARATTERIZZANTI

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

Zabbix 4 Dummies. Dimitri Bellini, Zabbix Trainer Quadrata.it

Zabbix 4 Dummies. Dimitri Bellini, Zabbix Trainer Quadrata.it Zabbix 4 Dummies Dimitri Bellini, Zabbix Trainer Quadrata.it Relatore Nome: Biografia: Dimitri Bellini Decennale esperienza su sistemi operativi UX based, Storage Area Network, Array Management e tutto

Dettagli

Devi fare una fattura elettronica alla PA? Tu fatturi, al resto ci pensiamo noi. Servizio Fatt PA Lextel

Devi fare una fattura elettronica alla PA? Tu fatturi, al resto ci pensiamo noi. Servizio Fatt PA Lextel Devi fare una fattura elettronica alla PA? Tu fatturi, al resto ci pensiamo noi. Servizio Fatt PA Lextel FATTURAZIONE ELETTRONICA Fa# PA è il servizio online di fa/urazione ele/ronica semplice e sicuro

Dettagli

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Oggi più che mai, le aziende italiane sentono la necessità di raccogliere,

Dettagli

Relazione sul data warehouse e sul data mining

Relazione sul data warehouse e sul data mining Relazione sul data warehouse e sul data mining INTRODUZIONE Inquadrando il sistema informativo aziendale automatizzato come costituito dall insieme delle risorse messe a disposizione della tecnologia,

Dettagli

Gli asteroidi. Informazioni e contatti: http://vo-for-education.oats.inaf.it - iafrate@oats.inaf.it

Gli asteroidi. Informazioni e contatti: http://vo-for-education.oats.inaf.it - iafrate@oats.inaf.it Esempio sull'utilizzo dell'osservatorio Virtuale Gli asteroidi Informazioni e contatti: http://vo-for-education.oats.inaf.it - iafrate@oats.inaf.it Distribuzione degli asteroidi Il Sistema Solare è composto

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

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

Agilent OpenLAB Chromatography Data System (CDS)

Agilent OpenLAB Chromatography Data System (CDS) Agilent OpenLAB Chromatography Data System (CDS) EZChrom Edition e ChemStation Edition Requisiti hardware e software Agilent Technologies Informazioni legali Agilent Technologies, Inc. 2013 Nessuna parte

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

Business Process Management

Business Process Management Corso di Certificazione in Business Process Management Progetto Didattico 2015 con la supervisione scientifica del Dipartimento di Informatica Università degli Studi di Torino Responsabile scientifico

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

MANUALE DI INSTALLAZIONE GESTIONE FLOTTE /REMIND

MANUALE DI INSTALLAZIONE GESTIONE FLOTTE /REMIND Progettisti dentro e oltre l impresa MANUALE DI INSTALLAZIONE GESTIONE FLOTTE /REMIND Pag 1 di 31 INTRODUZIONE Questo documento ha lo scopo di illustrare le modalità di installazione e configurazione dell

Dettagli

Ing. Andrea Saccà. Stato civile: Celibe Nazionalità: Italiana Data di nascita: 9 Ottobre 1978 Luogo di nascita: Roma Residenza: Roma

Ing. Andrea Saccà. Stato civile: Celibe Nazionalità: Italiana Data di nascita: 9 Ottobre 1978 Luogo di nascita: Roma Residenza: Roma Indirizzo: Via dell'automobilismo, 109 00142 Roma (RM) Sito Web : http://www.andreasacca.com Telefono: 3776855061 Email : sacca.andrea@gmail.com PEC : andrea.sacca@pec.ording.roma.it Ing. Andrea Saccà

Dettagli

Il sistema AVA e la VQR: la Scheda Unica Annuale della Ricerca Dipartimentale (SUA-RD)

Il sistema AVA e la VQR: la Scheda Unica Annuale della Ricerca Dipartimentale (SUA-RD) Il sistema AVA e la VQR: la Scheda Unica Annuale della Ricerca Dipartimentale (SUA-RD) Massimo Castagnaro Coordinatore AVA - Consiglio Direttivo ANVUR massimo.castagnaro@anvur.org Lecce, 19.02.2014 La

Dettagli

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

Trovare l aeroporto italiano con il maggior numero di piste

Trovare l aeroporto italiano con il maggior numero di piste AEROPORTO (Città, Nazione, NumPiste) VOLO (IdVolo, GiornoSett, CittàPart, OraPart, CittàArr, OraArr, TipoAereo) AEREO (TipoAereo, NumPasseggeri, QtaMerci) Datalog - Aeroporti da cui non partono aerei per

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

PROFILI ALLEGATO A. Profili professionali

PROFILI ALLEGATO A. Profili professionali ALLEGATO A Profili professionali Nei profili di seguito descritti vengono sintetizzate le caratteristiche di delle figure professionali che verranno coinvolte nell erogazione dei servizi oggetto della

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

Curriculum Vitae Europass

Curriculum Vitae Europass Curriculum Vitae Europass Informazioni personali Cognome/i nome/i Castelli Flavio Email flavio.castelli@gmail.com Sito web personale http://www.flavio.castelli.name Nazionalità Italiana Data di nascita

Dettagli

MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA

MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA Allegato 1 al bando di gara SCUOLA TELECOMUNICAZIONI FF.AA. CHIAVARI REQUISITO TECNICO OPERATIVO MASTER UNIVERSITARI CORSI di PERFEZIONAMENTO CORSI di FORMAZIONE AVANZATA MASTER DI 2 LIVELLO 1. DIFESA

Dettagli

Lezione III: Oggetti ASP e interazione tramite form HTML

Lezione III: Oggetti ASP e interazione tramite form HTML Lezione III: Oggetti ASP e interazione tramite form HTML La terza lezione, come le precedenti, ha avuto una durata di due ore, di cui una in aula e l altra in laboratorio, si è tenuta alla presenza della

Dettagli

Classe e ordinamento del Corso di studio (es. classe L24 ordinamento 270/04 oppure classe 15 ordinamento 509/99)

Classe e ordinamento del Corso di studio (es. classe L24 ordinamento 270/04 oppure classe 15 ordinamento 509/99) Mod. 6322/triennale Marca da bollo da 16.00 euro Domanda di laurea Valida per la prova finale dei corsi di studio di primo livello Questo modulo va consegnato alla Segreteria amministrativa del Corso a

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

Realizzare un architettura integrata di Business Intelligence

Realizzare un architettura integrata di Business Intelligence Realizzare un architettura integrata di Business Intelligence Un sistema integrato di Business Intelligence consente all azienda customer oriented una gestione efficace ed efficiente della conoscenza del

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Presentazione Commerciale So1lab S.p.A.

Presentazione Commerciale So1lab S.p.A. Presentazione Commerciale So1lab S.p.A. Marzo 2013 So1lab Composta da circa 500 risorse, So#lab è da quasi 30 anni specializzata nella proge+azione, produzione e sviluppo evolu?vo di tecnologie, sistemi,

Dettagli

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Il Business Process Management: nuova via verso la competitività aziendale

Il Business Process Management: nuova via verso la competitività aziendale Il Business Process Management: nuova via verso la competitività Renata Bortolin Che cosa significa Business Process Management? In che cosa si distingue dal Business Process Reingeneering? Cosa ha a che

Dettagli

Visibilità dei Membri di una Classe

Visibilità dei Membri di una Classe Visibilità dei Membri di una Classe Lezione 10 Ogni classe definisce un proprio scope racchiude il codice contenuto nella definizione della classe e di tutti i suoi membri ogni metodo della classe definisce

Dettagli

EndNote Web è un servizio online per la gestione di bibliografie personalizzate integrabili nella redazione di testi: paper, articoli, saggi

EndNote Web è un servizio online per la gestione di bibliografie personalizzate integrabili nella redazione di testi: paper, articoli, saggi ENDNOTE WEB EndNote Web è un servizio online per la gestione di bibliografie personalizzate integrabili nella redazione di testi: paper, articoli, saggi EndNote Web consente di: importare informazioni

Dettagli

ALLEGATO N. 2 STANDARD TECNICI DELL ARCHIVIO UNICO INFORMATICO

ALLEGATO N. 2 STANDARD TECNICI DELL ARCHIVIO UNICO INFORMATICO ALLEGATO N. 2 STANDARD TECNICI DELL ARCHIVIO UNICO INFORMATICO 1 INDICE 1) ASPETTI GENERALI 2) CONTENUTO DELL ARCHIVIO UNICO INFORMATICO 2.1) OPERAZIONI 2.2) RAPPORTI 2.3) LEGAMI TRA SOGGETTI 3) CRITERI

Dettagli

Una proposta per la matematica del Secondo Biennio e per il quinto anno tra contenuti e attività

Una proposta per la matematica del Secondo Biennio e per il quinto anno tra contenuti e attività XXXII CONVEGNO UMI-CIIM IL VALORE FORMATIVO DELLA MATEMATICA NELLA SCUOLA DI OGGI dedicato a Federigo Enriques Livorno, 16-18 ottobre 2014 Una proposta per la matematica del Secondo Biennio e per il quinto

Dettagli

Elaidon Web Solutions

Elaidon Web Solutions Elaidon Web Solutions Realizzazione siti web e pubblicità sui motori di ricerca Consulente Lorenzo Stefano Piscioli Via Siena, 6 21040 Gerenzano (VA) Telefono +39 02 96 48 10 35 elaidonwebsolutions@gmail.com

Dettagli

***** Il software IBM e semplice *****

***** Il software IBM e semplice ***** Il IBM e semplice ***** ***** Tutto quello che hai sempre voluto sapere sui prodotti IBM per qualificare i potenziali clienti, sensibilizzarli sulle nostre offerte e riuscire a convincerli. WebSphere IL

Dettagli