Il modello logico dei dati

Documenti analoghi
Il modello concettuale dei dati

Vincoli di integrità Normalizzazione

Il modello relazionale

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Le Basi di dati: progettazione concettuale

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

MODELLO E/R. Modellazione dei dati

Le basi di dati. Lez. 3: Il Modello Relazionale

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

RELAZIONI E BASI DI DATI

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO e SCHEMA FISICO Costruzione delle tabelle

Modello relazionale: Concetti Base. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

I database. Introduzione alla teoria delle basi di dati

Le basi di dati. Base di dati = dati + DBMS.

Modello Entità-Relazione

Traduzione ER - relazionale

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011. Basi di dati

CAPITOLO V. DATABASE: Il modello relazionale

I modelli logici dei dati

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli

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

PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE

Progettare Basi di Dati

Progettazione di Basi di Dati

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

B a s i d i D a t i ( M o d u l o T e o r i a ) P r o v a s c r i t t a

Ordo et connexio rerum idem est ac ordo et connexio idearum

Ciclo di vita di un sistema informativo

SISTEMI INFORMATIVI E DATABASE

Progettazione di basi di dati

PROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità

Informatica di Base - 6 c.f.u.

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

GESTIONE DEI REPARTI DI UN OSPEDALE

PROGETTAZIONE DI DATABASE

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

BASI DI DATI - : I modelli di database

Il modello concettuale dei dati

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Corso di Laurea in Informatica Basi di Dati a.a

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, IL MODELLO RELAZIONALE

Il modello Entity-Relationship: elementi avanzati

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio

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

Basi di dati I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti.

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

GESTIONE ASSICURAZIONI AUTO

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per un concessionario di automobili.

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

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

Il modello Entità/Relazioni (ER)

PROGETTAZIONE CONCETTUALE

Modulo 2 Data Base - Modello Relazionale

Raccolta e analisi dei requisiti

Transcript:

Il modello logico dei dati A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas

Come organizzare i dati Realtà Modello Concettuale Modello Logico Modello relazionale Livello Fisico Database 2

Relazioni e tabelle 3

Le relazioni Il successo del modello relazionale si fonda sulla visione tabellare dei dati basata sul concetto matematico di relazione A = {4, 9, 16}, B = {2, 3} A B = { (4,2), (9,2), (16,2), (4,3), (9,3), (16,3) } Q = { (4,2), (9,3) } A B A x B (4,3) Q è una relazione sui domini A e B (9,2) (4,2) Q QuadratoDi(4,2) (16,2) (9,3) 4 QuadratoDi 2 (16,3) 4

Relazioni e tabelle I due insiemi A1 A2 e QuadratoDi possono essere rappresentati con tabelle A1 A2 A1 A2 4 2 4 3 9 2 9 3 16 2 16 3 QuadratoDi A1 A2 4 2 9 3 Dati n insiemi S 1, S 2, S 3,..., S n si dice relazione R su questi insiemi l'insieme delle tuple (n-uple): s 1, s 2, s 3,..., s n Gli insiemi S i si chiamano domini della relazione detta di grado n Cardinalità della relazione è il numero di tuple (righe) che la compongono 5

Caratteristiche delle relazioni Automobili: relazione di grado 5 e cardinalità 8 Attributi (Colonne) Dominio di Porte: { 3, 4, 5 } Modello Costruttore Segmento Porte Posti Serie 3 BMW D 4 5 Panda Fiat B 5 5 Giulietta Alfa Romeo C 5 5 Bravo Fiat C 5 5 Punto Fiat B 3 5 C1 Citroen B 3 4 C3 Citroen C 5 5 Delta Lancia C 5 5 Cardinalità Grado Tupla (Riga) 6

Relazioni: terminologia (1) Chiave di una relazione è un attributo o un insieme minimale di attributi che identificano univocamente le n-uple della relazione, cioè ogni riga della tabella possiede valori diversi per l attributo (o gli attributi) chiave Schema di una relazione, per esempio di Automobili, è una scrittura del tipo: Automobili ( Modello, Costruttore, Segmento, Porte, Posti ) Terminologia Modello usata: Costruttore, Segmento, Porte, Posti Panda Fiat, C, 5, 5 Tabella Colonna Riga Terminologia molto diffusa Relazione Attributo Tupla File Campo Record 7

Relazioni: terminologia (2) Un esempio di schema relazionale di database: Studenti ( Matricola, Nominativo, Indirizzo, CodFac ) Facoltà ( Codice, Descrizione ) Chiave esterna Studenti Matricola Nominativo Indirizzo CodFac 2340 Nino Verdi Milano ing 2370 Lino Bianchi Torino ing 21323 Marzia Rossi Venezia eco 34510 Franco Dini Palermo eco 45678 Silvia Gualeni Salerno lin 53325 Franco Bassetti Foggia eco Facoltà Codice eco ing lin med Descrizione Economia Ingegneria Lingue Medicina 8

