RELAZIONI E BASI DI DATI

Похожие документы
I modelli logici dei dati

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap

I database. Introduzione alla teoria delle basi di dati

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Modulo 2 Data Base - Modello Relazionale

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Elena Baralis 2007 Politecnico di Torino 1

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio

Modello Relazionale. Architettura a tre livelli di un DBMS

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Interrogazioni nidificate

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

Modulo 2 Data Base 2

Capitolo 9. Esercizio 9.1. Esercizio 9.2

Ciclo di vita di un sistema informativo

Interrogazioni nidificate

CAPITOLO V. DATABASE: Il modello relazionale

Corso di Basi di Dati A.A. 2015/2016

Indicare quale o quali delle seguenti affermazioni sono vere?

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Progettazione di Basi di Dati

La in verifica forma teoria normale della normalizzazione fornisce comunque uno strumento di già

ESAME 16/02/2016 (A) Prof. C. DE MAIO

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

Guida a SacramentiWeb 1.2

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

LA PROGETTAZIONE CONCETTUALE

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

GESTIONE ABBONAMENTI RIVISTE

Esempio di database relazionale con l utilizzo del prodotto MySQL

Partite string string int int. Perché studiare il Modello Relazionale? Capitolo 2. Relazione: tre accezioni. Basi di dati relazionali: definizioni

Elena Baralis 2013 Politecnico di Torino 1

Normalizzazione. Definizione

Riconoscere e formalizzare le dipendenze funzionali

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

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

Introduzione alla normalizzazione dei dati

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

Corso di Basi di Dati A.A. 2015/2016

BASI DATI: algebra relazionale

PROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità

Informatica (Basi di Dati)

EUROPEAN COMPUTER DRIVING LICENCE SYLLABUS VERSIONE 5.0

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

DATABASE PER IL WEB. Programmazione Web 1

Guida alla verbalizzazione online delle Sedute di Laurea

Programma di INFORMATICA

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

UNIVERSITA' DEGLI STUDI DI MILANO - BICOCCA Facoltà di Scienze Matematiche, Fisiche e Naturali

Normalizzazione di Basi di Dati. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto San Giovanni

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Corso di Informatica (Basi di Dati)

MODELLO RELAZIONALE. Introduzione

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

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

LABORATORIO di INFORMATICA

DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire:

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

Rappresentazione in complemento a 2: caratteristiche generali

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

OPERAZIONI SULLA STRUTTURA

Basi di dati. Progettazione di basi di dati: Metodologie e modelli

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

Domande frequenti poste dagli studenti

Università degli studi di Verona. Corso di Informatica di Base. Lezione 4 - Parte 2. Rifinitura di un documento

Транскрипт:

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno :Modello Relazionale (2)-Relazioni e DB, valori nulli Prof. Alberto Postiglione Università degli Studi di Salerno RELAZIONI E BASI DI DATI Atzeni, cap. 2.1.4 1

Il modello è basato su valori Una Base di Dati è generalmente costituita da più di una Tabella Le corrispondenze fra dati presenti in tabelle diverse sono rappresentate per mezzo di valori comuni che compaiono in tuple appartenenti a tali tabelle. In altri modelli (Gerarchico e Reticolare) le corrispondenze tra i dati presenti in strutture diverse è fatta tramite riferimenti espliciti (i puntatori) # 3 Prof Alberto Postiglione Università Salerno Esempio STUDENTI Matricola Cognome Nome 276545 Rossi Maria 485745 Neri Anna 200768 Verdi Fabio 587614 Rossi Luca 937653 Bruni Mario ESAMI Studente 276545 Data di Nascita 25/11/1971 23/04/1972 12/02/1972 10/10/1971 Voto 01/12/1971 Corso 28 01 CORSI Codice Titolo Docente 01 03 04 Analisi Chimica Chimica Giani Melli Belli 276545 937653 200768 27 25 24 04 01 04 # 4 Prof Alberto Postiglione Università Salerno 2

