Mapping Database Atsilo

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

La modellizzazione dei dati
La progettazione concettuale
Architettura del sistema
Progettazione dei Sistemi Interattivi (A.A. 2004/05) - Lezione 2 1 Progettazione e Sviluppo di Software ad Oggetti 4 OBJECT-ORIENTED ANALYSIS Processo.
Creazione di archivi tramite Data Base
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un’ organizzazione, in modo: Semplice;
Creazione di archivi tramite Data Base
BASI DI DATI 1 1.
Archivio Necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
L’uso dei database in azienda
La Normalizzazione. 27 January, slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Basi di dati Università Degli Studi Parthenope di Napoli
Partizionamento/accorpamento di concetti
DBMS ( Database Management System)
Basi di dati Claudia Raibulet
Il Modello Relazionale
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Basi di Dati - 3 Dati su più tabelle Informatica 1 (SAM) - a.a. 2010/11.
Implementare un modello di dati
Esercitazione di Basi di Dati
Tutorial su Access 2003 Obiettivi :
INFORMATICA Corso Base Modulo G: I DataBase  Access.
1)PROGETTAZIONE DI UN DATABASE
Progettare un database
Dottorato di ricerca Nuove Tecnologie e Informazione Territorio – Ambiente Nozioni fondamentali di Basi di Dati Seminario interno.
Introduzione a Oracle 9i
LE BASI DI DATI E IL LINGUAGGIO SQL.
SQL.
Presentazione Finale Team 2. Mapping La trasformazione da noi adottata in fase di mapping è stata di tipo Forward engineering. Si è partiti da un modello.
DATABASE Introduzione
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Gestione Biblioteca Giacomo Di Bartolomeo Matr CdL Economia E Management.
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
Modulo 5 - Database. Contenuti della lezione 5.1.1Concetti Fondamentali 5.1.2Organizzazione di un Database 5.1.3Relazioni 5.2.1Lavorare con i database.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Database Progettazione Concettuale
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
Mapping Database Atsilo Componenti : Antonio Cesarano Luca Di Costanzo Luigi Lomasto.
IV D Mercurio DB Lezione 2
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
MySQL Database Management System
PROGETTAZIONE DI UN DATA BASE PERAGINE MARIANTONELLA MATRICOLA
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Data Base ACCESS EM 09.
Modulo 5 Uso delle Basi di dati Paola Pupilli
Sistemi di Elaborazione delle Informazioni
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Lezione 5 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
Progettazione database a cura di Roberta Mancini – matr CdLM in Marketing.
Eprogram informatica V anno.
Cloud Tecno V. Percorso didattico per l’apprendimento di Microsoft Access 2 - Le tabelle.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Dai diagrammi ER alle basi di dati.. Entita  tabelle Persona Nome e cognome Codice fiscale Indirizzo completo Codice fiscaleNome e CognomeIndirizzo completo.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Programmazione Fondi Strutturali 2007/2013 Programma Operativo Nazionale: “Competenze per lo Sviluppo” finanziato con il Fondo Sociale Europeo Piano Integrato.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
BASI DATI: modello relazionale BIOINGEGNERIA ELETTRONICA ED INFORMATICA Lezione IIIb - AA 2014/20151.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
DDBMS Distributed database system. DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo.
Transcript della presentazione:

Mapping Database Atsilo Componenti : Antonio Cesarano Luca Di Costanzo Ferdinando Di Palma Luigi Lomasto

Attività di Mapping Ottimizzare il modello di Object Design Mappare le associazioni in collezioni Mappare contratti in eccezioni Mappare l’Object Model in uno schema di memorizzazione persistente Database Relazionali (in breve) Mappare classi ed attributi Mappare le associazioni Mappare le relazioni di ereditarietà Mapping orizzontale e mapping verticale

Mappare l’object model in schemi di memorizzazione persistenti I linguaggi di programmazione object-oriented di solito non forniscono un modo efficiente per memorizzare gli oggetti persistenti. È necessario mappare gli oggetti persistenti in strutture dati che possono essere memorizzate nei sistemi di gestione dei dati selezionati durante il system design (database o file). Se usiamo database object-oriented non devono essere effettuate trasformazioni. Se usiamo database relazionali o flat file è necessario: mappare il modello degli oggetti in uno schema di memorizzazione. fornire una infrastruttura per convertire gli oggetti in schemi di memorizzazione persistente e viceversa.

Database relazionali (in breve) Uno schema è una descrizione dei dati (meta-modello) I database relazionali memorizzano sia lo schema sia i dati I dati persistenti sono memorizzati sotto forma di tabelle. Una tabella è strutturata in colonne. Ogni colonna rappresenta un attributo. La chiave primaria di una tabella è un insieme di attributi i cui valori identificano univocamente una riga della tabella. Insiemi di attributi che possono essere usati come chiave primaria sono detti chiavi candidate. Una chiave esterna è un attributo (o un insieme di attributi) che referenzia la chiave primaria di un’altra tabella.

