Le Basi di Dati per i Beni culturali -...
Transcript of Le Basi di Dati per i Beni culturali -...
Le Basi di Datiper i Beni culturali
Fabio CavulliFabio Cavulli
• Database: “Una base di dati è una collezione di dati correlati creata con lo scopo specifico di rappresentare adeguatamente e memorizzare le informazioni relative a una realtà di interesse”
• Dato: “La descrizione di una caratteristica della realtà costituita da simboli, che ne della realtà costituita da simboli, che ne garantiscono la comprensione, e registrata su un supporto, che ne garantisce la conservazione”
• Informazione: interpretazione di un dato in grado di arricchire la nostra conoscenza
(p. 2)
DBMS• Database Management System
software per la definizione e la manipolazione della base di dati. Offre:– Visione ad alto livello (nascondendo il basso livello)– Sicurezza dei dati– Sicurezza dei dati– Assicura coerenza dei dati– Visioni personalizzate– Salvataggio e ripristino– Accessi contemporanei
Insiemi di oggetti (tabelle)
Associazioni (relazioni tra tabelle)
Domini (attributi)
oggetti (records)
modelli di DATABASEDATABASEDATABASEDATABASEAlcuni tipi di DB:· gerarchico: gerarchico: gerarchico: gerarchico: i record sono strutturati per livelli gerarchici di accesso. Gli
ordini superiori sono definiti "parents", mentre quelli inferiori "children". Il record posto all'inizio è definito "root". Ogni record può avere parecchie relazioni con gli elementi gerarchici inferiori, ma uno solo con quello superiore.Sono di facile creazione e gestione. È una struttura di database adatta a relazioni del tipo "uno a molti"
· reticolare: reticolare: reticolare: reticolare: ogni record può avere più di un “genitore”. Consentono di gestire relazioni plurime che comportano relazioni fra record dello stesso livello. Sono di difficile creazione e gestione perché richiedono un elenco livello. Sono di difficile creazione e gestione perché richiedono un elenco di "puntatori" per collegare tra di loro i diversi record, impegnando una maggiore quantità di memoria.
· relazionale: relazionale: relazionale: relazionale: i dati sono organizzati in serie di matrici bidimensionali, strutturate in modo da evitare ridondanza di dati. Le diverse tabelle sono tra loro collegate da "chiavi" comuni. Sono molto flessibili, si basano su files ad accesso sequenziale che rendono agevoli le operazioni di inserimento, cancellazione ed aggiornamento dei dati. Consentono di gestire anche relazioni di tipo plurimo. Le tabelle di un DB relazionale comprendono per riga l'insieme dei diversi records e per colonna i vari campi.
Modello di dati
Descrive la struttura dei dati che caratterizza la realtà di interesse a cui si riferisce la BD– Schema della base di dati - struttura dei dati
(componente intensionale)(componente intensionale)– Stato corrente - dati inseriti
(componente estensionale)
Livelli di astrazione (p. 4)
• Schema logico : descrive l’intera BD• Schema fisico : record che descrivono gli
oggetti sottoforma di files sequenziali• Schemi esterni : viste esterne come
sottoinsieme di datisottoinsieme di dati
Esempio di tabella in un DB relazionale
Esempio di relazioni tra le tabelle in un DB relazionale
Gerarchie di generalizzazione (p. 20)
Rappresentano un particolare tipo di legame che intercorre fra entità � legame di specializzazione
Insieme � sottoinsiemeEntità padre � entità figlio
Gerarchie di generalizzazioneTotale esclusiva
Uomo
Donna
Persone Società cinematografiche
Distributore produttore
Dis
trib
utor
e e
prod
utto
re
Totale - sovrapposta
Persone Società cinematografiche
Parziale - esclusiva Parziale - sovrapposta
Auto Moto
Né auto né moto
Veicoli
velocista fondista
né velocista né fondista
v.&f.
Atletica
Modello relazionale (p. 25)tabella/relazione: nome schema
della relazione
campo
riga/ record/ tupla
VincoliVincoli di dominio : il campo accetta solo certi
attributi (txt, #, data, … , # caratteri, duplicati, indice, …)
Vincoli di chiave : IDentificativo univoco, Chiave primaria (primary key) ed esterna (foreign key), chiave semplice o condivisa (superchiave), chiavi primarie semplice o condivisa (superchiave), chiavi primarie naturali (cod. fiscale, # di matricola, …)
Vincoli di integrità referenziale : Riguardano le associazioni di tabelle e garantiscono che i valori logici fra righe di tabelle diverse siano coerenti
id # id id #
B 1 A A
D 2 B B 1
�
=
x Y
UNIONE: TUTTI DATI DI X e Y
X + Y
F 3 C C
D D 2
E E
F 3
=
CHIAVE PRIMARIA = A, B, C, …
B 1 A B 1
D 2 B D 2
B 1 A A
D 2 B B 1� �= =
X Y X Y
INTERSEZIONE:SOLO DATI DI X CORRISPONDENTI A Y DATI DI Y + CORRISPONDENTI IN X
X = Y
F 3 C
D
E
F 3 C C
D D 2
E E
B 1 A
D 2 B F 3- =
X Y
DIFFERENZA: DATI DI X NON CORRISPONDENTI IN Y
X-Y
DIVERSO DA Y-X !!!!
F 3 C
D
E
Base di Dati relazionale = insieme di relazioni (relazioni tra attributi)
Associazioni (relazioni) tra tabellepermettono di archiviare una sola volta una serie di attributi (tabella) e richiamarla n volte in altre tabelle
�� orientamento ai valori
Cardinalità:� relazione 1/n� relazione n/1� relazione n/n
Autore
Pubblicazione
Uno a molti (1/n)
+Manuf. litico
Tipo di ritocco
+
Pubblicazioni dell’autore X
Pubblicazione
Autore
Pubblicazione X con gli autori
+
Descrizione del Manufattoe di tutti i tipi di ritocco
Autore Pubblicazione
Attore Film
Partecipazione
Molti a molti (n/n)
rapporto
Pubblicazioni dell’autore X
Pubblicazione X con gli autori
Film dell’attore X
Film X con lista degli attori
Comando DescrizioneBetween #01/01/2000# and #31/12/2000# Restituisce i dati compresi tra il
01/01/2000 ed 31/12/2000 inclusiIn (“Roberto”, “Mario”, “Marco”)
Restituisce i record che contengono le parole tra virgolette
IsNull Restituisce i record vuoti????? Cinque caratteri qualsiasi< 100 Inferiore a 100100 Uguale a 100Like “r*” Restituisce i record che iniziano per r
(seguita da qualunque altro carattere) (seguita da qualunque altro carattere) Like “*r” Restituisce i record che finiscono per rLike “[a – d]*” Restituisce I record che iniziano per a – b
– c – d seguiti da qualunque altro carattereLike “[a – d]?” Restituisce I record che iniziano per a – b
– c – d seguiti da un solo carattereLike “Ma?co” Restituisce I record che cominciano per
Ma seguiti da un solo carattere e finiscono per co