Modificare gli oggetti efficientemente. Dott. Doria Mauro

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Modificare gli oggetti efficientemente. Dott. Doria Mauro"

Transcript

1 Hibernate Modificare gli oggetti efficientemente Dott. Doria Mauro

2 Transitive persistence La persistenza transitiva è una tecnica che consente di propagare automaticamente la persistenza ad un sottografico di oggetti transienti e/o detached. Ad esempio, nell associazione tra Item e Bid, è possibile legare il ciclo di vita di un oggetto bid a quello dell item in cui si trova: Un bid viene automaticamente reso persistente al momento in cui rendiamo persistente l item Un bid viene cancellato al momento che cancelliamo un item. 2 Esistono diversi modi per realiazzare la transitive persistence, anche se si basano tutti sugli stessi principi

3 Persistence by reachability Uno strato di persistenza si dice che implementa la persistence by reachability se una istanza diventa persistente ogni volta che l applicazione crea un reference a questa istanza da un altra istanza che è già persistente. 3

4 Persistence by reachability Nell esempio precedente: Quando l oggetto Computer diventa persistente, lo diventano pure Desktop PCs e Monitor Quando Computer diventa detached lo diventano anche Desktop PCs e Monitor Se uno di questi due oggetti perde il reference da Computer, diventa automaticamente transient (e quindi rimosso). Si presume una navigazione nel grafo degli oggetti unidirezionale da padre a figlio. 4 Navigando nel grafo degli oggetti, si incontrano soltanto oggetti persistenti; non sono mai possibili violazioni di integrità referenziale.

5 Persistence by reachability Per quanto possa sembrare una strategia affascinante, questa tecnica non è applicabile così com è (ne da Hibernate, ne da altri ORM framework) Sarebbe necessario una sorta di garbage collector per la persistenza con un comportamento simile a quello della JVM Il problema più grosso sta nel fatto che: Gli oggetti sono condivisi (quindi ad un oggetto possono essere collegati references da diversi altri oggetti) Gli oggetti presenti nel persistent context non rappresentano tutti i legami presenti nel DB 5 Per fare questo G.C. sarebbe necessario fare una costante scansione del DB alla ricerca dei legami tra le righe

6 Persistenza a cascata Hibernate applica un tipo più semplice di persistence by reachability: la persistenza a cascata. Hibernate propaga lo stato di un oggetto verso un altro referenziato in base a quanto descritto nella proprietà cascade. La persistenza a cascata è più flessibile e assegna maggiore controllo allo sviluppatore. Solo così è possibile sapere facilmente quando un oggetto diventa detached. 6 Non si attiva di default ed è disponibile in tutti i tipi di associazione: (uno-a-uno, uno-a-molti, molti-a-molti) e per tutte le collections (<set>, <bag>, <list> e <map>).

7 Persistenza a cascata Tutti i valori per l attributo cascade: 7 (Come save-update)

8 Persistenza a cascata 8

9 Persistenza a cascata 9 Il valore delete-orphan si può applicare soltanto alle collections

10 Persistenza a cascata E possibile combinare tra loro diverse opzioni. Ecco alcuni esempi: <many-to-one name="parent" column="parent_category_id" class="category" cascade="save-update, persist, merge"/> NOTA: il valore delete-orphan non è incluso quando si sceglie il valore all <set name="bids" cascade="all, delete-orphan" inverse="true"> <key column ="ITEM_ID"/> <one-to-many class="bid"/> </set> 10 NOTA: non vi è nessuna relazione tra l attributo cascade e quello inverse

11 Esempi di cascade Un amministratore deve poter aggiungere, eliminare e modificare tutte le categorie dei prodotti che vende. Il mapping della classe Category: 11 <class name="category" table="category"> <property name="name" column="category_name"/> <many-to-one name="parentcategory" class="category" column="parent_category_id" cascade="none"/> <set name="childcategories" table="category" cascade="save-update" inverse="true"> <key column="parent_category_id"/> <one-to-many class="category"/> </set>... NOTA: si tratta di una associazione autoreferenziata di tipo molti-a-uno

12 Esempi di cascade aggiungere una nuova categoria E possibile aggiungere una categoria in diversi modi: Session session = sessionfactory.opensession(); L oggetto computer Transaction tx = session.begintransaction(); diventa persistent Category computer = (Category) session.load(category.class, computerid); Category laptops = new Category("Laptops"); computer.getchildcategories().add(laptops); laptops.setparentcategory(computer); 12 tx.commit(); session.close(); Completa la bidirezionalità dell associazione L oggetto laptop diventa persistente sotto l effetto del cascade

13 Esempi di cascade aggiungere una nuova categoria: modalità detached La stessa operazione si può fare quando la categoria padre è detached: Queste operazioni in nessuna sessione: Category computer = (Category) session.get( ) // Caricato in una precedente sessione Category laptops = new Category("Laptops"); computer.getchildcategories().add(laptops); laptops.setparentcategory(computer); 13 Queste operazioni in una seconda sessione: Session session = sessionfactory.opensession(); Transaction tx = session.begintransaction(); // Rendere persistente la nuova categoria già linkata a suo padre session.save(laptops); tx.commit(); session.close(); NO CASCADE QUI!!! Cosa succederebbe se il cascade fosse attivato per l associazione <many-to-one>? Hibernate valuta il link verso il padre e aggiunge il riferimento alla riga padre anche nel DB indipendentemente da cascade e inverse

14 Esempi di cascade aggiungere una nuova categoria: modalità detached Vediamo un altro esempio per valutare la convenienza di questo stile detached: Queste operazioni in nessuna sessione: 14 Category computer = (Category) session.get( ) // Caricato in una precedente sessione Category laptops = new Category("Laptops"); Category laptopultraportable = new Category("Ultra-Portable"); Metodi che creano Category laptoptabletpcs = new Category("Tablet PCs"); l associazione in tutte laptops.addchildcategory(laptopultraportable); e due i sensi laptops.addchildcategory(laptoptabletpcs); computer.addchildcategory(laptops); Queste operazioni in una seconda sessione: Session session = sessionfactory.opensession(); Transaction tx = session.begintransaction(); // Rendere persistente tutte le categorie session.save(laptops); tx.commit(); session.close(); Hibernate valuta il link verso il padre e aggiunge il riferimento alla riga padre anche nel DB e poi salva laptop e,a cascata, tutte le sue sottocategorie

