Progettazione di una base di dati relazionale Problemi.

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
LA PROGETTAZIONE LOGICA Seconda parte
LA PROGETTAZIONE CONCETTUALE Seconda parte
Normalizzazione Forme Normali.
1 Modello Relazionale : valori nulli Un valore nullo è diverso da ogni altro valore: t4[CODDOC]t5[CODDOC] nullMeccanicaC5 D2Analisi 1C2 D1Fisica 2C3 nullStoriaC6.
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
1 Microsoft Access 1. 2 Contenuto Dovete progettare e realizzare, usando Access, una base di dati che riguarda gli esami sostenuti dagli studenti iscritti.
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
Capitolo 7 Tavole hash Algoritmi e Strutture Dati.
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Relazionale Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi.
Basi di dati Prova parziale del 12/01/2009 Possibili soluzioni.
LA PROGETTAZIONE LOGICA
Basi di dati 2002 EER Vogliamo aumentare lespressività degli Entity Model EER: Entity Model Esteso.
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Partizionamento/accorpamento di concetti
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Informazione incompleta Le tuple che compongono la base di dati devono essere omogenee. Quindi ad ogni attributo deve essere associato un valore in ogni.
Basi di dati Claudia Raibulet
Introduzione alle Basi di Dati. Overview Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo.
Posta elettronica Usare la posta elettronica con il browser web 2 a parte La rubrica.
Dottorato di ricerca Nuove Tecnologie e Informazione Territorio – Ambiente Nozioni fondamentali di Basi di Dati Seminario interno.
Corso di Basi di Dati Progettazione di Basi di Dati
Informatica II – Basi di Dati (08/09) – Parte 2 Gianluca Torta Dipartimento di Informatica dellUniversità di Torino
Corso di Basi di Dati Progettazione Logica
Sistemi di Elaborazione delle Informazioni Mod.I.
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
DATABASE Introduzione
Sistemi Informativi Insieme di “strutture” in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione.
DB- Sistemi Informativi
Il modello relazionale (II). Informazione incompleta e valori nulli In una tupla di una relazione un attributo può non avere valore Per esempio: Mario.
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
SECONDO COMPITO:. ANALISI DEI REQUISITI Si vuole automatizzare la gestione dei prestiti di una biblioteca di un determinato soggetto (biblioteca personale).
Microsoft Access Query (II), filtri.
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
Progettazione di una base di dati Progettazione logica (modello relazionale)
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
STUDENTE(Matr,Nome,Cognome) ESAME(Matr,Voto,C#) CORSO(C#,Titolo,D#) DOCENTE(D#,Cognome) Cognomi degli studenti che hanno preso 30 all’esame di Programmazione.
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Corso di laurea triennale in Chimica - Laboratorio di Informatica 1 ESERCITAZIONE 8 – BASI DI DATI - II ©2003/04 – Gruppo di lavoro Alberti, Boldi, Gaito,
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.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Progettazione di una base di dati relazionale Vincoli.
Progettazione di una base di dati relazionale Terza forma normale.
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Progettazione concettuale Castagnozzi Savino Ciaramello Massimo Emiliano Galeazzi Federico Guerriero Lorenzo Macauda Giorgio.
Basi di Dati Esercitazione Modello Relazionale 19 ottobre 2015 Luigi Bellomarini
Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini VIII. Insiemi e Strutture Dati.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
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à.
Esempi di interrogazioni in SQL DB di partenza Base di dati di partenza –STUDENTI (Matricola, Nome, cognome, , PIN) –CORSI (Codice, Nome) –CARRIERE.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Normalizzazione. Forme normali Evitare la ripetizione e la ridondanza Evitare alcuni problemi in modifiche/cancellazioni Obiettivo: Normalizzazione =>
Progettazione di una base di dati relazionale
Progettazione di una base di dati relazionale
Progettazione di una base di dati relazionale
Transcript della presentazione:

Progettazione di una base di dati relazionale Problemi

Supponiamo di voler creare una base di dati contenente i seguenti dati di studenti universitari: - dati anagrafici (nome cognome, matricola, codice fiscale, data, comune e provincia di nascita) - dati curriculari (per ogni esame sostenuto: voto, data, codice, titolo e docente del corso)

Ipotesi 1 La base di dati consiste di una sola relazione con schema: Curriculum (Matr, CF, Cogn, Nome, DataN, Com, Prov, C#, Tit, Doc, DataE, Voto)

Ipotesi 1 (problemi) CurriculumMatrCFCF CognNomeDataNComNProvNC#TitCDocCData E Voto 01…RossiMario…TolfaRoma10FisicaPippo…… 02…BianchiPaolo…TolfaRoma10FisicaPippo…… 01…RossiMario…TolfaRoma20ChimicaPluto…… Ridondanza - I dati anagrafici di uno studente sono memorizzati per ogni esame sostenuto dallo studente - I dati di un corso sono memorizzati per ogni esame sostenuto per quel corso

Ipotesi 1 (problemi) La ridondanza da luogo a: -spreco di spazio in memoria -anomalie di aggiornamento

Ipotesi 1 (problemi) CurriculumMatrCFCF CognNomeDataNComNProvNC#TitCDocCDataEVoto 01…RossiMario…TolfaRoma10FisicaPippo…… 02…BianchiPaolo…TolfaRoma10FisicaPippo…… 01…RossiMario…TolfaRoma20ChimicaPluto…… Anomalia di aggiornamento - se cambia il docente del corso il dato deve essere mofificato per ogni esame sostenuto per quel corso CurriculumMatrCFCF CognNomeDataNComNProvNC#TitCDocCDataEVoto 01…RossiMario…TolfaRoma10FisicaMinni…… 02…BianchiPaolo…TolfaRoma10FisicaMinni…… 01…RossiMario…TolfaRoma20ChimicaPluto……

Ipotesi 1 (problemi) CurriculumMatrCFCognNomeDataNComNProvNC#TitCDocCDataEVoto 01…RossiMario…TolfaRoma10FisicaPippo…… 02…BianchiPaolo…TolfaRoma10FisicaPippo…… 01…RossiMario…TolfaRoma20ChimicaPluto…… Anomalia di inserimento - non posso inserire i dati anagrafici di uno studente finchè non ha sostenuto almeno un esame a meno di non usare valori nulli (spreco di spazio!) CurriculumMatrCFCognNomeDataNComNProvNC#TitCDocCDataEVoto 01…RossiMario…TolfaRoma10FisicaMinni…… 02…BianchiPaolo…TolfaRoma10FisicaMinni…… 01…RossiMario…TolfaRoma20ChimicaPluto…… 03…NeriGiulio…NepiRoma-----

Ipotesi 1 (problemi) CurriculumMatrCFCognNomeDataNComNProvNC#TitCDocCDataEVoto 01…RossiMario…TolfaRoma10FisicaPippo…… 02…BianchiPaolo…TolfaRoma10FisicaPippo…… 01…RossiMario…TolfaRoma20ChimicaPluto…… Anomalia di cancellazione - eliminando i dati anagrafici di uno studente potrebbero essere eliminati i dati di un corso (se lo studente è l’unico ad aver sostenuto l’esame di quel corso) CurriculumMatrCFCognNomeDataNComNProvNC#TitCDocCDataEVoto 02…BianchiPaolo…TolfaRoma10FisicaMinni……

Ipotesi 2 La base di dati consiste di tre schemi di relazione: Studente (Matr, CF, Cogn, Nome, Data, Com, Prov) Corso (C#, Tit, Doc) Esame (Matr, C#, Data, Voto)

Ipotesi 2 CurriculumMatrCFCognNomeDataNComProvC#TitDocDataEVoto 01…RossiMario…TolfaRoma10FisicaPippo…… 02…BianchiPaolo…TolfaRoma10FisicaPippo…… 01…RossiMario…TolfaRoma20ChimicaPluto…… StudenteMatrCFCognNomeDataComProv 01…RossiMario…TolfaRoma 02…BianchiPaolo…TolfaRoma EsameMatrC#DataVoto 0110…… 0210…… 0120…… CorsoC#TitDoc 10FisicaPippo 20ChimicaPluto I dati nella relazione: possono essere memorizzati nelle tre relazioni

Ipotesi 2 NON abbiamo più i problemi di ridondanza e le anomalie di aggiornamento, inserimento e cancellazione esaminati in precedenza però …

Ipotesi 2 StudenteMatrCFCognNomeDataComProv 01…RossiMario…TolfaRoma 02…BianchiPaolo…TolfaRoma Ridondanza - Il fatto che un comune si trova in una certa provincia è ripetuto per ogni studente nato in quel comune Anomalia di aggiornamento - Se un comune cambia provincia (in seguito alla creazione di una nuova Provincia) devono essere modificate più tuple Anomalia di inserimento -Non è possibile memorizzare il fatto che un certo comune si trova in una certa provincia se non c’è almeno uno studente nato in quel comune Anomalia di cancellazione - Se vengono eliminati i dati anagrafici di uno studente potrebbe perdersi l’informazione che un certo comune si trova in una certa provincia (se è l’unico studente nato in quel comune

Ipotesi 3 La base di dati consiste di quattro schemi di relazione: Studente (Matr, CF, Cogn, Nome, Data, Com) Corso (C#, Tit, Doc) Esame (Matr, C#, Data, Voto) Comune (Com, Prov)

Ipotesi 3 StudenteMatrCFCognNomeDataCom 01…RossiMario…Tolfa 02…BianchiPaolo…Tolfa EsameMatrC#DataVoto 0110…… 0210…… 0120…… CorsoC#TitDoc 10FisicaPippo 20ChimicaPluto ComuneComProv TolfaRoma NON ho più ridondanza né anomalie!

Uno schema di basi di dati è “buono” se non presenta - ridondanze e - anomalie di aggiornamento, inserimento e cancellazione Quindi …

… lo schema Studente (Matr, CF, Cogn, Nome, Data, Com) Corso (C#, Tit, Doc) Esame (Matr, C#, Data, Voto) Comune (Com, Prov) … è uno schema “buono”

Problema Come progettare uno schema “buono”?

Osservazione I problemi esaminati in relazione allo schema Curriculum (Matr, CF, Cogn, Nome, DataN, Com, Prov, C#, Tit, Doc, DataE, Voto) derivano dal fatto che sono rappresentati in un’unica relazione tre concetti distinti (studente, corso, esame) e …

Osservazione … vengono superati quando i tre concetti vengono rappresentati nelle tre relazioni distinte Studente (Matr, CF, Cogn, Nome, Data, Com, Prov) Corso (C#, Tit, Doc) Esame (Matr, C#, Data, Voto)

Osservazione Analogamente i problemi esaminati in relazione allo schema Studente (Matr, CF, Cogn, Nome, Data, Com, Prov) derivano dal fatto che sono rappresentati in un’unica relazione due concetti distinti (studente, comune) e …

Osservazione … vengono superati quando i due concetti vengono rappresentati nelle due relazioni distinte Studente (Matr, CF, Cogn, Nome, Data, Com) Comune (Com, Prov)

Soluzione Per progettare uno schema “buono” occorre rappresentare separatamente ogni concetto in una relazione

Problema Come possono essere individuati i concetti rappresentati in una relazione?

Il concetto che ci permette di individuare i concetti rappresentati in una relazione è quello di chiave ed è basato su quello di dipendenza funzionale (vincolo)