Il modello relazionale. A. Ferrari

Documenti analoghi
A. Ferrari modello relazionale

A. Ferrari modello relazionale

Progettazione Logica. Alice Pavarani

Unità 3. Modello Relazionale

La progettazione concettuale

Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970.

Fondamenti di Teoria delle Basi di Dati

Corso di Informatica

Introduzione. Il Modello Relazionale. Relazioni e Tabelle. Relazioni Matematiche - 1. Relazioni Matematiche - 2. Relazioni Matematiche - 3

Gestione informatica dei dati. Progettare una base di dati Il modello Entità Relazione

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

Le relazioni hanno una naturale rappresentazione per mezzo di. D. Gubiani Il Modello Relazionale 3

Progettazione concettuale usando il modello Entità-Relazione (ER)

Le Basi di dati: progettazione concettuale

Progettazione logica D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/2013

I modelli logici dei dati

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

Basi di dati e Relazioni

IL MODELLO RELAZIONALE. Patrizio Dazzi a.a

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale

MODULO Il sistema azienda. Sistema Informativo e Informatico Requisiti dei dati

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale

Modello Relazionale. Architettura a tre livelli di un DBMS

Progettazione concettuale A. Ferrari

Il modello Relazionale.

Progettazione di una base di dati. Il Modello Entity-Relationship (E-R) Requisiti della base di dati

IL MODELLO CONCETTUALE ENITÀ-RELAZIONE (ER) (CAPITOLO 5 DELLA VERSIONE ITALIANA)

Il Modello Concettuale Enità-Relazione (ER)

Progettazione concettuale di una base di dati

Corso di Laurea in Informatica Basi di Dati a.a

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

Il modello Entità/Relazioni (ER)

Sommario. Introduzione... 13

Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione. Concetti Definizioni Esempi

record a struttura fissa

BASE DI DATI. (accezione specifica) collezione di dati gestita da un DBMS. Università degli Studi di Cassino

PIL Percorsi di Inserimento Lavorativo

Modello Relazionale/1

Modello relazionale e algebra relazionale

I database. Introduzione alla teoria delle basi di dati

Basi di dati e Relazioni

Progettazione di basi di dati

Programmazione con Java

Progettazione di basi di dati. Progettazione di basi di dati

Il Modello Concettuale Enità-Relazione (ER)

Monday, January 10, Introduzione

Ciclo di vita di un sistema informativo

Basi di dati (Sistemi Informativi)

Modello relazionale e algebra relazionale

Principi di Progettazione del Software a.a

DATABASE - MODELLO E-R ENTITÀ E RELAZIONI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica

PROGETTAZIONE DI BASE DI DATI. Metodologie e modelli

Elena baralis 2007 Politecnico di Torino 1

D B M G. Sistemi informativi. Modello relazionale e algebra relazionale. Modello relazionale. Algebra relazionale

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

Modello Relazionale. Università degli Studi di Salerno

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione

DataBase Management System - DBMS

Perché preoccuparci?

Modello Relazionale. Chiavi

2.2a: MODELLO RELAZIONALE. (1 Struttura)

Corso di Laurea in Ingegneria Informatica Fondamenti di informatica II Modulo Basi di dati a.a

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Informatica per Statistica Riassunto della lezione del 28/11/2012

Esercitazione 3. Vincoli di integrità. Approccio Procedurale

Giselda De Vita Database

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

Corso di Basi di Dati

Progettazione di Basi di Dati

Modello Relazionale. Schemi. Schemi. Schemi. In ogni base di dati si possono distinguere: Es. (relazioni INSEGNAMENTO e MANIFESTO)

Lezione 5. Il Modello dei Dati Relazionale Vincoli sui Database Relazionali

CAPITOLO V. DATABASE: Il modello relazionale

Analisi di una ridondanze. Numero abitanti. (1,1) (0,N) Residenza

Il modello Entità-Relazioni (entity-relationship)

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

BASE DI DATI. collezione di dati, utilizzati per rappresentare le. (accezione specifica) collezione di dati gestita da un DBMS. (accezione generica)

Scopo. Informatica. Sistema informativo. Sistema informatico

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno

Il Modello Relazionale e le operazioni

