Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Mapping, Integrità referenziale e Normalizzazione, Appunti di Informatica

Appunti di quinta liceo scientifico opzione scienze applicate: Mapping delle entità e degli attributi, mapping delle associazioni binarie 1:N, mapping delle associazioni 1:1, mapping delle associazioni N:N; i vincoli di integrità; l'integrità referenziale; la normalizzazione; 1 formula normale (1FN); 2 forma normale (2FN); 3 forma normale (3FN)

Tipologia: Appunti

2021/2022

In vendita dal 19/01/2023

giulia-contu-10
giulia-contu-10 🇨🇭

5

(4)

109 documenti

1 / 10

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Mapping delle entità e degli attributi
Ogni entità diventa una relazione, rappresentabile da una tabella;
Ogni attributo dell'entità diventa un attributo della relazione, rappresentato con una
colonna della tabella;
L'attributo chiave dell'entità diventa attributo chiave della relazione e viene indicato
sottolineandolo.
IMPIEGATO(CodImpiegato, Cognome, Nome)
Gli attributi composti devono essere sostituiti con gli attributi componenti;
IMPIEGATO(CodImpiegato, Cognome, Nome,
Residenza, NumCivico, CAP, città)
Gli attributi opzionali devono essere indicati con un
asterisco.
IMPIEGATO(CodImpiegato, Cognome, Nome, E-mail*)
MAPPING DELLE ASSOCIAZIONI BINARIE 1:N
Un'associazione R di tipo 1:N tra due entità è "mappata" aggiungendo alla prima
relazione gli attributi chiave primaria della seconda relazione.
Si aggiungono quindi gli attributi chiave della relazione che partecipa con
cardinalità massima N alla relazione che partecipa con cardinalità massima 1.
Gli attributi chiave primaria della prima relazione nella seconda relazione
costituiscono una cosiddetta CHIAVE ESTERNA per la prima relazione, che viene
rappresentata con una doppia sottolineatura.
PERSONA (CodFiscale, Cognome, Nome)
AUTO (Targa, Modello, Colore, CodFiscale)
pf3
pf4
pf5
pf8
pf9
pfa

Anteprima parziale del testo

Scarica Mapping, Integrità referenziale e Normalizzazione e più Appunti in PDF di Informatica solo su Docsity!

Mapping delle entità e degli attributi

  • Ogni entità diventa una relazione, rappresentabile da una tabella;
  • Ogni attributo dell'entità diventa un attributo della relazione, rappresentato con una colonna della tabella;
  • L'attributo chiave dell'entità diventa attributo chiave della relazione e viene indicato sottolineandolo. IMPIEGATO(CodImpiegato, Cognome, Nome)
  • Gli attributi composti devono essere sostituiti con gli attributi componenti; IMPIEGATO(CodImpiegato, Cognome, Nome, Residenza, NumCivico, CAP, città)
  • Gli attributi opzionali devono essere indicati con un asterisco. IMPIEGATO(CodImpiegato, Cognome, Nome, E-mail*)

MAPPING DELLE ASSOCIAZIONI BINARIE 1:N

Un'associazione R di tipo 1:N tra due entità è "mappata" aggiungendo alla prima relazione gli attributi chiave primaria della seconda relazione. Si aggiungono quindi gli attributi chiave della relazione che partecipa con cardinalità massima N alla relazione che partecipa con cardinalità massima 1. Gli attributi chiave primaria della prima relazione nella seconda relazione costituiscono una cosiddetta CHIAVE ESTERNA per la prima relazione, che viene rappresentata con una doppia sottolineatura. PERSONA (CodFiscale, Cognome, Nome) AUTO (Targa, Modello, Colore, CodFiscale)

La regola prevede che il codice fiscale della relazione PERSONA vada a finire come chiave esterna nella relazione AUTO per il collegamento tra le due relazioni. Finché la cardinalità minima tra le due associazioni è 1 allora non ci sono problemi, ma lo zero fosse dall’altra parte (0,1) succede che esistono auto che non possiedono persone quindi non è possibile mettere nessun codice fiscale. La chiave esterna deve essere impostata come facoltativa.

MAPPING DELLE ASSOCIAZIONI 1:

