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



Documenti analoghi
MODELLO RELAZIONALE. Introduzione

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

IL MODELLO RELAZIONALE

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

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

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

Elena Baralis 2013 Politecnico di Torino 1

Progettazione di Basi di Dati

Vincoli di integrità

BASE DI DATI: sicurezza. Informatica febbraio ASA

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

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

Il modello relazionale dei dati e stato introdotto da Codd. nel 1970 (E.F. Codd, \A relational model of data for large

BASI DI DATI - : I modelli di database

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

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

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

Il Modello Relazionale

Il Modello Relazionale

Data Base Relazionali

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi

Il modello relazionale

Database. Si ringrazia Marco Bertini per le slides

Basi di Dati e Sistemi Informativi. Algebra Relazionale

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

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

Modulo 2 Data Base 2

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

Il Modello Relazionale

Informatica (Basi di Dati)

Il modello relazionale dei dati

Progettazione di Database. Un Esempio

DBMS (Data Base Management System)

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

Basi di Dati e Microsoft Access

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

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

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione

Definizione di domini

Organizzazione degli archivi

Rappresentazione grafica di entità e attributi

RDBMS. Corso di Informatica RDBMS. Access. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

MODELLO E/R. Modellazione dei dati

TEORIA sulle BASI DI DATI

Basi di dati. Gabriella Trucco

database: modello entityrelationship

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

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Corso sul linguaggio SQL

Gestione Voti Scolastici

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

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Informatica (Basi di Dati)

Lezione 7. da Modello Concettuale a Logico

Alessandra Raffaetà. Basi di Dati

Lezione 2. Il modello entità relazione

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 5

Corso di Informatica (Basi di Dati)

Decomposizione senza perdita. Decomposizione senza perdita. Conservazione delle dipendenze. Conservazione delle dipendenze

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE

Università degli Studi di Verona. Laboratorio di Basi di Dati

Progettazione di un Database

Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Dati. Facoltà di Lingue e Letterature Straniere

Gli operatori relazionali

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

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

Capitolo 2. Esercizio 2.1. Esercizio 2.2

Archivi e Basi di Dati

Modello Relazionale. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni

Sistemi Informativi e Basi di Dati

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

COGNOME MATRICOLA. Con vincoli di integrita referenziale: INTERVENTO.CodTecnico à TECNICO.Codice INTERVENTO.MatCaldaia à CALDAIA.

LA NORMALIZZAZIONE. Introduzione

Informatica per le discipline umanistiche 2 lezione 10

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Progettazione di Database

PROGETTAZIONE CONCETTUALE

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

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

I database. Cosa sono e a cosa servono i Database

MAPPING RELAZIONALE ASSOCIAZIONE BINARIA NON RICORSIVA Molteplicità N:1 (OPPURE 1:N)

Corso di Laboratorio di Basi di Dati

Basi di dati 9 febbraio 2010 Compito A

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Corso di Informatica RDBMS RDBMS. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Esercitazione di Basi di Dati

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

70555 Informatica Sicurezza Mario Rossi Anna Bianchi. Esempio istanza:

Lezione 4. Modello EER

Esercitazione di Basi di Dati

Unità C1 Modello logico

Identificatori delle entità

ESERCIZIO 1 (15 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un sistema di prenotazioni di biglietti aerei:

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

I Sistemi Informativi

Transcript:

Basi di Dati e Sistemi Informativi Progettazione logica: Il modello relazionale Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Introduzione Basato sul lavoro di Codd (~1970) E attualmente il modello più utilizzato nel mondo dei database (Oracle, Informix, IBM, Microsoft, etc.) E basato su una struttura dati semplice ed uniforme, la relazione. Ha solide basi teoriche. 2 di 12

Concetti base del modello (1/3) Una base di dati è rappresentata come una collezione di relazioni. Possiamo informalmente considerare una relazione come una tabella. Ciascuna riga rappresenta una collezione di valori di dati tra loro collegati Il nome della relazione e quelli delle colonne consentono di comprendere il significato dei valori delle righe. Tutti i valori di una colonna sono del medesimo tipo, appartengono cioè ad un medesimo dominio. Studente Nome Mario Piero Cognome Rossi Bianchi Matricola 119310 514222 3 di 12

Concetti base del modello (2/3) Dominio: un insieme di valori atomici, cioè indivisibili. Es.: voti_università: valori tra 0 e 30. nomi_propri: l insieme dei nomi di persona. A ciascun dominio si associa un tipo di dato o formato. Es: voti_università: interi tra 0 e 30 nomi_propri: stringhe di caratteri rappresentanti nomi propri. 4 di 12

Concetti base del modello (3/3) Schema o intensione di una relazione R: è specificato come un nome R e una lista di attributi (A1, A2,..,An). Ciascun attributo Ai corrisponde ad un dominio D(Ai) nello schema relazionale. Es.: Studente(nome, cognome, matricola, data_nascita,data_immatr) Grado della relazione: numero di attributi. Istanza o estensione di R: r(r), è un insieme di tuple r=(t1, t2,..,tm). Ciascuna tupla t è una lista ordinata di valori t=<v1, v2,.., vn); ciascun valore vi dom(ai) null (dove null rappresenta uno speciale valore, sconosciuto, inapplicabile). Cardinalità: il numero di tuple nella estensione r(r). 5 di 12

Note sulla definizione (1/2) Le tuple sono definite come insieme. Ciò implica l assenza di un particolare ordinamento sulle tuple stesse. Studente Studente Nome Cognome Matricola Nome Cognome Matricola Mario Rossi 119310 Piero Bianchi 514222 Piero Bianchi 514222 Mario Rossi 119310 I valori all interno di una tupla sono stati definiti come lista ordinata, quindi esiste un ordinamento. N.B. Le relazioni sono definite a livello logico, quindi ha senso non avere ordinamento predefinito sulle tuple; è inoltre possibile, fornendo una diversa definizione di tupla, prescindere anche dall ordinamento all interno della tupla stessa. Intuitivamente è sufficiente considerare ogni valore all interno della generica tupla direttamente associato al nome di attributo corrispondente. 6 di 12

Note sulla definizione (2/2) E possibile interpretare uno schema di relazione come una dichiarazione o asserzione: ciascuna tupla può essere pertanto vista come un esempio di asserzione. E anche possibile interpretare uno schema di relazione come un predicato: i valori di ciascuna tupla soddisfano il predicato. 7 di 12

Vincoli del modello (1/2) Vincolo di dominio: i valori di ciascun attributo sono valori atomici appartenenti al corrispondente dominio. Vincolo di chiave: per ogni relazione R esiste un sottoinsieme di attributi sk tale che t1 sk] t2[sk]. Il sottoinsieme sk dicesi superchiave. Dicesi chiave un sottoinsieme di attributi che goda della ulteriore proprietà di essere minimo, cioè privo di attributi ridondanti. Es.: studente(nome, cognome, matricola, data_nascita) Il sottoinsieme nome, cognome, matricola è superchiave, come pure cognome, matricola. Matricola è chiave (non ridondante) In genere possono esserci più sottoinsiemi di attributi che verificano le due proprietà: chiavi candidate La chiave designata è detta chiave primaria. 8 di 12

