Programmazione Java Avanzata

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione Java Avanzata"

Transcript

1 Programmazione Java Avanzata Hibernate (Parte 2) Ing. Giuseppe D'Aquì

2 Testi Consigliati Beginning Hibernate 2 nd edition (Apress) Sul sito è possibile scaricare, tra gli extra, il codice sorgente e il capitolo 3 Hibernate Getting Started 2

3 Pro e contro Annotations Pro: Le annotation sono standard JPA, quindi sono usate in modo identico da tutti gli ORM JPA-compatibili Meno verbosità Intuitive Contro: Le versioni obsolete di Hibernate supportano solo XML Se il database è usato da più applicazioni, si rischia di distribuire il mapping su applicazioni diverse 3

4 Chiave Composta Se in una tabella la chiave primaria è costituita da più campi, si ha una chiave composta Quando non ci sono particolari vincoli (ovvero abbiamo il controllo dello schema del database), in genere si preferisce semplificare lo sviluppo generando una chiave surrogata Una chiave surrogata non ha significato al di fuori del database, è un campo che rimpiazza i molti campi della chiave composta 4

5 Chiave Composta Quando però ci sono vincoli la chiave composta deve essere mappata su Hibernate Ci sono tre modalità, tutte e tre prevedono la creazione di una classe che contenga il mapping dei campi della chiave composta Es. se la chiave composta è (nome, cognome), allora serve una classe (differente dalla corrente) che contenga come variabili membro String nome e String cognome 5