Le associazioni binarie 1:1 sono un caso particolare delle associazioni 1: N e, per esse, esistono varie possibilità di mapping. In particolare: Se l’associazione ha degli attributi, questi vanno aggiunti alla relazione cui si aggiunge la chiave esterna; Primo caso:

  • se entrambe le associazioni sono totali, si mappano i due tipi di entità in associazione 1:1 in un unica relazione avente tutti gli attributi dell'uno e dell'altro; è anche consentito conservare le due entità separate aggiungendo la chiave esterna a una qualunque delle due relazioni; Secondo caso:
  • se esistono associazioni con partecipazione facoltativa, si opta per la realizzazione di due relazioni distinte, aggiungendo la chiave esterna alla relazione rispetto a cui l'associazione è totale, perché potrebbero esserci valori nulli per l'entità con partecipazione opzionale; Terzo caso:
  • se entrambe le entità hanno partecipazione facoltativa, si prevedono solo relazioni separate e mai la relazione unica.

ESEMPIO

Primo caso: Secondo caso: Terzo caso:

MAPPING DELLE ASSOCIAZIONI N:N

Un'associazione R di tipo N:N tra due relazioni è mappata creando per ogni entità una relazione R avente almeno gli attributi chiave primaria della prima relazione, e gli attributi chiave primaria della seconda relazione che insieme formano la chiave primaria della relazione R, in cui svolgono il ruolo di chiavi esterne. CARDINALITÀ MINIMA 0-1 SI METTE LA CHIAVE DELL’ENTITÀ CON CARDINALITÀ MASSIMA N ALL’INTERNO DELL’ENTITÀ CON CARDINALITÀ MASSIMA 1. CARDINALITÀ MINIMA 1-1 SI METTE LA CHIAVE DELL’ENTITÀ CON CARDINALITÀ MASSIMA N ALL’INTERNO DELL’ENTITÀ CON CARDINALITÀ MASSIMA 1. CARDINALITÀ MINIMA 0-1 SI METTE LA CHIAVE DELL’ENTITÀ CON CARDINALITÀ MASSIMA 0 ALL’INTERNO DELL’ENTITÀ CON CARDINALITÀ MASSIMA 1. MASSIMI N-N NORMALIZZA LA RELAZIONE

I vincoli di integrità

I vincoli di integrità sono dei vincoli che le istanze devono soddisfare per poter essere considerate valide o corrette. Si classificano in: VINCOLI INTRARELAZIONALI O INTERNI che sono definiti all'interno di una singola relazione. Questi possono essere suddivisi in:

  • (^) vincoli su singola ennupla , che esprimono una condizione:

MMM

aas

  • (^) sul dominio degli attributi : sono i vincoli che coinvolgono un solo attributo, il cui soddisfacimento può essere verificato facendo riferimento a un singolo valore alla volta;
  • (^) su più attributi: sono i vincoli che coinvolgono più attributi, ma sempre di ciascuna ennupla, indipendentemente dalle altre;
  • (^) vincoli su più ennuple , che coinvolgono i valori di più ennuple; rientrano in questa categoria i vincoli di chiave primaria (le tuple presenti in una relazione devono essere tutte diverse tra loro); VINCOLI INTERRELAZIONALI O ESTERNI , che sono definiti tra più relazioni; rientrano in questa categoria i vincoli referenziali.

L'integrità referenziale

Per stabilire un legame tra due o più relazioni utilizziamo le loro chiavi primarie creando altre relazioni che contengono i valori di queste chiavi, le quali prendono il nome di chiavi esterne. La chiave esterna soddisfa tre regole:

  • (^) una chiave esterna di una tupla in Rl fa riferimento a una chiave di una tupla in R2;
  • (^) gli attributi presenti nella chiave esterna hanno gli stessi domini degli attributi della chiave primaria a cui fanno riferimento;
  • (^) un valore di chiave esterna di una tupla in R1 o è presente a un valore di una tupla in R2 o non esiste quindi è nullo. Nel primo caso si dice che la tupla t1 "riferisce" o "fa riferimento" alla tupla t2. Se questa condizione esiste si dice che sussiste un vincolo di integrità referenziale e, in questo caso, R1 è detta relazione referenziante (che fa riferimento), mentre R2 è detta relazione riferita (o referenziata, ossia alla quale si fa riferimento). I vincoli di integrità referenziale riguardano i valori assunti dalle chiavi esterne nelle relazioni.

