Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: 011 670 6782 Mail:

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
DB - Modello relazionale dei dati
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DBMS (DataBase Management System)
Una Introduzione alle Basi di Dati
Basi di Dati prof. A. Longheu
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
ESEMPI DI ARCHIVI DI DATI
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
Basi di Dati - 3 Dati su più tabelle. Informatica 1 SCICOM - a.a. 2010/11 2 Separare i dati su più tabelle Quando è necessario? – Empiricamente, quando.
L’uso dei database in azienda
1 I SISTEMI INFORMATIVI Luso dei DATABASE in azienda Giovedì, 22 aprile 2004Alessandro Capodaglio.
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
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
Modello E-R Generalizzazioni
Basi di dati Claudia Raibulet
Introduzione alle Basi di Dati. Overview Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo.
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
INFORMATICA Corso Base Modulo G: I DataBase  Access.
DAGLI ARCHIVI AI DATABASE
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
MODELLO LOGICO DEI DATI
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.
Introduzione alle basi di dati
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DATABASE Introduzione
Laboratorio informatico I
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Laurea in Conservazione e Restauro dei Beni Culturali
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DB- Sistemi Informativi
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
IV D Mercurio DB Lezione 1
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
IV D Mercurio DB Lezione 2
Microsoft Access Query (III).
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
Introduzione alle basi di dati
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
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.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Cloud informatica V anno.
Le basi di dati.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
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.
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.
Transcript della presentazione:

Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:

lo scopo di una Base di Dati (BD) è quello di memorizzare informazioni in modo strutturato e di permetterne la modifica e il reperimento da parte di utenti e applicazioni lo scopo di una Base di Dati (BD) è quello di memorizzare informazioni in modo strutturato e di permetterne la modifica e il reperimento da parte di utenti e applicazioni Basi di Dati usiamo quotidianamente le BD quando: usiamo quotidianamente le BD quando: –accediamo al Sistema Informativo della azienda o istituzione in cui lavoriamo –accediamo al nostro conto corrente via Internet –prenotiamo un volo o albergo via Internet

al fine di assolvere efficacemente al compito di memorizzazione, la BD: al fine di assolvere efficacemente al compito di memorizzazione, la BD: Memorizzazione dei Dati –può memorizzare grandi quantità di dati (scalabilità) –utilizza la memoria secondaria (persistenza) –può duplicare/archiviare (alcuni) dati su più dispositivi di memoria secondaria (affidabilità) –permette un accesso controllato (sicurezza) –permette di specificare vincoli di integrità che aiutino a mantenere consistenti le informazioni

al fine di assolvere efficacemente al compito di manipolazione, la Base Dati: al fine di assolvere efficacemente al compito di manipolazione, la Base Dati: Manipolazione dei Dati –permette laccesso agli stessi dati da parte di molti utenti, anche contemporaneamente (concorrenza) –permette di reperire/modificare le informazioni desiderate per mezzo di potenti linguaggi di interrogazione

un Data Base Management System (DBMS) è una applicazione che permette di creare e gestire delle Basi di Dati un Data Base Management System (DBMS) è una applicazione che permette di creare e gestire delle Basi di Dati DBMS leffettivo utilizzo delle BD avviene invece per mezzo di applicativi che sfruttano il DBMS per accedere alle BD stesse leffettivo utilizzo delle BD avviene invece per mezzo di applicativi che sfruttano il DBMS per accedere alle BD stesse

DBMS Applicazione DBMS DB Utente DB

il DBMS realizza una separazione tra Base Dati e le applicazioni che la utilizzano il DBMS realizza una separazione tra Base Dati e le applicazioni che la utilizzano DBMS la struttura della BD, invece, tende a essere molto stabile (es. tipi di informazioni con cui descriviamo una prenotazione) la struttura della BD, invece, tende a essere molto stabile (es. tipi di informazioni con cui descriviamo una prenotazione) il contenuto della BD varia normalmente molto spesso (es. prenotazioni di voli) il contenuto della BD varia normalmente molto spesso (es. prenotazioni di voli) le applicazioni che utilizzano la BD variano normalmente meno frequentemente del suo contenuto e più della sua struttura le applicazioni che utilizzano la BD variano normalmente meno frequentemente del suo contenuto e più della sua struttura