Esempio STUDENTI Matricola Cognome Nome 276545 Rossi Maria 485745 Neri Anna 200768 Verdi Fabio 587614 Rossi Luca 937653 Bruni Mario ESAMI Studente Data di Nascita 25/11/1971 23/04/1972 12/02/1972 Voto 28 27 25 24 10/10/1971 01/12/1971 Corso CORSI Codice 01 03 04 Titolo Analisi Chimica Chimica Docente Giani Melli Belli # 5 Prof Alberto Postiglione Università Salerno Vantaggi della struttura basata su valori Si rappresenta solo ciò che è rilevante dal punto di vista dell applicazione i puntatori sono aggiuntivi rispetto ai dati veri e propri La rappresentazione logica dei dati non fa riferimento a quella fisica, che può cambiare nel tempo, permettendo quindi di ottenere l indipendenza fisica dei dati E l assenza di puntatori che permette al modello relazionale il raggiungimento dell indipendenza fisica I dati sono portabili facilmente da un sistema ad un altro i puntatori (che, alla fine, non sono che indirizzi di memoria) sono spesso legati al singolo computer # 6 Prof Alberto Postiglione Università Salerno 3

Schema di Relazione e di Database SCHEMA DI RELAZIONE un nome R con un insieme di (nomi di) attributi R(A 1,A 2,...,A n ) A 1,A 2,...,A n A ciascun attributo è associato un dominio SCHEMA DI DATABASE (RELAZIONALE) insieme di tutti gli schemi di relazione: R = {R 1 (A 1,A 2,...,A n ), R 2 (B 1,B 2,...,B m ),..., R k (K 1,K 2,...,K r )} Lo Schema della Base di Dati dell esempio precedente è la seguente: R={STUDENTI(Matricola, Cognome, Nome, Data di Nascita), ESAMI(Studente, Voto, Corso), CORSI (Codice, Titolo, Docente)} # 7 Prof Alberto Postiglione Università Salerno Istanza di Relazione e di Database ISTANZA DI RELAZIONE su uno schema R(A 1,A 2,...,A n ) insieme r di tuple su A 1,A 2,...,A n ISTANZA DI BASE DI DATI su uno schema R = {R 1 (A 1,A 2,...,A n ), R 2 (B 1,B 2,...,B m ),..., R k (K 1,K 2,...,K r )} insieme di tutte le tuple presenti nelle Relazioni all interno del Database Una tupla su un insieme di attributi X è una funzione che associa a ciascun attributo A in X un valore del dominio di A t[a] denota il valore della tupla t sull'attributo A # 8 Prof Alberto Postiglione Università Salerno 4

Tabelle con un solo attributo Presente in DB con più tabelle, in cui la tabella con un solo attributo contiene valori che appaiono come valore di attributo di un altra tabella studenti Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 9283 Verdi Luisa 12/11/1979 3456 Rossi Maria 01/02/1978 studenti lavoratori Matricola 6554 3456 # 9 Prof Alberto Postiglione Università Salerno Tabelle con struttura nidificata Da Filippo Via Roma 2, Roma Ricevuta Fiscale del 18/11/2002 3 Coperti 3,00 2 Antipasti 6,20 3 Primi 12,00 2 Bistecche 18,00 Da Filippo Via Roma 2, Roma Ricevuta Fiscale 1240 del 19/11/2002 2 Coperti 2,00 2 Antipasti 7,00 2 Primi 8,00 2 Orate 20,00 2 Caffè 2,00 Totale 39,20 Totale 39,00 # 10 Prof Alberto Postiglione Università Salerno 5

Tabelle con struttura nidificata Frasi Prestampate Informazioni Fisse Informazioni variabili (ognuna relativa a un insieme di portate omogenee) Da Filippo Via Roma 2, Roma Ricevuta Fiscale del 18/11/2002 3 Coperti 3,00 2 Antipasti 6,20 3 Primi 12,00 2 Bistecche 18,00 Totale 39,20 # 11 Prof Alberto Postiglione Università Salerno Tabelle con struttura nidificata Poiché le Tabelle hanno un numero fisso di attributi non è possibile rappresentare l informazione contenuta nelle ricevute utilizzando una sola tabella a meno di non sprecare una quantità enorme di spazio creando un numero di colonne pari al numero massimo di portate E possibile rappresentare le informazioni per mezzo di due tabelle, la prima contenente i dati fissi e la seconda quelli variabili (un record per ogni elemento) # 12 Prof Alberto Postiglione Università Salerno 6

