Sei sulla pagina 1di 2

DA E-R A RELAZIONALE:

FASI DELLA PROGETTAZIONE LOGICA:


- RISTRUTTURAZIONE: eliminazione dallo schema E-R dei costrutti che non possono
essere rappresentati nel modello relazionale (attributi multivalore, gerarchie di
generalizzazione, associazioni, scelta degli identificatori principali)
- TRADUZIONE: si mappano i costrutti residui in elementi del modello relazionale

ANALISI DELLE RIDONDANZE:


Fase in cui si decide se rimuovere o meno le ridondanze (informazione significativa ma
derivabile da altre)
- SE SI MANTIENE UNA RIDONDANZA:
- maggiore spazio occupato
- interrogazioni semplificate
- aggiornamenti appesantiti
- POSSIBILI RIDONDANZE RIGUARDANO:
- attributi derivabili da altri attributi
- presenza di cicli

ELIMINAZIONE DELLE GERARCHIE:


Nel modello relazionale NON si possono rappresentare direttamente le gerarchie, ma entità
e relazioni sono rappresentabili, quindi si eliminano le gerarchie sostituendole con entità e
relazioni.
3 POSSIBILI MODI PER ELIMINARE LE GERARCHIE:
- COLLASSO VERSO L’ALTO (si accorpano le entità figlie al genitore)
- COLLASSO VERSO IL BASSO (si accorpa il genitore alle entità figlie)
- SOSTITUIRE LA GENERALIZZAZIONE CON ASSOCIAZIONI
Collasso verso l’alto e sostituzione con associazioni sono sempre possibili

COLLASSO VERSO L’ALTO:


Si aggiunge un attributo “tipo” che specifica se un’istanza appartiene a una delle sotto-entità
COPERTURA:
- TOTALE ESCLUSIVA: tipo assume lo stesso numero di valori quante sono le
sotto-entità
- PARZIALE ESCLUSIVA: tipo assume n+1 valori, il valore in più server per identificare
le istanze che non appartengono a nessuna sotto-entità
- SOVRAPPOSTA: tanti selettori booleani quante sono le sotto-entità, se la copertura
è parziale tutti i selettori sono falsi

COLLASSO VERSO IL BASSO:


Se la copertura non è completa non si può applicare e se la copertura non è esclusiva
introduce ridondanza.

SOSTITUIRE CON ASSOCIAZIONI:


Tutte le entità vengono vengono mantenute; le entità figlie sono in associazione binaria con
le entità padre e sono identificate esternamente.
PARTIZIONAMENTI E ACCORPAMENTI:
Permettono di ridurre gli accessi:
- separando gli attributi di un concetto che vengono acceduti separatamente
- raggruppando attributi di concetti diversi a cui si accede insieme
Casi principali:
- partizionamento verticale di entità
- partizionamento orizzontale di associazioni
- eliminazione di attributi multivalore
- accorpamenti di entità e associazioni

PASSI DA COMPIERE (SINTESI):


ENTITA’ FORTI → TABELLE:
- attributi → campi
- attributo identificatore → chiave primaria
ENTITA’ DEBOLI → TABELLE:
Se la relazione è anche di identificazione nella chiave primaria ci sarà anche la chiave
dell’entità forte da cui dipende
RELAZIONE 1:N:
Si inserisce la chiave dell’entità con molteplicità 1 tra gli attributi dell’altra
RELAZIONE 1:1:
Si sceglie una delle due entità e si inserisce la sua chiave primaria tra gli attributi dell’altra
RELAZIONE N:M:
Si crea una nuova tabella con chiave primaria data dalle chiavi delle due entità coinvolte e si
aggiungono eventuali attributi di relazione

DDL:
SHOW DATABASES → visualizza database esistenti
CREATE [IF NOT EXIST] DATABASE → crea un database se non esiste già
USE [nome database] → si lavora direttamente nel database appena creato
CREATE TABLE [IF NOT EXISTS] → crea tabella se non esiste già
PRIMARY KEY → si indica che quell’ attributo è una chiave primaria
NOT NULL → il campo DEVE essere compilato
VARCHAR → variabile di tipo stringa
int → variabile di tipo intero
INTEGER AUTO_INCREMENT → variabile che si incrementa automaticamente
DEFAULT → si assegna un valore di default all’istanza
FOREIGN KEY [nome chiave] REFERENCES [nome tabella(nome chiave esterna)] →
chiave esterna

vd. tutti i comandi su ppt DDL, DML e QL

Potrebbero piacerti anche