la separazione tra applicazioni e DB realizzata del DBMS è detta indipendenza fisica la separazione tra applicazioni e DB realizzata del DBMS è detta indipendenza fisica Indipendenza Fisica se vale lindipendenza fisica è possibile apportare modifiche al modo in cui i dati sono memorizzati senza modificare le applicazioni se vale lindipendenza fisica è possibile apportare modifiche al modo in cui i dati sono memorizzati senza modificare le applicazioni ad es. i dati vengono spostati su un altro disco, o partizionati su più dischi o indicizzati per velocizzare il reperimento ad es. i dati vengono spostati su un altro disco, o partizionati su più dischi o indicizzati per velocizzare il reperimento

prima dellavvento dei DBMS le applicazioni accedevano direttamente ai dati prima dellavvento dei DBMS le applicazioni accedevano direttamente ai dati Indipendenza Fisica al cambiare della memorizzazione (fisica) dei dati lapplicazione doveva essere modificata al cambiare della memorizzazione (fisica) dei dati lapplicazione doveva essere modificata con lindipendenza fisica, lapplicazione deve essere modificata solo quando varia la struttura (logica) dei dati con lindipendenza fisica, lapplicazione deve essere modificata solo quando varia la struttura (logica) dei dati

la quasi totalità dei moderni DBMS permette la gestione di BD basate sul Modello Relazionale (MR) la quasi totalità dei moderni DBMS permette la gestione di BD basate sul Modello Relazionale (MR) Modello Relazionale la proposta del MR risale al 1970 ed è opera del matematico E.F. Codd la proposta del MR risale al 1970 ed è opera del matematico E.F. Codd dato lelevato livello di astrazione del MR, le prime realizzazioni commerciali risalgono alla fine degli anni 70 dato lelevato livello di astrazione del MR, le prime realizzazioni commerciali risalgono alla fine degli anni 70

il concetto base del MR è la relazione (o tabella, secondo luso comune) il concetto base del MR è la relazione (o tabella, secondo luso comune) Tabelle ogni entità è rappresentata dai valori di un insieme di attributi ogni entità è rappresentata dai valori di un insieme di attributi una tabella rappresenta in modo omogeneo un insieme di entità del mondo reale (es. studenti di un Corso, acquisti su una Carta di Credito) una tabella rappresenta in modo omogeneo un insieme di entità del mondo reale (es. studenti di un Corso, acquisti su una Carta di Credito) nel MR un DB è semplicemente un insieme di tabelle nel MR un DB è semplicemente un insieme di tabelle

Tabelle per esempio un insieme di studenti (entità reali) può essere rappresentato da una tabella con gli opportuni attributi per esempio un insieme di studenti (entità reali) può essere rappresentato da una tabella con gli opportuni attributi record attributo campo Studenti

vi sono molte differenze tra le tabelle del MR e le tabelle di un Foglio Elettronico vi sono molte differenze tra le tabelle del MR e le tabelle di un Foglio Elettronico Tabelle una differenza fondamentale è che la tabella del MR memorizza dei meta-dati una differenza fondamentale è che la tabella del MR memorizza dei meta-dati alcuni di tali meta-dati sono: alcuni di tali meta-dati sono: –nome della tabella –nome e tipo di ciascun attributo