6 Chiave composta: modo 1 La classe con gli attributi chiave deve essere pubblica ed esterna public class UserPrimaryKey{...} La classe va annotata e devono essere implementati i metodi hashcode() ed equals() Nella classe originaria, invece, bisogna sostituire gli attributi della chiave composta con un unica variabile id (annotata private UserPrimaryKey id; 6

7 Chiave composta: modo 2 La classe con gli attributi chiave va creata come nel modo 1, ma internamente alla classe originaria La classe non va annotata La classe originaria ha sempre la variabile id ma annotata 7

8 Chiave composta: modo 3 La classe con gli attributi chiave va creata come nel modo 2 Si annota solo la classe originaria Passandogli la classe che fa le funzioni di Nella classe originaria non c'è più id ma vanno messi gli attributi originali annotati 8

9 Chiave composta: riassunto Il codice SQL generato in tutti i casi è uguale Ci sono particolarità di utilizzo: Modo 1: La classe con gli attributi è esterna ed embeddable (vedi relazioni one-to-one), può essere riutilizzata Modo 3: possiamo utilizzare gli attributi chiave direttamente dalla classe originaria [getnome() e getcognome()], invece di ottenere prima l'oggetto id Modo 2: una via di mezzo 9

10 Mapping di relazioni Le relazioni tra tabelle possono essere di diverso tipo One-to-One (uno-a-uno) One-to-Many (uno-a-molti) Many-to-Many (molti-a-molti) 10

11 One-to-one: tipi Le relazioni uno-a-uno, in Hibernate, sono di due tipi: Classiche, due tabelle corrispondono a due oggetti Component o embedded, due oggetti che risiedono su una sola tabella (es. l'indirizzo) 11

12 One-to-one embedded Una relazione one-to-one embedded si ha quando un'entità è interamente racchiusa all'interno di un'altra entità, ossia è un componente dell'alltra entità La classe componente va annotata non Nella classe principale viene posta una variabile membro con lo stesso tipo della classe componente, annotata 12

13 One-to-one embedded public class User { public Address public class Address{ } private String via; private String civico; //getters/setters 13

14 One-to-one La relazione uno-a-uno convenzionale è in genere sospetta, perché potrebbe nascondere un errore di progettazione In genere, infatti, si tende ad accorpare tutti gli attributi in una sola entità Ci sono dei casi in cui, però, è preferibile avere due tabelle che rappresentano due aspetti differenti di una certa entità ideale Aspetti che devono essere gestiti differentemente, o che devono evolvere in modo indipendente Es. Profilo Autenticazione e Anagrafiche 14

15 One-to-one Per mappare una relazione uno-a-uno basta annotare la variabile membro (o il getter) che contiene l'oggetto correlato 15

16 One-to-one classica public class User public Address getaddress(){...} public class private int id; private String via; private String civico; } //getters/setters 16

17 One-to-one può avere i seguenti attributi: cascade: indica se le operazioni su una entità devono propagarsi alle altre della relazione fetch: indica il tipo di acquisizione, eager (carica tutti gli oggetti del grafo delle relazioni) o lazy (carica gli oggetti correlati solo se servono) optional: serve per stabilire se ci possono essere NULL 17

18 One-to-one bidirezionale La relazione OneToOne è bidirezionale quando l'oggetto A contiene un riferimento all'oggetto B, e l'oggetto B contiene un riferimento all'oggetto A Es. User.getAddress() e Address.getUser() In questo caso uno dei due oggetti deve essere considerato principale Quello la cui tabella contiene la chiave primaria dell'altro come riferimento L'oggetto secondario dovrà usare l'attributo mappedby nella sua 18

19 One-to-one public class User { //User è l'oggetto public Address getaddress(){...} public class Address{ //Address è l'oggetto secondario //il mappedby si riferisce alla proprietà dell'oggetto } public User getuser(){...} 19

20 One-to-one - JoinColumn Per default, Hibernate cercherà come foreign key un campo della tabella con queste caratteristiche: Inizia con il nome della proprietà dell'oggetto principale (User ha getaddress(), quindi address ) Concatenato con underscore _ Concatenato con il nome della chiave primaria dell'oggetto secondario (Es, Address ha getid(), quindi id Nell'esempio quindi cercherà una colonna chiamata address_id 20

21 One-to-one - JoinColumn È possibile sovrascrivere questo default con due tipi di : usato assieme sull'oggetto principale, indica che la foreign key è la stessa chiave primaria (ovvero, le due tabelle possiedono la stessa chiave address_fk ) : usato assieme sull'oggetto principale, indica che la foreign key sta in una colonna con un nome preciso (in questo caso address_fk ) 21

22 Cascading delle operazioni Il cascading è la propagazione delle operazioni di aggiornamento e rimozione su oggetti collegati tra loro da relazioni Esempio: se viene cancellato un User deve essere cancellato il corrispondente Address? Hibernate definisce diversi tipi di cascading, definiti nelle relazioni Se non si specifica niente, per default non si ha cascading 22

23 Cascading delle operazioni Tipi di cascading: CascadeType.MERGE : propaga gli UPDATE CascadeType.PERSIST : propaga il primo inserimento (INSERT) CascadeType.REFRESH : propaga l'aggiornamento dal database verso gli oggetti (SELECT) CascadeType.DETACH : propaga la rimozione dell'oggetto dalla persistenza CascadeType.REMOVE : propaga la rimozione dei dati dell'oggetto (DELETE) CascadeType.ALL : tutti i precedenti 23

24 One-to-Many La relazione uno-a-molti può essere vista da due prospettive diverse L'oggetto A ha una relazione con molti oggetti B Ogni oggetto B ha una relazione con uno e un solo oggetto A Hibernate mappa queste due prospettive 24

25 va sull'oggetto che va sull'oggetto contenuto JPA considera, per convezione, oggetto principale quello che che, quindi, dovrà specificare un mappedby 25

26 public class User { //User è l'oggetto user ) public Set<Telephone> gettelephone(){...} public class Telephone{ //Telephone è l'oggetto public User getuser(){...} } 26

27 One-to-Many - JoinColumn Valgono le stesse considerazioni di JoinColumn fatte nel caso One-to-One Nell'esempio Hibernate cercherà una colonna chiamata user_id nella tabella telephone (oggetto principale) Possiamo però specificare un'altra colonna insieme nell'oggetto principale 27

28 Ordering Quando vengono mappate delle Collection, possiamo definire una colonna sulla quale queste verranno user ) public List<Telephone> gettelephone(){...} //List è un tipo collection ordinato Si può aggiungere che permette di specificare quale proprietà di Telephone usare per user prefisso ASC ) public List<Telephone> gettelephone(){...} 28

29 Many-to-Many In una relazione Many-to-Many entrambi gli oggetti coinvolti Uno dei due deve essere l'oggetto principale, l'altro conterrà l'attributo mappedby Una relazione molti-a-molti nel modello relazionale ha bisogno di una tabella ausiliaria che contiene le foreign key di entrambe le tabelle 29

30 Many-to-Many La tabella ausiliaria ha, per default, il nome: Tabellaprincipale_Tabellasecondaria E chiavi Tabellaprincipale_id e Tabellasecondaria_id Questi default possono essere sovrascritti usato lato oggetto name= studenti_e_corsi, joincolumns={@joincolumn(name= corso_id )}, inversejoincolumns{@joincolumn(name= matricola )} ) 30

31 Many-to-Many: nota bene Quando c'è una relazione molti-a-molti che contiene attributi specifici, forse non si tratta di una mera relazione tra tabelle ma è una entità di fatto Es. se la tabella Studente_Corso contiene l'attributo voto, non è più una semplice tabella di join ma un'entità Esame, che ha relazioni uno-a-molti con Studente e con Corso La tabella di join, per Hibernate, contiene solo le foreign key e non altri attributi 31

32 Ereditarietà L'ereditarietà in Hibernate e JPA può essere rappresentata in tre modi: Single table: una singola tabella che contiene padri e figli Joined: una tabella per il padre e una per ciascuno dei figli, ma i figli contengono solo gli attributi non in comune con il padre Table-per-class: tabelle complete per ogni figlio 32

33 Ereditarietà: single table Single table prevede una singola tabella per i padri e per i figli Una singola tabella contiene più specializzazioni di una stessa entità base: gli attributi di un figlio non avranno senso nel caso di un fratello (e saranno quindi NULL) La strategia single table si usa annotando la classe padre SINGLE_TABLE) 33

34 Ereditarietà: single table Quando si usa una singola tabella per tutta la gerarchia, bisogna specificare una colonna discriminante che contiene informazioni sul tipo dell'oggetto Si nelle annotazioni della tipologia ) public class Padre {...} 34

35 Ereditarietà: single table Per default Hibernate, come discriminante, crea/cerca una colonna chiamata DTYPE di tipo stringa Questo default può essere sovrascritto: discriminatortype: può essere DiscriminatorType.STRING DiscriminatorType.CHAR DiscriminatorType.INTEGER lenght: la lunghezza del campo, usata solo nel caso stringa 35

36 Ereditarietà: single table I valori contenuti nella colonna discriminante sono, per default, i nomi delle classi figlio Volendo usare valori differenti si dovranno annotare le classi figlio valore ) 36

37 Ereditarietà: Joined Le annotazioni sono identiche al caso Single eccetera Si attua annotando la classe padre = JOINED) A basso livello Hibernate creerà/cercherà una tabella per il padre......e una tabella per ogni figlio, che conterrà soltanto gli attributi che non sono già presenti nel padre 37