Fornire un metodo per progettare basi di dati senza anomalie, è lo scopo della TEORIA DI NORMALIZZAZIONE. La NORMALIZZAZIONE è un procedimento di tipo graduale, che realizza un'ottimizzazione progressiva a partire da relazioni non normalizzate fino a raggiungere un certo livello di normalizzazione. In particolare, consente di verificare se la definizione dello schema corrisponde ai "canoni standard" di correttezza della base di dati e, in caso, avvalendosi di un preciso insieme di regole, di riportare le tabelle in quelle che sono definite le forme normali delle tabelle relazionali, dove la forma normale è una proprietà di uno schema relazionale che ne garantisce la "qualità", cioè l'assenza di determinati difetti. È possibile riassumere la teoria della normalizzazione nelle in diverse regole:

  • ogni tabella deve avere una chiave primaria;
  • ogni campo deve contenere un solo valore;
  • i campi di una tabella non devono dipendere da altri campi che non siano la chiave primaria;
  • bisogna evitare le ripetizioni e la ridondanza dei dati. Nella teoria delle basi di dati relazionali esistono diverse forme normali.

1 formula normale —> 1FN

La 1FN è di norma implicita: ogni informazione deve essere " atomica ", cioè un campo deve contenere una e una sola informazione. Per definizione una relazione si dice in prima forma normale (1FN), se:

  • esiste una chiave primaria (un insieme di attributi che identifica in modo univoco ogni tupla della relazione);
  • ogni attributo è definito su un dominio di valori atomici (deve essere cioè un campo semplice, quindi non composto e non multiplo).

La tabella ha una chiave primaria, quindi la prima regola è confermata. Il campo Indirizzo, però, contiene più valori: la via con il numero civico e la città. Per normalizzare la relazione si suddivide il campo Indirizzo in modo che ogni informazione sia rappresentata con un apposito attributo. Nel caso di un attributo multiplo, per avere uno schema in 1FN si sostituisce la relazione non normalizzata con due relazioni: una simile a quella di origine, ma senza l'attributo multiplo, l'altra contenente la chiave primaria della prima relazione e un attributo semplice che contiene ogni singolo valore della sequenza originale.

2 forma normale —> 2FN

Nella seconda forma partiamo dal fatto che abbiamo R che contiene almeno due attributi X e Y. Se il valore di Y varia al variare del valore di X, si dice che Y ha una dipendenza funzionale da X e si indica con X -> Y (X determina Y, o X è un determinante per Y). Se il valore di un campo può variare al variare di qualsiasi parte della chiave primaria, possiamo dire che quel campo dipende dall'intera chiave , mentre se può variare alla variazione di una sola parte della chiave, allora quel campo non dipende dalla chiave intera, ma solo da una parte di essa. Una relazione R è in seconda forma normale (2FN) se è in prima forma normale e ogni attributo non chiave dipende funzionalmente e completamente dalla chiave primaria. ORDINE (CodOrdine, CodCliente, CodProdotto, DataOrdine, Quantità, PrezzoUnit, Descrizione) Questa relazione non è in seconda forma normale perché al suo interno sono memorizzate informazioni riguardanti più di un oggetto, cioè più elementi distinti.

Ci sono delle anomalie:

  • (^) anomalia in inserimento: non è possibile inserire la ragione sociale relativa a un cliente sino a quando quest'ultimo non compare in un ordine (chiave primaria è CodOrdine e non può mai essere nulla);
  • (^) anomalia in cancellazione: se si cancella una tupla si perde l'informazione che quel il cliente ha ragione sociale uguale a qualcosa;
  • (^) anomalia in aggiornamento: se varia la ragione sociale di un certo cliente, occorre aggiornare tutte le tuple interessate. Questi problemi sono dovuti al fatto che la ragione sociale, è dipendente solo dal codice del cliente, quindi siamo di fronte al caso in cui un attributo non chiave (RagSociale) dipende da un altro attributo non chiave (CodCliente). Lo schema viene trasformato e diventa: ORDINE(CodOrdine, CodCliente) CLIENTE(CodCliente, RagSociale) Per normalizzare , nello schema originario rimangono la chiave primaria e tutti gli attributi non chiave che dipendono direttamente da essa; poi si crea un nuovo schema di relazione per ogni attributo da cui dipendono altri attributi non chiave.