Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

Una base di dati "scorretta"

Esami Studente Voto Lode Corso

276545 01

32

276545 30 si 02

787643 27 si 03

739430 15 04

Studenti Matricola Cognome Nome

276545 Rossi Mario

Neri Piero

787643

787643 Bianchi Luca 10

Informatica Generale Maria De Marsico

Vincoli di integrità

• Vincolo di integrità: proprietà che deve essere

soddisfatta da ogni istanza della base di dati

(legata quindi allo schema) specifiche del

• I vincoli descrivono proprietà

campo di applicazione, e quindi delle

informazioni ad esso relative modellate

attraverso la base di dati

• Una istanza di base di dati è corretta se

soddisfa tutti i vincoli di integrità associati al

suo schema 11

Informatica Generale Maria De Marsico

Come evitare le

“scorrettezze”

IMPIEGATO

CODICE COGNOME NOME RUOLO DIP

ASSUNZIONE

COD1 Rossi Mario Analista 1795 01

COD2 Bianchi Pietro Analista 1990 05

COD2 Neri Paolo Amministr 1985 01

atore

DIPARTIMENTO

NUMERO NOME (ASSUNZIONE > 1980)

01 Progettazione COD2 UNIQUE

02 Amministrazione 12

DIP REFERENCES DIPARTIMENTO.NUMERO

Informatica Generale Maria De Marsico 4

Come evitare le

“scorrettezze”

Esami Studente Voto Lode Corso ≥ ≤

(Voto 18) AND (Voto 30)

276545 01

32

