UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli
|
|
- Andrea Brunelli
- 8 anni fa
- Visualizzazioni
Transcript
1 UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1
2 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi di dati) I programmi trattano oggetti (Stato, comportamento, associazioni) La base di dati è fatta di tabelle (valori, relazioni ) 2
3 Schema AE 3
4 Struttura a livelli A cosa ci vogliamo portare nel Dominio Logica applicativa 4
5 Terminologia Data Object Sono le entità proprie del dominio applicativo ESEMPI: Fattura, Ordine, Cliente, Impiegato, Prestito, Escursione, Documento, Prenotazione, Pagamento, ecc. Spesso vengono anche indicati come Value Object (o Business object) Service Object Sono gli oggetti che implementano la logica applicativa ESEMPI: Gestore degli ordini, Controllo Pagamenti, Assegnazione lavoro, Registrazione prenotazione, ecc. Indicati anche come Applicative Object, Managers, Control Objects (?), ecc. 5
6 Un modo elementare (prima di passare a un DB) I dati (Data Objects) possono essere salvati/recuperati su/da un file All avvio del programma viene caricato il file con i dati (tutto il grafo del modello di dominio) Tutti gli oggetti sono quindi in memoria La logica applicativo opera sugli oggetti in memoria Al termine il grafo degli oggetti del modello di dominio viene di nuovo salvato (come con Word, Excel, StarUML, ) Non è una soluzione accettabile per applicazioni enterprise 6
7 .Un modo elementare Se ci basta un file system (non una vera base dati) Serializzazione (Java) Salva/recupera l intero grafo degli oggetti (con tutti i loro attributi ecc.) Un po ostica da manegiare Uso di librerie, p.e. XStream Si appoggia sulla serializzazione di Java Genera file XML contenenti il grafo degli oggetti Costruisce un grafo di oggetti a partire dal file XML (conforme) 7
8 XML (Extended markup Language) Esempio (da wikipedia) <?xml version="1.0" encoding="utf-8"?> <utenti> <utente> <nome>luca</nome> <cognome>ruggero</cognome> <indirizzo>milano</indirizzo> </utente> <utente> <nome>max</nome> <cognome>rossi</cognome> <indirizzo>roma</indirizzo> </utente> </utenti> Vediamolo! 8
9 Siamo seri! Usare una base di dati (relazionale) Tenere in memoria solo i data objects che in quel momento servono Ragionare per Transazioni Richiede l adattamento dei due mondi Oggetti Tabelle 9
10 Mismatch 10
11 Mappatura (impedance mismatch) Mondo OO Mondo RDB Mappatura Va bene per relazioni 1:1 e 1:N Nel caso di relazione N:N ci vuole una tabella di incrocio 11
12 Mappatura (impedance mismatch) Mondo OO Mondo RDB Mappatura Negli oggetti e nelle tabelle Solo negli oggetti 12
13 Soluzione (obiettivo) 13
14 Mappatura Manuale: Il codice SQL per l accesso ai dati viene prodotto manualmente dal programmatore e integrato nell applicazione Automatica: Attraverso i metadati di mappatura il livello di persistenza provvede ad accedere direttamente ai dati (genera automaticamente il codice SQL necessario) 14
15 Mappatura Trasparente: Il modello di dominio non è sottoposto ad alcun vincolo dovuto allo strato di persistenza; le entità (oggetti corrispondenti ai dati) sono transienti e non sanno di essere persistenti. Invasiva: Il modello di dominio deve implementare e/o estendere classi e interfacce per implementare la mappatura. Le entità persistenti vengono codificate in modo diverso dalle entità transienti (p.e., hanno i metodi per salvarsi, aggiornarsi, ecc.) T I M A 15
16 ODBC/JDBC ODBC (Open Data Base Connectivity): API standard di connessione ai DBMS (linguaggio C) JDBC: versione di ODBC per programmi in Java Richiedono un driver specifico per ogni distinto DBMS (Oracle, MySQL, ) 16
17 Mappatura manuale con JDBC JDBC: API standard di JAVA verso il DBMS relazionale (uso di SQL) Accesso alla base dati: Apertura di una connessione verso la base di dati (istanziazione dell'oggetto con ) Preparazione di uno statement SQL (istanziazione dell'oggetto stmt) Esecuzione della query (tramite il metodo executequery() di stmt ) ottenendo un result set. Statement stmt = con.createstatement(); resultset rs = stmt.executequery("select * from PARTECIPANTE"); 17
18 Mappatura manuale con JDBC Come fare: Lasciare i Service Objects invariati Mettere nei Data Object le funzionalità che servono a: Cercare nella base dati Istanziare gli oggetti e assegnare agli attributi i valori letti da DB Salvare gli oggetti (aggiornare la base di dati) copiare i valori degli attributi nei campi delle righe corrispondente 18
19 Esempio (rif. Agenzia) Nell applicazione: Partecipante p = agenzia.getpartecipante( BCC... ) Bisogna inserire linee di codice entro Agenzia per recuperare gli oggetti dal DB (persistenza attraverso i Data Objects (Agenzia) E una soluzione invasiva : le entità di dominio vengono sporcate dal codice di persistenza, violando la separazione tra il livello di dominio e quello di persistenza 19
20 Esempio Cosa serve in Agenzia public Partecipante getpartecipante(string cf){ Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select * from PARTECIPANTE"); while (rs.next()){ String cfx = rs.getstring("cf"); if (cfx == cf) { Partecipante p = new Partecipante(cF); p.setname(rs.getstring("name")); return p; } } return null; } L oggetto di dominio è stato stravolto Meglio evitare! Ma come? 20
21 Per inciso M. Fowler, Patterns of Enterprise Application Architecture Addison Wensley Descrive un ottantina di pattern Una parte consistente è relativa al problema della persistenza (mapping, caricamento, ecc) 21
22 ..Come? Non ci sarebbe niente di strano se anche i ServiceObjects avessero accesso a JDBC (p.e. per istanziare i DataObjects) E anche peggio: la conoscenza della struttura della base di dati verrebbe portata anche nei service objects!!! Ci vuole una soluzione meno invasiva 22
23 ..Come? Ricorrere al criterio classico dell ingegneria del software: Nascondere, incapsulare a parte i dettagli relativi alla mappatura in modo che i Data Object e i Service Object restino il più possibile gli stessi (qualcosa andrà comunque modificata) SOLUZIONE: DAO (Data Access Object), oggetti che hanno la responsabilità della mappatura Usati dai Service Object per ottenere i Data Object Un DAO per ogni classe di oggetti Rendono inutile il Contenitore (nel nostro caso Agenzia) 23
24 Evitare 24
25 Effetto del DAO Trasparente: I Data Object possono essere codificati come normali classi POJO Il Data Object Cliente non ha richiesto nessuna modifica relativa alla persistenza 25
26 Effetto del DAO Ovviamente questi metodi devono avere parametri appropriati 26
27 Mappatura manuale e trasparente (con JDBC e DAO) Come si trasforma 27
28 Mappatura manuale e trasparente (con JDBC e DAO) Come si trasforma Invariati 28
29 Mappatura manuale e trasparente (con JDBC e DAO) Come si trasforma Alcune variazioni Invariati 29
30 Mappatura manuale e trasparente (con JDBC e DAO) Come si trasforma Alcune variazioni Invariati Nuovi 30
31 DAO in azione 31
32 E questo? Attenzione!!! Vediamolo! 32
33 E questo? Attenzione!!! Presuppone che la creazione dell oggetto Client abbia anche creato gli oggetti ad esso collegati (il CC) Di norma non sarà così Vediamo i DAO 33
34 Valutazione DAO + E (quasi) trasparente Istanziare i DAO Chiedere ai DAO il Load/Store di oggetti Richiede la scrittura manuale dei DAO (codice SQL), per la gestione della persistenza Quando il dominio è complesso la produzione del codice SQL diventa molto costosa (tirare dentro tutto il grafo o solo una parte?) Difficoltà nel testing (del codice SQL) Per semplificare lo sviluppo sono stati resi disponibili i cosiddetti i framework di persistenza (o più semplicemente ORM) 34
35 Persistence framework Un framework di persistenza gestisce la mappatura tra oggetti e base dati in modo automatico e trasparente Open source: Hibernate, OJB (Apache ObJectRelationalBridge), CAYENNE (Apache), JULP (Java Ultra-Lite Persistence), TJDO,... Commerciali: TopLink (Oracle), JDO Genie, JDO Toolkit, 35
36 Persistence Framework (Hibernate) Fa (quasi) tutto lui 36
37 Persistence framework I Data Object sono normali oggetti (POJO) nel dominio I metadati specificano quali sono gli oggetti da considerare persistenti C è un Persistence Manager: fintantoché un oggetto nel dominio è agganciato al persistence manager, il framework rileva i suoi cambiamenti di stato e lo sincronizza con il data base SQL generation Commit and rollbacks Caching Prefetching Ecc. 37
38 Hibernate in azione Sono spariti i metodi save(), load().. Ma si usano i metodi di Session 38
39 Lavora con i Metadati di Mapping 39
40 Hibernate 40
41 Architettura con Hibernate Di norma XML 41
42 E bene mantenere i DAO Conviene comunque avere i DAO tra il livello di persistenza e il livello dei service objects Hibernate semplifica l accesso ma ha pur sempre degli aspetti che sanno di base di dati (aprire/chiudere le sessioni, aprire/chiudere le transazioni, riconoscere le eccezioni che genera,..) Meglio nascondere questi aspetti entro i DAO, in modo che la logica applicativa veda un interfaccia pulita. 42
43 Hibernate e DAO 43
44 In pratica Interfaccia del DAO delle Escursioni public interface EscursioneDAO extends GenericDAO<Escursione> { public List<Escursione> getbypartecipante(partecipante p); public List<Escursione> findbydate(data d) ; } GenericDAO è un interfaccia ancora più astratta che definisce operazioni CRUD da prevedere per qualunque tipo di DAO [save(), delete(), ] Sono oggetti 44
45 In pratica public class EscursioneDAOImpl extends GenericAbstractHibernateDAO<Escursione> implements EscursioneDAO { public List<Escursione> getbypartecipante( Partecipante p) { return find("from Escursione e where :partecipante in elements(e.iscrittilista)", "partecipante",p); } public List<Escursione> findbydate(data d) { return find("from Escursione where data = :data", "data", d); 45
46 Meglio ancora JPA JPA (Java Persistence API) Semplifica di molto il trattamento della persistenza Si tratta di aggiungere poche righe al codice Java (POJO) public class private Integer employeeid; ::::::: } Si può anche fare a meno dei DAO 46
47 Modo tradizionale: Sintesi: Procedure di utente cosa che operano conviene? sui dati letti/scritti da/su la Base di dati Logica di dominio attraverso le entità che lo compongono. 47
48 Sintesi: cosa conviene? Se l applicazione è complessa la strada è per forza questa: costi di sviluppo (progrmz, testing..) manutenzione ecc 48
49 Sintesi: cosa conviene? 49
UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli
UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi
DettagliUNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli
UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi
DettagliIntroduzione JDBC interfaccia java.sql driver caricare i driver
J D B C DISPENSE Introduzione JDBC (Java Database Connectivity) è un interfaccia completamente Java utilizzata per eseguire istruzioni SQL sui database. L'API JDBC si trova nel pacchetto java.sql; contiene
DettagliProgrammazione Java Avanzata Spring - JDBC
Programmazione Java Avanzata Spring - JDBC Ing. Gianluca Caminiti Riferimenti Spring http://www.springsource.org/ (scaricate il reference) Beginning Spring 2 - From Novice to Professional. APress. 2008
DettagliIntroduzione al mondo della persistenza. Dott. Doria Mauro doriamauro@gmail.com
Hibernate Introduzione al mondo della persistenza Dott. Doria Mauro doriamauro@gmail.com La questione della persistenza Il modo dei database è complesso e le tecniche e le tecnologie sono molte. Per anni
DettagliSiti 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
DettagliOrganizzazione 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
DettagliArchitettura 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
DettagliDispensa 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
Dettagli1. BASI DI DATI: GENERALITÀ
1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente
DettagliLezione 9. Applicazioni tradizionali
Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere
DettagliObject-Relational Mapping
Object-Relational Mapping Versione Preliminare Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Questi
DettagliMappare il DB senza XML. Introduzione alle annotation di Hibernate3
Introduzione alle annotation di Hibernate3 a cura di Lucio Benfante Hibernate Hibernate è un framework che realizza un object/relational mapping (ORM) fra oggetti Java e strutture di un database relazionale
DettagliTelerilevamento e GIS Prof. Ing. Giuseppe Mussumeci
Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme
DettagliAccess. 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
DettagliSoluzione 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
DettagliJDBC versione base. Le classi/interfacce principali di JDBC
JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice
DettagliSviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012
+ Sviluppo Applicazioni Mobile Lezione 12 JDBC + Cosa vediamo nella lezione di oggi Oggi analizzeremo insieme una specifica tecnologia Java per l accesso e la manipolazione di basi di dati relazionali
DettagliNon si deve fare ALCUN riferimento alla parte specifica di JDBC.
Un applicazione per la quale sia fondamentale l indipendenza dal Database può essere scritta in Java usando le specifiche. (Package java.sql) Non devono essere usate chiamate specifiche del database: Si
DettagliLezione 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)
DettagliDBMS (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
DettagliProgettazione : Design Pattern Creazionali
Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali
DettagliPROGETTAZIONE E SVILUPPO DI UN. Relatore: Studente: Paolo Merialdo Valerio Barbagallo
PROGETTAZIONE E SVILUPPO DI UN SIMULATORE ECONOMICO FISCALE Relatore: Studente: Paolo Merialdo Valerio Barbagallo Sommario il problema: gestione e ottimizzazione del bilancio piattaforma J2EE e framework
DettagliJDBC per l accesso Java a DB. Tito Flagella tito@link.it
JDBC per l accesso Java a DB Tito Flagella tito@link.it JDBC fornisce una libreria standard per l accesso a database relazionali Non è un acronimo ufficiale ma è comunemente interpretato come Java DataBase
DettagliIntroduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni
Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono
DettagliCapitolo 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
DettagliBasi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08
Università di Modena e Reggio Emilia Panoramica Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08 Docente: andrea.bulgarelli@gmail.com Argomento: struttura SQL Server (1.0)! Componenti! Edizioni!
DettagliTecnologia di un Database Server (centralizzato) Introduzione generale
Introduzione Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Introduzione generale Angelo Montanari Dipartimento di Matematica e Informatica Università di
DettagliIntroduzione 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
DettagliBasi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti
Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo
DettagliEsercitazione su JDBC
Esercitazione su JDBC Basi di Dati L Ingegneria dei Processi Gestionali (Ilaria Bartolini - Roberto Cabras) come usare SQL (1) Le istruzioni SQL possono essere eseguite interattivamente Ese JDBC 2 come
DettagliAl 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,
DettagliDatabase. Francesco Tapparo Informatica e Bioinformatica 2013-14 1/16
Database Francesco Tapparo Informatica e Bioinformatica 2013-14 1/16 Trend attuali CPU sempre più potenti Memorie di massa di dimensioni sempre maggiori Eniac: 180m 2 Memoria: 20 numeri di 10 cifre, meno
DettagliDatabase. 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
DettagliJDBC. A. Bechini 2004. Accesso a DataD con Java
JDBC Accesso a DataD atabase ase con Java Utilizzo di DB da applicazioni esterne Un DB contiene e gestisce dati, importanti per varie operazioni supportate da applicazioni software Come può un applicazione
DettagliProgettazione della componente applicativa
7 Progettazione della componente applicativa In questo capitolo illustreremo la progettazione della componente applicativa di un sistema informativo. La metodologia da noi utilizzata sarà basata sull utilizzo
DettagliIntroduzione 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
DettagliJDBC di base. Le classi/interfacce principali di JDBC
JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di
DettagliRiccardo 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
DettagliData 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
DettagliScheda 15 Accedere ai DataBase con JDBC
Scheda 15 Accedere ai DataBase con JDBC G IOVANNI PULITI Panoramica: che cosa è JDBC La API JDBC, introdotta per la prima volta con il JDK 1.0, è una API che permette di accedere a database relazionali
DettagliL architettura di un DBMS
L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze
DettagliUso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database
Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,
DettagliBasi 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
DettagliLinguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Programmazione Object Oriented in Java
DettagliInformatica 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à
DettagliObject Oriented Programming
OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in
DettagliAbilità 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.
DettagliCORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity
CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso
DettagliIntroduzione al data base
Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli
DettagliFacoltà 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
DettagliINTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati
INTRODUZIONE Accesso ai dati tramite DBMS Livelli di astrazione Modello dei dati: schema / istanza / metadati Alcuni modelli dei dati Linguaggi per DBMS Architettura di base di un DBMS cesarini - BDSI
DettagliMicrosoft 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
DettagliImplementazione di MVC. Gabriele Pellegrinetti
Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il
DettagliLa Metodologia adottata nel Corso
La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema
DettagliIntroduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico
Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle
DettagliCandidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013
e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento
DettagliCapitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
DettagliProgrammazione 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
DettagliJDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC
JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali
DettagliDDL, 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
DettagliGenerazione Automatica di Asserzioni da Modelli di Specifica
UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:
DettagliIl database management system Access
Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio
Dettaglicorso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012
1 MICROSOFT ACCESS 1 Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 Che cos'è Access? 2 Access è un'applicazione database (DBMS), cioè un programma che serve a gestire
DettagliGestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista
Gestione Iter Manuale Sistemista Paragrafo-Pagina di Pagine 1-1 di 8 Versione 3 del 24/02/2010 SOMMARIO 1 A Chi è destinato... 1-3 2 Pre requisiti... 2-3 3 Obiettivi... 3-3 4 Durata della formazione...
DettagliBASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015
BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare
DettagliE-mail: infobusiness@zucchetti.it. Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11
Gestione Filtri InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11 INDICE Indice...2 1. GESTIONE DEI FILTRI...3 1.1. Filtri fissi...3 1.2. Filtro parametrico...5 1.3. Funzione di ricerca...6 2. CONTESTI IN CUI
DettagliMANUALE 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
DettagliDatabase e reti. Piero Gallo Pasquale Sirsi
Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente
DettagliProgramma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione
Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni
DettagliGenLApp Generazione Lista di Applicazioni. Design Patterns. Classi Essenziali. Modellazione Dati. Progettazione della Linea di Prodotti
Progettazione della Linea di Prodotti GenLApp Generazione Lista di Applicazioni Progettazione della Linea di Prodotti Classi Essenziali Responsabilità sui 3 Livelli Architetturali Descrizione delle Responsabilità
DettagliIl 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
DettagliVolumi 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
DettagliMac Application Manager 1.3 (SOLO PER TIGER)
Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i
DettagliIl linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf
Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I
DettagliSWIM v2 Design Document
PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback
Dettagli12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
DettagliMon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo
Prerequisiti Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo L opzione Conto lavoro è disponibile per le versioni Azienda Light e Azienda Pro. Introduzione L opzione Conto lavoro permette
DettagliI 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
DettagliCorso di Informatica Modulo T3 B2 - Database in rete
Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual
DettagliFinalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6
Finalità della soluzione... 3 Schema generale e modalità d integrazione... 4 Gestione centralizzata in TeamPortal... 6 Dati gestiti dall Anagrafica Unica... 8 Gestione anagrafica... 9 Storicizzazione...
DettagliCorso di Amministrazione di Reti A.A. 2002/2003
Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm
DettagliData Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario
Data Base Management System Strumenti: Software specifico Formato: Pro: Proprietario Massima semplicità di inserimento e gestione Tipizzazione Validazione dei dati Contro: Creazione del database Programmazione
DettagliSoluzione dell esercizio del 12 Febbraio 2004
Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale
DettagliModulo 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
DettagliI Sistemi Informativi
I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e
DettagliSOLUZIONE Web.Orders online
SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo
DettagliSistemi per la gestione di database: MySQL ( )
Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento
DettagliCORSO 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
DettagliOrganizzazione delle informazioni: Database
Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)
DettagliPrometeoQualità. Manuale Documenti
PrometeoQualità Manuale Documenti Questo manuale, si pone l obiettivo di rendere l utente subito operativo all utilizzo del software PrometeoQualità modulo Documenti. Vengono per tanto indicati i passaggi
DettagliCONTABILITÀ FINANZIARIA ASCOT 3 IL PROSPETTO DI CONCILIAZIONE SPECIFICHE FUNZIONALI SCHEMI OPERATIVI SOLUZIONE AI PROBLEMI
PROGETTO ASCOT COD. : ASCOT-31-PC-01 VERS. : 1.00.00 DATA : 1.03.2002 CONTABILITÀ FINANZIARIA ASCOT 3 IL PROSPETTO DI CONCILIAZIONE SPECIFICHE FUNZIONALI SCHEMI OPERATIVI SOLUZIONE AI PROBLEMI AGGIORNAMENTI
DettagliGestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1
Gestione delle transazioni Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transazioni v L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché
DettagliTEORIA 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
DettagliUniversità degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate
Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web L-A A.A. 2014 2015 Esercitazione 08 DAO e Hibernate Agenda Pattern DAO e framework Hibernate progetto d'esempio relativo alla gestione
DettagliBase di dati e sistemi informativi
Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per
DettagliSistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
Sistemi di gestione delle basi di dati 1 Cos è un DBMS? Una collezione integrata molto grande di dati Modella organizzazioni del mondo reale Entità (ad esempio studenti, corsi) Relazioni (ad esempio, Madonna
DettagliINFORMATICA. 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
DettagliL architettura MVC (Model- View-Controller) Introduzione
L architettura MVC (Model- View-Controller) Introduzione Architettura MCV L architettura MVC è un insieme di regole per strutturare un sito-web dinamico. Queste regole complicano la struttura del sito,
Dettagli4 Data Transformation Services
Data Transformation Services Data Transformation Services (tutorial) 10 novembre 2000 La preparazione dei dati richiede lo svolgimento coordinato di un grande numero di attività attività estrazione dei
Dettagli