Alessandra Raffaetà. Basi di Dati



Похожие документы
Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Definizione Un modello astratto è la rappresentazione formale di idee e conoscenze relative a un fenomeno.

Il database management system Access

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Informatica (Basi di Dati)

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

I Sistemi Informativi

Progettazione di Basi di Dati

IL SISTEMA INFORMATIVO

MODELLO RELAZIONALE. Introduzione

Esercitazione di Basi di Dati

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Laurea magistrale in Editoria e comunicazione multimediale. Sistemi per il recupero delle informazioni

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

Progettaz. e sviluppo Data Base

I database. Cosa sono e a cosa servono i Database

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Le Basi di Dati. Le Basi di Dati

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Rappresentazione grafica di entità e attributi

Elena Baralis 2013 Politecnico di Torino 1

Organizzazione degli archivi

Basi di dati. Le funzionalità del sistema non vanno però ignorate

Il Modello Relazionale

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Strumenti di modellazione. Gabriella Trucco

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Database. Si ringrazia Marco Bertini per le slides

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Dalla progettazione concettuale alla modellazione di dominio

Soluzione dell esercizio del 2 Febbraio 2004

Data Base. Prof. Filippo TROTTA

Informatica (Basi di Dati)

Progettazione del Software, Laurea in Ingegneria Gestionale Progettazione del Software Laurea in Ing. Gestionale

Programmi e Oggetti Software

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Class Discovery E.

Introduzione alla teoria dei database relazionali. Come progettare un database

Corso di Informatica (Basi di Dati)

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Capitolo 13. Interrogare una base di dati

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Data Base. Ing. Maria Grazia Celentano

BASI DI DATI - : I modelli di database

Progettazione logica relazionale (1/2)

BASE DI DATI: sicurezza. Informatica febbraio ASA

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Introduzione al data base

Database 1 biblioteca universitaria. Testo del quesito

Progettazione di un DB....in breve

Progettazione Logica. Progettazione Logica

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Progettaz. e sviluppo Data Base

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Facoltà di Farmacia - Corso di Informatica

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

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

1. BASI DI DATI: GENERALITÀ

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Basi di dati. Esercizi sul modello E.R.

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

database: modello entityrelationship

Identificatori delle entità

Sistemi Informativi e Basi di Dati

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

PROGETTAZIONE CONCETTUALE

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

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

SISTEMI PER L ARCHIVIAZIONE E RECUPERO DELLE INFORMAZIONI

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

MODELLO E/R. Modellazione dei dati

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Progettazione di Database. Un Esempio

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Gestione Voti Scolastici

Basi di dati 9 febbraio 2010 Compito A

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

La Progettazione Concettuale

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

Esercizio data base "Biblioteca"

La progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1

BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA. Lezione II - BioIngInfMed

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

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

Progettazione del Software

Sistemi Informativi. Basi di Dati. Progettazione concettuale. Architettura Progettazione Analisi funzionale

Progettazione base dati relazionale

Introduzione alla progettazione. Metodologie e modelli per la progettazione di basi di dati. Il ciclo di vita dei sistemi informativi

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Транскрипт:

Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati Una base di dati è una raccolta di dati permanenti suddivisi in due categorie: Metadati: definiscono lo schema della BD, che descrive: struttura dei dati [e operazioni eseguibili] restrizioni sui valori ammissibili (vincoli di integrità) utenti autorizzati, ecc. Definito prima di creare i dati e indipendente dalle applicazioni Dati: le rappresentazioni di certi fatti conformi alle definizioni dello schema, con le seguenti caratteristiche...

