Anteprima
Vedrai una selezione di 14 pagine su 63
Appunti Basi di dati e sistemi informativi Pag. 1 Appunti Basi di dati e sistemi informativi Pag. 2
Anteprima di 14 pagg. su 63.
Scarica il documento per vederlo tutto.
Appunti Basi di dati e sistemi informativi Pag. 6
Anteprima di 14 pagg. su 63.
Scarica il documento per vederlo tutto.
Appunti Basi di dati e sistemi informativi Pag. 11
Anteprima di 14 pagg. su 63.
Scarica il documento per vederlo tutto.
Appunti Basi di dati e sistemi informativi Pag. 16
Anteprima di 14 pagg. su 63.
Scarica il documento per vederlo tutto.
Appunti Basi di dati e sistemi informativi Pag. 21
Anteprima di 14 pagg. su 63.
Scarica il documento per vederlo tutto.
Appunti Basi di dati e sistemi informativi Pag. 26
Anteprima di 14 pagg. su 63.
Scarica il documento per vederlo tutto.
Appunti Basi di dati e sistemi informativi Pag. 31
Anteprima di 14 pagg. su 63.
Scarica il documento per vederlo tutto.
Appunti Basi di dati e sistemi informativi Pag. 36
Anteprima di 14 pagg. su 63.
Scarica il documento per vederlo tutto.
Appunti Basi di dati e sistemi informativi Pag. 41
Anteprima di 14 pagg. su 63.
Scarica il documento per vederlo tutto.
Appunti Basi di dati e sistemi informativi Pag. 46
Anteprima di 14 pagg. su 63.
Scarica il documento per vederlo tutto.
Appunti Basi di dati e sistemi informativi Pag. 51
Anteprima di 14 pagg. su 63.
Scarica il documento per vederlo tutto.
Appunti Basi di dati e sistemi informativi Pag. 56
Anteprima di 14 pagg. su 63.
Scarica il documento per vederlo tutto.
Appunti Basi di dati e sistemi informativi Pag. 61
1 su 63
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

NULL

Si possono imporre delle restrizioni sulla presenza dei valori nulli

Tipi di valore nullo

Esistono almeno tre casi differenti:

-​ valore sconosciuto

-​ valore inesistente

-​ valore senza informazione

I DBMS non distinguono i tipi di valore nullo

//Vincoli d’integrità

Esistono istanze di basi di dati che pur essendo

sintatticamente corrette non rappresentano

informazioni possibili per l’applicazione

d’interesse

Il vincolo d’integrità è una proprietà che deve

essere soddisfatta dalle istanze che

rappresentano le informazioni corrette per l’applicazione

Un vincolo è una funzione booleana (un predicato):

-​ associa ad ogni istanza il valore vero o falso

Non tutte le proprietà di interesse sono rappresentabili per mezzo di

vincoli formulabili in modo esplicito 15

//Tipi di vincoli

Vincoli intrarelazionali:

-​ vincoli sui valori

-​ vincoli di ennupla

Vincoli interrelazionali

Vincoli di ennupla

Esprimono condizioni sui valori di ciascuna ennupla, indipendentemente

dalle altre ennuple

Caso particolare:

-​ Vincoli di dominio: coinvolgono un solo attributo

Una possibile sintassi:

-​ espressione booleana di atomi che confrontano valori di attributo o

espressioni aritmetiche su di essi

(Voto ≥ 18) AND (Voto ≤ 30)

(Voto = 30) OR NOT (Lode = “e lode”)

Identificazione delle ennuple

Non ci sono due ennuple con lo stesso valore

sull’attributo Matricola

Non ci sono due ennuple uguali su tutti e tre gli

attributi Cognome, Nome e Data di Nascita 16

//Chiave

Una superchiave è uno o un insieme di attributi che permettono di

identificare in modo univoco una tupla

Una chiave è una superchiave minimale, ovvero il minimo insieme di

attributi utilizzabili per identificare una tupla

Formalmente:

-​ un insieme K di attributi è superchiave per r, se r non contiene due

ennuple distinte t e t con t [K] = t [K]

1 2 1 2

-​ K è chiave per r se è una superchiave minimale per r

(cioè non contiene un’altra chiave speciale)