Omogeneità uno dei vincoli fondamentali è lomogeneità dei record di una tabella uno dei vincoli fondamentali è lomogeneità dei record di una tabella grazie ai meta-dati il MR può imporre vincoli grazie ai meta-dati il MR può imporre vincoli ogni record è composto dai valori di uno stesso insieme di attributi (stesso numero, stessi nomi, stessi tipi) ogni record è composto dai valori di uno stesso insieme di attributi (stesso numero, stessi nomi, stessi tipi) questo ci permette di trattare in modo omogeneo i record di una tabella questo ci permette di trattare in modo omogeneo i record di una tabella

Chiave Primaria un altro vincolo fondamentale è lunicità dei record di una tabella: dati due record essi devono differire almeno per il valore di un attributo un altro vincolo fondamentale è lunicità dei record di una tabella: dati due record essi devono differire almeno per il valore di un attributo la chiave primaria di una tabella è un insieme minimale di attributi i cui valori (combinati) per ciascun record devono essere univoci la chiave primaria di una tabella è un insieme minimale di attributi i cui valori (combinati) per ciascun record devono essere univoci

Chiave Primaria nella tabella Studenti linsieme di attributi {Matricola} può essere la chiave primaria nella tabella Studenti linsieme di attributi {Matricola} può essere la chiave primaria Studenti

Chiave Primaria invece linsieme di attributi {Cognome, Nome} non è una buona chiave primaria invece linsieme di attributi {Cognome, Nome} non è una buona chiave primaria se si iscrive un altro Mario Rossi dobbiamo modificare la struttura del DB se si iscrive un altro Mario Rossi dobbiamo modificare la struttura del DB Studenti

Ridondanza uno degli scopi principali delladozione dei DB è leliminazione (riduzione) della ridondanza dei dati uno degli scopi principali delladozione dei DB è leliminazione (riduzione) della ridondanza dei dati la presenza di ridondanza di dati in un sistema informativo: la presenza di ridondanza di dati in un sistema informativo: –incrementa i dati da inserire e modificare –incrementa le possibilità di inconsistenza (falsità) –incrementa la quantità di memoria secondaria utilizzata

Ridondanza App 1 DB 1 Sig. Rossi, Via Roma ridondanza indesiderabile ridondanza indesiderabile App 2 DB 1 Sig. Rossi, Via Roma

Ridondanza App 1 DB 1 Sig. Rossi, Via Cigna App 2 DB 1 Sig. Rossi, Via Roma ridondanza indesiderabile ridondanza indesiderabile

Ridondanza App 1 DB Sig. Rossi, Via Roma App 2 DB* REPLICA Sig. Rossi, Via Roma DBMS ridondanza utile per affidabilità ridondanza utile per affidabilità

Ridondanza App 1 DB Sig. Rossi, Via Cigna App 2 DB* Sig. Rossi, Via Roma DBMS ridondanza utile per affidabilità ridondanza utile per affidabilità

Ridondanza App 1 DB Sig. Rossi, Via Cigna App 2 DB* REPLICA Sig. Rossi, Via Cigna DBMS ridondanza utile per affidabilità ridondanza utile per affidabilità

Ridondanza la condivisione di un DB da parte di molte applicazioni riduce drasticamente i problemi legati alla ridondanza la condivisione di un DB da parte di molte applicazioni riduce drasticamente i problemi legati alla ridondanza è desiderabile però eliminare (ridurre) la ridondanza anche allinterno di un singolo DB è desiderabile però eliminare (ridurre) la ridondanza anche allinterno di un singolo DB

Ridondanza una tabella con dati ridondanti una tabella con dati ridondanti Esami

Ridondanza possiamo distribuire i dati su due tabelle possiamo distribuire i dati su due tabelle Esami Studenti

Chiavi Esterne il legame tra le tabelle Studenti ed Esami si esprime con un vincolo di integrità referenziale il legame tra le tabelle Studenti ed Esami si esprime con un vincolo di integrità referenziale lattributo Matricola della tabella Esami è detto chiave esterna di Esami su Studenti lattributo Matricola della tabella Esami è detto chiave esterna di Esami su Studenti lintegrità referenziale richiede che ogni valore della chiave esterna Matricola di Esami corrisponda a un valore della chiave (primaria) Matricola di Studenti lintegrità referenziale richiede che ogni valore della chiave esterna Matricola di Esami corrisponda a un valore della chiave (primaria) Matricola di Studenti