Tabelle con struttura nidificata Ricevute Numero Data 12/10/2000 Totale 39,20 1240 13/10/2000 39,00 Dettaglio Numero Qtà Coperti 3,00 3 Coperti 3,00 2 Antipasti 6,20 3 Primi 12,00 2 Bistecche 18,00 1240 2 Coperti 2,00 # 13 Prof Alberto Postiglione Università Salerno Tabelle con struttura nidificata Abbiamo rappresentato veramente tutti gli aspetti delle ricevute? Dipende da che cosa ci interessa! l'ordine delle righe èrilevante? possono esistere linee ripetute in una ricevuta? Basta aggiungere un ulteriore attributo che indica la posizione della riga sulla ricevuta I DATI DA RAPPRESENTARE NELLA BASE DI DATI POSSONO ESSERE DIVERSI A SECONDA DEGLI OBIETTIVI CHE CI SI PREFIGGE DI RAGGIUNGERE # 14 Prof Alberto Postiglione Università Salerno 7

Rappresentazione alternativa di strutture Ricevute Numero Data 12/10/2000 Totale 39,20 1240 13/10/2000 39,00 Dettaglio Numero Riga Qtà Descrizione Importo 1 2 3 4 3 Coperti 3,00 2 Antipasti 6,20 3 Primi 12,00 2 Bistecche 18,00 1240 1 2 Coperti 2,00 # 15 Prof Alberto Postiglione Università Salerno INFORMAZIONE INCOMPLETA E VALORI NULLI Atzeni, cap. 2.1.5 8

Informazione incompleta ll modello relazionale impone ai dati una struttura rigida: le informazioni sono rappresentate per mezzo di tuple sono ammesse solo le tuple che corrispondono agli schemi di relazione I dati effettivamente disponibili possono non corrispondere esattamente al formato previsto Ad esempio, in una relazione sullo schema PERSONE (Cognome, Nome, Indirizzo, Telefono) il valore di Telefono potrebbe non essere disponbile per tutte le tuple. # 17 Prof Alberto Postiglione Università Salerno Informazione incompleta: soluzioni? non è opportuno usare valori del dominio (0, stringa vuota, 99,...) perchè si potrebbe generare confusione. Infatti: potrebbero non esistere valori del dominio non utilizzati (come nel caso delle date) i programmi che accedono alla Base di Dati devono poter distinguere i valori effettivi da quelli fittizi, e questo implica una complicazione degli stessi software. valori non utilizzati potrebbero, con il tempo, diventare significativi # 18 Prof Alberto Postiglione Università Salerno 9

Informazione incompleta nel relazionale Si adotta una tecnica semplice ma efficace: valore nullo: denota l assenza di un valore del dominio Non èunvaloredel dominio, maè un valore aggiuntivo rispetto a quelli del dominio # 19 Prof Alberto Postiglione Università Salerno Tipi di valore nullo Città Roma Firenze Tivoli Prato Indirizzo Prefettura Via Quattro Novembre NULL NULL NULL (almeno) tre casi differenti valore sconosciuto (Firenze certamente ha una Prefettura. Se non compare nella Relazione significa che al momento non ci è nota) valore inesistente (Tivoli non è capoluogo di provincia e quindi non ha Prefettura. In questo caso il valore è inesistente) valore senza informazione (Prato è stata da poco istituita come Provincia per cui non si sa se già esiste una Prefettura. Siamo in uno dei due casi precedenti, ma non sappiamo quale) # 20 Prof Alberto Postiglione Università Salerno 10

Valori Nulli I DBMS non distinguono i tipi di valore nullo, in pratica per un DBMS il valore nullo è sempre del terzo tipo (assenza di informazione, cioè non si sa se è inesistente o sconosciuto) ATTENZIONE Non sempre è possibile inserire un valore nullo in una relazione. Bisogna controllare attentamente la presenza di valori nulli in una relazione I Vincoli di Integrità ci vengono in aiuto. # 21 Prof Alberto Postiglione Università Salerno Troppi valori nulli (errore nelle tuple) AMMISSIBILE studenti Rende INUTILIZZABILE la tupla (che non fornisce alcuna informazione utile) PROBLEMATICA (l attributo stabilisce una correlazione tra tuple direlazioni diverse) Le due tuple potrebbero essere addirittura identiche Matricola Cognome Nome Data di nascita 276545 Rossi Maria NULL NULL Neri Anna 23/04/1972 NULL Verdi Fabio 12/02/1972 esami corsi Studente Voto Corso 276545 28 01 NULL 27 NULL 200768 24 NULL Codice Titolo Docente 01 Analisi Gianni 03 Chimica NULL NULL Chimica Belli # 22 Prof Alberto Postiglione Università Salerno 11