Caratteristiche dei dati Sono organizzati in insiemi omogenei, fra i quali sono definite delle relazioni. La struttura dei dati e le relazioni sono descritte nello schema usando i meccanismi di astrazione del modello dei dati adottato; Sono molti, in assoluto e rispetto ai metadati, e non possono essere gestiti in memoria temporanea; Sono permanenti, continuano ad esistere finché non sono rimossi esplicitamente (indipendenti dalle applicazioni) Sono accessibili mediante transazioni, unità di lavoro atomiche che non possono avere effetti parziali; Caratteristiche dei dati (cont.) Sono protetti sia da accesso da parte di utenti non autorizzati, sia da corruzione dovuta a malfunzionamenti hardware e software; Sono utilizzabili contemporaneamente da utenti diversi.

Sistemi per Basi di Dati (DBMS) Un DBMS (Data Base Management System) èun sistema centralizzato o distribuito che offre opportuni linguaggi per: definire lo schema della BD (definito prima di creare dati) definito usando il modello dei dati adottato dal DBMS interrogabile con le stesse modalità previste per i dati; scegliere le strutture dati per la memorizzazione dei dati, memorizzare i dati rispettando i vincoli definiti nello schema; recuperare e modificare i dati interattivamente (linguaggio di interrogazione o query language) o da programmi. Architettura dei DBMS Centralizzati

Progettare una base di dati significa progettare la struttura dei dati Progettazione e Modellazione applicazioni La progettazione della struttura dei dati è l'attività fondamentale Richiede di specificare un modello della realtà di interesse (universo del discorso) quanto più possibile fedele Per questo ci concentreremo sulla modellazione: cosa significa definire un modello? cosa si modella? come si modella (quale formalismo)? Modello dei Dati e Progettazione

Modelli informatici Un modello astratto è la rappresentazione formale di idee e conoscenze relative a un fenomeno. Aspetti di un modello: il modello è la rappresentazione di certi fatti; la rappresentazione è data con un linguaggio formale; il modello è il risultato di un processo di interpretazione, guidato dalle idee e conoscenze possedute dal soggetto che interpreta. Modelli informatici (cont.) La stessa realtà può utilmente essere rappresentata in modi diversi, ed a diversi livelli di astrazione L informatica offre strumenti per costruire: modelli per l analisi del problema; modelli per la progettazione della soluzione; modelli per la realizzazione del progetto.

Progettazione di una BD ANALISI DEI REQUISITI PROGETTAZIONE CONCETTUALE PROGETTAZIONE LOGICA PROGETTAZIONE FISICA Ciascuna di queste fasi è centrata sulla modellazione La modellazione verrà discussa quindi con riferimento alla problematica della progettazione delle basi di dati Modellazione concettuale

Cosa si modella? Conoscenza concreta I fatti Conoscenza astratta Struttura e vincoli sulla conoscenza concreta Conoscenza procedurale Le operazioni di base Le operazioni degli utenti Le comunicazioni Come si comunicherà con il sistema informatico Nel seguito l'attenzione sarà sulla conoscenza concreta e astratta. Cosa si modella: la conoscenza concreta Fatti specifici che si vogliono rappresentare: le entità con le loro proprietà, le collezioni di entità omogenee e le associazioni fra entità.

Conoscenza concreta: entità e proprietà Le entità sono ciò di cui interessa rappresentare alcuni fatti (o proprietà): oggetti concreti, oggetti astratti, eventi Es.: un libro, una descrizione bibliografica, un prestito Le proprietà si distinguono dalle entità poiché sono fatti che interessano solo in quanto descrivono caratteristiche di determinate entità Es.: indirizzo che interessa solo in quanto indirizzo di un utente Nota: Un entità non coincide con i valori delle sue proprietà. Conoscenza concreta: entità e proprietà Una proprietà è una coppia <Attributo, valore di un certo tipo>. Classificazione delle proprietà atomica o strutturata univoca / multivalore totale / parziale Esempi: nome (atomica, univoca, totale) residenza = [indirizzo, cap, città] (strutturata) recapiti telefonici (multivalore, parziale)