38 Ereditarietà: Table Per Class Con questa strategia, tutti gli oggetti (padre e figli), se concreti, avranno tabelle che contengono tutti i loro attributi Basta annotare la classe padre = TABLE_PER_CLASS) 38

39 Ereditarietà: Quale Strategia? Usando Joined si avrà uno schema più mantenibile, perchè ogni modifica di un figlio impatta solo sulla tabella del figlio, e ogni modifica al padre impatta solo sulla tabella padre Usando table-per-class, ogni modifica al padre impatterà anche su tutte le tabelle dei figli mentre le performance sono migliori del caso Joined, perché non ci sono join Single Table ha migliori performance, perché tutte le query vengono fatte su una sola tabella, ma può diventare disordinata 39

40 Mapped Superclass Un caso speciale di ereditarietà si ha quando la classe padre non è resa persistente e quindi, in teoria, non dovrebbe possedere annotazioni Hibernate In realtà per far funzionare l'ereditarietà dovremo annotare la classe padre come se fosse persistente, e poi Subito per specificare che la classe padre è solo mappata e non deve essere resa persistente 40

41 Altre annotazioni 41

42 Dati temporali Le proprietà di tipo java.util.date vengono di default mappate su attributi di tipo TIMESTAMP Questo comportamento può essere modificato 42