A. Ferrari progettazione concettuale

La Progettazione Logica

Ma: progettazione dei dati. progettazione delle applicazioni. Progettazione di basi di dati

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

La progettazione logica

Progettazione Concettuale/1

Introduzione alle basi di dati e ai DBMS

Obiettivi della progettazione logica. Fasi della progettazione logica. Ristrutturazione dello schema ER. Parte VI. Progettazione logica

Progettazione Logica. ISProgLog 1

Informatica per Statistica Riassunto della lezione del 06/12/2013

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

Esempio di progettazione di un database con elencazione delle fasi progettuali

Fondamenti di Informatica e Programmazione

Il Modello Relazionale

PROGETTAZIONE CONCETTUALE

Il modello concettuale dei dati

Progettazione logica relazionale. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G3 D B M G6 D B M G5

INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione

Transcript:

Il modello relazionale A. Ferrari

Progettazione logica relazionale La progettazione logica relazionale consiste nella conversione di un diagramma E/R in un insieme di relazioni (o tabelle), che costituisce lo schema logico relazionale della base dati Esistono altri modelli logici (modello gerarchico, modello reticolare) anche se oggi il modello relazionale è sicuramente il più diffuso

Storia Introdotto nel 1970 dal matematico inglese Edgar Frank Codd Negli anni 60 e 70 lavora in IMB ed elabora le sue teorie sulla gestione dei dati, pubblica A Relational Model of Data for Large Shared Data Banks (un modello relazionale per i dati in grandi basi dati condivise) Le prime implementazioni del modello si hanno solo alla fine degli anni '70 (ritardo dovuto alla difficile implementazione del modello matematico) Dagli anni '80 ampia diffusione di DBMS relazionali anche per sistemi di piccole dimensioni

Teoria La teoria si basa sul concetto di relazione tra insiemi Una relazione R su una sequenza di insiemi D 1, D 2, D 3 D N (non necessariamente distinti) è un sottoinsieme finito del prodotto cartesiano D 1 x D 2 x D 3 x D N che è possibile esprimere con: R D 1 x D 2 x D 3 x D N N (N 1) è detto grado della relazione Gli insiemi D sono detti domini della relazione e ciascuno di essi può essere un insieme composto da dati di tipo elementare (carattere, booleano, numerico ) A ogni dominio è associato un attributo, che lo identifica univocamente all interno della relazione

Significato intensionale Il nome della relazione e la lista dei suoi attributi rappresenta il significato intensionale e costituisce lo schema della relazione <NomeRelazione> (<Attributo1>:<Tipo1>, <Attributo2>:<Tipo2>, <Attributo3>:<Tipo3> <AttributoN>:<TipoN>) Computer (CodiceProgressivo: Intero, Marca: Stringa(40), Modello: Stringa(40), NumeroDiSerie: Stringa(20)) Gli elementi dell insieme R sono detti ennuple (o tuple)

Rappresentazione come elenco Relazione di grado 4 Cardinalità 3 (numero di tuple) Attributi: CodiceProgressivo, Marca, Modello Valori attributi (estensione)

Rappresentazione come tabella

Rappresentazione come insieme

Un esempio di relazione Grado della relazione = 3 (Libretto, Nome, Data_Nascita) Cardinalità della relazione = 1200 (numero di tuple = numero di studenti) Libretto è campo chiave

Regole di derivazione Passaggio da uno schema concettuale (Diagramma E/R) a uno schema relazionale (insieme di relazioni) equivalente DiagrammaE/R Schema relazionale

Le entità Ogni entità viene rappresentata da una relazione L attributo chiave primaria dell entità diventa attributo chiave primaria della relazione e viene rappresentato con carattere sottolineato Gli attributi composti vengono svolti nella relazione, dove saranno presenti gli attributi costitutivi dell attributo composto Gli attributi multipli richiedono la normalizzazione (discussa più avanti)

Associazioni 1:1 Le associazioni 1:1 vengono trasformate in un unica relazione

Rappresentazione alternativa di associazioni 1:1 Si opera come nel caso di associazioni 1:n

Associazioni 1:N Le associazioni binarie 1:N tra le entità A e B sono tradotte in due relazioni: relazione Ra che ha gli attributi di A relazione Rb che ha gli attributi di B e gli attributi chiave Ka di A (chiave esterna)

