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



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

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

BASE DI DATI: sicurezza. Informatica febbraio ASA

Modulo 2 Data Base 2

Vincoli di integrità

MODELLO RELAZIONALE. Introduzione

Elena Baralis 2013 Politecnico di Torino 1

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

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

Progettazione di Basi di Dati

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

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

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

Il modello relazionale

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

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

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

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

Organizzazione degli archivi

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

Progettazione di Database. Un Esempio

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

BASI DI DATI - : I modelli di database

Il modello relazionale dei dati

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

DBMS (Data Base Management System)

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

MODELLO E/R. Modellazione dei dati

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

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

Il database management system Access

Basi di Dati e Microsoft Access

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

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

Le Basi di Dati. Le Basi di Dati

Capitolo 13. Interrogare una base di dati

DATABASE. A cura di Massimiliano Buschi

Il Modello Relazionale

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

Basi di dati 9 febbraio 2010 Compito A

Informatica (Basi di Dati)

Il Modello Relazionale

Rappresentazione grafica di entità e attributi

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

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

Sistemi Informativi e Basi di Dati

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

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

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

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

Il Modello Relazionale

I database relazionali (Access)

Esercizio sui data base "Gestione conti correnti"

Progettazione di un Database

Gestione Voti Scolastici

Strutturazione logica dei dati: i file

database: modello entityrelationship

TEORIA sulle BASI DI DATI

Introduzione alla teoria dei database relazionali. Come progettare un database

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

Corso di Informatica (Basi di Dati)

Concetti preliminari teorici per il corso di Access Avanzato - Sc.Elem Falcone - PON Prof. M. Simone

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

Esercizio data base "Biblioteca"

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Archivi e Basi di Dati

Alessandra Raffaetà. Basi di Dati

Modello relazionale. ing. Alfredo Cozzi 1

70555 Informatica Sicurezza Mario Rossi Anna Bianchi. Esempio istanza:

Database. Si ringrazia Marco Bertini per le slides

Definizione di domini

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

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

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

Database 1 biblioteca universitaria. Testo del quesito

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

Data Base. Prof. Filippo TROTTA

DATABASE.

IL MODELLO RELAZIONALE

Base Dati Introduzione

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

Cultura Tecnologica di Progetto

Il modello relazionale

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro)

Segreteria da campo. Database Relazionali

Giovanna Rosone 04/03/ /03/2010 SQL, Istruzioni per la modifica dello schema

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

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia

Data Base Relazionali

Access. P a r t e p r i m a

Facoltà di Farmacia - Corso di Informatica

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

I DATABASE Database relazionale

IL SISTEMA INFORMATIVO

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Informatica (Basi di Dati)

Transcript:

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture fisiche di memorizzazione, il modello relazionale è più astratto, mentre il modello XML e' il più generalizzabile. Il modello Relazionale si basa sul concetto matematico di relazione. Le relazioni hanno una rappresentazione naturale per mezzo di tabelle. Nella rappresentazione tabellare, a ciascuna colonna associamo un nome (detto attributo), unico in quella tabella. Tali attributi possono essere pensati come le intestazioni delle colonne, ovvero come i nomi dei diversi campi delle singole righe della tabella. Nel modello relazionale si rappresentano solo valori. Anche i riferimenti fra dati in relazioni (tabelle) diverse sono rappresentati per mezzo dei valori stessi; i riferimenti fra dati in relazioni/tabelle diverse sono rappresentati per mezzo di valori che compaiono nelle righe. ad es. i campi codice nelle tabelle esami e sostenuti del nostro esempio servono a mantenere le informazioni sul legame che vincola i dati nelle due diverse tabelle; Diversamente, nei modelli gerarchico e reticolare si utilizzano riferimenti espliciti 1 (puntatori) fra record.

Modello Relazionale I riferimenti fra dati in relazioni (tabelle) diverse sono rappresentati per mezzo dei valori stessi sostenuti codice matricola anno voto 1 11 2006 30 4 13 2007 28 2 13 2006 30 3 11 2007 18 1 13 2007 30 studenti matricola nome cognome citta anno 11 marco bini bologna 1985 13 laura sicuro rimini 1984 esami codice nome 1 Reti di Calcolatori 2 Sistemi Operativi 3 Programmazione 4 Analisi Matematica 2