43 Large Objects I Large Objects sono attributi di una tabella che contengono oggetti molto grandi: stringhe estese (LONGTEXT) sequenze di byte (BLOB, Binary Large OBject) Per specificare che una certa proprietà va salvata in un attributo di tipo large, basta public String gettitle() { } Si creerà un attributo che non sarà varchar 43

44 Generare Indici Questa è una annotazione non inclusa in JPA, solo in Hibernate Gli indici possono essere applicati: Alla singola colonna, con nomedellindice ) Su diverse colonne contemponaneamente, annotando la classe nometabella, indexes = { nomeindice1, columnnames={ col1, col2 } 44

45 Named Query Una Named Query è una query (in HQL) a cui diamo un nome, per poter essere richiamata successivamente È composta quindi da una coppia (nome, espressione) Si definisce con annotazione findallstudents, query= from Students ) public class Student{ } 45

46 Named Query La caratteristica delle Named Query è quella di essere riutilizzabili Se vogliamo riutilizzarle tra più classi, dobbiamo definirle a livello di package Si crea un file chiamato package-info.java che conterrà le annotazioni che devono essere condivise tra tutte le classi del findallstudents, query= from Students ) package it.unirc.pja.example2 46

47 Hibernate Console 47

48 Hibernate Console La Hibernate Console è un tool che fa parte del plugin per Eclipse Permette di svolgere le seguenti funzioni Visualizzazione rapida dei mapping e degli schemi Scrittura di query di test HQL (parametrizzate e non) Generazione dello schema del database a partire dai mapping Generazione di diagrammi che rappresentano i mapping 48

49 Hibernate console: esempio Vedi 49

50 Metodi base di Session 50

51 Metodi base di Session Abbiamo già visto che l'oggetto Session è fondamentale Svolge la funzione di interfaccia tra i nostri oggetti Java e Hibernate Session ha un certo numero di metodi utilizzati per richiamare le funzionalità di Hibernate 51

52 Salvataggio Quando si crea un nuovo oggetto che possiede mapping Hibernate, questo non viene automaticamente reso persistente Si deve salvare per la prima volta in una Session, tramite il metodo save() session.save(oggetto); 52