Vincoli del modello (2/2) Integrità di entità: nessuna chiave primaria può assumere valore null. Integrità referenziale: una tupla in una relazione R1 che si riferisca ad un altra relazione R2 deve riferirsi ad una tupla esistente in R2. Il precedente vincolo è normalmente espresso mediante il concetto di chiave esterna (foreign key). Un sottoinsieme di attributi FK di una relazione R1 è una chiave esterna se: 1. Gli attributi di FK hanno lo stesso dominio degli attributi della chiave primaria PK di un altra relazione R2 2. Un valore di FK in una tupla t1 di R1 o è presente identicamente come valore di PK di qualche tupla t2 in R2 o è nullo. Nel primo caso si avrà t1[fk]=t2[pk] e si dice che t1 referenzia t2. 9 di 12

Mapping E-R relazionale (1/3) Creare una relazione per ogni entità con gli attributi semplici della stessa entità, scegliendo come chiave primaria una delle chiavi dell entità. Per le entità deboli: creare una relazione con gli attributi dell entità e includere, inoltre, come chiave esterna, la chiave primaria dell entità proprietaria la chiave primaria della nuova relazione sarà la combinazione della chiave esterna più la chiave parziale. 10 di 12

Mapping E-R relazionale (2/3) Per ogni associazione binaria 1:1 identificare le entità partecipanti S e D scegliere una entità S con partecipazione totale ed includere in essa, come chiave esterna, la PK di D. includere in S anche eventuali attributi dell associazione. Per ogni associazione binaria 1:N identificare le entità partecipanti scegliere l entità S dal lato N ed includere in essa, come chiave esterna, la PK dell altra includere in S anche eventuali attributi dell associazione. 11 di 12

Mapping E-R relazionale (3/3) Per ogni associazione R di tipo M:N creare una nuova relazione R includere le chiavi esterne delle entità partecipanti la loro combinazione formerà la PK di R includere eventuali attributi di R Per ogni attributo multivalore A creare una nuova relazione che include A e la chiave primaria della entità di partenza come chiave esterna la PK sarà la combinazione della chiave esterna e di A Per ogni associazione con grado > 2 creare una nuova relazione includere come chiavi esterne le PK delle entità partecipanti nonché eventuali attributi dell associazione la PK sarà la combinazione delle chiavi esterne. 12 di 12