Chiavi Esterne il nome di un attributo chiave esterna può essere diverso dal nome dellattributo chiave (primaria) cui si riferisce il nome di un attributo chiave esterna può essere diverso dal nome dellattributo chiave (primaria) cui si riferisce ID… IDIDResp… ImpiegatiProgetti

Chiavi Esterne una chiave esterna può essere composta da più attributi una chiave esterna può essere composta da più attributi CittaNome… StazioniOrarioFermate…CittaStazNomeStaz…

Chiavi Esterne una tabella può definire più chiavi esterne una tabella può definire più chiavi esterne CittaNome… Stazioni Tratte…CittaStazDaNomeStazDaCittaStazANomeStazA…

Tipi di Associazioni grazie alle chiavi esterne possiamo creare dei legami (associazioni) tra tabelle grazie alle chiavi esterne possiamo creare dei legami (associazioni) tra tabelle unassociazione tra le tabelle T1 e T2 è caratterizzata dalla cardinalità con cui T1 e T2 partecipano allassociazione unassociazione tra le tabelle T1 e T2 è caratterizzata dalla cardinalità con cui T1 e T2 partecipano allassociazione distinguiamo tra: distinguiamo tra: –associazioni uno-a-uno –associazioni uno-a-molti –associazioni molti-a-molti

Tipi di Associazioni in unassociazione uno-a-uno, ogni record di T1 è associato (al più) a un record di T2 (e viceversa) in unassociazione uno-a-uno, ogni record di T1 è associato (al più) a un record di T2 (e viceversa) ID… IDIDOrdine… OrdiniFatture uno-a-uno

Tipi di Associazioni in unassociazione uno-a-molti, ogni record di T1 è associato a zero, uno o più record di T2 in unassociazione uno-a-molti, ogni record di T1 è associato a zero, uno o più record di T2 Nome… IDViveA… CittàPersona uno-a-molti

Tipi di Associazioni in unassociazione molti-a-molti, ogni record di T1 è associato a zero, uno o più record di T2 (e viceversa) in unassociazione molti-a-molti, ogni record di T1 è associato a zero, uno o più record di T2 (e viceversa) ID… ID… TuristaViaggio molti-a-molti

Tipi di Associazioni in unassociazione molti-a-molti, ogni record di T1 è associato a zero, uno o più record di T2 (e viceversa) in unassociazione molti-a-molti, ogni record di T1 è associato a zero, uno o più record di T2 (e viceversa) ID… ID TuristaViaggioIDTurIDViag Partecipazione

Interrogazioni la strutturazione di una BD in tabelle, a loro volta strutturate in record con attributi omogenei, permette interrogazioni molto sofisticate la strutturazione di una BD in tabelle, a loro volta strutturate in record con attributi omogenei, permette interrogazioni molto sofisticate il linguaggio formale più utilizzato per interrogare le BD relazionali è SQL (Structured Query Language) ma esistono altri linguaggi, spesso meno potenti ma più semplici da utilizzare il linguaggio formale più utilizzato per interrogare le BD relazionali è SQL (Structured Query Language) ma esistono altri linguaggi, spesso meno potenti ma più semplici da utilizzare

Interrogazioni in una BD relazionale, il risultato di una interrogazione è una tabella temporanea (persiste fintanto che il risultato viene analizzato) in una BD relazionale, il risultato di una interrogazione è una tabella temporanea (persiste fintanto che il risultato viene analizzato) in una interrogazione specifichiamo: in una interrogazione specifichiamo: –gli attributi da includere nella tabella risultato –i criteri di selezione che devono essere soddisfatti dai record della tabella risultato