53 Nota Bene: Confronto Un certo oggetto reso persistente avrà due modi per essere identificato: Identificativo di istanza della classe (che rappresenta l'oggetto) Chiave primaria (che rappresenta la tupla) Nell'ambito di una stessa sessione entrambi gli identificativi potranno essere usati, mentre su più sessioni l'identificativo di istanza potrebbe cambiare Bisogna quindi evitare di usare l'operatore == (che confronta l'identificativo di istanza); meglio usare equals(), magari implementata da noi con il confronto tra le primary key 53

54 Caricamento Il caricamento di oggetti persistenti avviene tramite load() Ha due parametri: La classe della entity, passata come nome (String) o come oggetto Class L'id dell'oggetto (chiave primaria) Se la chiave specificata non esiste verrà lanciata una eccezione Simile a load() è get(): se la chiave non esiste restituisce NULL invece di una eccezione 54

55 Caricamento: Lock modes Sia load() che get() supportano un terzo parametro, opzionale, che serve a specificare il lock degli oggetti caricati Il lock è usato per evitare problemi di aggiornamento concorrente I lock vengono rilasciati alla fine della transazione Attenzione: usare i lock può creare problemi di deadlock, se più thread in contemporanea acquisiscono parte delle risorse e non le rilasciano (vedi Problema dei 5 filosofi) 55

56 Caricamento: Lock modes Lock mode disponibili: NONE: default; legge dal database solo se l'oggetto richiesto non è in cache READ: legge semre l'oggetto dal database UPGRADE: se supportato dal database/dialect, imposta un lock di aggiornamento; se non è possibile ottenerlo, attende che vengano rilasciati i lock che ostacolano UPGRADE_NOWAIT: come UPGRADE, ma se non è possibile ottenere il lock lancia subito una eccezione 56

57 Aggiornamento dal DB Se vogliamo ottenere l'ultima versione dell'oggetto dal database (eliminando le modifiche fatte da noi) basta utilizzare il metodo refresh() In realtà Hibernate nella maggior parte dei casi lo fa in automatico, non c'è bisogno di chiamare refresh() direttamente Il caso particolare si ha quando l'oggetto viene aggiornato da applicazioni esterne oppure da query SQL: in questo caso Hibernate non può sapere che l'oggetto è stato aggiornato 57

58 Update Se un oggetto è persistente, ogni modifica che operiamo su di esso viene accodata ed eseguita da Hibernate alla fine della sessione Non è necessario eseguire esplicitamente una operazione di update (con il metodo update()) Nel caso volessimo salvare tutte le operazioni effettuate sul db prima del termine della sessione, possiamo usare il metodo flush() 58

59 Update: flush() modes La strategia di flushing automatica prevede di salvare ogni oggetto prima di eseguire una query che restituisce l'oggetto stesso Esistono altre strategie, impostabili con setflushmode(): ALWAYS: prima di ogni query effettua flush(), salvando tutti gli oggetti. Lento COMMIT: esegue flush() solo in fase di commit MANUAL: non esegue mai flush(), dobbiamo richiamarlo esplicitamente nel codice 59

60 Delete Se si deve cancellare un oggetto persistente si può usare il metodo delete() Il parametro di delete() è un Object, che può essere: L'oggetto da cancellare Un oggetto dello stesso tipo di quello da cancellare, con la proprietà chiave impostata (questo si usa se non abbiamo l'oggetto completo ma conosciamo solo l'id) 60

61 SaveOrUpdate() Il metodo save() rende persistente un oggetto (INSERT) mentre update() lo aggiorna (UPDATE) La prima volta va usato save(), le successive update() Se la prima volta si usa update(), o nelle successive save(), ci sarà un errore Se non sappiamo se usare save() o update(), possiamo usare saveorupdate() che effettua una select per vedere se l'oggetto esiste, e poi chiama save() o update() 61

62 Disassociazione Può capitare di aver bisogno che un certo oggetto non sia più persistente Dato che ogni modifica dentro una sessione viene tracciata da Hibernate, per poi eseguire gli aggiornamenti, vorremmo evitare che venissero tracciate operazioni che non vanno riportate sul database In questo caso si usa il metodo evict(), che disassocia un oggetto dalla sessione corrente 62

63 Hibernate Query Language 63

64 Sintassi base Hibernate fornise un proprio linguaggio di query, basato suglio oggetti e modellato in modo molto simile a SQL Poiché dall'interno di Hibernate si possono sfruttare le informazioni di mapping, molte delle query in HQL sono più compatte delle corrispondenti versioni SQL Ovviamente, HQL viene tradotto in SQL prima di essere inviato al database 64

65 Sintassi base SELECT È identico all'equivalente SQL, solo che la parte di proiezione (SELECT nome, cognome) è opzionale: se non si specifica si assume SELECT * La clausola FROM è seguita dal nome di una classe, piuttosto che di una tabella 65

66 CreateQuery Un oggetto di tipo Query può essere ottenuto, a partire dalla corrispondente stringa HQL, tramite il metodo createquery() di Session Query q = session.createquery( from User ); 66

67 Controllare codice SQL generato Il codice HQL viene convertito in SQL prima di essere inviato al database Può capitare che, in alcuni casi, la traduzione sia una query SQL inefficiente Possiamo visualizzare le traduzioni tramite: Hibernate console in Eclipse File di Log, se abilitiamo la proprietà show_sql nel file di configurazione di Hibernate 67

68 Filtri condizionali Ovvero la clausola WHERE Possiamo usare tutti gli operatori tipici di SQL (OR, AND, =, <>, like eccetera) In più possiamo definire dei parametri, per realizzare query parametriche I parametri si inseriscono come :nomeparametro Es: From User where name=:name 68

69 Named Parameters I Named Parameters ci aiutano a difendere la nostra applicazione dagli attacchi di SQL Injection Infatti la sostituzione tra parametri e valore effettivo avviene controllando il tipo esatto dell'oggetto passato Es. Query query = session.createquery( from User where address=:address ); query.setentity( address, myaddress); 69

70 Pagination Normalmente in una web application restituiremo solo un certo numero di dati all'utente Se sono molti, questo significa mostrare una pagina alla volta L'oggetto query possiede due metodi per supportare questa funzionalità: setfirstresult(int) : indica la tupla di partenza setmaxresults(int) : indica quante tuple prelevare 70

71 Risultato unico L'oggetto Query ha un metodo list() che restituisce tutti i risultati di una query Possiede anche un metodo uniqueresult() che restituisce solo un oggetto Se l'oggetto è più di uno, lancia una eccezione Quando vogliamo ottenere solo il primo risultato, dovremo usare una combinazione di uniqueresult() e setmaxresults(1)

72 Order by HQL supporta la clausola Order By che viene usata come in SQL order by nomeproprietà [desc asc] Se vogliamo ordinare per più proprietà, basta separarle con la virgola

73 Join Tramite le join si possono usare più classi in una sola query Hibernate supporta più tipi di join: Inner, cross, left outer, right outer, full outer Se ci sono i mapping non c'è bisogno di specificare le condizioni di join

74 Aggregazioni HQL supporta gli operatori di aggregazione: avg(name) count(name *) max(name) min(name) sum(name)

75 Aggiornamenti in blocco Quando serve aggiornare o cancellare un certo numero di oggetti contemporaneamente, usare un ciclo for potrebbe essere inefficiente Si possono usare gli equivalenti HQL di UPDATE e DELETE Basta creare una query di update/delete, e poi chiamarne il metodo executeupdate()

76 SQL Nativo L'uso di SQL nativo si dovrebbe evitare per ottenere la massima portabilità; se proprio è necessario, possiamo creare una query in SQL utilizzando il metodo Session.createSQLQuery(String)

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

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

Dettagli

User Tools: DataBase Manager

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

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

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

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

Dettagli

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

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

Dettagli

Volumi di riferimento

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

Dettagli

Dispensa di database Access

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

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

I DATABASE Database relazionale

I DATABASE Database relazionale Database relazionale Modello di database che consiste di diversi file separati che sono correlati l'un l'altro attraverso campi chiave. Si può accedere alle informazioni memorizzate in un file attraverso

Dettagli

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

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

Dettagli

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Android offre

Dettagli

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

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

Dettagli

Modulo 4: Ereditarietà, interfacce e clonazione

Modulo 4: Ereditarietà, interfacce e clonazione Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

Dettagli

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

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

Dettagli

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari: SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Corso su LINQ Lezione 16. Introduzione

Corso su LINQ Lezione 16. Introduzione LINQ to SQL Introduzione Con questa lezione introduciamo il flavor LINQ to SQL. Dopo aver visto quindi tutte le funzionalità e gli operatori di LINQ to Object, affronteremo ora la tematica riguardante

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 5.2.1 RELAZIONI TRA TABELLE 1 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 Il grado di un verso di un associazione indica quanti record della tabella di partenza si associano ad un

Dettagli

Operazioni sui database

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

Dettagli

Come modificare la propria Home Page e gli elementi correlati

Come modificare la propria Home Page e gli elementi correlati Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster (webmaster.economia@unimi.it) La modifica delle informazioni

Dettagli

DBMS (Data Base Management System)

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

Dettagli

OSSIF WEB. Manuale query builder

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

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Organizzazione degli archivi

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

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

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

Dettagli

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: storia SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

Definizione di domini

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

Dettagli

MySQL Database Management System

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

Dettagli

Introduzione ai database relazionali

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

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

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

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

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System II parte Progetto gestione booking prenotazioni on-line 1. Progettazione e creazione struttura database che chiameremo booking. 2. Progettazione e creazione di un form

Dettagli

SQL. Alcune note sulla definizione dei dati

SQL. Alcune note sulla definizione dei dati SQL Alcune note sulla definizione dei dati Domini Domini elementari (predefiniti) Domini definiti dall'utente (riutilizzabili, possono servire per specificare vincoli di dominio propri di una certa applicazione)

Dettagli

TEORIA sulle BASI DI DATI

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

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

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

Dettagli

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

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

Dettagli

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

Si formulino le seguenti interrogazioni tramite il linguaggio SQL: Informatica per le Scienze Umane - Corso di Laurea in Lettere Appello del 15.01.2009 - Docente: Massimo Coppola Modello Relazionale e SQL Si consideri la seguente base di dati relativa alla redazione di

Dettagli

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Basi di Dati e Microsoft Access

Basi di Dati e Microsoft Access Basi di Dati e Microsoft Access Lun: 16-18 e Mer: 14-17 Alessandro Padovani padoale@email.it Database: definizione Un database (DB) è una collezione di informazioni organizzata in gruppi, che consentono

Dettagli

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio Pillola operativa Integrazione Generazione Dettagli Contabili INFORMAZIONI

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

SQL Server 2005. Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.

SQL Server 2005. Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005. SQL Server 2005 Introduzione all uso di SQL Server e utilizzo delle opzioni Olap SQL Server 2005 SQL Server Management Studio Gestione dei server OLAP e OLTP Gestione Utenti Creazione e gestione DB SQL

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

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

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

Dettagli

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

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

Dettagli

IL DAT A B A S E DI ALGE B R A N D O

IL DAT A B A S E DI ALGE B R A N D O IL DAT A B A S E DI ALGE B R A N D O Un progetto di: Davide Valeriani Matricola 190883 davide.valeriani@studenti.unipr.it Corso di laurea in Ingegneria Informatica Esame di Basi di Dati A Prof. Stefano

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

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

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

Dettagli

Database. Si ringrazia Marco Bertini per le slides

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

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti: Date le tabelle: Clienti := < id, nome, cognome, indirizzo,città > Ordini := < id, data_ora_ordine, id_prodotto, id_cliente, quantità> Prodotti := < id, nome, descrizione, costo,scorte > INDICI Prevediamo

Dettagli

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

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

Dettagli

SQL/OLAP. Estensioni OLAP in SQL

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

Dettagli

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) 26/03/2013 SQL SQL -DDL Esercizio 4.3 Dare le definizioni SQL delle tre tabelle FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) rappresentando