276545 30 si 02 (Voto = 30) OR NOT (Lode = „si")

787643 27 si 03

739430 24 04

Studente references Studenti.Matricola

Studenti Matricola Cognome Nome

276545 Rossi Mario Matricola unique

Neri Piero

787643

787643 Bianchi Luca 13

Informatica Generale Maria De Marsico

Vincoli di integrità

• Vincoli di dominio

• ASSUNZIONE > 1980

≥ ≤

• (Voto 18) AND (Voto 30)

• Vincoli di tupla

• (Voto = 30) OR NOT (Lode = „si")

• Vincoli tra tuple della stessa relazione

• COD2 UNIQUE

• Matricola unique

• Vincoli tra valori in tuple di relazioni diverse

• DIP REFERENCES DIPARTIMENTO.NUMERO

• Studente references Studenti.Matricola 14

Informatica Generale Maria De Marsico

Vincoli di integrità

• Vincoli intrarelazionali: definiti sui valori di

singoli attributi (di dominio) o tra valori di

attributi di una stessa tupla o tra tuple della

stessa relazione

• Vincoli interrelazionali: definiti tra più

relazioni

• Non tutte le proprietà di interesse possono

essere rappresentate tramite vincoli espliciti 15

Informatica Generale Maria De Marsico 5

Vincoli intrarelazionali

• Vincolo di chiave primaria (primary key): unica e

mai nulla

• Vincoli di dominio (es. ASSUNZIONE > 1980)

• Vincoli di unicità (unique, Duplicati non ammessi)

• Vincoli di esistenza del valore per un certo attributo

(not null, Richiesto)

• Espressioni sul valore di attributi della stessa tupla

(es. data_arrivo < data_partenza) se arrivo e

partenza ad esempio da un albergo 16

Informatica Generale Maria De Marsico

Chiavi 1

• Occorre identificare univocamente le tuple di

una istanza di relazione

• La chiave di una relazione è un attributo o

insieme di attributi che identifica

univocamente una tupla (significa che non

possono esserci due tuple con valori uguali su

quei campi !) 17

Informatica Generale Maria De Marsico

Esempio

• Istanza di relazione Staff

CODICE COGNOME NOME RUOLO ASSUNZIONE

COD1 Rossi Mario Analista 1995

COD2 Bianchi Pietro Analista 1990

COD3 Neri Paolo Amministr 1985

atore

Chiave? 18

Informatica Generale Maria De Marsico 6

Esempio

• Istanza di relazione Info_Città

Città Regione Popolazione

Roma Lazio 3000000

Milano Lombardia 1500000

Genova Liguria 800000

Pisa Toscana 150000

Chiave? Dipende … 19

Informatica Generale Maria De Marsico

Chiavi 3

• Una relazione potrebbe avere più chiavi

alternative

• Si sceglie quella più usata o quella composta da

un numero minore di attributi = chiave primaria

• La chiave primaria non ammette valori nulli

• Esiste sempre almeno una chiave … perché ?

• Sono le chiavi che consentono di mettere in

relazione dati in tabelle diverse 20

Informatica Generale Maria De Marsico

Esempio

• Istanza di relazione Staff

CF CODICE COGNOME NOME RUOLO ASSUNZIONE

RSI… COD1 Rossi Mario Analista 1995

BA… COD2 Bianchi Pietro Analista 1990

NRI… COD3 Neri Paolo Amministr 1985

atore

- Chiavi?

- Secondo la definizione, è possibile che

(Cognome, Ruolo) sia una chiave ? 21

Informatica Generale Maria De Marsico 7

Vincoli interrelazionali

• Vincolo di integrità referenziale (foreign key):

porzioni di informazione in relazioni diverse sono

correlate attraverso valori di chiave

• Se una relazione fa riferimento al valore di un

attributo o di un insieme di attributi che dovrebbe

comparire in una seconda relazione, dobbiamo

assicurarci che ciò avvenga realmente

• Un vincolo di integrità referenziale fra gli attributi

X di una relazione R e un’altra relazione R

1 2

impone ai valori su X in R di comparire come

1

valori della chiave primaria di R

2 22

Informatica Generale Maria De Marsico

Infrazioni Vigile Prov Numero

Data

Codice

34321 1/2/95 3987 MI 39548K

53524 4/3/95 3295 TO E39548

64521 5/4/96 3295 PR 839548

73321 5/2/98 9345 PR 839548

Vigili Matricola Cognome Nome

3987 Rossi Luca

3295 Neri Piero

9345 Neri Mario

7543 Mori Gino 23

Informatica Generale Maria De Marsico

Infrazioni

Codice Data Vigile Prov Numero

34321 1/2/95 3987 MI 39548K

53524 4/3/95 3295 TO E39548

64521 5/4/96 3295 PR 839548

73321 5/2/98 9345 PR 839548

Auto Prov Numero Cognome Nome

MI 39548K Rossi Mario

TO E39548 Rossi Mario

PR 839548 Neri Luca 24

Informatica Generale Maria De Marsico 8

• vincoli di integrità referenziale fra:

• l’attributo Vigile della relazione INFRAZIONI e

l‘attributo Matricola (chiave) della relazione

VIGILI

• gli attributi Prov e Numero di INFRAZIONI e gli

attributi Prov e Numero (chiave) della relazione

AUTO 25

Informatica Generale Maria De Marsico

Violazione di vincolo di integrità

referenziale

Infrazioni

Codice Data Vigile Prov Numero

34321 1/2/95 3987 MI 39548K

53524 4/3/95 3295 TO E39548

64521 5/4/96 3295 PR 839548

73321 5/2/98 9345 PR 839548

Auto Prov Numero Cognome Nome

MI Rossi Mario

E39548

TO F34268 Rossi Mario

PR 839548 Neri Luca

ATTENZIONE AI VINCOLI SU PIÙ

Ù ATTRIBUTI

PI 26

Informatica Generale Maria De Marsico

Vincoli di integrità

referenziale: commenti

• Giocano un ruolo fondamentale nel concetto di

“modello basato su valori”

• In presenza di valori nulli i vincoli possono

essere resi meno restrittivi

• E‘ possibile definire „azioni" compensative a

seguito di violazioni

• Attenzione ai vincoli su più attributi 27

Informatica Generale Maria De Marsico 9

Integrità referenziale e valori

nulli

Impiegati Matricola Cognome Progetto

34321 Rossi IDEA

53524 Neri XYZ

64521 Verdi NULL

73032 Bianchi IDEA

Progetti Codice Inizio Durata Costo

IDEA 01/2000 36 200

XYZ 07/2001 24 120

BOH 09/2001 24 150

28

Informatica Generale Maria De Marsico

Azioni compensative

• Esempio:

• Viene eliminata una ennupla causando una

violazione

• Comportamento “standard”:

• Rifiuto dell'operazione

• Azioni compensative:

• Eliminazione in cascata

• Introduzione di valori nulli 29

Informatica Generale Maria De Marsico

Eliminazione in cascata

Impiegati Matricola Cognome Progetto

34321 Rossi IDEA

53524 Neri XYZ

64521 Verdi NULL

73032 Bianchi IDEA

Progetti Codice Inizio Durata Costo

IDEA 01/2000 36 200

XYZ 07/2001 24 120

BOH 09/2001 24 150

30

Informatica Generale Maria De Marsico 10

Introduzione di valori nulli

Impiegati Matricola Cognome Progetto

34321 Rossi IDEA

53524 Neri XYZ

NULL

64521 Verdi NULL

73032 Bianchi IDEA

Progetti Codice Inizio Durata Costo

IDEA 01/2000 36 200

XYZ 07/2001 24 120

BOH 09/2001 24 150

31

Informatica Generale Maria De Marsico

Vincoli multipli su più

attributi

Incidenti

Codice Data ProvA NumeroA ProvB NumeroB

34321 1/2/95 TO E39548 MI 39548K

64521 5/4/96 PR 839548 TO E39548

Auto Prov Numero Cognome Nome

MI 39548K Rossi Mario

TO E39548 Rossi Mario

PR 839548 Neri Luca 32

Informatica Generale Maria De Marsico

Vincoli multipli su più

attributi

• vincoli di integrità referenziale fra:

• gli attributi ProvA e NumeroA di INCIDENTI e

gli attributi Prov e Numero della relazione

AUTO

• gli attributi ProvB e NumeroB di INCIDENTI e

gli attributi Prov e Numero della relazione

AUTO

• L'ordine degli attributi è significativo 33

Informatica Generale Maria De Marsico 11

Definizione dei dati 34

Domini elementari in Access

• Testo: singoli caratteri o stringhe, anche di lunghezza

variabile

• Memo: testi lunghi

• Numerico

• Data/ora

• Valuta

• Contatore: si autoincrementa ad ogni inserimento di riga

• Si/No: in pratica valori booleani

• Oggetto OLE: immagini o altri oggetti “complessi” (es.

file); si apre cliccando sulla relativa casella della tabella

• Collegamento ipertestuale: indirizzo di un elemento

web; si apre cliccando sulla relativa casella della tabella

35

Informatica Generale Maria De Marsico

Proprietà dei campi

In base al tipo di campo, possono essere

imposte ulteriori condizioni sui valori

ammessi

Lo vedremo con la creazione delle tabelle

36

Informatica Generale Maria De Marsico 12


PAGINE

21

PESO

1.55 MB

PUBBLICATO

+1 anno fa


DETTAGLI
Corso di laurea: Corso di laurea in scienze e tecnologie della comunicazione (POMEZIA, ROMA)
SSD:
A.A.: 2013-2014

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher valeria0186 di informazioni apprese con la frequenza delle lezioni di Informatica Generale e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università La Sapienza - Uniroma1 o del prof Costa Luciano.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Informatica generale

Algoritmi - Parte 1
Appunto
Algoritmi - Parte 2
Appunto
Sicurezza e Copyright
Appunto
Informatica - Domande
Appunto