Conoscenza concreta: collezioni di entità Tipi di entità: ogni entità appartiene ad un tipo che ne specifica la natura (identifica caratteristiche: proprietà e dominio relativo) Ad es. Antonio ha tipo Persona con proprietà Nome: string Indirizzo: string Collezione (classe): un insieme variabile nel tempo di entità omogenee (dello stesso tipo). Ad es. Persone: insieme di tutte le persone nel dominio del discorso. Conoscenza concreta: esempi di entità Tipo Entità Studente Esame Auto Descrizione bibliografica Proprietà Nome, AnnoNascita, Matricola, e-mail,... Materia, Candidato, Voto, Lode,... Modello, Colore, Cilindrata, Targa,... Autori, Titolo, Editore, Anno,...

Conoscenza concreta: Esempio di collezioni Autori Descrizioni Bibliografiche Nome = "N1" Nazionalità = "S1" a1 d1 d2 Titolo = "T1" Editore = "E1" Titolo = "T2" Nome = "N2" a2 Editore = "E2" Nazionalità = "S2" d3 Titolo = "T3" Editore = "E1" Scelta delle entità e delle proprietà Certi fatti possono essere interpretati come proprietà in certi contesti e come entità in altri, per esempio: Descrizione bibliografica con proprietà Autori, Titolo, Editore, LuogoEdizione, Anno oppure Autore con proprietà Nome, Nazionalità, AnnoNascita,... Editore con proprietà Nome, Indirizzo, e-mail, Anno,... Descrizione bibliografica con proprietà Titolo,...

Conoscenza concreta: gerarchie Spesso le collezioni di entità sono organizzate in una gerarchia di specializzazione/generalizzazione per trattare insiemi di entità ad un diverso livello di dettaglio (si parla anche di sottoclassi e superclassi) Due importanti caratteristiche delle gerarchie: ereditarietà delle proprietà se la collezione C1 specializza C2, gli elementi di C1 sono un sottoinsieme degli elementi di C2 Es: nella BD della biblioteca la collezione degli Utenti può essere considerata una generalizzazione di Studenti e Docenti Problema: scelta delle sottoclassi la classe degli studenti universitari è una generalizzazione delle classi: matricole e laureandi, studenti in corso e studenti fuori corso, studenti veneziani e studenti fuori sede,

Conoscenza concreta: associazioni Un istanza di associazione è un fatto che correla due o più entità, stabilendo un legame logico tra di loro. la descrizione bibliografica con titolo Basi di Dati riguarda il documento con collocazione D3-55-2 l utente Tizio ha in prestito una copia della Divina Commedia Un associazione R(X, Y) fra due collezioni di entità X ed Y è un insieme di istanze di associazione tra elementi di X e Y, che varia in generale nel tempo. Il prodotto cartesiano (X Y) è detto dominio dell associazione. Associazioni: Esempio Autori HaScritto Descrizioni Bibliografiche Nome = "N1" a1 Nazionalità = "S1" Nome = "N2" a2 Nazionalità = "S2" d1 d2 d3 Titolo = "T1" Editore = "E1" Titolo = "T2" Editore = "E2" Titolo = "T3" Editore = "E1" Collezione Associazione Collezione

Tipi di associazione: molteplicità Un associazione è caratterizzata dalle seguenti proprietà strutturali: molteplicità e totalità. Vincolo di univocità: Un associazione R(X, Y) è univoca da X a Y se per ogni elemento x di X esiste al più un elemento di Y che è associato ad x; se non vale questo vincolo, l associazione è multivalore da X a Y. Cardinalità R(X,Y) è (1:N) se è multivalore da X a Y ed univoca da Y a X R(X,Y) è (N:1) se è univoca da X a Y e multivalore da Y a X R(X,Y) è (N:M) se è multivalore da X a Y e multivalore da Y a X R(X,Y) è (1:1): se è univoca su da X a Y e univoca da Y a X. Tipi di associazione: Esempi Frequenta(Studenti, Corsi) ha cardinalità (M:N), Insegna(Professori, Corsi) ha cardinalità (1:N), SuperatoDa(Esami, Studenti) ha cardinalità (N:1), Dirige(Professori, Dipartimenti) ha cardinalità (1:1).