Dettagli

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

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

Dettagli

CONTENT MANAGEMENT SY STEM

CONTENT MANAGEMENT SY STEM CONTENT MANAGEMENT SY STEM I NDI CE I NTRODUZI ONE Accesso al CMS 1) CONTENUTI 1.1 I nserimento, modifica e cancellazione dei contenuti 1.2 Sezioni, categorie e sottocategorie 2) UTENTI 3) UP LOAD FILES

Dettagli

Le query di raggruppamento

Le query di raggruppamento Le query di raggruppamento Le "Query di raggruppamento" sono delle Query di selezione che fanno uso delle "Funzioni di aggregazione" come la Somma, il Conteggio, il Massimo, il Minimo o la Media, per visualizzare

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Microsoft Access. Microsoft Access

Microsoft Access. Microsoft Access Microsoft Access E. Tramontana E. Tramontana 1 Microsoft Access Un Database è una collezione di dati relazionati e strutturati MS Access è uno strumento per la gestione di Database Consente di archiviare

Dettagli

PRODUZIONE PAGELLE IN FORMATO PDF

PRODUZIONE PAGELLE IN FORMATO PDF Requisiti minimi: PRODUZIONE, FIRMA E PUBBLICAZIONE DELLA PAGELLA ELETTRONICA CON ALUNNI WINDOWS PRODUZIONE PAGELLE IN FORMATO PDF Argo Alunni Windows aggiornato alla versione più recente. Adobe PDF CREATOR,

