Object-Relational Mapping
|
|
|
- Aurora Esposito
- 8 anni fa
- Просмотров:
Транскрипт
1 Object-Relational Mapping Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico Approccio Object-Oriented (OO) Approccio Object-Oriented (OO), basato cioè sull uso di linguaggi ad oggetti quali ad es. C++, Java, etc., è ad oggi l approccio/paradigma più consolidato ed usato per la realizzazione di applicazioni Le metodologie di progettazione OO prevedono l uso di linguaggi di modellazione concettuale, come UML, che offrono un supporto fondamentale per progettare gli strati di logica dell applicazione e di interfaccia utente di un qualsiasi sistema informatico A. Poggi, D. Lembo 1 DBMS relazionali Approccio Object-Oriented (OO) e persistenza Un sistema informativo che non preserva dati al suo spegnimento è di poca utilità I linguaggi di programmazione OO non offrono soluzioni native al problema della persistenza, ovvero al problema della gestione di dati persistenti da parte di applicazioni OO I DBMS relazionali sono ad oggi la tecnologia più consolidata, efficiente e comunemente usata per la gestione di grandi quantità di dati Offrono solo qualche ausilio alla programmazione procedurale di applicazioni (e.g. stored procedure) Non sono specifici di alcun paradigma di programmazione, né in generale, di alcuna applicazione principio noto come data independence, ovvero in generale, i dati vivono più a lungo di qualsiasi applicazione A. Poggi, D. Lembo 2 A. Poggi, D. Lembo 3
2 Binomio (applicazione OO - DBMS relazionale) Impedance mismatch tra modello OO e relazionale Necessità di risolvere il problema della persistenza in applicazione OO mediante l uso di DBMS relazionali, ovvero di permettere alle applicazioni di gestire dati memorizzati in memoria secondaria in un DBMS relazionale Problema: il paradigma OO si è sviluppato su principi propri dell ingegneria del software, quello relazionale affonda le radici su principi matematici, e le differenze fra i due risultano considerevoli Impedance mismatch è un termine preso in prestito dall ingegneria elettrica per denotare la mancata corrispondenza tra modello OO e relazionale Modello OO: descrive il dominio in termini di oggetti e delle loro proprietà, che possono essere attributi (i.e. valori) o associazioni ad altri oggetti Modello relazionale: descrive il dominio in termini relazioni tra valori A. Poggi, D. Lembo 4 A. Poggi, D. Lembo 5 L implementazione di un applicazione ad oggetti è basata sull uso di un linguaggio di programmazione OO l implementazione di una base di dati è basata sull uso di un linguaggio relazionale (l algebra) abbiamo il problema di far colloquiare l applicazione che parla in termini di oggetti con un DBMS che parla in termini di valori per far coesistere applicazioni ad oggetti e DBMS relazionali occorre uno sforzo sia progettuale che implementativo Differenze fondamentali 1. Coesione In un oggetto, tutte le sue proprietà sono contenute nell oggetto medesimo i dati relazionali corrispondenti ad una stessa entità possono essere stati splittati in più tabelle, e.g. a seguito della fase di ristrutturazione dello schema logico 2. Incapsulamento In un oggetto, la business logic risiede (parzialmente) nei metodi dell oggetto stesso i dati relazionali e la logica che li governa sono implementati in maniera separata A. Poggi, D. Lembo 6 A. Poggi, D. Lembo 7
3 3. Granularità dei tipi di dato Tipi di dati composti sono tipicamente rappresentati nei linguaggi OO mediante apposite classi di oggetti con loro proprietà, mentre l SQL non prevede alcun meccanismo standard per la definizione di tipi di dato composti la classe Indirizzo farà tipicamente parte delle classi di dominio e qualsiasi oggetto con proprietà di tipo Indirizzo parteciperà ad un associazione con essa, mentre le informazioni che compongono un indirizzo quali la via, il numero civico e il CAP saranno loro stesse tipicamente attributi dell entità avente come proprietà il corrispondente indirizzo 4. Ereditarietà e Polimorfismo Nei linguaggi OO l ereditarietà è implementata attraverso l uso di supere sotto-classi, e fornisce inoltre la possibilità del polimorfismo il modello relazionale non ha la possibilità di rappresentare ereditarietà e associazioni polimorfiche: in particolare, l ereditarietà è simulata attraverso la replicazione di dati e l uso di vincoli di integrità, mentre non esiste alcun meccanismo per simulare il polimorfismo A. Poggi, D. Lembo 8 A. Poggi, D. Lembo 9 5. Identità Nei linguaggi OO esistono due nozioni di identità: identità fisica di oggetti, ovvero di locazioni di memoria in cui gli oggetti sono memorizzati, e identità semantica, implementata attraverso la definizione del metodo equals l identità di una tupla è implementata attraverso l uso della chiave primaria e non corrisponde direttamente a nessuna delle due nozioni di cui sopra 6. Navigabilità Nei linguaggi OO il dominio si naviga da un oggetto all altro, attraverso le associazioni, ovvero secondo la responsabilità delle classi che partecipano all associazione (Ricorda: a partire da un oggetto si possono accedere gli oggetti con cui partecipa ad una associazione solo se ha responsabilità su di essa). Questo avviene tramite l uso di puntatori l accesso ai dati relazionali avviene mediante l uso di join tra tabelle (la corrispondenza è sui valori e non attraverso puntatori) A. Poggi, D. Lembo 10 A. Poggi, D. Lembo 11
4 Object-relational mapping La soluzione al problema della persistenza richiede un meccanismo per specificare la corrispondenza tra il dominio dell applicazione e la base di dati che risolva opportunamente il problema dell impedance mismatch Tale meccanismo è comunemente chiamato object-relational mapping (ORM) Idea: si identificano le classi di oggetti dell applicazione di tipo persistente e si fa in modo che i loro attributi e proprietà siano mappati su dati memorizzati in una base di dati relazionale Su tali oggetti saranno definite ed invocate operazioni di creazione, modifica, cancellazione, con l obiettivo di effettuare letture e modifiche sulla base dati sottostante Richiami: architetture a 3 livelli per le applicazioni Presentation layer Application logic layer Application logic layer Resource management layer A. Poggi, D. Lembo 12 A. Poggi, D. Lembo 13 Architettura in termini di applicazioni OO e DBMS relazionali Architettura dell applicazione User Interface Classes Controller Classes Domain Classes Utility Classes Persistence classes (ORM) gestiscono l accesso ai dati, incapsulando le modalità di accesso Domain classes (Business Objects) Sono le classi che rappresentano i concetti pertinenti al dominio dell applicazione. Ogni classe deve incorporare il comportamento specifico delle sue istanze. ORM Data Store Controller Classes Le classi di controllo incorporano la logica di business. Le operazioni implementate in una classe di controllo possono coinvolgere più di una domain class ed eventualmente altre classi di controllo. A. Poggi, D. Lembo 14 A. Poggi, D. Lembo 15
5 Architettura dell applicazione Diverse strategie ORM User Interface Classes Sono le classi che incorporano l interfaccia offerta direttamente all utente. Utility Classes Ogni applicazione ha un insieme infrastrutturale di classi, chiamate Utility classes, che sono usate ad ogni livello dell applicazione (e.g. Class Exception) Strategie possibili: 1. Forza bruta 2. Codifica manuale di uno strato per l ORM oggetti per l accesso ai dati (Data Access Objects, DAO) 3. Persistence framework A. Poggi, D. Lembo 16 A. Poggi, D. Lembo 17 ORM: forza bruta ORM: forza bruta (cont.) Prevede di equipaggiare le classi dell applicazione (in particolare le classi di dominio) con metodi che interagiscono direttamente con la base di dati, ovunque necessario, ovvero incorpora la logica di accesso ai dati sul DB nelle domain classes e nelle controller classes È ragionevole quando l applicazione è sufficientemente semplice e si può fare a meno di uno strato di incapsulamento (persistence classes) Un oggetto di una classe di business si popola con i dati presenti in un database (acceduto ad es. attraverso driver JDBC), procedendo come segue: costruisce da sé lo statement SQL necessario; lo passa al driver; riceve i risultati dal database; li elabora opportunamente. A. Poggi, D. Lembo 18 A. Poggi, D. Lembo 19
6 ORM Forza bruta: esempio ORM: forza bruta - svantaggi Non è una strategia di incapsulamento Accoppia fortemente lo strato delle domain classes e dei controller al database Richiede che chi progetta l applicazione abbia conoscenza dettagliata del database Persona Nome: stringa Cognome: stringa Nascita: data Coniugato: boolean Reddito: intero Aliquota(): intero Eta(): intero Open() Save()... Lavora_in 0..1 Azienda RagioneSociale: stringa PartitaIva: stringa CapitaleSociale: intero Dimensione(): stringa Aumenta(intero x) Diminuisci(intero x) Open() Save()... Nelle classi che modellano oggetti del dominio, si potrebbe avere un metodo per popolare un oggetto con i dati del DB (Open()), o per rendere persistenti i cambiamenti effettuati sull oggetto (Save()), etc. A. Poggi, D. Lembo 20 A. Poggi, D. Lembo 21 Forza bruta (cont.) Forza Bruta Leggere un singolo oggetto dal DB customer: Customer buildselect Select Resut setdatavalues Questo approccio è da evitare. Infatti, in tal modo si offre un canale diretto dalla logica dell applicazione al DB, che viola così: interfacciamento esplicito: non è definito in maniera chiara il passaggio di informazione fra l applicazione ed il DB information hiding: non nascondo all applicazione i dettagli della base dati A. Poggi, D. Lembo 22 A. Poggi, D. Lembo 23
7 ORM: DAO Prevede di realizzare uno strato dell applicazione (chiamato appunto DAO) demandato completamente a gestire la comunicazione fra l applicazione ed il DBMS anche in questo caso il mapping è realizzato manualmente attraverso l uso di JDBC/SQL l accesso al DB viene però opportunamente incapsulato nelle classi DAO: nasconde alla logica di business codice JDBC complesso e SQL non-portabile fornisce un interfacciamento esplicito del codice migliora la modularità, risolve problemi di accoppiamento tipici dell approccio forza bruta ORM: DAO (Cont.) Un oggetto di una classe di business, per accedere al database invoca metodi di una classe demandata a gestire gli accessi al DB (relativamente alle informazioni richieste) è questa classe che costruisce lo statement SQL e lo passa al driver, riceve i risultati dal database e li inoltra alla classe di business che la ha interrogata la classe di business effettua poi le sue elaborazioni sui dati ricevuti A. Poggi, D. Lembo 24 A. Poggi, D. Lembo 25 ORM: DAO esempio ORM: DAO (cont.) customer: Customer Leggere un singolo oggetto dal DB data: CustomerData Tutta la logica di accesso al DB è completamente incapsulata nelle classi DAO read(customer) getkeyvalues keyvalues setdatavalues buildselect Select Resut Cambiamenti del DB influenzano solo le DAO La classe CustomerData si fa carico di gestire il codice SQL, mentre tutto ciò è trasparente rispetto alla classe Customer (che è una domain class), la quale invoca metodi indipendenti dal DB L approccio tipico è quello di avere un DAO per ciascuna domain class A. Poggi, D. Lembo 26 A. Poggi, D. Lembo 27
8 ORM:Persistence Framework prevede l utilizzo di un framework predefinito (ad es. Hibernate) per la gestione della persistenza l obiettivo è liberare il programmatore quanto più possibile dalla necessità di scrivere codice SQL nella sua applicazione. il codice SQL viene generato automaticamente sulla base di informazioni di meta-livello fornite dal programmatore (ad es. all interno di file di configurazione) ORM: Persistence framework (cont.) Un persistence framework incapsula pienamente la logica di accesso al DB Dei meta-dati rappresentano la corrispondenza tra domain classes e tabelle, nonché le associazioni tra le domain classes incapsulamento completo: il programmatore vede il DB solo quando configura il framework A. Poggi, D. Lembo 28 A. Poggi, D. Lembo 29 ORM: Persistence Framework (cont.) ORM: Persistence framework (cont.) customer: Customer p: PersistenceFramework map:mappingclass Offrono funzionalità di base (CRUD) altre funzionalità: transazioni gestione della concorrenza caching read(customer) getkeyvalues keyvalues setdatavalues getmaps maps buildselect Select Resut A. Poggi, D. Lembo 30 A. Poggi, D. Lembo 31
9 Riepilogo Riepilogo (cont.) Forza bruta Vantaggi: semplicità rapidità di sviluppo possibilità di accedere a DB mal progettati o pre-esistenti all applicazione Forza bruta Svantaggi: accoppiamento diretto tra applicazione e DB chi sviluppa l applicazione deve conoscere dettagli sul DB difficile modifica del DB difficile riuso dell applicazione A. Poggi, D. Lembo 32 A. Poggi, D. Lembo 33 Riepilogo (cont.) Riepilogo (cont.) DAO Vantaggi: incapsulamento possibilità di accedere a DB mal progettati o pre-esistenti all applicazione facilità di riuso dell applicazione minore accoppiamento fra le classi di dominio (solo dovuto alle dipendenze esplicitate dal class diagram) DAO Svantaggi: c è ancora accoppiamento tra persistence classes e DB chi sviluppa l applicazione (le persistence classes) deve conoscere dettagli sul DB può essere dipendente dalla tecnologia A. Poggi, D. Lembo 34 A. Poggi, D. Lembo 35
10 Riepilogo (cont.) Persistence Framework Vantaggi: chi sviluppa l applicazione non deve conoscere dettagli sul DB Facilità di cambiare la corrispondenza tra oggetti e DB (in seguito a scelte dovute alle prestazioni) facilità di riuso dell applicazione e anche del persistence framework Riepilogo (cont.) Persistence Framework Svantaggi: difficoltà di accedere a DB mal progettati decremento delle prestazioni (specie se il framework non è costruito con accortezza) può essere dipendente dalla tecnologia A. Poggi, D. Lembo 36 A. Poggi, D. Lembo 37 Nota importante Per il progetto da realizzare Si deve realizzare il progetto di un piccolo sistema informativo, costituito da: una base di dati relazionale, interrogabile mediante SQL una applicazione Java che si interfaccia alla base di dati attraverso JDBC L approccio DAO e l approccio con Hibernate sono entrambi richiesti Il problema del disallineamento esiste sia tra il dominio delle classi dell applicazione e lo schema ER, sia tra le classi UML dell applicazione e lo schema ER disallineamento sul trattamento delle generalizzazioni se si segue la metodologia di progettazione vista nel corso di Progettazione del Software, nella fase di progetto, sono definite delle classi Java per realizzare tipi UML, e.g. Indirizzo classi UML di tipo TipoLink non hanno una corrispondenza in ER A. Poggi, D. Lembo 38 A. Poggi, D. Lembo 39
Object-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
Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC
Programma didattico Sviluppare Applicazioni Distribuite in ambiente Spring MVC Programma del corso 1.Progettazione e Sviluppo Database Relazionali Questa competenza permette di Progettare e Sviluppare
ARCHITETTURA DI UN DBMS
ARCHITETTURA DI UN DBMS Modelli di dati Un approccio con basi di dati fornisce un certo livello di astrazione dei dati Nasconde i dettagli sulla memorizzazione dei dati stessi Un modello dei dati fornisce
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di
Basi di Dati. Concetti e Principi Generali. Maria Mirto
Basi di Dati Concetti e Principi Generali Maria Mirto Organizzazione dei Dati Archivi o file Procedure di accesso in qualunque linguaggio di programmazione Duplicazione dati: ridondanza incoerenza formati
Basi di dati Basi di dati per bioinformatica
Basi di dati Basi di dati per bioinformatica DOCENTI PROF. ALBERTO BELUSSI PROF CARLO COMBI Anno accademico 2013/14 Organizzazione degli insegnamenti 3 Basi di dati Basi di dati per Bioinformatica Teoria
Introduzione al mondo della persistenza. Dott. Doria Mauro [email protected]
Hibernate Introduzione al mondo della persistenza Dott. Doria Mauro [email protected] La questione della persistenza Il modo dei database è complesso e le tecniche e le tecnologie sono molte. Per anni
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Modelli dei Dati Prof. Alberto Postiglione Università degli
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
CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION
CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION 0 DURATA 200 ore CONTENUTI Oracle PL/SQL Introduzione al PL/SQL Cenni su SQL con utilizzo di SQL*PLUS Configurazione ambiente Developer DB Classi,
PROGRAMMAZIONE INFORMATICA SECONDO BIENNIO. Liceo Scientifico opzione Scienze Applicate
PROGRAMMAZIONE INFORMATICA SECONDO BIENNIO Liceo Scientifico opzione Scienze Applicate Anno scolastico 2017-2018 Programmazione di Informatica pag. 2 / 7 INFORMATICA - SECONDO BIENNIO OBIETTIVI SPECIFICI
Elena Baralis 2007 Politecnico di Torino 1
Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,
SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3
SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3 Patrizio Pelliccione [email protected] Dipartimento di Informatica Università degli Studi dell Aquila RINGRAZIAMENTI Queste slides
Basi di dati Modelli e linguaggi di interrogazione
Paolo Atzeni Stefano Ceri Stefano Paraboschi Riccardo Torlone Basi di dati Modelli e linguaggi di interrogazione web site McGraw-Hill IUAV - VENEZIA H 9882 BIBLIOTECA CENTRALE Paolo Atzeni Stefano Ceri
SISTEMI INFORMATIVI E DATABASE
SISTEMI INFORMATIVI E DATABASE SISTEMA INFORMATIVO AZIENDALE (S.I.) In una realtà aziendale si distingue: DATO elemento di conoscenza privo di qualsiasi elaborazione; insieme di simboli e caratteri. (274,
Il paradigm mismatch. Dott. Doria Mauro
Hibernate Il paradigm mismatch Dott. Doria Mauro [email protected] The paradigm mismatch Per paradigm mismatch si intende la discordanza tra il modello di una applicazione ad oggetti e il modello dei
Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13
Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/13 Informazioni generali sull organizzazione Insegnamento annuale su due semestri Orario I Semestre Lunedì 11.30 13.30
Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato
Informatica per le Scienze Umane Introduzione al corso: programma dettagliato 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle
Introduzione alle Basi di Dati
Introduzione alle Basi di Dati Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 1 Appunti dalle lezioni SQL
DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11
Basi di dati DOCENTE PROF. ALBERTO BELUSSI Anno accademico 2010/11 Informazioni generali sull organizzazione Insegnamento annuale su due semestri Orario I Semestre Lunedì 11.30 13.30 (aula B) Martedì 11.30
Sommario. Introduzione... 13
Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26
APPENDICE 4 AL CAPITOLATO TECNICO
APPENDICE 4 AL CAPITOLATO TECNICO Descrizione dei profili professionali INDICE 1 PROFILI PROFESSIONALI RICHIESTI 3 1.1 CAPO PROGETTO 3 1.2 ANALISTA FUNZIONALE 4 1.3 ANALISTA PROGRAMMATORE 5 1.4 PROGRAMMATORE
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,
Progetto di Applicazioni Software
Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla
Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del
Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati
Basi di Dati Cosa vuol dire progettare una base di dati? Il DBMS non va progettato il DBMS si acquista o esiste già è impossibile pensare di sviluppare un DBMS anni di sviluppo necessità di elevate competenze
Progetto di Applicazioni Software
Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla
Introduzione alla OOP Object Oriented Programming
Introduzione alla OOP Object Oriented Programming Programmazione Orientata agli Oggetti I livelli dei linguaggi livelli di tensione porte logiche codice binario linguaggio assembler linguaggi procedurali
UML I diagrammi implementativi
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - UML I diagrammi implementativi E. TINELLI I diagrammi implementativi In UML 2.x esistono 3 tipi di
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami
Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza
Definizione 1 Lezione 2 Le basi di dati Gli archivi di dati Organizzato in modo integrato attraverso tecniche di modellazione di dati Gestiti su memorie di massa Con l obiettivo Efficienza trattamento
Progettazione del Software
Progettazione del Software Simulazione di esame Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di Roma Anno Accademico 2015/2016
Il PROCESSO UNIFICATO
Corsi di laurea triennale in Ingegneria Informatica Corso di Ingegneria del software Il PROCESSO UNIFICATO Modellazione ed Implementazione di un Sistema Software per la gestione informatizzata di un ristorante
Basi di Dati Ingegneria Informatica e delle Telecomunicazioni
Basi di Dati Ingegneria Informatica e delle Telecomunicazioni A.A. 2014/2015 Ing. Claudio Marrocco [email protected] Obiettivi del corso Il corso mira ad introdurre agli studenti modelli e metodi per
Linguaggi di programmazione e astrazione
Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo
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: [email protected]
Esercizio 6. Progettare la seguente base di dati: Studio Fotografico. L'archivio delle attività di uno studio fotografico.
Esercizio 6 Progettare la seguente base di dati: Studio Fotografico L'archivio delle attività di uno studio fotografico. Nello studio fotografico lavorano come dipendenti diversi fotografi e segretarie.
Corso Programmazione Java Standard
Corso Programmazione Java Standard Codice: ITJS0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle varie sfaccettature della sintassi del linguaggio Java, integrata con mirate
INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016
INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016 Francesca Levi Dipartimento di Informatica E-mail: [email protected] [email protected] Francesca Levi Dipartimento di Informatica Informatica per
Ingegneria del Software
Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi
INFORMATICA. Prof. MARCO CASTIGLIONE ITS Tito Acerbo - PESCARA
INFORMATICA Prof. MARCO CASTIGLIONE ITS Tito Acerbo - PESCARA Database 1. ARCHIVI ITS Tito Acerbo - PE INFORMATICA Prof. MARCO CASTIGLIONE 2 1. Archivi ARCHIVIO Permanenza Razionalità Sistematicità Insieme
La programmazione ad oggetti: chiamate di metodi. Overloading. This
ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMA SVOLTO A.S. 2015/2016 Classe IV C Informatica Proff. Fabio Ciao / Simone Calugi Libro di testo: Cloud B P.
DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire:
DBMS Un DBMS deve garantire: Affidabilità Privatezza dei dati Efficienza Efficacia DBMS Affidabilità Un DBMS deve garantire di poter mantenere intatto il suo contenuto, anche in caso di malfunzionamento.
PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE
PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE 1. JAVA 1.1 Introduzione a Java Introduzione Cosa è Java 1.2 Sintassi e programmazione strutturata variabili e metodi tipi di dati, array operatori
Librerie digitali. Cos è una libreria digitale? Introduzione. Cos è una libreria digitale? Cos è una libreria digitale? Cos è una libreria digitale?
Librerie digitali Introduzione William Arms "An informal definition of a digital library is a managed collection of information, with associated services, where the information is stored in digital formats
SETA Selection Tool del Sistema ARTIST
Selection Tool del Sistema ARTIST L incarico è stato affidato al RTI composta da: Kayser Italia S.r.l. Daxo con capogruppo Kayser Italia s.r.l. SETA () Espandibilità e flessibilità Delocalizzazione istallazione
Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia
Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 22 Introduzione ai database Prima dei DBMS, le organizzazioni utilizzavano semplici file per
BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1
BASI DI DATI basi di dati - introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale
1. UML 2 ed il Processo Unificato
1. UML 2 ed il Processo Unificato Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 1 / 25 Sommario
Cap. 1-I 1 I sistemi informatici
Libro di testo A. Chianese,V. Moscato, A. Picariello, L. Sansone Basi di dati per la gestione dell informazione McGraw-Hill, 2007 Informazioni sul corso http://www.docenti.unina.it/lucio.sansone Ricevimento
Progetto di Applicazioni Software
Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 I lucidi del corso sono stati prodotti
TESI DI LAUREA IN INFORMATICA
UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II TESI DI LAUREA IN INFORMATICA UNA WEB APPLICATION SU INFRASTRUTTURA PER IL PROGETTO DAME Tutor Accademico: Dott.ssa Anna Corazza Tutor Aziendale: Dott. Massimo
Lezione 3. Modellazione dei Dati mediante il Modello Entità Associazione (ER)
Lezione 3 Modellazione dei Dati mediante il Modello Entità Associazione (ER) 1 Sommario Esempio di Applicazione con Database (AZIENDA) Concetti del Modello ER Entità ed Attributi Entità, Istanze, Domini
Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale
Database Intro Tipi di entità Mapping ER/EER à Relazionale Ing. Lucia Vaira PhD Student @ University of Salento [email protected] Cos è un database? 1 Cos è un database? È una struttura di dati
Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di
Programmazione 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
Basi di dati. Elena Baralis Politecnico di Torino
Libri di testo Atzeni, Ceri, Paraboschi, Torlone, Basi di dati, 2 a ed., McGraw Hill, 1999. Baralis, Belussi, Psaila, Basi di dati: temi d esame svolti, Esculapio, 2000. Introduzione - 2 Introduzione Sistema
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,
Corso di Laurea in Informatica Basi di Dati a.a
Corso di Laurea in Informatica Basi di Dati a.a. 2012-2013 Laboratorio 31B Esercitatori : Ing. G. Laboccetta Dott.ssa V. Policicchio Progetto Didattico Durante le lezioni saranno realizzate tutte le fasi