15 Esempi di cascade aggiungere una nuova categoria: modalità detached Vediamo ancora un altro esempio per valutare la capacità di updatare (oltre che salvare) a cascata: Queste, dopo aver chiuso la sessione dell esempio precedente:.. //continua dall esempio precedente laptops.setname("laptop Computers"); // Modifica laptopultraportable.setname("ultra-portable Notebooks"); // Mdifica laptoptabletpcs.setname("tablet Computers"); // Modifica Category laptopbags = new Category("Laptop Bags"); laptops.addchildcategory(laptopbags); // Aggiunge Metodo che crea l associazione in tutte e due i sensi Queste operazioni in una seconda sessione: 15 Session session = sessionfactory.opensession(); Transaction tx = session.begintransaction(); // Modifica 3 categorie e ne inserisce una nuova session.saveorupdate(laptops); tx.commit(); session.close(); Hibernate valuta in autonomia cosa deve essere updatato e cosa invece inserito

16 SaveOrUpdate saveorupdate() ha il seguente effetto: Tutto questo deve essere reso persistente non importa se nuovo o vecchio E una buona idea utilizzare sempre il metodo saveorupdate() anche al posto dei singoli save() o update(). Con saveorupdate(), Hibernate determina lo stato dell oggetto (per decidere quale operazione fare delle due) in maniera molto più semplice rispetto ai metodi save() e update() e comunque senza accedere al DB. Vi è solo un caso (raro) in cui Hibernate effettua una select per determinare questo: quando l oggetto utilizza un identificatore composito con campi normali e non si conosce la sua versione (versioning). 16

17 Delete Normalmente la responsabilità della cancellazione degli oggetti ricade sullo sviluppatore che deve controllare se vi sono references all oggetto prima di cancellarlo. Non è possibile cancellare oggetti a cui sono associati altri oggetti. Abilitando il delete-orphan, quando si rimuove un oggetto dalla collection in cui si trova e questi non ha altri references associati, Hibernate provvedere alla sua rimozione automatica. E una proprietà molto interessante che evita allo sviluppatore di compiere la doppia azione di eliminare l oggetto dalla collezione e dallo stato di persistenza 17 E configurabile soltanto all interno dei tag ti tipo collections

18 Delete-orphan 18 Con delete-orphan disattivato: Item anitem =... // Caricato in una sessione precedente anitem.getbids().remove(abid); anitem.getbids().remove(anotherbid); Session session = sessionfactory.opensession(); Transaction tx = session.begintransaction(); session.delete(abid); session.delete(anotherbid); session.saveorupdate(anitem); tx.commit(); session.close(); Con delete-orphan attivato: Update dell oggetto prima di chiudere la sessione perché anitem è detached; se fosse persistent, l update sarebbe inutile Necessarie in quanto la semplice rimozione dalla collection non è una operazione di persistenza. Item anitem =... // Caricata in una precedente sessione anitem.getbids().remove(abid); anitem.getbids().remove(anotherbid); Session session = sessionfactory.opensession(); Transaction tx = session.begintransaction(); session.saveorupdate(anitem); tx.commit(); session.close();

19 bulk and batch operations Quando si manipola una grande mole di dati, il mondo dei DB mette a disposizione la possibilità di scrivere delle funzioni direttamente dulla basedati dette stored procedure Vedremo come Hibernate mette a disposizione degli strumenti per gestire le stored procedure e in generale il problema della massa dei dati. Hibernate consente di modificare gli oggetti direttamente nel DB attraverso il liguaggio HQL 19

20 Updatare oggetti nel DB In Hibernate è possibile updatare gli oggetti direttamente nel DB Queste operazioni sono speciali perché baipassano completamente il persistence context, quindi non hanno nessun effetto sugli oggetti in memoria! Vi sono due modi possibili per procedere: Operare in un nuovo contesto di persistenza Utilizzare il metodo refresh() 20

21 Updatare oggetti nel DB Grazie al linguaggio HQL di Hibernate è possibile lanciare le query che operano direttamente nel DB Ecco un esempio: Query q = session.createquery("update Item i set i.isactive = :isactive"); q.setboolean("isactive", true); int updateditems = q.executeupdate(); Numero di oggetti modificati dall istruzione update La modifica avviene direttamente nel DB. Le query HQL sono molto simili alle istruzioni SQL ma vanno specificate le classi al posto delle tabelle e le proprietà al posto delle colonne. 21

22 Updatare oggetti nel DB Con HQL le update possono essere anche polimorfiche o modificare la versione degli oggetti (versioning). Query q = session.createquery( "update CreditCard set stolenon <= :now where type = 'Visa " ); q.settimestamp("now", new Date() ); int updatedcreditcards = q.executeupdate(); Hibernate conosce la ripartizione dei dati tra le tabelle che mappano la generalizzazione Query q = session.createquery("update versioned Item i set i.isactive = :isactive"); q.setboolean("isactive", true); int updateditems = q.executeupdate(); 22 NOTA: le query HQL non si possono fare join, si può coinvolgere una sola classe alla volta, gli alias sono opzionale e nella were e possibile scrivere delle sottoquery

23 Inserire oggetti nel DB Sempre nell ottica di voler manipolare una grande mole di dati direttamente nel DB, vediamo un esempio di inserimento. Si vuole scrivere una procedura che marchi le carte di credito come rubate e che sposti le informazioni (dati carta, proprietario) in un altra tabella) L idea è quella di usa una istruzione HQL di insert senza passare dal persistent context. 23 Il primo passo è quello di creare una classe apposita da mappare con il DB e il secondo di scrivere l istruzione HQL.