Interrogazioni consideriamo le tabelle Studenti ed Esami viste prima consideriamo le tabelle Studenti ed Esami viste prima Esami Studenti

Interrogazioni vogliamo spedire delle congratulazioni agli studenti che hanno superato lesame L0507 vogliamo spedire delle congratulazioni agli studenti che hanno superato lesame L0507 Esami Studenti

Interrogazioni vogliamo spedire delle congratulazioni agli studenti che hanno superato almeno un esame con voto 27 vogliamo spedire delle congratulazioni agli studenti che hanno superato almeno un esame con voto 27 Esami Studenti

Interrogazioni vogliamo spedire delle congratulazioni agli studenti che hanno superato lesame L0507 con voto 27 vogliamo spedire delle congratulazioni agli studenti che hanno superato lesame L0507 con voto 27 Esami Studenti

Interrogazioni vogliamo spedire delle congratulazioni agli studenti che hanno superato lesame L0014 o L0507 con voto 27 vogliamo spedire delle congratulazioni agli studenti che hanno superato lesame L0014 o L0507 con voto 27 Esami Studenti

SQL SELECT * FROM Studenti S, Esami E WHERE S.Matricola = E.Matricola AND CodiceCorso = L0507 CodiceCorso = L0507 vogliamo spedire delle congratulazioni agli studenti che hanno superato lesame L0507 vogliamo spedire delle congratulazioni agli studenti che hanno superato lesame L0507

SQL SELECT * FROM Studenti S, Esami E WHERE S.Matricola = E.Matricola AND CodiceCorso = L0507 AND CodiceCorso = L0507 AND Voto >= 27 Voto >= 27 vogliamo spedire delle congratulazioni agli studenti che hanno superato lesame L0507 con voto 27 vogliamo spedire delle congratulazioni agli studenti che hanno superato lesame L0507 con voto 27

SQL SELECT * FROM Studenti S, Esami E WHERE S.Matricola = E.Matricola AND (CodiceCorso = L0507 OR (CodiceCorso = L0507 OR CodiceCorso = L0014) AND CodiceCorso = L0014) AND Voto >= 27 Voto >= 27 vogliamo spedire delle congratulazioni agli studenti che hanno superato lesame L0014 o L0507 con voto 27 vogliamo spedire delle congratulazioni agli studenti che hanno superato lesame L0014 o L0507 con voto 27

Query by Example il metodo di interrogazione QBE permette di costruire le interrogazioni in modo simile a come le abbiamo discusse informalmente il metodo di interrogazione QBE permette di costruire le interrogazioni in modo simile a come le abbiamo discusse informalmente vedremo luso delle QBE in Access vedremo luso delle QBE in Access

Esempio Il DB di una azienda contiene le seguenti tabelle: Il DB di una azienda contiene le seguenti tabelle: –Impiegati Cognome, Nome, ID, Indirizzo, Città, Provincia, CAP, Telefono, Data_ass –Stipendi ID, Paga, Deduzioni, Sanità, Vita –Risorse_Umane ID, Dipa, Data_ass, Commenti, Supervisor, Progetti –Calcetto ID, Piede, Presenze, Goal, Posizione

Esempio – Chiavi Primarie Esplicitiamo le chiavi primarie: Esplicitiamo le chiavi primarie: –Impiegati Cognome, Nome, ID, Indirizzo, Città, Provincia, CAP, Telefono, Data_ass –Stipendi ID, Paga, Deduzioni, Sanità, Vita –Risorse_Umane ID, Dipa, Data_ass, Commenti, Supervisor, Progetti –Calcetto ID, Piede, Presenze, Goal, Posizione

Esempio - Associazioni Consideriamo ora le associazioni Consideriamo ora le associazioni ID… ID… ImpiegatiStipendi Impiegati Cognome, Nome, ID, Indirizzo, Città, Provincia, CAP, Telefono, Data_ass Stipendi ID, Paga, Deduzioni, Sanità, Vita uno-a-uno