Dettagli

Programmazione a Oggetti Modulo B

Programmazione a Oggetti Modulo B Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione

Dettagli

Funzioni non documentate Openoffice.org. 3 Base mini-howto

Funzioni non documentate Openoffice.org. 3 Base mini-howto Funzioni non documentate Openoffice.org. 3 Base mini-howto Augusto Scatolini (webmaster@comunecampagnano.it) Ver. 1.0 gennaio 2009 Come risolvere il problema del contatore che inizia da 0 (zero) Come importare

Dettagli

Architettura MVC-2: i JavaBeans

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

Dettagli

Microsoft Access 2000

Microsoft Access 2000 Microsoft Access 2000 Corso introduttivo per l ECDL 2004 Pieralberto Boasso Indice Lezione 1: le basi Lezione 2: le tabelle Lezione 3: creazione di tabelle Lezione 4: le query Lezione 5: le maschere Lezione

Dettagli

GCEWEB Denunce mensili in WEB

GCEWEB Denunce mensili in WEB GCEWEB Denunce mensili in WEB OBIETTIVI La procedura GCEWEB è un servizio fornito dalla C.E.N.A.I. per consentire l invio delle denunce mensili e malattia delle imprese edili. Il servizio è rivolto alle

Dettagli

Basi di Dati: Corso di laboratorio

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

