MODELLO RELAZIONALE. Introduzione



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

Modulo 2 Data Base 2

Vincoli di integrità

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

Progettazione di Basi di Dati

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

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

BASE DI DATI: sicurezza. Informatica febbraio ASA

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

Elena Baralis 2013 Politecnico di Torino 1

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

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

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

Il modello relazionale

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

Organizzazione degli archivi

BASI DI DATI - : I modelli di database

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

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

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

Il Modello Relazionale

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

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

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

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

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

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

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

MODELLO E/R. Modellazione dei dati

Il Modello Relazionale

Data Base Relazionali

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

Informatica (Basi di Dati)

Cardinalità. Informatica. Cardinalità. Cardinalità. Cardinalità. Cardinalità. Cardinalità delle associazioni:

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

I database relazionali (Access)

Il database management system Access

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Progettazione di Database. Un Esempio

Il Modello Relazionale

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

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

database: modello entityrelationship

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

Le Basi di Dati. Le Basi di Dati

Alessandra Raffaetà. Basi di Dati

Progettaz. e sviluppo Data Base

Gestione Voti Scolastici

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

I database. Cosa sono e a cosa servono i Database

Il modello relazionale

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

Il modello relazionale dei dati

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

Database. Si ringrazia Marco Bertini per le slides

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

IL MODELLO RELAZIONALE

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

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

Informatica per le discipline umanistiche 2 lezione 10

Progettazione di un Database

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

Corso di Informatica (Basi di Dati)

(anno accademico )

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

TEORIA sulle BASI DI DATI

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

DATABASE RELAZIONALI

Rappresentazione grafica di entità e attributi

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

Sistemi Informativi e Basi di Dati

I Sistemi Informativi

PROGETTAZIONE CONCETTUALE

DATABASE. A cura di Massimiliano Buschi

Basi di dati 9 febbraio 2010 Compito A

GESTIONE della BASE di DATI

DBMS (Data Base Management System)

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

Facoltà di Farmacia - Corso di Informatica

Definizione di domini

LA NORMALIZZAZIONE. Introduzione

Informatica (Basi di Dati)

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

Archivi e Basi di Dati

IL SISTEMA INFORMATIVO

Basi di dati. Gabriella Trucco

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

Lezione 4. Modello EER

Il modello Entity-Relationship: elementi di base

Data Base. Prof. Filippo TROTTA

Basi di Dati e Microsoft Access

Introduzione alla teoria dei database relazionali. Come progettare un database

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

Modello relazionale. ing. Alfredo Cozzi 1

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Basi di Dati e Sistemi Informativi. Algebra Relazionale

DIP. FUNZIONALI E FORME NORMALI esempi cfr. Albano Ghelli Orsini Basi di dati relazionali e a oggetti Zanichelli, 1997, cap.6 RIDONDANZE E ANOMALIE

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

Basi di dati e Relazioni

Transcript:

MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni) con una rappresentazione dei dati di tipo tabellare. E stato teorizzato per separare il più possibile il livello logico dal livello fisico della descrizione dei dati, basato su un rigoroso modello matematico e permette un elevato grado di astrazione. Un database relazionale e' un database costruito basandosi sul modello relazionale, proposto da E.F. Codd, in cui le entità di interesse vengono rappresentate mediante una struttura dati chiamata "relazione". I sistemi di gestione di dati relazionali vengono chiamati Relational DataBase Management System (RDBMS). La rappresentazione del modello è semplice ed intuitiva. Le relazioni ed i risultati delle operazioni su di esse sono facilmente rappresentabili ed interpretabili dagli utenti.