Il modello relazionale Caratteristiche di base del modello relazionale sono le seguenti: Tutte le righe hanno lo stesso numero di attributi e contengono informazioni di una (sola) entità I valori delle colonne rappresentano informazioni elementari (non ci sono informazioni di gruppo) Tutti i valori in una colonna sono del medesimo tipo Non ci possono essere righe duplicate: ci deve essere un attributo o insieme di attributi con la funzione di chiave primaria L ordine delle colonne non è rilevante (perché le colonne hanno un intestazione) L ordine delle righe non è rilevante 9

Dal modello E/R al modello relazionale 10

Dal modello E/R al modello relazionale (1) Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati usando le seguenti regole di derivazione: 1. Ogni entità diventa una relazione; ogni attributo di un entità diventa un attributo della relazione ereditando le caratteristiche dell attributo dell entità da cui deriva 2. L identificatore univoco di un entità diventa la chiave primaria della relazione derivata 3. Per rappresentare le associazioni: a) Associazione 1:1. Si costruisce un unica relazione che contiene gli attributi della prima e della seconda entità (regola con molte eccezioni). E spesso preferibile trattare l associazione 1:1 come se fosse 1:N Se nel modello E/R ci sono due entità perché riunire i fatti dell una con quelli dell altra? 11

Dal modello E/R al modello relazionale (2) b) Associazione 1:N. Si rappresenta aggiungendo, agli attributi dell entità che svolge il ruolo a molti, l identificatore univoco dell entità che svolge il ruolo a uno nell associazione (chiave esterna). Gli eventuali attributi dell associazione vengono inseriti nella relazione che rappresenta l entità a molti, assieme alla chiave esterna c) L associazione N:N. Si rappresenta costruendo una nuova tabella (in aggiunta alle relazioni derivate dalle entità) composta dagli identificatori univoci delle due entità e dagli eventuali attributi dell associazione. La chiave della nuova relazione è formata dall insieme di attributi che compongo le chiavi delle due entità, oltre agli attributi dell associazione necessari a garantire l unicità delle righe nella tabella ottenuta 12

Modello con associazione 1:1 Dipendenti e auto aziendali: pochi dipendenti hanno l auto aziendale Dipendente Matricola Nome Cognome DataNascita LuogoNascita 1 1 Essere Assegnata AutoAziendale Targa Modello Costruttore Cilindrata Dipendenti ( Matricola, Nome, Cognome, DataNascita, LuogoNascita, Targa, Modello, Costruttore, Cilindrata ) Molte righe con questi campi nulli Dipendenti ( Matricola, Nome, Cognome, DataNascita, LuogoNascita ) AutoAziendali ( Targa, Modello, Costruttore, Cilindrata, Matricola ) Meglio così 13

Modello con associazione 1:N (1) Dipendenti e relativi contratti di lavoro Contratto Codice Descrizione StipendioBase DataScadenza 1 N Applicare Dipendente Matricola Cognome Nome Indirizzo Qualifica Contratti Contratti ( Codice, Codice, Descrizione, Descrizione, StipendioBase, StipendioBase, DataScadenza DataScadenza ) Dipendenti Dipendenti ( Matricola, Matricola, Cognome, Cognome, Nome, Nome, Indirizzo, Indirizzo, Qualifica, Qualifica CodiceContratto ) ) 14

Modello con associazione 1:N (2) Acquisto di automobili da parte di persone Persona 1 Acquistare N Automobile CodiceFiscale Cognome Nome DataNascita Indirizzo DataAcquisto PrezzoAcquisto Targa Modello Produttore Cilindrata PrezzoListino Persone ( CodiceFiscale, Cognome, Nome, DataNascita, Indirizzo ) Automobili ( Targa, Modello, Produttore, Cilindrata, PrezzoListino, CodiceFiscale, DataAcquisto, PrezzoAcquisto) 15

Modello con associazione N:N (1) Studenti e Materie d esame Studente N Valutare N Materia Matricola Cognome Nome Indirizzo Telefono Data Voto CodiceMateria NomeMateria NumeroOre Studenti ( Matricola, Nome, Cognome, Indirizzo, Telefono ) Materie ( CodiceMateria, NomeMateria, NumeroOre ) Esami ( Matricola, CodiceMateria, Data, Voto ) 16

Modello con associazione N:N (2) Studenti e Materie d esame approccio con 3 entità Studente 1 N N 1 Esame Materia Matricola Cognome Nome Indirizzo Telefono Numero Data Voto CodiceMateria NomeMateria NumeroOre Studenti ( Matricola, Nome, Cognome, Indirizzo, Telefono ) Materie ( CodiceMateria, NomeMateria, NumeroOre ) Esami ( Numero, Data, Voto, Matricola, CodiceMateria ) 17