modellizazione dei dati livello concettuale: rappresenta la realtà dei dati e le relazioni tra...
Post on 02-May-2015
215 Views
Preview:
TRANSCRIPT
MODELLIZAZIONE DEI DATI
Livello concettuale: rappresenta la realtà dei dati e le relazioni tra essi attraverso uno schema
Livello logico: rappresenta il modo attraverso il quale i dati sono organizzati negli archivi. E’ derivato dal livello concettuale applicando semplici regole.
Livello fisico: rappresenta l’ubicazione dei dati nelle memorie di massa
MODELLO CONCETTUALE
Il modello concettuale è una rappresentazione sintetica degli elementi fondamentali della realtà
Questa rappresentazione è indipendente da: I valori che verranno assegnati ai dati Le applicazioni che utilizzeranno i dati Le visioni parziali dei dati da parte degli
utenti
MODELLO LOGICO
L’insieme dei dati viene dotato di una struttura (tabella) che facilita: La manipolazione, cioè la possibilità di inserire,
modificare e cancellare i dati L’interrogazione, cioè la possibilità di ritrovare i
dati in modo semplice e veloce.
Queste strutture dati vengono implementate sulle memorie di massa, realizzando in pratica il modello fisico
IL MODELLO E/R
E’ un modello concettuale indipendente dalle applicazioni
Non si occupa dell’efficienza delle operazioni di manipolazione e ritrovamento dei dati
Risulta di facile comprensione
ELEMENTI DEL MODELLO E/R
E/R Access
Entità Tabelle
Associazioni Relazioni
Attributi Campi
ENTITA’
È un oggetto (concreto o astratto) della realtà osservataEs. studente, automobile
Graficamente sono identificate da un rettangolo con all’interno il nome dell’entità.
Studente Automobile
ASSOCIAZIONE
È un legame che stabilisce un’interazione tra le entità
Ogni associazione ha due versi che la descrive. Es.
AutomobilePersona Possiede
ATTRIBUTI
Sono le proprietà delle entità e delle associazioni
Es. Nell’entità persona: nome, cognome, età
CARATTERISTICHE DEGLI ATTRIBUTI
Formato:indica il tipo di valore che può assumere I tipi fondamentali sono: carattere, numerico,
data/ora
Dimensione: la quantità massima di caratteri o cifre inseribili
Opzionalità: possibilità di non essere valorizzato Facoltativo se può avere valore nullo Obbligatorio se non può avere valori nulli
Rappresentazioni grafiche
Rappresentazione tradizionale E/R
Persona AutomobilePossiede
nome cognomeDataAcquisto
produttore
Persona
NomeCognome
Automobile
ModelloProduttore
modello
DataAcquisto
Rappresentazione UML
Possiede
Posseduta da
CHIAVE PRIMARIA ( Primary key)
È l’insieme di uno o più attributi che consentono di distinguere in modo univoco una riga dall’altra Es. codice di un prodotto, matricola di un
dipendente
Persona
CodiceDescrizione
TIPI DI ASSOCIAZIONE
L’associazione può essere: 1:1 (“uno a uno”) 1:N (“uno a enne” o “uno a molti”) N:N (“enne a enne” o “molti a molti”)
ASSOCIAZIONE 1:1
Ad una elemento della tabella T1 si associa un solo elemento di T2, e viceversa
T1T2
ESEMPIO 1:1
Studente Diplomaconsegue(1,1) (1,1)
0: opzionale1: obbligatoria
Tipo di associazione1: unoN: molti
Uno studente consegue un solo diploma, il diploma è conseguito da un solo studente
ASSOCIAZIONE 1:N
Ad una elemento della tabella T1 si associano più elementi di T2, e ad un elemento di T2 è associato un solo elemeto di T1
E1 E2
ESEMPIO 1:N
Persona Automobilepossiede(0,n)(1,1)
Una persona può possedere più automobili, un’automobile è posseduta da una sola persona
ASSOCIAZIONE N:N
Ad una elemento della tabella T1 si associano più elementi di T2, e viceversa
T1 T2
ESEMPIO N:N
Studente Rivistaabbonare(0,n) (0,n)
Uno studente può abbonarsi a più riviste, ad una rivista possono abbonarsi più studenti
ESEMPIO RIEPILOGATIVO
Persona CittàRisiede(1,1)(0,n)
Lavora
Governa
(0,n) (0,n)
(1,1)
Lavora: associazione N:NRisiede: associazione 1:NGoverna: associazione 1:1
(0,1)
DERIVAZIONE DELLE TABELLE DAL MODELLO E/R
1. Ogni entità diventa una tabella2. Ogni attributo di entità diventa un campo3. L’identificatore univoco di un’entità (chiave
primaria dell’entità) diventa la chiave primaria della tabella.
4. Le associazioni saranno le relazioni definite in Access, secondo le regole che seguono
DERIVAZIONE DELL’ASSOCIAZIONE 1:1
La relazione che rappresenta l’entità per cui l’associazione è obbligatoria contiene come attributi gli attributi dell’associazione e la chiave primaria dell’altra entità. Quest’ultima diventa chiave esterna per la prima entità.
Dipartimento(Dip#,area,sede,Imp#,data_inizio)Impiegato(Imp#,cognome,stipendio)
Dipartimento
Dip#AreaSede
Impiegato
Imp#CognomeStipendio
(0,1) (1,1)
Dirige
Data_inizio
Struttura
Relazione Nome attributo
chiave formato dimensione
Dipartimento Dip#areasede
data_inizioImp#
Primaria
Esterna
numericonumericoCarattereData/oraNumerico
332583
Impiegato Imp#cognomestipendio
Primaria NumericoCaratterenumerico
33010
Esempio
Dip# Area Sede Data_inizio
Imp#
10 1100 Edilizia civile
13/6/00 7369
20 2200 Ricerche 11/9/99 7566
30 5100 Edilizia Stradale
8/10/01 7698
Imp# Cognome Stipendio
7369 Rossi 1600.00
7499 Andrei 800.00
7521 Bianchi 800.00
7566 Tosi 2975.00
7654 Martini 800.00
7698 Blacchi 2850.00
Dipartimento Impiegato
DERIVAZIONE DELL’ASSOCIAZIONE 1:1 (2)
Computer
Comp#ModelloMarca
Studente
Stud#Cognome
Classe
(0,1) (0,1)
Oppure Relazione riferita
Computer(Comp#,modello,marca)Studente(Stud#,cognome,classe,Comp#,data_inizio)
Computer(Comp#,modello,marca,Stud#,data_inizio)Studente(Stud#,cognome,classe)
Possiede
Data_inizio
DERIVAZIONE DELL’ASSOCIAZIONE 1:N
Per le associazioni uno a molti si inseriscono nella relazione relativa all’entità dal lato uno la chiave dell’entità dal lato N, chiave esterna, e gli attributi dell’associazione
Impiegato(Imp#,Cognome,stipendio,Dip#,data_assunzione)Dipartimento(Dip#,area,sede)
Dipartimento
Dip#AreaSede
Impiegato
Imp#CognomeStipendio
(1,1) (1,n)
Impiega
Data_assunz
Struttura
Relazione Nome attributo chiave formato dimensione
Dipartimento Dip#areasede
Primaria numericonumericoCarattere
3325
Impiegato Imp#CognomeStipendio
Data_assunzioneDip#
Primaria
Esterna
Numerico
CarattereNumeric
oData/oraNumeric
o
3301083
DERIVAZIONE DELL’ASSOCIAZIONE N:N
Per le associazioni molti a molti si inserisce una nuova tabella con attributi le chiavi di entrambe le entità che partecipano all’associazione (chiavi esterne) e gli attributi dell’associazione
Dischi(ID_d,Titolo,…)Autori(ID_a,nome,cognome,data_n,…)Dischi_Autori(ID_d, ID_a,data_pubblicaz)
Dischi
ID_d#Titolo
Autori
ID_a#NomeData_n
(0,n) (1,n)
Produrre
Data_pubbl
ESEMPIO
Definiamo due tabelle che contengono le informazioni riguardanti i dipendenti di un’azienda ed i dipartimenti in cui l’azienda è organizzata come segue: Impiegati(Imp#,Nome,Mansione,DataA,Stipendio,Dip#)
Chiave(Impiegati) = Imp# Chiave esterna(Impiegati) = Dip#
tabella riferita: Dipartimenti(Dip#,NomeDip)
chiave(Dipartimenti) = Dip#
IL CONCETTO DI CHIAVE ESTERNA
Le chiavi esterne permettono di collegare tra loro righe di tabelle diverse e costituiscono un meccanismo, detto per valore, per modellare le associazioni tra tabelle.
Impiegati
Imp# Nome Mansione DataA Stipendio Dip#
7369 Rossi Ingegnere 17/12/80 1600.00 20
7499 Andrei Tecnico 20/02/81 800.00 30
7521 Bianchi Tecnico 20/02/81 800.00 30
7566 Rosi Dirigente 02/04/81 2975.00 20
7654 Martini Segretaria 28/09/81 800.00 30
7698 Blacchi Dirigente 01/05/81 2850.00 30
7782 Neri Ingegnere 01/06/81 2450.00 10
7788 Scotti Segretaria 09/11/81 800.00 20
7839 Dare Ingegnere 17/11/81 2600.00 10
7844 Turni Tecnico 08/09/81 1500.00 30
7876 Adami Ingegnere 23/09/81 1100.00 20
7900 Gianni Ingegnere 03/12/81 1950.00 30
7902 Fordi Segretaria 03/12/81 1000.00 20
7934 Milli Ingegnere 23/01/82 1300.00 10
7977 Verdi Dirigente 10/12/82 3000.00 10
Dipartimenti
Dip# NomeDip
10 Edilizia Civile
20 Ricerche
30 Edilizia Stradale
Integrità referenziale
L’integrità referenziale è verificata se i valori della chiave esterna e della chiave primaria della tabella riferita corrispondono.
Le tabelle Impiegati e Dipartimenti verificano l’integrità referenziale
Integrità referenziale
Si consideri la seguente riga della tabella Impiegati [Imp#:7899, Nome:Smith, Mansione:Tecnico,
DataA:03/12/81, Stipendio:2000.00, Dip#:50]
Tale riga viola l’integrità referenziale in quanto non esiste un dipartimento (in Dipartimenti) che abbia numero 50
Integrità referenziale
E’ possibile specificare per quali tabelle e quali attributi è necessario mantenere l’integrità referenziale, e le azioni da eseguire in caso di violazione
Integrità referenziale in Access
Integrità referenziale in Access
Aggiorna campi correlati a catena: se il valore della chiave primaria viene modificato allora vengono modificati i valori delle chiavi esterne correlati. Es. se il dipartimento 10 diventa 100
allora il campo Dip# in Impiegati passa da 10 a 100
Integrità referenziale in Access
Elimina record correlati a catena: se una riga viene eliminata allora vengono eliminati i record correlati della tabella riferita. Es. se il dipartimento 10 viene eliminato
allora gli impiegati del dipartimento 10 vengono eliminati.
Esempio. Catalogazione di opere d’arteDiagramma E/R
Museo
Cod_mus#Denominaz
Opera
Num_cat#TitoloTipoAnno
Artista
Cod_art#CognomeNomePseudonimoNazionalità
Città
Cod_città#NazioneNome
(0,n)(1,1)
(0,n)
(1,1)
(0,n)
(1,1)
Ospitare
Anno
Esporre
DataEsp
Eseguire
AnnoEsec
Esempio. Catalogazione di opere d’arteTabelle
Museo(CodiceMuseo {PK}, Denominazione, Anno, CodiceCittà {FK})
Città(CodiceCittà {PK}, Nome, Nazione)Opera(NumeroCatalogo {PK}, Titolo,
Tipo, AnnoEsec, CodiceArtista {FK}, DataEsp, CodiceMuseo {FK})
Artista(CodiceArtista {PK}, Cognome, Nome, Nascita, Morte, Nazionalità)
top related