Prodotto Cartesiano def.: Prodotto Cartesiano Dati due insiemi D1 e D2 si definisce Prodotto Cartesiano di D1 e D2, e si indica con D1 x D2, l insieme delle coppie ordinate (v1, v2) tali che v1 sia un elemento di D1 e v2 sia un elemento di D2. Es. Dati gli insiemi FORME = {cubo, cono} e COLORI ={rosso, verde, blu} il loro prodotto cartesiano è {(cubo,rosso),(cono,rosso),(cubo,verde), (cono,verde),(cubo,blu),(cono,blu) Una relazione matematica su due insiemi D1 e D2 è un sottoinsieme di D1 x D2. NOTA: a livello formale gli insiemi possono essere infiniti, a livello pratico non possiamo però considerare relazioni infinite. Es. dati gli insiemi visti, una possibile relazione è {(cubo,rosso),(cono,rosso),(cubo,blu)}o, in forma tabellare, FORME COLORI cubo rosso cono rosso cono blu Le definizioni viste per due insiemi possono essere generalizzate a n insiemi.

Attributo, tupla, relazione def.: un attributo è l'identificatore di un dominio su cui è definito. def.: una tupla è un insieme di valori, uno per attributo, ordinati secondo lo schema della relazione e definiti ciascuno su un proprio dominio;ogni riga della tabella è una tupla ordinata di elementi def.: una relazione è una serie di tuple definite sul dominio della relazione (insieme ordinato dei domini dei singoli attributi). def.: n è detto grado del prodotto cartesiano e quindi della relazione. def.: Il numero di elementi della relazione è detto cardinalità della relazione. Osservazioni Non esiste ordinamento fra le tuple Non possono esistere 2 tuple uguali Ogni tupla è internamente ordinata quindi se si scambiano due righe, la relazione non cambia Se si scambiano 2 colonne può cambiare o perdere consistenza Un insieme può apparire più volte in una relazione. Esempio: La relazione Risultati Schedina è un sottoinsieme del prodotto cartesiano SQUADRA x SQUADRA x RISULTATO N.B. Per spiegare il significato del termine "relazione" occorre inquadrarlo nel giusto contesto. Infatti, nell'ambito dei database esso viene utilizzato almeno in due accezioni. Se si sta parlando del modello relazionale, una relazione e' la struttura principale del modello e corrisponde alla definizione sopra esposta. In altri contesti (ad esempio considerando diagrammi Entity-Relationship), una relazione e' un legame fra due entità. Utilizzando la lingua inglese questa ambiguità di solito non sussiste, infatti per il primo significato viene usato il termine "relation", mentre per il secondo viene usato "relationship".

Modello sui valori Il modello relazionale è basato su valori, i riferimenti fra dati in relazioni diverse avvengono attraverso i valori dei domini corrispondenti che appaiono nelle tuple. Gli altri modelli (gerarchico, reticolare) utilizzano puntatori per le corrispondenze e sono detti basati su record e puntatori. I vantaggi dell approccio per valori sono: Si inseriscono nella base di dati solo valori significativi per l applicazione (i puntatori sono dati aggiuntivi relativi alla sola implementazione); Il trasferimento dei dati da un ambiente ad un altro è più semplice (i puntatori hanno validità solo locale); La rappresentazione logica dei dati non fa riferimento a quella fisica e quindi si ottiene l indipendenza dei dati

Schemi Se t è una tupla definita sul dominio X della relazione e A è uno dei domini di X t[a] (o t.a) è il valore di t relativo al dominio A Esempio: (relazione COLOREFORMA ) se t è la prima tupla della relazione t.forme = cubo Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A1, A2,, An} Esempio: Corsi (Codice, NomeCorso, Docente) Uno schema di base di dati è un insieme di schemi di relazione con nomi diversi R = {R1(X1), R2(X2),, Rn(Xn)} Una relazione su uno schema R(X) è un insieme r di tuple su X. Una base di dati su uno schema R = {R1(X1), R2(X2),, Rn(Xn)} è un insieme di relazioni r = {r1, r2,, rn} dove ogni r è una relazione sullo schema Ri(Xi).

Vincoli d integrità Sono condizioni, sotto forma di predicati logici, che sono inserite nella base di dati per garantirne la consistenza. Ogni istanza della base di dati deve soddisfare i vincoli di integrità. Una istanza che soddisfi tutti i vincoli è detta corretta (o lecita o ammissibile) I vincoli di integrità possono essere di vario tipo: Intrarelazionale se coinvolge attributi della stessa relazione Vincoli di tupla possono essere valutati su ciascuna tupla indipendentemente dalle altre Vincoli di dominio sono definiti su singoli valori Interrelazionale se coinvolge più relazioni Le tuple che compongono la base di dati devono essere omogenee. Quindi ad ogni attributo deve essere associato un valore in ogni tupla. Non sempre questo è possibile. Esempio: Persone(Cognome, Nome, Indirizzo, Telefono). Potrebbe esserci una persona che non ha telefono, o di cui non conosciamo l indirizzo. In questo caso è definito un valore convenzionale, detto valore nullo, che indica la non disponibilità dell informazione. Il valore nullo può rappresentare 3 tipi di informazione: sconosciuta inesistente indeterminata (nei DBMS disponibili si considera in genere questo caso) Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono assumere valori in un certo range Alcuni attributi devono essere diversi in ogni tupla della stessa relazione Esempio: valori dell attributo Matricola in una relazione del tipo Studenti (Matricola, Cognome, Nome, DataNascita) Alcuni valori possono essere incompatibili con altri all interno della stessa relazione Esempio: data la relazione Esami (Matricola, Voto, Lode, CodCorso) una stessa coppia Matricola,Corso può apparire una sola volta. Il valore Vero per l attributo Lode è corretto solo se Voto=30 Alcuni valori possono essere incompatibili con i valori di un altra relazione Esempio: Data la relazione Esami e la relazione Corsi (CodCorso, Titolo, Docente) ogni valore di CodCorso in Esami deve essere un valore esistente di CodCorso in Corsi I vincoli di integrità possono essere definiti attraverso operatori booleani

Esempio: (Voto >= 18) AND (Voto <= 30) (NOT (lode=vero)) OR (Voto=30) oppure, data la relazione Pagamenti(Data, Importo, Ritenute, Netto) -> Netto = Importo Ritenute

Chiavi Una chiave è un insieme minimale di attributi utilizzato per identificare univocamente le tuple di una relazione. Formalmente: Un insieme di attributi K è superchiave per una relazione r se r non contiene due tuple t1 e t2 tali che t1[k] = t2[k] Un insieme di attributi K è chiave per r se è superchiave minimale, cioè se non esiste un altra superchiave K che sia sottoinsieme di K Una chiave è tale se soddisfa la definizione per tutte le possibili tuple appartenenti alla relazione, e non solo per quelle che effettivamente appaiono come istanze della relazione stessa. Quindi la chiave è legata allo schema della relazione. Ogni relazione, per definizione, possiede una chiave. Infatti l insieme X su cui è definita è sicuramente superchiave. La presenza di valori nulli in una chiave può creare può vanificare la proprietà di unicità delle tuple identificate da una certa chiave. Si impone quindi che almeno una chiave non contenga valori nulli. Tale chiave è detta chiave primaria. Di solito la chiave primaria è sottolineata nello schema di una relazione. Esempio: Studenti (Matricola, Cognome, Nome, Nascita, Corso)