Mappare classi e attributi Focalizziamo innanzitutto l’attenzione sulle classi ed i loro attributi: mappiamo ogni classe in una tabella del database con lo stesso nome; per ogni attributo aggiungiamo una colonna nella tabella con il nome dell’attributo della classe. Ogni tupla della tabella corrisponde ad un’istanza della classe. Mantenendo gli stessi nomi nel modello ad oggetti e nelle tabelle garantiamo la tracciabilità fra le due rappresentazioni. Quando mappiamo gli attributi dobbiamo selezionare i tipi di dati per le colonne della tabella: ci sono dei tipi di dati per cui il mapping è intuitivo, altri per cui complesso (es: String può corrispondere al tipo text in SQL che, però, richiede una taglia fissata, text[25]).

Chiave Primaria Per selezionare la chiave primaria di una tabella possiamo scegliere tra due opzioni: identificare un insieme di attributi della classe che identifichi univocamente l’oggetto; aggiungere un identificatore unico (id) che identifichi univocamente l’oggetto.

Mapping Database Una volta individuata la classe e gli attributi da inserire nel database procediamo con il mapping. Il tipo di dato selezionato per la “descrizione” può coincidere a diversi tipi di dato presenti nel database (Es. text-char etc.) Fattura +id:INT +descrizione:String +personaleAsilo:String Fattura id:INT descrizione:Varchar(100) personaleAsilo:Varchar(50)

Mapping Database Tabella FATTURA ID rappresenta la chiave primaria della nostra tabella in quanto attributo unico di ogni record. Il PersonaleAsilo è chiave referenziale della tabella Personale Asilo ed indica il codice fiscale dell’impiegato che ha emesso la fattura descrizione personale_asilo “Pagamento n°....” CSRNTC95L12C129M id 1 2 3 RFTCTC94L12C139K SDRTBC65F17S432R “Pagamento n°....” Primary key Foreign key

Mappare le associazioni: One-to-….. Le associazioni One-to-one e one-to-many sono implementate usando una chiave esterna (buried association). Le associazioni one-to-one sono mappate inserendo una chiave esterna in una delle due tabelle rappresentanti le classi. Le associazioni one-to-many sono mappate usando la chiave esterna sul lato many.

Risoluzione delle Molteplicità Associazione One to One 1 1 Bambino Domanda Iscrizione nome codice_fisc. Bambino Aldo RF124FGGC3D Paolo DS874QCRG8R Domanda Iscrizione id 56 data codfisc alice 79 john RF12… DS87…

Risoluzione delle Molteplicità Associazione One to Many 1 * Bambino Classe nome codice_fisc. Bambino Aldo RF124FGGC3D Paolo DS874QCRG8R classe id 56 codfisc 79 RF12… DS87…

Mappare le Associazioni: Many-to-Many Le associazioni many-to-many sono implementate usando una tabella separata costituita di due colonne che contengono la chiave esterna di ciascuna classe coinvolta nell’associazione. Tale tabella è detta tabella associativa: ogni riga di tale tabella corrisponde ad un collegamento tra due istanze dell’associazione molti-a- molti.

Risoluzione delle Molteplicità Associazione Many to Many * * Retta Extra id Retta 23 name ... no vice 24 e xper t Extra id 56 descr. ... Supp… 79 id_retta id_extra Possiede 23 56 79

Cambiamenti nelle Associazioni Anche le associazioni one-to-one e one-to-many possono essere realizzate con una tabella di associazione invece che con chiavi esterne. L’utilizzo di tabelle separate: rende lo schema facilmente modificabile (ad es. se cambia la molteplicità dell’associazione non dobbiamo cambiare lo schema); accresce il numero delle tabelle ed il tempo per attraversare l’associazione. Per scegliere dobbiamo rispondere alle seguenti domande: Il tempo di risposta è un fattore critico per la nostra applicazione? Quanto è probabile che l’associazione cambi?

Relazioni di Ereditarietà I database relazionali non supportano l’ereditarietà. Esistono due opzioni per mappare l’ereditarietà in uno schema di un database: Mapping verticale: simile al mapping di associazioni uno-a-uno, ogni classe è rappresentata da una tabella e utilizza una chiave esterna per collegare la tabella corrispondente ad una sottoclasse con quella corrispondente alla superclasse. Mapping orizzontale: gli attributi della superclasse sono ricopiati in tutte le sottoclassi e la superclasse viene eliminata.

Mapping Orizzontale vs Verticale Mapping Verticale Utilizzando una tabella separata: possiamo facilmente aggiungere un attributo alla superclasse aggiungendo una colonna alla tabella superclasse; aggiungere una sottoclasse significa aggiungere una tabella per la sottoclasse con un attributo per ogni colonna della sottoclasse; ricercare tutti gli attributi di un oggetto richiede una operazione di Join. Mapping Orizzontale Duplicando le colonne: gli oggetti non sono frammentati fra più tabelle e le query sono più veloci; modificare lo schema è più complesso.

Risoluzione Ereditarietà Utente Nome Cognome Codice Fiscale Educatore Didattico Titolo Studi Genitore Tipo Account Educatore Didattico Genitore nome codfisc Tipo Account ... Marco GF4F3… Iscritto nome codfisc Titolo studi ... Paolo GF4F3… Diploma Superiore