Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

Basi di dati - design logico (modello relazionale) by Mind Map: Basi di dati - design logico 
(modello relazionale)
0.0 stars - reviews range from 0 to 5

Basi di dati - design logico (modello relazionale)

panoramica

input

schema concettuale

carico della base di dati

modello logico scelto, relazionale, il più diffuso, slegato da implementazione fisica, value-based, reticolare, gerarchico, ...

fasi

ristrutturazione schema ER, motivi, costrutti non sopportati, attributo multi-valore, attributo composto, generalizzazione specializzazione, ottimizzazioni, basandosi sul carico del database, sotto-fasi, analisi carico del database, analisi ridondanze, rimozione generalizzazioni, rimozione attributi multi-valore, rimozione attributi composti, partitioning/merging di entità e relazioni, selezione primary key

traduzione in uno schema logico

output

schema logico

vincoli d'integrità

documentazione

Vincoli d'integrità (segue)

sono regole per mantenere i dati consistenti

possibili vincoli

domain di un attributo: valori ammessi

unicità dei valori di un attributo

esistenza di valori

integrità referenziale fra dati di differenti tabelle

comportamento del DBMS se vincolo violato

ristrutturazione digramma ER

ridondanze: lasciare o eliminare?

attributi derivati

relazione derivate da altre

pro: accessi più veloci

contro: mantenere dati aggiornati

rimuovere attributi multi-valore

creazione entity set dedicato per ogni attributo multi-valore

rimuovere attributi composti

attributi che compongono l'attributo composto aggiunti direttamente a entity set

rimuovere generalizzazioni

collasso entità figlie nell'entità mare, aggiungere attributo "tipo", valori NULL negli attributi non comuni a entità di partenza

collasso entità madre nelle entità figlie, solo se generalizzazione totale!

sostituzione con relazioni

ev. patitioning o merging di entità e relazioni

separazione o unioni di entity set o relazioni per migliorare efficienza

selezione primary key

schema e istanza

schema relazionale: R=(A1, A2, ...An) dove A1, A2, ... An sono gli attributi

"descrizione di una tabella (senza dati)"

istanza della relazione: valori attuali di una relazione

"una tabella con i suoi dati"

database schema = insieme di schemi relazionali

"tutte le descrizioni delle tabelle (senza dati)"

database instance = dati nel database in un certo istante

"tabelle con dati"

traduzione nel modello logico conversione in tabelle

principio: per ogni entity set e ogni relationship set viene creata una tabella con un nome.

ogni tabella ha colonne con i nomi degli attributi

strong entity set E con n attributi

una tabella con nome E

n colonne, una per ogni attributo

ogni riga rappresenta una entità dell'entity set E

primary key dell entity set diventa primary key della tabella

weak entity set W con n attributi che dipende da strong entity set S. s1, ... sm formano la prinary key di S

una tabella con nome W

n+m colonne, una per ogni attributo di W e per ogni attributo parte della primary key di S

primary key di S più discriminator di W formano primary key della tabella

relationship set R fra entity set A e B a1, ..an formano primary key di A b1..bm formano primary key di B

una tabella con nome R

tabella necessaria se R ha cardinalità N:N

n+m colonne, una per ogni attributo parte della primary key di A e di B

se N:N unione delle primary key di A e B formano primary key della tabella

relationship set R fra entity set A e B cardinalità 1:1 o 1:N o N:1

non è necessaria una tabella

aggiundere attributi che formano primary key del lato "one" al lato "many"

database relazionale

database è composto da tabelle con nome

tabella composta da righe e colonne

colonna = attributo (nome + tipo)

riga = una relazione tra valori

! non confondere con relationship set

riga = tupla, individuo, entità

carico del database

stime partendo da functional requirements

volume di dati

numero di entità x entity set e relazioni x relationship set

>>> tabella dei volumi

storage requirements

quanti byte necessari?

tipo di operazioni e frequenza

interattive (risposta "immediata")

batch (tempi lunghi)

>>> tabella delle operazioni

complessità operazioni

numero entità coinvolte

>>> tabella degli accessi (1 x ogni operazione)