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

Documenti analoghi
MODELLO RELAZIONALE. Introduzione

Modulo 2 Data Base 2

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

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

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

Vincoli di integrità

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

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

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

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

Elena Baralis 2013 Politecnico di Torino 1

Progettazione di Basi di Dati

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

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

Basi di dati e Relazioni

Organizzazione degli archivi

Il Modello Relazionale

Accesso alla base di dati. Linguaggi per basi di dati. SQL immerso in linguaggio ad alto livello. SQL, un linguaggio interattivo

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

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

Il modello relazionale

BASI DI DATI - : I modelli di database

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

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

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

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

Prodotti costosi, complessi, che richiedono investimenti in hardware, software, personale.

BASE DI DATI: sicurezza. Informatica febbraio ASA

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

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

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

Informatica (Basi di Dati)

Database. Si ringrazia Marco Bertini per le slides

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

Alessandra Raffaetà. Basi di Dati

Progettazione di Database. Un Esempio

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

Corso di Informatica (Basi di Dati)

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

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

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

Il modello relazionale dei dati

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

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

Informatica (Basi di Dati)

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Il database management system Access

Segreteria da campo. Database Relazionali

LA NORMALIZZAZIONE. Introduzione

IL SISTEMA INFORMATIVO

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

Introduzione all Algebra Relazionale

Archivi e Basi di Dati

IL MODELLO RELAZIONALE

I database. Cosa sono e a cosa servono i Database

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Concetti di base di ingegneria del software

Le Basi di Dati. Le Basi di Dati

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

TEORIA sulle BASI DI DATI

Modello Relazionale/1

MODELLO E/R. Modellazione dei dati

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

PROGETTAZIONE CONCETTUALE

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

Data Base Relazionali

Il modello relazionale

DATABASE RELAZIONALI

Data Base. Prof. Filippo TROTTA

Il Modello Relazionale (1)

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

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

(anno accademico )

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Basi di Dati e Microsoft Access

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

Modello relazionale. ing. Alfredo Cozzi 1

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

Dalla progettazione concettuale alla modellazione di dominio

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

database: modello entityrelationship

Esercizio data base "Biblioteca"

GERARCHIA IS-A (è un) GENERALIZZAZIONI / SPECIALIZZAZIONI ESEMPIO 1

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

Elementi di Algebra Relazionale

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

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

Gli operatori relazionali

Esercizio sui data base "Gestione conti correnti"

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

Facoltà di Farmacia - Corso di Informatica

Basi di dati 9 febbraio 2010 Compito A

Basi di Dati corso C Esercitazione 18/12/2002 Autonoleggio tempo: 3 ore

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

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

Transcript:

Modello Relazionale Modello Relazionale 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 Attualmente è il modello più utilizzato Teorizzato per separare il più possibile il livello logico dal livello fisico della descrizione dei dati Basato su un rigoroso modello matematico, permette un elevato grado di astrazione Rappresentazione semplice ed intuitiva. Le relazioni ed i risultati delle operazioni su di esse sono facilmente rappresentabili ed interpretabili dagli utenti Relazione: tre accezioni relazione matematica: come nella teoria degli insiemi relazione secondo il modello relazionale dei dati relazione (dall inglese relationship) che rappresenta una classe di fatti, nel modello Entità- Relazione; traducibile anche con associazione o correlazione - Prodotto Cartesiano Dati due insiemi D 1 e D 2 si definisce Prodotto Cartesiano di D 1 e D 2, e si indica con D 1 X D 2, l insieme di tutte le possibili coppie ordinate (v 1,v 2 ) tali che v 1 sia un elemento di D 1 e v 2 sia un elemento di D 2. Es. Dati gli insiemi A = {cubo, cono} e B={rosso, verde, blu} il prodotto cartesiano A X B è {(cubo,rosso),(cono,rosso),(cubo,verde), (cono,verde),(cubo,blu),(cono,blu)} 1

Una relazione matematica su due insiemi D 1 e D 2 è un sottoinsieme di D 1 X D 2. 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)} Le definizioni viste per 2 insiemi possono essere generalizzate a n insiemi. Ogni riga della tabella sarà allora una n-pla ordinata di elementi n è detto grado del prodotto cartesiano e quindi della relazione. Il numero di elementi (istanze) della relazione è detto cardinalità della relazione. Un insieme può apparire più volte in una relazione. o, in forma tabellare, cubo cono cubo rosso rosso blu Es. La relazione Risultati Partite di Calcio è un sottoinsieme del prodotto cartesiano Stringa x Stringa x Intero x Intero Relazione: concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano fra n insiemi. Nel modello relazionale corrisponde ad una struttura dati tabellare. Proprietà: Ogni n-pla è internamente ordinata: l i-mo valore proviene dall i-mo dominio (struttura posizionale) Non esiste ordinamento intrinseco fra le n-ple, per la natura insiemistica della relazione Non sono ammesse n-ple uguali (ogni elemento di un insieme è unico) Conseguenze: Lo scambio fra righe di una tabella non modifica la relazione Lo scambio fra colonne di una tabella può portare alla sua inconsistenza con lo schema 2