Esempio - Associazioni Consideriamo ora le associazioni Consideriamo ora le associazioni ID… ID… ImpiegatiRisorse_Umane Impiegati Cognome, Nome, ID, Indirizzo, Città, Provincia, CAP, Telefono, Data_ass Risorse_Umane ID, Dipa, Data_ass, Commenti, Supervisor, Progetti uno-a-uno

Esempio - Associazioni Consideriamo ora le associazioni Consideriamo ora le associazioni ID… ID… ImpiegatiCalcetto Impiegati Cognome, Nome, ID, Indirizzo, Città, Provincia, CAP, Telefono, Data_ass Calcetto ID, Piede, Presenze, Goal, Posizione uno-a-uno

Esempio - Associazioni Abbiamo individuato le associazioni: Abbiamo individuato le associazioni: ID… ImpiegatiID… StipendiID… Risorse_UmaneID… Calcetto uno-a-uno

Esempio - Associazioni Ci sono altre associazioni? Ci sono altre associazioni? –Impiegati Cognome, Nome, ID, Indirizzo, Città, Provincia, CAP, Telefono, Data_ass –Stipendi ID, Paga, Deduzioni, Sanità, Vita –Risorse_Umane ID, Dipa, Data_ass, Commenti, Supervisor, Progetti –Calcetto ID, Piede, Presenze, Goal, Posizione

Esempio - Associazioni Cè unaltra associazione tra Impiegati e Risorse_Umane Cè unaltra associazione tra Impiegati e Risorse_Umane ID… ID…Supervisor… ImpiegatiRisorse_Umane Impiegati Cognome, Nome, ID, Indirizzo, Città, Provincia, CAP, Telefono, Data_ass Risorse_Umane ID, Dipa, Data_ass, Commenti, Supervisor, Progetti uno-a-molti

Esempio - Associazioni Abbiamo individuato le associazioni: Abbiamo individuato le associazioni: ID… ImpiegatiID… StipendiID… Risorse_UmaneID… Calcetto uno-a-uno uno-a-molti

Esempio - Ridondanza La data di assunzione Data_ass è ridondante La data di assunzione Data_ass è ridondante Per rimuovere la ridondanza possiamo rimuovere lattributo Data_ass dalla tabella Impiegati oppure dalla tabella Risorse_Umane Per rimuovere la ridondanza possiamo rimuovere lattributo Data_ass dalla tabella Impiegati oppure dalla tabella Risorse_Umane In questo caso sembra preferibile rimuovere Data_ass da Risorse_Umane perché altrimenti, il DB potrebbe non specificare la data di assunzione per qualche impiegato In questo caso sembra preferibile rimuovere Data_ass da Risorse_Umane perché altrimenti, il DB potrebbe non specificare la data di assunzione per qualche impiegato

Esempio - View Consideriamo il DB da diversi punti di vista (view) Consideriamo il DB da diversi punti di vista (view) Lallenatore di calcetto non dovrà (necessariamente) avere accesso a tutte le tabelle Impiegati, Stipendi, Risorse_Umane e Calcetto Lallenatore di calcetto non dovrà (necessariamente) avere accesso a tutte le tabelle Impiegati, Stipendi, Risorse_Umane e Calcetto Gli sarà sufficiente avere accesso alla tabella Calcetto e a (parte) dei dati nella tabella Impiegati relativi a impiegati che giocano a calcetto Gli sarà sufficiente avere accesso alla tabella Calcetto e a (parte) dei dati nella tabella Impiegati relativi a impiegati che giocano a calcetto

Esempio - View La view dellallenatore di calcetto potrebbe essere il risultato di una query. La view dellallenatore di calcetto potrebbe essere il risultato di una query. ID… ImpiegatiID… Calcetto … attributi di Calcetto attributi di Impiegati tranne Data_ass ID ViewAllenatore