Matricola è una chiave:

-​ è una superchiave

-​ contiene un solo attributo e quindi è

minimale

Cognome, Nome, Nascita è un’altra chiave:

-​ è superchiave

-​ minimale

Non ci sono ennuple uguali su Cognome e Corso:

-​ Cognome e Corso formano una chiave

-​ ma potrebbe non essere sempre vero (visto che più persone

possono avere lo stesso cognome)

//Vincoli, schemi e istanze

I vincoli corrispondono a proprietà del mondo reale

modellato dalla base di dati

Interessano a livello di schema, con riferimento a

tutte le istanze

Ad uno schema viene associato un insieme di

vincoli e vengono considerate corrette le

istanze che soddisfano tutti i vincoli

Un’istanza può soddisfare altri vincoli

//Esistenza delle chiavi

Una relazione non può contenere ennuple

distinte ma uguali 17

Ogni relazione ha come superchiave l’insieme degli attributi su cui è

definita, quindi ha almeno una chiave

Importanza delle chiavi

L’esistenza delle chiavi garantisce l’accessibilità a ciascun dato della

base di dati

Le chiavi permettono di correlare i dati in relazioni diverse:

-​ il modello relazionale è basato sui valori

Chiavi e valori nulli

In presenza di valori nulli, i valori della chiave non permettono:

-​ di identificare le ennuple

-​ di realizzare facilmente i

riferimenti da altre relazioni

La presenza di valori nulli nelle chiavi

deve essere limitata

Chiave primaria

Chiave su cui non sono ammessi valori nulli

Integrità referenziale

Informazioni in relazioni diverse sono correlate attraverso valori comuni,

in particolare, valori delle chiavi (primarie)

Le correlazioni devono essere coerenti 18

Vincolo di integrità referenziale

Un vincolo di integrità referenziale (“foreign key”) fra gli attributi X di una

relazione R e un’altra relazione R impone valori su X in R di comparire

1 2 1

come valori della chiave primaria R

2

Vincoli di integrità relazionale fra:

-​ l’attributo Vigile della relazione INFRAZIONI e la relazione VIGILI

-​ gli attributi Prov e Numero di INFRAZIONI e la relazione AUTO

Violazione di vincolo di integrità referenziale

I vincoli di integrità referenziale giocano un ruolo fondamentale nel

concetto di modello basato sui valori

In presenza di valori nulli i vincoli possono essere resi meno restrittivi

Sono possibili meccanismi per il supporto alla loro gestione (“azioni”

compensative a seguito di violazioni) 19

//Azioni compensative

Ad esempio:

-​ viene eliminata una ennupla causando una violazione

Comportamento standard:

-​ rifiuto dell’operazione

Azione compensative:

-​ Eliminazione in cascata

-​ Introduzione di valori nulli

Eliminazione a cascata

Introduzione di valori nulli 20

Vincoli multipli su più attributi

Vincoli di integrità referenziale fra:

-​ gli attributi ProvA e NumeroA di INCIDENTI e la relazione AUTO

-​ gli attributi ProvB e NumeroB di INCIDENTI e la relazione AUTO

L’ordine degli attributi è significativo

//Progettazione di basi di dati:

Metodologie e modelli

//Modello Entity-Relationship (Entità- Relazione)

Entità

Classe di oggetti (fatti, persone, cose) dell'applicazione di interesse con

proprietà comuni e con esistenza autonoma

Es: impiegato, città, conto corrente, ordine, fattura

Entità: schema e istanza

Occorrenza di un entità: elemento della classe (l’oggetto, la

persona,..., non i dati)

Nello schema concettuale viene rappresentata l’entità, ma non le singole

istanze

Ogni entità ha un nome che la identifica univocamente nello schema:

-​ nomi espressivi

-​ opportune convenzioni 21

Rappresentazione grafica di entità

Relationship

Legame logico fra due o più entità, rilevante nell’applicazione di

interesse

Esempi:

-​ Residenza (fra persona e città)

-​ Esame ( fra studente e corso)

Denominata anche:

-​ relazione, correlazione, associazione

Rappresentazione grafica di relationship

Ogni relationship ha un nome che la identifica univocamente nello