Una relazione è un insieme di record omogenei, cioè definiti sugli stessi campi. Come ogni campo di un record è associato ad un nome, così si associa ad ogni colonna della relazione un attributo. Esempio di relazione con attributi: Casa Ospiti RetiCasa RetiOspiti Ogni attributo ha un suo dominio su cui è definito. Ogni riga è detta convenzionalmente tupla (n-pla). Quindi una tupla è un insieme di valori, uno per attributo, ordinati secondo lo schema della relazione e definiti ciascuno su un proprio dominio. Parma Inter 3 2 Palermo Lazio 2 0 Milan Juventus 1 1 Una relazione è una serie di tuple definite sul dominio della relazione (insieme ordinato dei domini dei singoli attributi). Notazione Se t è una tupla definita sullo schema X (insieme ordinato di domini) di una relazione e A è uno dei domini di X t[a] (o t.a) è il valore di t relativo al dominio A Es. [ relazione Partite(Casa, Ospiti, RetiCasa,RetiOspiti) ] Se t è la prima tupla della relazione t.casa = Parma Basi di dati e Studenti (Matricola,Cognome,Nome,DataNascita) Corsi (Codice,Titolo,Docente) Esami (Studente,Voto,Corso) Studenti contiene dati su un insieme di studenti Corsi contiene dati su un insieme di corsi Esami contiene dati su un insieme di esami e fa riferimento alle altre due attraverso i numeri di matricola e il nome del corso. Quindi Matricola e Studente, come Corso e Titolo, sono definiti sullo stesso dominio e possono (in questo caso devono) assumere gli stessi valori. 3

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 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 esami Studente Voto Corso 3456 30 04 3456 24 02 9283 28 01 6554 26 01 esami Studente Voto Corso 30 24 28 26 corsi Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi corsi Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi Basi di dati e Il modello relazionale è basato su valori. I riferimenti fra dati in relazioni diverse avvengono attraverso la corrispondenza dei valori con cui nelle tuple che sono logicamente collegate si instanziano domini corrispondenti. Gli altri modelli (gerarchico, reticolare) utilizzano puntatori per le corrispondenze e sono basati su record e puntatori. Basi di dati e Vantaggi dell approccio basato su valori Si inseriscono nella base di dati solo valori significativi per l applicazione (i puntatori sono dati aggiuntivi relativi alla sola implementazione fisica). 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 (fisica) dei dati 4

Basi di dati e 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 n } Es. Corsi (Codice, NomeCorso, Docente) Una relazione su uno schema R(X) è un insieme r di tuple su X Quindi, una tupla t è una istanza di una relazione r (elemento del corrispondente insieme) la cui struttura è definita dal corrispondente schema R Schema Relazione Istanza Corsi (Nome, Titolare) Nome Titolare Basi di Dati Cagnoni Reti di Poggi Calcolatori Ingegneria Del Bergenti Software Corsi (Basi di dati, Cagnoni) Basi di dati e Uno schema di base di dati è un insieme di schemi di relazione con nomi diversi R = {R 1 (X 1 ), R 2 (X 2 ),, R n (X n )} Una base di dati su uno schema R = {R 1 (X 1 ), R 2 (X 2 ),.., R n (X n )} è un insieme di relazioni r = {r 1, r 2,, r n } dove ogni r i è una relazione sullo schema R i (X i ) Informazione incompleta Le tuple che compongono la base di dati devono essere omogenee. Quindi, in ogni tupla, ad ogni attributo deve essere associato un valore. Non sempre questo è possibile. Es. Persone(Cognome, Nome, Indirizzo, Telefono) Potrebbe esistere una persona che non possiede telefono, o di cui non conosciamo l indirizzo. Oppure: Nome Franklin Winston Charles Josip SecondoNome Delano Cognome Roosevelt Churchill De Gaulle Stalin 5

Informazione incompleta non conviene (anche se è un espediente di uso comune) usare valori del dominio normalmente non utilizzati (0, stringa nulla, 99,...), come spesso accade nella programmazione: potrebbero non esistere valori non utilizzati valori non utilizzati potrebbero, a un certo punto, diventare significativi in fase di utilizzo (nei programmi) sarebbe necessario ogni volta tener conto del significato (non standardizzato) di questi valori Informazione incompleta Nel modello relazionale è definito un valore convenzionale, detto valore nullo, che indica la non disponibilità dell informazione. Il valore nullo può rappresentare correttamente 3 situazioni logicamente diverse in cui l informazione è: sconosciuta inesistente indeterminata (nei DBMS disponibili sul mercato si considera in genere questo caso) Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono assumere valori in un certo intervallo Alcuni attributi devono essere diversi in ogni tupla della stessa relazione Es. valori dell attributo Matricola nella relazione Studenti (Matricola,Cognome,Nome,DataNascita) Vincoli di Integrità Alcuni valori possono essere incompatibili con altri all interno della stessa relazione Es. data la relazione Esami(Matricola, Voto, Lode, CodCorso) 1. una stessa coppia Matricola,Corso può apparire una sola volta 2. Il valore Vero per l attributo Lode è corretto solo se Voto=30 6

Vincoli di Integrità Alcuni valori possono essere incompatibili con i valori di un altra relazione Es. date le relazioni Esami(Matricola, Voto, Lode, CodCorso) Corsi(CodCorso, Titolo, Docente) ogni valore di CodCorso in Esami deve essere un valore esistente di CodCorso in Corsi Vincoli di Integrità Sono condizioni, espresse come predicati logici, inserite nella base di dati per garantirne la consistenza. Ogni istanza della base di dati deve soddisfare i vincoli di integrità, cioè il predicato corrispondente al vincolo deve assumere valore vero in ogni istante. Una istanza che soddisfi tutti i vincoli è detta corretta (o lecita o ammissibile) 7