Esempio 1:N Codice Denominazione Libretto Specializzazione Nome Classe 1 N Composta da Studente Chiave esterna

Associazioni N:N Per tradurre nel modello relazionale una associazione N:N tra due entità è necessario introdurre tre relazioni Per la relazione N:N tra le entità A e B si rappresenta con: una relazione R A che ha gli attributi di A una relazione R B che ha gli attributi di B una relazione R S con gli attributi chiave K A di R A e gli attributi chiave K B di R B

Esempio associazione N:N Codice Nome 001 Rossi 002 Verdi 003 Bianchi Kdoc KStud Materia 001 AA100 Informatica 001 BB100 Informatica Libretto AA100 AA101 BB100 Nome Aldo Giovanni Giacomo 003 AA100 Storia 002 AA100 Inglese

Associazione unaria Libretto Nome KstudA KstudB AA100 Aldo AA100 AA101 AA101 Giovanni BB100 BB101 BB100 Giacomo BB101 Jack

Associazione ternaria Codice Nome Libretto Materia Nome Docente N Insegna M Studente Codice K Descrizione Libretto Nome Codice Nome Materia Aula AA100 Aldo 001 Rossi Informatica AA101 Giovanni 002 Verdi Storia BB100 Giacomo 003 Bianchi Inglese Kdoc Kstud Kaula 001 AA100 A01 001 BB100 LInf 003 AA100 A02 002 AA100 A02 Codice A01 A02 LInf Descrizione A1 nuovo A2 nuovo L. Informatica

Gli attributi delle associazioni Gli attributi delle associazioni 1:1 vanno inseriti in una qualunque delle relazioni risultanti (o nell unica relazione ottenuta) Gli attributi delle associazioni 1:N vanno inseriti nell associazione che conterrà la chiave esterna Gli attributi delle associazioni N:N vanno inseriti nella relazione che rappresenta l associazione

Associazioni di generalizzazione (ISA) Si consideri l entità padre P e le entità figlie F1, F2, F3 FN Per modellare queste relazioni è possibile utilizzare tre approcci diversi: accorpamento delle figlie nel padre inclusione del padre nelle figlie sostituzione della generalizzazione con associazioni 1:1 Nel primo caso le figlie vengono eliminate dal modello e i loro attributi e associazioni vengono riportati nell entità padre. A questo viene aggiunto anche un attributo per indicare il tipo di tupla che contiene, in modo da capire quale figlia riguarda

ISA (esempio)

ISA (accorpamento) Si ottiene un unica relazione: Computer (Marca, Modello, NumeroDiSerie, Tipo, VersioneWindows, VersioneMacOSX) Si noti l aggiunta dell attributo Tipo, che consente di distinguere se la tupla contiene una istanze dell entità PC, oppure dell entità Macintosh In Computer sono stati aggiunti gli attributi presenti nelle entità figlie

ISA (inclusione del padre nelle figlie) L inclusione del padre nelle figlie prevede l eliminazione del padre P e il relativo riposizionamento degli attributi e associazioni nelle entità figlie. Questo tipo di traduzione è attuabile solo nel caso di generalizzazioni totali. PC (Marca, Modello, NumeroDiSerie, VersioneWindows) Macintosh (Marca, Modello, NumeroDiSerie, VersioneMacOSX)

ISA (diventa associazione 1:1) Comporta l uso di relazioni di tipo 1:1, una per ciascuna entità figlia Con questa modalità non ci sono accorpamenti di entità. Le figlie vengono identificate utilizzando la chiave dell entità padre come chiave primaria ed esterna delle figlie

Associazioni di aggregazione (HASA) L associazione per aggregazione si traduce nel modello relazionale utilizzando una relazione per ciascuna entità componente e una per l entità aggregata

HASA (esempio) Computer(Marca, Modello, NumeroDiSerie) Processore(CodiceProcessore,Velocità,NumeroSerieComputer) Memoria(CodiceMemoria, Dimensione, NumeroSerieComputer) DiscoFisso(CodiceDisco, Dimensione, NumeroSerieComputer)

Esempio (tennis)