schema:

-​ nomi espressivi

-​ opportune convenzioni (singolare, sostantivi invece che verbi

Occorrenze

Un’occorrenza di una relationship

binaria è una coppia di occorrenze 22

di entità, una per ciascuna entità coinvolta

Un’occorrenza di una relationship n-aria è una n-upla di occorrenze di

entità, una per ciascuna entità coinvolta

Nell’ambito di una relationship non ci possono essere occorrenze

(coppie, ennuple) ripetute

Due relationship sulle stesse entità

Relationship n-aria

Relationship ricorsiva

coinvolge due volte la stessa entità 23

Relationship ricorsiva con ruoli

Relationship ternaria ricorsiva 24

//Attributo

Proprietà elementare di un’entità o di una relationship, di interesse ai fini

dell’applicazione

Associa ad ogni occorrenza di entità o relationship un valore

appartenente a un insieme detto dominio dell’attributo

Rappresentazione grafica degli attributi

Attributi composti

Raggruppano attributi di una medesima entità o relationship che

rappresentano affinità nel loro significato o uso

Esempio:

-​ via, numero civico e cap formano un indirizzo

Rappresentazione grafica 25

//Altri costrutti del modello E-R

Cardinalità di relationship

Coppia di valori associati a ogni entità che partecipa a una relationship

Specificano il numero minimo e massimo di occorrenze delle relationship

cui ciascuna occorrenza di un entità può partecipare

Esempio di cardinalità

0 e 1 vengono utilizzati per la cardinalità minima:

-​ 0 = ‘partecipazione opzionale’

-​ 1 = ‘ partecipazione obbligatoria’

1 e N per la massima ( N non ha alcun limite)

Cardinalità di residenza

Tipi di relationship

Con riferimento alle cardinalità massime esistono diverse tipologie di

relationship:

-​ uno a uno

-​ uno a molti

-​ molti a molti

Nella relationship uno a molti è importante il verso

Esistono le relationship obbligatorie-obbligatorie ma sono molto rare 26

Relationship molti a molti

Relationship uno a molti

Relationship uno a uno Cardinalità di

attributi

È possibile

associare delle

cardinalità anche agli attributi, con due scopi:

-​ indicare l’opzionalità (“informazione incompleta”)

-​ indicare attributi multivalore 27

Identificatore di una entità

Strumento per l’identificazione univoca delle occorrenze di un’entità

Costituito da:

-​ attributi dell’entità (identificatore interno)

-​ (attributi +) entità esterne attraverso relationship (identificatore

esterno)

Identificatori interni

Identificatore esterno Ogni entità

deve possedere

almeno un

identificatore,

ma può averne più di uno 28

Una identificazione esterna è possibile solo attraverso una relationship a

cui l’identità da identificare partecipa con cardinalità (1,1)

//Generalizzazione

Mette in relazione una o più identità

E1, E2, …, En con un entità E, che

le comprende come caso

particolare

E è generalizzazione di E1, E2, …,

En

E1, E2, …, En sono specializzazioni (o sottotipi) di E

Proprietà delle generalizzazioni

Se E (genitore) è generalizzazione di E1,

E2,..., En (figlie):

-​ ogni proprietà E è significativa per

E1, E2,..., En

-​ ogni occorrenza di E1, E2, …, En è

occorrenza anche di E 29

Ereditarietà

Tutte le proprietà (attributi, relationship, generalizzazioni) dell’entità

vengono ereditate dalle entità figlie e non rappresentate esplicitamente

Tipi di generalizzazioni

Totale: se ogni occorrenza dell’entità genitore è occorrenza di almeno

una delle entità figlie, altrimenti è parziale

Esclusiva se ogni occorrenza dell’entità genitore è occorrenza di al più

una delle entità figlie, altrimenti è sovrapposta

Altre proprietà

Possono esistere gerarchie a più livelli e multiple generalizzazioni allo

stesso livello

Un’entità può esse

Dettagli
Publisher
A.A. 2023-2024
63 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher skibidibobidi di informazioni apprese con la frequenza delle lezioni di Basi di dati e sistemi informativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Piemonte Orientale Amedeo Avogadro - Unipmn o del prof Giordano Laura.