24 Inserire oggetti nel DB Query q = session.createquery ("insert into StolenCreditCard (type, number, expmonth, expyear, ownerfirstname, onwerlastname, ownerlogin, owner address, ownerhomeaddress) select c.type, c.number, c.expmonth, c.expyear, u.firstname, u.lastname, u.username, u. , u.homeaddress from CreditCard c join c.user u where c.stolenon is not null ); int createdobjects = q.executeupdate(); 24

25 Batch query E possibile eseguire una query riportando i dati in memoria in gruppi e non tutti insieme. Ecco un esempio: Session session = sessionfactory.opensession(); Transaction tx = session.begintransaction(); ScrollableResults itemcursor = session.createquery("from Item").scroll(); int count=0; while ( itemcursor.next() ) { Item item = (Item) itemcursor.get(0); modifyitem(item); if ( ++count % 100 == 0 ) { session.flush(); session.clear(); } } tx.commit(); session.close(); Creazione del cursore Spostamento del cursore Elemento a partire dalla posizione corrente Ogni 100 elementi si ripulisce il persistence context 25 Per avere le migliori prestazioni: hibernate.jdbc.batch_size = numero

26 Batch insert E possibile anche inserire e modificare i modalità betch; lo scopo è quello di fare il flushing dei dati e svuotare il persistent context durante l operazione 26 Session session = sessionfactory.opensession(); Transaction tx = session.begintransaction(); for ( int i=0; i<100000; i++ ) { Item item = new Item(...); session.save(item); if ( i % 100 == 0 ) { session.flush(); session.clear(); } } tx.commit(); session.close(); NOTA: sia per le query che per l insert, è opportuno disabilitare la cache di secondo livello per le classi persistenti. Se si utilizza il generatore di identificativo identity, la batch insert potrebbe non essere supportata

27 Data filtering In alcuni casi, per motivi di sicurezza, si vuole mettere a disposizione soltanto una parte dei dati presenti sul DB. Non sempre è possibile scrivere delle query appropriate che dinamicamente selezionano i dati; cosa succede se scrivo unacategoria.getitems()? Ottengo tutti gli item di quella categoria senza possibilità di evitarne alcuni Una soluzione potrebbero essere le viste (view) sul DB, ma queste non sono nello standard di SQL e molti DB non le supportanto 27 Hibernate consente di filtrare i dati dinamicamente attraverso il meccanismo dei filter

28 Dynamic data filter Prima di tutto il filtro va dichiarato nel file XML di configurazione e si assegna un nome univoco (la dichiarazione è globale): <filter-def name="limititemsbyuserrank"> <filter-param name="currentuserrank" type="int"/> </filter-def> A questo punto è possibile aggiungere il filtro ad una classe: Nome del filtro <class name="item" table="item"> Una condizione SQL di... filtraggio degli oggetti Item <filter name="limititemsbyuserrank condition=":currentuserrank >= (select u.rank from USER u where u.user_id = SELLER_ID)"/> </class> 28 Infine, si abilita il filtro per una sessione e si passano gli eventuali parametri Filter filter = session.enablefilter("limititemsbyuserrank"); filter.setparameter("currentuserrank", loggedinuser.getranking());

29 Dynamic data filter E consentito un passaggio di parameri per la condizione del filtro. Il metodo enablefilter() abilita il filtro e torna un oggeto Filter su cui è possibile invorare diversi metodi. I più utili sono: setparameter(): setta un parametro nella condizione del filtro getfilterdefinition(): lista dei parametri del filtro validate(): Hibernate torna una exception se il parametro non è settato. setparameterlist(): setta una lista di argomenti 29

30 Dynamic data filter A questo punto, tutte le query effettuate sulla sessione filtrata otterranno dei dati soggetti all azione del filtro. List<Item> filtereditems = session.createquery("from Item").list(); List<Item> filtereditems = session.createcriteria(item.class).list(); Solo due metodi non sono soggetti al filtro: Recupero attraverso l identificatore Navigazione tramite il metodo set (es: unacategoria().getitem()) Per evitare questo ultimo aspetto, si può filtrare una collection 30

31 Dynamic data filter I campi di applicazione dei filtri sono molti; per citarne alcuni: Sicurezza: per motivi di sicurezza molto spesso è utile limitare l accesso ad una parte dei dati e non a tutto il DB Dati spaziali: si potrebbe limitare l accesso soltanto a quei dati che sono relativi ad una certa regione spaziale Dati temporali: si potrebbe mettere a disposizione dati in un certo intervallo di tempo (ad esempio l ultima settimana) 31

32 Lazy strategy La lazy strategy è la capacità di Hibernate di gestire efficientemente gli oggetti in memoria rimandando (o ritardando) le operazioni a quando sono strettamente necessario, in modo del tutto trasparente all applicazione. Hibernate applica di default, la lazy strategy per tutti i suoi oggetti identity e le collections. La lazy strategy si basa uno dei pattern fondamentali della GoF: proxy. Il comportamento di base attuato da Hibernate per il lazy è: 32 caricare in memoria soltanto gli oggetti che sono stati richiesti

33 Lazy loading Vediamo la logica lazy alla base del recupero di un oggetto dal DB. Consideriamo il caricamento in base all identificatore: Item item = (Item) session.load(item.class, new Long(123)); Per l applicazione, il risultato sarà il caricamento in memoria dell item 123, e l oggetto è nello stato persistent. In realtà, Hibernate proxa l oggetto l oggetto proxato reale e passa all applicazione NO 33 SI Persistence Context item 123 xxx yyy zzz Proxy 123

34 Lazy loading Ogni volta che viene richiesto ad Hibernate il caricamento di un oggetto, esso controlla se può generare un oggetto proxy a runtime per evitare di accedere al DB. 34 Il proxy ritarda (lazy) il momento dell accesso ai dati fino a quando non viene richiesto l accesso alle proprietà dell oggetto. Item item = (Item) session.load(item.class, new Long(123)); item.getid(); item.getdescription(); // Inizializzazione the proxy Ecco un altro esempio: Item item = (Item) session.load(item.class, new Long(123)); User user = (User) session.load(user.class, new Long(1234)); Bid newbid = new Bid("99.99"); newbid.setitem(item); newbid.setbidder(user); session.save(newbid); L identificatore è già presente nel proxy e quindi non scatta l accesso al DB La descrizione no e quindi scatta l accesso al DB C è solo uno spostamento di puntatori e non è necessarie select sul DB

35 Lazy loading 35 IL lazy loading è estremamento ottimizzato. Al momento del caricamento dell oggetto, si ottiene il proxy quando è possibile! Vediamo un esempio: L oggetto notebook è costruito e salvato in una sessione Category notebook = new Category(..); session2.save(notebook); tx.commit(); session2.close(); //creazione di una nuova sessione con persistence context vuoto. Session session3 = sessionfactory.opensession(); Transaction tx3 = session3.begintransaction(); session3.update(notebook); //senza questa istruzione si ha il proxy //recupero l oggetto notebook salvato in precedenza Category altronotebook= (Category)session3.load(Category.class, new Long(3)); System.out.println("CLASS: " + altronotebook.getclass()); //Category System.out.println("CLASS: " + notebook.getclass()); //Category System.out.println (" IDENTICI: " + altronotebook == notebook); //true L oggetto notebook diventa persistent nella nuova sessione Il persistent context già possiede l oggetto ma di tipo Category; viene restituito questo e non un proxy

36 Lazy loading Il metodo get(), al contrario di load() non torna mai un proxy. Se si vuole la classe reale dell oggetto proxato si può utilizzare un metodo statico di Hibernate: HibernateProxyHelper.getClassWithoutInitializingProxy(obj); Una volta che il proxy è costretto ad accedere al DB, questo si dice inizializzato. In questo caso vengono caricati i dati dal DB ma sempre in una ottica lazy. Hibernate, quando carica un oggetto, cercherà di minimizzare l accesso al DB e di minimizzare l occupazione di spazio di memoria per quell oggetto 36

37 Lazy loading Quando un oggetto Item, ad esempio, è inizializzato, si presenta così: Hibernate costruirà una serie di proxy, uno per ogni associazione *-a-uno presenti nella classe Item Hibernate costruirà una sorta di segnaposto per tutte le collezioni presenti nella classe Item (si parla di segnaposto perché Hibernate wrappa le collection originali con sue collections interne). 37 Le proprietà value e i componenti vengono caricati subito (no lazy)

38 Lazy loading Le collections vengono inizializzate quando si comincia a navigare all interno o quando si chiamano metodi di supporto come size() o contains(). Per le collections, Hibernate adotta un extra lazy: <class name="item" table="item">... <set name="bids" lazy="extra". Con lazy=extra, quando vengono effettuate chiamate ai metodi di supporto, Hibernate non inizializza la collection ma, per ottenere le informazioni, effettua query diretta al DB 38

39 Eager strategy Cosa succede se si tenta di navigare un oggetto proxato non inizializzato o con elementi non inizializzati fuori da una sessione (l oggetto detached)? Si ottiene una LazyInitializationException! Hibernate non è più in grado di recuperare gli oggetti associati perché il persistence context è ormai chiuso. Naturalmente, non sempre il proxy è desiderabile soprattutto per le collections. Hibernate ha una seconda strategia di caricamento dei dati: eager strategy. 39 La eager strategy carica subito l oggetto in ogni sua parte!

40 Eager strategy Non si vuole disabilitare la gestione proxy per tutte le classi; questo sarebbe disastroso per le performance dell applicazioni; Con lazy=false, si disabilita la lazy strategy per una certa classe. Ecco un esempio tra Item e User: 40 <class name="item" table="item">... <many-to-one name="seller lazy="false".../> <set name="bids" lazy="false" inverse="true"> <key column="item_id"/> <one-to-many class="bid"/> </set>... </class>

41 Domande? Eager strategy Lazy load Batch insert reachability Data filter cascade 41 Batch query proxy

Le API per la persistenza. Dott. Doria Mauro

Le API per la persistenza. Dott. Doria Mauro Hibernate Le API per la persistenza Dott. Doria Mauro doriamauro@gmail.com Le operazioni Il servizi di persistenza offerti da Hibertnate si occupano essenzialmente di: Operazioni base CRUD (creazione,

Dettagli

Le conversazioni. Dott. Doria Mauro

Le conversazioni. Dott. Doria Mauro Hibernate Le conversazioni Dott. Doria Mauro doriamauro@gmail.com Introduzione alle conversazioni In una applicazione reale le operazioni sono organizzate in classi controller con le funzioni di business

Dettagli

Mapping delle collections. Dott. Doria Mauro

Mapping delle collections. Dott. Doria Mauro Hibernate Mapping delle collections Dott. Doria Mauro doriamauro@gmail.com Mapping delle collections di elementi di tipo value primitivi o Stringhe Una classe di tipo value: Non ha una propria identità

Dettagli

esempio hello world Dott. Doria Mauro

esempio hello world Dott. Doria Mauro Hibernate esempio hello world Dott. Doria Mauro doriamauro@gmail.com Presentiamo un primo esempio che consente di gestire un messaggio di testo. Lo scopo è quello di storare il messaggio hello world sul

Dettagli

Le transazioni. Dott. Doria Mauro doriamauro@gmail.com

Le transazioni. Dott. Doria Mauro doriamauro@gmail.com Hibernate Le transazioni Dott. Doria Mauro doriamauro@gmail.com Introduzione La demarcazione delle transazioni può essere fatta: In maniera programmatica: demarcazione all interno del codice applicativo.

Dettagli

Mapping delle associazioni. Dott. Doria Mauro doriamauro@gmail.com

Mapping delle associazioni. Dott. Doria Mauro doriamauro@gmail.com Hibernate Mapping delle associazioni Dott. Doria Mauro doriamauro@gmail.com Mapping delle associazioni Abbiamo visto come vi sia un mapping dedicato per le associazioni tra classi entity e classi value.

Dettagli

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Dettagli

Laboratorio di Basi di Dati

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

Dettagli

SQL: DDL, VI, Aggiornamenti e Viste

SQL: DDL, VI, Aggiornamenti e Viste SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce

Dettagli

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

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

Dettagli

FlexCMP La piattaforma accessibile per il web 2.0

FlexCMP La piattaforma accessibile per il web 2.0 Manuale Utente FlexCMP La piattaforma accessibile per il web 2.0 FlexCMP è un prodotto di: Idea Futura S.R.L. Via Toscanini 7/2 40055 Castenaso (BO) - Italy Tel.: +39 051 780630 http://www.ideafutura.com

Dettagli

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI La finalità di questa esercitazione è quella di creare, date delle specifiche progettuale, appositi script di creazione e popolamento di una base

Dettagli

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

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi: SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i

Dettagli

Relazioni. Microsoft Access. Relazioni. Relazioni

Relazioni. Microsoft Access. Relazioni. Relazioni Relazioni Microsoft Access Relazioni In Access, le relazioni non sono le relazioni del modello relazionale! Relazioni: legate ai concetti di Join Integrità referenziale Relazioni I tipi di relazione possono

Dettagli

Il linguaggio SQL: autorizzazioni

Il linguaggio SQL: autorizzazioni Il linguaggio SQL: autorizzazioni Sistemi Informativi T Versione elettronica: 04.6.SQL.autorizzazioni.pdf Autorità e privilegi Nei DBMS SQL ogni operazione deve essere autorizzata, ovvero l utente che

Dettagli

PRIMI PASSI CON UN DATABASE

PRIMI PASSI CON UN DATABASE Basi di dati PRIMI PASSI CON UN DATABASE Definizione di database Per database si intende un insieme di informazioni catalogate ed organizzate. Il tipo di database più diffuso è quello relazionale, composto

Dettagli

DISPENSA ACCESS (OFFICE 2010 BETA)

DISPENSA ACCESS (OFFICE 2010 BETA) DISPENSA ACCESS (OFFICE 2010 BETA) 2. LE RELAZIONI. Una relazione può essere definita come un legame tra due tabelle basato sul valore di uno o più campi di ciascuna delle due tabelle. Di solito i campi

Dettagli

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette. 3.5 STAMPA UNIONE Le funzioni della stampa unione (o stampa in serie) permettono di collegare un documento principale con un elenco di nominativi e indirizzi, creando così tanti esemplari uguali nel contenuto,

Dettagli

Il paradigm mismatch. Dott. Doria Mauro

Il paradigm mismatch. Dott. Doria Mauro Hibernate Il paradigm mismatch Dott. Doria Mauro doriamauro@gmail.com The paradigm mismatch Per paradigm mismatch si intende la discordanza tra il modello di una applicazione ad oggetti e il modello dei

Dettagli

CORSO ACCESS PARTE IV

CORSO ACCESS PARTE IV Creazione di un database / gestione tabelle Per creare un nuovo database Menu File Selezionare Nuovo Scegliere Database vuoto nella scheda Generale e confermare con Ok Impostare il nome e il percorso nella

Dettagli

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente

Dettagli

Operazioni scatenanti. Nozione ed uso. Sintassi. Esempio

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

Dettagli

Triggers. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza

Triggers. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Triggers Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati prodotti

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto IL MODELLO RELAZIONALE http://www.diee.unica.it/giacinto/lab

Dettagli

Basi di Dati: Corso di laboratorio

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

Dettagli

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1 I.I.S. G. COSSALI - ORZINUOVI DATABASE Marzo 2017 Prof. Dario Tomasoni 1 IMPOSTAZIONE 60 min = Database concetti + Esercizi; 10 min = pausa; 30 min = Linguaggio SQL; 30 min = Database prove LibreOffice

Dettagli

Procedure di Acquisto con MePA

Procedure di Acquisto con MePA Procedure di Acquisto con MePA Guida all uso Abilitazioni Ordine Diretta (ODA) Richiesta di Acquisto (RDO) Questa presentazione è un mero esempio che può essere utile come brogliaccio per procedere agli

Dettagli

2011 Politecnico di Torino 1

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

Dettagli

Interrogazioni nidificate

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

Dettagli

SISTEMA GESTIONE TOMBINI

SISTEMA GESTIONE TOMBINI SISTEMA GESTIONE TOMBINI Il sistema offre funzionalità di rilievo sul campo e censimento dei tombini presenti sulle strade comunali per mezzo di una App dedicata. Il rilievo è basato sul posizionamento

Dettagli

Linked Lists. Liste linkate (1) liste linkate ( stack, queues ), trees. Liste linkate come strutture

Linked Lists. Liste linkate (1) liste linkate ( stack, queues ), trees. Liste linkate come strutture Linked Lists Liste linkate () La combinazione di class/struct e puntatori porta alla creazioni di interessanti Abstract Data Type liste linkate ( stack, queues ), trees Liste linkate come strutture struct

Dettagli

Plantview Usernames

Plantview Usernames Plantview 3.9.2 Usernames Come creare e gestire più username all'interno di un account Indice del documento Sommario Indice del documento 2 Prefazione 3 Utenti dell account 4 I contatti 4 Creare un contatto

Dettagli

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1 Modelli di Base Dati 4 Un DBMS: Access a.a. 2001/2002 4.1 DBMS 4.2 DBMS = Data Base Management System Software per la costruzione e la gestione di una base dati Esempi di DBMS: Oracle, MySQL, SQLServer,

Dettagli

Cosa sono le maschere

Cosa sono le maschere Prof. Emanuele Papotto Cosa sono le maschere La maschera è un oggetto di database che viene realizzato per mostrare, modificare e immettere i record in modo più chiaro rispetto alla visualizzazione foglio

Dettagli

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO Servizi per l e-government nell università Federico II WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO CONNESSIONE_TERMINAL_SERVER PAG. 1 DI 13 Indice 1. Premessa...3

Dettagli

Analysis Service. Dutto Riccardo IPSI - tel Dutto Riccardo - SQL Server 2008.

Analysis Service. Dutto Riccardo IPSI - tel Dutto Riccardo - SQL Server 2008. SQL Server Business Intelligence Development Studio Analysis Service Dutto Riccardo riccardo.dutto@polito.it IPSI - tel.7991 http://dbdmg.polito.it/ Il Data warehouse Sorgenti dati operazionali DB relazionali

Dettagli

Sezione 1: intestazione contenente i dettagli relativi al profilo utente e stream (tipi di richieste) disponibili

Sezione 1: intestazione contenente i dettagli relativi al profilo utente e stream (tipi di richieste) disponibili 2.1 Home Page Sezione 1: intestazione contenente i dettagli relativi al profilo utente e stream (tipi di richieste) disponibili Sezione 2: una serie di finestre che evidenziano le news più recenti, la

Dettagli

Guida d uso per il nuovo portale di riparazione

Guida d uso per il nuovo portale di riparazione Guida d uso per il nuovo portale di riparazione Introduzione In questa guida imparerai come navigare tra le varie schede del portale e come creare e gestire gli ordini di riparazione. Lo Scopo Lo scopo

Dettagli

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

Domande utili alla preparazione dell orale di Informatica all Esame di Stato Domande utili alla preparazione dell orale di Informatica all Esame di Stato 1.Al livello fisico un database si appoggia ai files per contenere i suoi dati? 2.Esistono altri modelli di organizzazione oltre

Dettagli

INTRODUZIONE ALLE BASI DATI RELAZIONALI

INTRODUZIONE ALLE BASI DATI RELAZIONALI INTRODUZIONE ALLE BASI DATI RELAZIONALI RELAZIONI E TABELLE Nelle BASI DI DATI RELAZIONALI le informazioni sono organizzate in TABELLE; Le tabelle sono rappresentate mediante griglie suddivise in RIGHE

Dettagli

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

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

Dettagli

SQL Server BI Development Studio. SQL Server Business Intelligence Development Studio. Analysis Services

SQL Server BI Development Studio. SQL Server Business Intelligence Development Studio. Analysis Services SQL Server Business Intelligence Development Studio Analysis Service Dutto Riccardo Analysis Services Operazioni OLAP Creazione di dimensioni Creazione e interrogazione di cubi Operazioni di Data Mining

Dettagli

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

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

Dettagli

Introduzione al C++ (continua)

Introduzione al C++ (continua) Introduzione al C++ (continua) I puntatori Un puntatore è una variabile che contiene un indirizzo di memoria pi_greco 3.141592 pi_greco_ptr indirizzo di 3.141592 & DEREFERENZIAZIONE RIFERIMENTO * se x

Dettagli

IMPORTAZIONE PRESENZE DA RILEVATORI ELETTRONICI. tramite file tracciato

IMPORTAZIONE PRESENZE DA RILEVATORI ELETTRONICI. tramite file tracciato IMPORTAZIONE PRESENZE DA RILEVATORI ELETTRONICI tramite file tracciato 1. Associazione del numero di badge ai nominativi Il programma PowerDIP consente di importare le presenze acquisiste con i rilevatori

Dettagli

Silvia Chiusano, Paolo Garza 1

Silvia Chiusano, Paolo Garza 1 Creazione di un trigger Sviluppo ed utilizzo dei trigger in Oracle Silvia Chiusano Paolo Garza CREATE TRIGGER nome_trigger modo evento [OR evento] ON tabella [REFERENCING referenza] [] [WHEN (predicato

Dettagli

VARIABILI, ASSEGNAZIONE, DECISIONI

VARIABILI, ASSEGNAZIONE, DECISIONI LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) PAG. 1 / 6 LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) T-SQL PROGRAMMAZIONE PARTE TERZA VARIABILI, ASSEGNAZIONE, DECISIONI Tratto da Gregory A. Larsen, http://www.databasejournal.com/features/mssql/article.php/3087431/t-sql-programming-part-1---defining-variables-and-if-logic.htm

Dettagli

ASP e Database. A cura di Michele Cavalieri

ASP e Database. A cura di Michele Cavalieri ASP e Database A cura di Michele Cavalieri (fonte http://www.aspitalia.com/articoli/db/introduzione.aspx ) Un aspetto fondamentale di ASP è l'utilizzo dei componenti, che non sono altro che ActiveX come

Dettagli

ESERCITAZIONI ACCESS

ESERCITAZIONI ACCESS ESERCITAZIONI ACCESS MS Access 2000 Struttura di riferimento: Studente (Matricola, Cognome, Nome) Esame (Matricola, Materia, Voto, Data) CREARE LE TABELLE IN SQL: Create table STUDENTE ( matricola char(6)

Dettagli

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio Relazioni e tabelle Introduzione alle Basi di Dati Relazionali Nelle Basi di Dati relazionali le informazioni sono organizzate in tabelle Le tabelle sono rappresentate mediante griglie suddivise in colonne

Dettagli

La stampa Unione con MS-Word

La stampa Unione con MS-Word La stampa Unione con MS-Word Il documento PRINCIPALE La stampa unione può essere utilizzata per creare: Lettere Buste Etichette. o documenti vari (Circolari ) La prima operazione da compiere sarà la scelta

Dettagli

Utilizzo collegamento remoto

Utilizzo collegamento remoto Utilizzo collegamento remoto Introduzione Il collegamento VPN (virtual private network) consente a PC collegati ad internet ma fisicamente fuori dalla rete interna regionale, di accedere, con le credenziali

Dettagli

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati Microsoft Access Programma applicativo del pacchetto Microsoft Office per la gestione delle basi di dati. Microsoft Access 2 Creazione base di dati Apertura di una base dati Una nuova base dati si crea

Dettagli

1 - Spesometro guida indicativa

1 - Spesometro guida indicativa 1 - Spesometro guida indicativa Il cosiddetto spesometro non è altro che un elenco contenente i dati dei clienti e fornitori con cui si sono intrattenuti dei rapporti commerciali rilevanti ai fini iva.

Dettagli

Come creare un nuovo Prodotto per ebay con Var.

Come creare un nuovo Prodotto per ebay con Var. imaio.com imaio v. 3.0 Come creare un nuovo Prodotto per ebay con Var. In questa guida verra illustrato come creare un nuovo prodotto sul sistema imaio III per essere poi pubblicato sul Negozio ebay con

Dettagli

MS Access: Tutorial Tabelle, Relazioni

MS Access: Tutorial Tabelle, Relazioni Università Magna Graecia di Catanzaro Informatica MS Access: Tutorial Tabelle, Relazioni Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Microsoft Access Tutorial Tabelle,

Dettagli

Caratteristiche dei linguaggi per Database

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

Dettagli

Serializzazione Java. Serializzazione. Calendario esercitazioni e laboratori. Applicazioni della Serializzazione

Serializzazione Java. Serializzazione. Calendario esercitazioni e laboratori. Applicazioni della Serializzazione Calendario esercitazioni e laboratori 29 Marzo esercitazione 12 Aprile esercitazione 26 Aprile laboratorio (lab721) 2 Maggio laboratorio (lab721) 3 Maggio esercitazione 9 Maggio laboratorio (???) 17 Maggio

Dettagli

e-procurement Hera QUICK REFERENCE MANUALE PER TRATTATIVE IN BUSTA CHIUSA

e-procurement Hera QUICK REFERENCE MANUALE PER TRATTATIVE IN BUSTA CHIUSA e-procurement Hera QUICK REFERENCE MANUALE PER TRATTATIVE IN BUSTA CHIUSA Indice del manuale Il presente manuale fornisce le istruzioni necessarie alla creazione ed invio dell offerta per le negoziazioni

Dettagli

L INTERFACCIA GRAFICA DI EXCEL

L INTERFACCIA GRAFICA DI EXCEL Dopo l avvio del foglio elettronico apparirà un interfaccia grafica nella quale verrà aperta una nuova cartella di lavoro alla quale il PC assegnerà automaticamente il nome provvisorio di Cartel1. La cartella

Dettagli

Entity Framework & SQL Server - Better Together

Entity Framework & SQL Server - Better Together Entity Framework & SQL Server - Better Together Alberto Dallagiacoma @albertodall E-Mail: alberto.dallagiacoma@dotdotnet.org Blog: http://blogs.ugidotnet.org/alby Sponsors Organizers getlatestversion.it

Dettagli

SISTEMI OPERATIVI, RETI, INTERNET

SISTEMI OPERATIVI, RETI, INTERNET Competenze e Unità didattica formativa capitalizzabile 4.1 SISTEMI OPERATIVI, RETI, INTERNET Comprendere il significato dell'evoluzione dei sistemi operativi. Comprendere che cosa fa un sistema operativo

Dettagli

Manuale Sito Videotrend

Manuale Sito Videotrend Manuale Sito Videotrend 1 Sommario INTRODUZIONE...3 PRESENTAZIONE...4 1 GESTIONE DDNS...6 1.1 GESTIONE DDNS...6 1.2 CONNESSIONE DDNS...6 1.3 CREA ACCOUNT DDNS...7 1.4 GESTIONEACCOUNT...7 1.5 IMPIANTI DDNS...8

Dettagli

Cloud GDrive, Dropbox

Cloud GDrive, Dropbox Cloud GDrive, Dropbox Lezione 3 Lavorare con Dropbox Video Dropbox permette, oltre all'archiviazione di file in rete, di lavorare direttamente all'interno del servizio sul web, attraverso l'uso dell'applicazione

Dettagli

WORD PROCESSING.

WORD PROCESSING. WORD PROCESSING www.diego72.altervista.org CREARE IN SERIE LETTERE ED ETICHETTE La Creazione guidata Stampa unione è presente nella scheda Lettere consente di creare lettere tipo, etichette per indirizzi,

Dettagli

SQL: Definizione e Manipolazione di Relazioni. Capitolo 2

SQL: Definizione e Manipolazione di Relazioni. Capitolo 2 SQL: Definizione e Manipolazione di Relazioni Capitolo 2 1 Sintassi della Creazione di uno Schema Relazionale CREATE TABLE ( [NOT NULL] [UNIQUE] [],...,...,

Dettagli

La classe std::vector della Standard Template Library del C++

La classe std::vector della Standard Template Library del C++ La classe std::vector della Standard Template Library del C++ Alberto Garfagnini Università degli studi di Padova 23 Ottobre 2013 Programmazione generica in C++ : i Template I templates sono probabilmente

Dettagli

La Back Office Console consente di costruire lo scheletro degli schema.

La Back Office Console consente di costruire lo scheletro degli schema. BACK OFFICE CONSOLE 1.1 Introduzione 3 1.2 Creazione di uno Schema 4 1.2.1 Struttura dello Schema 5 1.2.2 Caratteristiche dei campi 6 1.2.3 Traduzioni 8 1.3 Ricerca degli schema 8 1.4 Gestione delle Categorie

Dettagli

Come usare la piattaforma StartUp

Come usare la piattaforma StartUp Come usare la piattaforma StartUp Gestione del profilo personale Per rendere visibile il tuo profilo agli altri utenti: Accedi al tuo profilo Ø Personal desktop > Personal Data and Profile Aggiorna il

Dettagli

MODULO 2. Query normali e parametriche Query di:

MODULO 2. Query normali e parametriche Query di: MODULO 2 TITOLO DBMS e SQL In questo Modulo si affronta lo studio dei DBMS Access e MySQL. In particolare per Access, si descrive come progettare, impostare e modificare gli strumenti di lavoro (tabelle,

Dettagli

MANUALE PER L'UTENTE VERSIONE 1.3

MANUALE PER L'UTENTE VERSIONE 1.3 MANUALE PER L'UTENTE VERSIONE 1.3 2017 Luca Borghese 1 Indice Introduzione...Pag. 3 PANORAMICA DELL APPLICAZIONE Pagina Login/Logout...Pag. 3 Pagina Amministratore...Pag. 4 Modifica utenti...pag. 6 Inserimento

Dettagli

Il software Epi Info

Il software Epi Info Il software Epi Info Controlli sui dati nell esempio dello studio sulla compliance: Crea maschera Controlli sui valori dei dati Quando si creano i campi (clic destro sulla maschera) è già possibile utilizzare:

Dettagli

MANUALE UTENTE UPLOADER JAVA

MANUALE UTENTE UPLOADER JAVA MANUALE UTENTE UPLOADER JAVA Indice 1. Accesso all applicazione 2 2. Selezionare e aprire una cartella 2 3. Caricare file e cartelle 3 4. Scaricare un file o una cartella 6 5. Funzioni avanzate 8 6. Aggiornare

Dettagli

Programmazione con Java

Programmazione con Java Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:

Dettagli

Corso sul PACCHETTO OFFICE. Modulo Access

Corso sul PACCHETTO OFFICE. Modulo Access Corso sul PACCHETTO OFFICE Modulo Access Docente: dott. Marco Cardani Lezione 2 Come creare un database 1 2 Come creare un database Impareremo ora come creare un nuovo database in modo da raggiungere un

Dettagli

PAGINA PERSONALE DEL DOCENTE

PAGINA PERSONALE DEL DOCENTE COME AGGIUNGERE NUOVE PAGINE PAGINA PERSONALE DEL DOCENTE Una volta effettuato dalla home di unipa.it il login con il nome utente e la password usati per la mail, si accede all area privata della propria

Dettagli

Corso di Cmap Tools. 5-Lavorare con le risorse

Corso di Cmap Tools. 5-Lavorare con le risorse Corso di Cmap Tools 5-Lavorare con le risorse 1 Prerequisiti Utilizzo elementare del computer Caricare (uploading) file in rete Scaricare (downloading) file dalla rete 2 1 Introduzione In questa Unità

Dettagli

Corso di Basi di Dati

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

Dettagli

AnthericaCMS. Gestisci in autonomia i contenuti del tuo sito-web

AnthericaCMS. Gestisci in autonomia i contenuti del tuo sito-web AnthericaCMS Gestisci in autonomia i contenuti del tuo sito-web INDICE I vantaggi di un sito dinamico... 1 I vantaggi di anthericacms... 2 La piattaforma di gestione dei contenuti... 3 Accesso: le sezioni...

Dettagli

JDBC. Marco Tessarotto Programmazione dei Web Server Anno Accademico

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

Dettagli

SQL Server 2008. Architettura Client-Server. SQL Server 2008. Introduzione all uso di SQL Server 2008. Dutto Riccardo. http://dbdmg.polito.

SQL Server 2008. Architettura Client-Server. SQL Server 2008. Introduzione all uso di SQL Server 2008. Dutto Riccardo. http://dbdmg.polito. SQL Server 2008 Introduzione all uso di SQL Server 2008 Dutto Riccardo http://dbdmg.polito.it SQL Server 2008 Gestione dei server OLAP e OLTP Gestione Utenti Creazione e gestione DB SQL Server Business

Dettagli

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione

Dettagli

2011 Politecnico di Torino 1

2011 Politecnico di Torino 1 SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione

Dettagli

GALLERY. Album immagini

GALLERY. Album immagini GALLERY In questo menù del pannello di amministrazione si trovano tutte le funzioni utili alla gestione delle foto, dei video e degli album da inserire all'interno delle pagine con funzione ALBUM IMMAGINI

Dettagli

DATABASE PER IL WEB. Programmazione Web 1

DATABASE PER IL WEB. Programmazione Web 1 DATABASE PER IL WEB Programmazione Web 1 Archite3ura web con database Client Tier Web/App Tier DB Tier Client Web / App Server Database Il server web comunica con un altro server che con8ene il la banca

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL Operazioni di aggiornamento operazioni di inserimento: insert eliminazione: delete modifica: update di una o più ennuple di una

Dettagli

Il linguaggio SQL: le viste

Il linguaggio SQL: le viste Il linguaggio SQL: le viste Basi di dati 1 Il linguaggio SQL: le viste Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL: le viste Basi di dati 2 Introduzione

Dettagli

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

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

Dettagli

Le Basi di Dati Attive

Le Basi di Dati Attive Le Basi di Dati Attive Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 5 Appunti dalle lezioni SQL in Linguaggi di programmazione L uso diretto dell interprete SQL è tipicamente

Dettagli

C3 IL DBMS MICROSOFT ACCESS

C3 IL DBMS MICROSOFT ACCESS C3 IL DBMS MICROSOFT ACCESS 1 GERARCHIE OBBLIGATORIE Nella progettazione di una base di dati abbiamo moltissimi gradi di libertà ma anche alcune regole rigide che siamo costretti a rispettare. Il primo

Dettagli

Inserire record. Microsoft Access. Inserire/modificare record. Inserire record. Cancellare record. Inserire/modificare record

Inserire record. Microsoft Access. Inserire/modificare record. Inserire record. Cancellare record. Inserire/modificare record Inserire record Microsoft Access Maschere (II) Una maschera può essere sfruttata non solo per vedere dati ma anche per immettere nuovi record, per modificarli o per cancellarli (come in visualizzazione

Dettagli

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE PROGRAMMAZIONE TRIENNIO: TERZA DISCIPLINA: INFORMATICA MODULO 1: HTMLe CSS UNITÀ ORARIE PREVISTE: 35 Il linguaggio HTML ed il web I principali tag I fogli di stile:

Dettagli

SQL QUERY: Le interrogazioni del database

SQL QUERY: Le interrogazioni del database Appunti della lezione di Database del 20 ottobre 2016 (mattina) Studenti: D Amuri Giuseppe, De Luca Federico Professore: Mario Bochicchio SQL QUERY: Le interrogazioni del database Per effettuare un interrogazione

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: Framework Hibernate Parte b versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

ArcGIS - ArcView 3- strumenti di analisi

ArcGIS - ArcView 3- strumenti di analisi ArcGIS - ArcView 3- strumenti di analisi Marco Negretti Politecnico di Milano Polo Regionale di Como e-mail: marco.negretti@polimi.it http://geomatica.como.polimi.it - tel +39.031.332.7524 05/05/05 - v

Dettagli

SQL Server Introduzione all uso di SQL Server Dutto Riccardo. Dutto Riccardo - SQL Server 2008.

SQL Server Introduzione all uso di SQL Server Dutto Riccardo.  Dutto Riccardo - SQL Server 2008. SQL Server 2008 Introduzione all uso di SQL Server 2008 Dutto Riccardo http://dbdmg.polito.it SQL Server 2008 SQL Server Management Studio Gestione dei server OLAP e OLTP Gestione Utenti Creazione e gestione

Dettagli

Gestione codici IBAN Sistema Pagamenti

Gestione codici IBAN Sistema Pagamenti Direzione Regionale Salute e Integrazione Sociosanitaria Area Risorse Finanziarie, Analisi di Bilancio, Contabilità Analitica e Crediti Sanitari Gestione codici IBAN Sistema Pagamenti Indice del documento

Dettagli

Con un DB vuoto (non proprio visto che alcuni campi sono valorizzati di default) il sito si presenta come nell immagine 1.

Con un DB vuoto (non proprio visto che alcuni campi sono valorizzati di default) il sito si presenta come nell immagine 1. Intro: Questa piattaforma permette di creare un sito/blog in modo semplice e abbastanza intuitivo (se si capisce il pannello di controllo che ho creato, sto cercando di migliorarlo;-)) Infatti nei vari

Dettagli