Anteprima
Vedrai una selezione di 6 pagine su 21
Basi di dati - Parte 2 Pag. 1 Basi di dati - Parte 2 Pag. 2
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Basi di dati - Parte 2 Pag. 6
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Basi di dati - Parte 2 Pag. 11
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Basi di dati - Parte 2 Pag. 16
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Basi di dati - Parte 2 Pag. 21
1 su 21
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Formattazione del testo

NUMERO NOME

01 Progettazione Cosa c'è che non va ???

02 Amministrazione Sintatticamente è corretto ...

9 Informatica Generale Maria De Marsico

3 Una base di dati "scorretta"

Esami Studente Voto Lode Corso

276545 0132276545 30 si

02787643 27 si

03739430 15

04 Studenti Matricola Cognome Nome

276545 Rossi Mario

Neri Piero

787643787643 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

Informatica Generale Maria De Marsico

Come evitare le "scorrettezze"

IMPIEGATO

CODICE COGNOME NOME RUOLO

DIPASSUNZIONECOD1 Rossi Mario Analista 1795 01

COD2 Bianchi Pietro Analista 1990 05

COD2 Neri Paolo Amministr 1985 01atore

DIPARTIMENTONUMERO NOME (ASSUNZIONE > 1980)

01 Progettazione COD2 UNIQUE

02 Amministrazione 12DIP REFERENCES DIPARTIMENTO.NUMERO

Informatica Generale Maria De Marsico 4

Come evitare le“scorrettezze”

Esami Studente Voto Lode Corso ≥ ≤(Voto 18) AND (Voto 30)

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

787643 27 si 03739430 24 04

Studente references Studenti.Matricola

Studenti Matricola Cognome Nome

276545 Rossi Mario Matricola unique

Neri Piero787643787643 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 14Informatica Generale Maria De Marsico

Vincoli di integrità• Vincoli intrarelazionali: definiti sui valori disingoli attributi (di dominio) o tra valori diattributi di una stessa tupla o tra tuple dellastessa relazione• Vincoli interrelazionali: definiti tra piùrelazioni• Non tutte le proprietà di interesse possonoessere rappresentate tramite vincoli espliciti 15Informatica Generale Maria De Marsico 5

Vincoli intrarelazionali• Vincolo di chiave primaria (primary key): unica emai 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 epartenza ad esempio da un albergo 16Informatica Generale Maria De

MarsicoChiavi 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!)

Informatica Generale Maria De Marsico

Esempio

  • Istanza di relazione Staff
    • CODICE
    • COGNOME
    • NOME
    • RUOLO
    • ASSUNZIONE
  • Chiave? 18

Informatica Generale Maria De Marsico 6

Esempio

  • Istanza di relazione Info_Città
    • Città
    • Regione
    • Popolazione
  • Chiave? Dipende...

Informatica Generale Maria De MarsicoChiavi 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

Informatica Generale Maria De MarsicoEsempio

  • Istanza di relazione Staff
    • CF
    • CODICE
    • COGNOME
    • NOME
    • RUOLO
    • ASSUNZIONE
  • Chiavi?
    • Secondo la definizione, è possibile che (Cognome, Ruolo) sia una chiave ?

Informatica Generale Maria De Marsico 7Vincoli 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 dovrebbecomparire 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 R1 impone ai valori su X in R di comparire come valori della chiave primaria di R2

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

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

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

25Informatica

Generale Maria De Marsico

Violazione di vincolo di integrità referenziale

Infrazioni

Codice Data Vigile Prov Numero
34321 1/2/95 3987 MI 39548
K53524 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
Formattazione del testo

01/2000 36 200XYZ 07/2001 24 120BOH 09/2001 24 15028Informatica 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

Eliminazione in cascata

Impiegati Matricola Cognome Progetto
34321 Rossi IDEA
53524 Neri XYZ
64521 Verdi NULL
73032 Bianchi IDEA

Introduzione di valori nulli

Impiegati Matricola Cognome Progetto
34321 Rossi IDEA
53524 Neri XYZ
NULL Verdi NULL
73032 Bianchi IDEA

Vincoli multipli su più attributi

Incidenti

Codice Data ProvA NumeroA ProvB NumeroB
34321 ... ... ... ... ...
Collegamento ipertestuale Proprietà dei campi
In base al tipo di campo, possono essere imposte ulteriori condizioni sui valori ammessi Lo vedremo con la creazione delle tabelle
Creazione tabelle in ACCESS Crea una tabella in visualizzazione Struttura
Il numero e il tipo di proprietà che possono essere impostate dipendono dal tipo di campo Possiamo impostare dei criteri di validità. In questo esempio possiamo
Dettagli
Publisher
A.A. 2012-2013
21 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

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à Università degli Studi di Roma La Sapienza o del prof Costa Luciano.