Dettagli

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

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

Dettagli

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE S O. S E. B I. P R O D O T T I E S E R V I Z I P E R I B E N I C U L T U R A L I So.Se.Bi. s.r.l. - via dell Artigianato, 9-09122 Cagliari Tel. 070 / 2110311

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

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

Manuale utente Volta Control

Manuale utente Volta Control Manuale utente Volta Control www.satellitevolta.com 1 www.satellitevolta.com 2 Volta Control è un tool che permette la progettazione, l implementazione e la gestione di database Cassandra tramite interfaccia

Dettagli

Il linguaggio SQL: query innestate

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

Dettagli

Costruzione del layout in gino cms

Costruzione del layout in gino cms Costruzione del layout in gino cms Autore: Marco Guidotti - marco.guidotti(at)otto.to.it Versione: 1.0 Data: 2013-06-17 Layout Nell area amministrativa di gino l applicazione Layout permette di gestire

Dettagli

NUOVO SISTEMA AGGIORNAMENTO DA FYO

NUOVO SISTEMA AGGIORNAMENTO DA FYO NUOVO SISTEMA AGGIORNAMENTO DA FYO 1 Introduzione La sezione FYO permette di allineare i dati delle vendite di Vodafone con quelli registrati dall Agenzia Vodafone. L allineamento è possibile caricando

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 15/22 Aprile 2004 Progettazione di un Database (DB) Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione,

Dettagli

Iniziamo la panoramica sul funzionamento dell'svn sulla suite S.A.

Iniziamo la panoramica sul funzionamento dell'svn sulla suite S.A. Tutorial utilizzo SVN su piattaforma S.A. Uno dei requisiti principali dello sviluppo di progetti in Team è la necessità di avere uno spazio nel quale condividere il progetto con tutti i TeamMates. Subversion

Dettagli

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template. I TEMI PREDEFINITI (TEMPLATE) Scelta del tema I temi predefiniti di wordpress sono la base di un sito che usa un utente che per ragioni pratiche o per incapacità non può creare un sito usando solo codice

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

C A T A L O G O. Catalogo del Sistema Bibliotecario Padovano. Gruppo Lavoro per il Coordinamento dei Corsi all Utenza

C A T A L O G O. Catalogo del Sistema Bibliotecario Padovano. Gruppo Lavoro per il Coordinamento dei Corsi all Utenza C A T A L O G O Catalogo del Sistema Bibliotecario Padovano Gruppo Lavoro per il Coordinamento dei Corsi all Utenza Quando si usa un catalogo? Un catalogo permette di verificare se un documento, monografia

Dettagli

DATABASE RELAZIONALI

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

Dettagli

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

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

Dettagli

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Dettagli

Scenari esemplificativi di utilizzo delle Mailing List

Scenari esemplificativi di utilizzo delle Mailing List Scenari esemplificativi di utilizzo delle Mailing List La Mailing List è un particolare tipo di account che permette di definire al proprio interno un insieme di destinatari ai quali sarà possibile spedire

Dettagli