Tipi di associazione: Totalità Vincolo di totalità: Un associazione R(X, Y) è totale da X a Y se per ogni elemento x di X esiste almeno un elemento di Y che è associato ad x; se non vale questo vincolo, l associazione è parziale rispetto da X a Y. Esempio: Insegna(Professori, Corsi) ètotale su Corsi in quanto non può esistere un corso del piano di studi senza il corrispondente docente che lo tiene, parziale su Professori, in quanto un professore potrebbe non tenere corsi. Tipi di associazione: Esempi Tipi di associazioni fra Persone e Città: NataA(Persone, Citta) ha cardinalità (N:1), totale su Persone e parziale su Città HaVisitato(Persone, Citta) ha cardinalità (N:M), parziale su Persone e Città ESindacoDi(Persone, Citta) ha cardinalità (1:1), parziale su Persone e totale su Città

Cosa si modella: Conoscenza Astratta Fatti generali che descrivono: la struttura della conoscenza concreta collezioni: nomi, tipo degli elementi (nome, dominio, caratteristiche delle proprietà),... associazioni: nomi, collezioni correlate, proprietà strutturali restrizioni sui valori possibili della conoscenza concreta e sui modi in cui essi possono evolvere nel tempo (vincoli d integrità), regole per derivare nuovi fatti da altri noti. Conoscenza astratta: Vincoli di Integrità Vincoli di integrità statici: definiscono delle condizioni sui valori della conoscenza concreta che devono essere soddisfatte indipendentemente da come evolve l universo del discorso Es. Stipendio deve essere positivo, Matricola èuna chiave,... Vincoli di integrità dinamici: definiscono delle condizioni sul modo in cui la conoscenza concreta può evolvere nel tempo. Es.: DataNascita non può cambiare, uno studente iscritto ad un corso di laurea non può iscriversi nuovamente,...

Conoscenza Astratta: Fatti derivabili Fatti derivabili da altri: L età di una persona, ricavabile per differenza fra l anno attuale e il suo anno di nascita La media dei voti degli esami superati da uno studente Riassunto Modellazione concettuale conoscenza concreta entità e loro proprietà, tipi di entità, collezioni, (istanze di) associazioni conoscenza astratta struttura della conoscenza concreta, vincoli di integrità conoscenza procedurale operazioni di base e degli utenti comunicazione

Come si modella? Modello dei dati a oggetti Un modello dei dati è un insieme di meccanismi di astrazione per descrivere la struttura della conoscenza concreta. Uno schema è la descrizione della struttura della conoscenza concreta relativa ad un dominio del discorso e dei vincoli di integrità usando un particolare modello dei dati. Nozioni fondamentali: Oggetto, Tipo di oggetto, Classe Ereditarietà, Gerarchia fra tipi, Gerarchia fra classi

Questioni terminologiche dominio del discorso entità tipo entità collezione associazione modello informatico Oggetto tipo oggetto classe associazione o relazione Oggetto Ad ogni entità del dominio corrisponde un oggetto del modello informatico. Un oggetto è un entità software con stato, comportamento e identità. Lo stato è modellato da un insieme di costanti o variabili con valori di qualsiasi complessità. Il comportamento è modellato da un insieme di procedure locali (con parametri) chiamate metodi. L'identità è associata all oggetto dalla creazione e non viene modificata da aggiornamenti dello stato.

Tipo Oggetto Il primo passo nella costruzione di un modello consiste nella classificazione delle entità del dominio con la identificazione di collezioni omogenee e la definizione dei tipi degli oggetti che le rappresentano. Tipo oggetto definisce l interfaccia di un insieme di possibili oggetti (attributi dell oggetto) componenti dello stato accessibili metodi