Gestione dell Informazione Incompleta ll modello relazionale impone ai dati una struttura rigida: le informazioni sono rappresentate per mezzo di ennuple solo alcuni formati di ennuple sono ammessi: quelli che corrispondono agli schemi di relazione I dati disponibili possono non corrispondere esattamente al formato previsto, per varie ragioni: valore sconosciuto: esiste un valore del dominio, ma non è noto (non so il nome del prefetto di Torino) valore inesistente: non esiste un valore del dominio (nel paese di Gattolino (FC) non esiste il prefetto) valore senza informazione: non è noto se esista o meno un valore del dominio (non so se esiste il prefetto di Atripalda (AV) ) Quindi, può non essere possibile riempire le tabelle di valori. Soluzione: Si usa una tecnica brutale ma efficace, definire e usare un valore nullo: valore nullo: denota l assenza di un valore del dominio (e non è un valore del dominio) Formalmente, è sufficiente estendere il concetto di valore con il valore nullo NULL Si possono (e debbono) però imporre delle restrizioni sulla presenza di valori nulli paese abitanti provincia Prefetto Firenze 500003 FI Dandini Torino 800090 TO NULL Gattolino 17 FC NULL Atripalda 10000 AV NULL Cesena 92000 FC Casadei 3

Vincolo di Integrità Definizione proprietà che deve essere soddisfatta dai valori dei dati affinchè questi rappresentino informazioni corrette per l applicazione. Se la proprieta non è soddisfatta il DB si trova in uno stato inconsistente. Tipi di vincoli: vincoli intra-tabellari; casi particolari: vincoli su valori (o di dominio) Un campo di una tabella può assumere valori solo in un certo dominio, dipendente solo dal campo stesso. Es: campo VotoEsame deve essere compreso tra 18 e 30. vincoli di riga Un vincolo che coinvolge i valori di un insieme di campi di una stessa riga. Tali campi possono assumere valori solo in un certo dominio, dipendente dai valori dei campi di quell insieme. Es: in tabella Bilancio un vincolo sui campi Ricavo, Spese, Guadagno può essere: Guadagno = Ricavo - Spese. Caso particolare - Vincoli di Chiave Deve esistere un modo di identificare univocamente ciascuna riga in ciascuna tabella (vedi dopo). vincoli inter-tabellari o di integrità referenziale Nascono dal fatto che i riferimenti fra dati in tabelle diverse sono rappresentati per mezzo dei valori stessi. Permettono di mettere in relazione righe di tabelle diverse sulla base dei valori comuni di alcuni campi. La loro definizione necessita di un meccanismo per identificare ciascuna riga di una tabella. (vedi dopo) 4

Identificazione delle Righe - Chiavi Chiave (Key) Definizione: insieme minimale di attributi che identificano univocamente le righe di una tabella Importanza delle chiavi - l esistenza delle chiavi garantisce l accessibilità a ciascun dato della base di dati ogni singolo valore è univocamente accessibile tramite: nome della relazione valore della chiave nome dell attributo le chiavi sono lo strumento principale attraverso il quale vengono correlati i dati in relazioni diverse ( il modello relazionale è basato su valori ) Chiavi e Valori Nulli - In presenza di valori nulli nella chiave, i valori degli attributi che formano la chiave non permettono di identificare le ennuple come desiderato né permettono di realizzare facilmente i riferimenti da altre relazioni Conseguenza: La presenza di valori nulli nelle chiavi deve essere limitata Soluzione pratica: Chiave Primaria per ogni relazione scegliamo una chiave (la chiave primaria) su cui non ammettiamo valori nulli. Notazione per la chiave primaria: gli attributi che la compongono sono sottolineati 5

Vincoli di integrità referenziale ( foreign key ) consentono di correlare informazioni presenti in tabelle diverse. informazioni in relazioni diverse sono correlate attraverso valori comuni in particolare, valori delle chiavi (primarie, di solito) Definizione - un vincolo di integrità referenziale fra un insieme di attributi X di una tabella T1 e un altra tabella T2 impone ai valori su X di ciascuna riga dell istanza di T1 di comparire come valori della chiave (primaria) dell istanza di T2 Nel nostro DB di esempio esistono vincoli di integrità referenziale tra: L attributo matricola (X) della tabella sostenuti (T1) e la tabella studenti (T2), in quanto l attributo matricola (X) della tabella sostenuti (T1) deve comparire come valore della chiave primaria matricola della tabella studenti (T2). L attributo codice (X) della tabella sostenuti (T1) e la tabella esami (T2), in quanto l attributo codice (X) della tabella sostenuti (T1) deve comparire come valore della chiave primaria codice della tabella esami (T2). sostenuti codice matricola anno voto 1 11 2006 30 4 13 2007 28 2 13 2006 30 3 11 2007 18 1 13 2007 30 studenti matricola nome cognome citta anno 11 marco bini bologna 1985 13 laura sicuro rimini 1984 esami codice nome 1 Reti di Calcolatori 2 Sistemi Operativi 3 Programmazione 4 Analisi Matematica 6