Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
CAP. 2 – SEMANTICA DEI DATI: ONTOLOGIE E RAPPRESENTAZIONI DELLA
CONOSCENZA
La parola ontologia compare nel XVII secolo per indicare una disciplina filosofica che si occupa della conoscenza
dell’essere in quanto tale. L’originale di questa disciplina nasce con Aristotele all’interno della filosofia prima o
metafisica o teologia razionale.
L’ontologia si occupa di conoscere ciò che rende una sostanza ciò che è, ovvero la sua essenza, e non la sua
categorizzazione rispetto agli universali e ai generi.
In informatica l’ontologia affronta il problema sulla tipologia di significati che il linguaggio utilizzato è in grado di
rappresentare. Non importa un discorso sull’essere ma un discorso sulle possibilità del linguaggio di rappresentare la
realtà. E’ l’uso del linguaggio che costituisce l’essere e la realtà in informatica. 2
Ontologie e informatica: concetti introduttivi
A partire dagli anni ’80 il termine ontologia entra a far parte della terminologia informatica e più specificatamente nelle
discipline dell’Intelligenza Artificiale e dell’Ingegneria della Conoscenza. Negli anni ’90 con internet le ontologie hanno
acquisito una rilevanza sempre maggiore.
________________________________________________________________________________________________
CAP. 3 – LA PROGETTAZIONE CONCETTUALE
La maggior parte dei problemi nella gestione dei dati può essere risolta con una corretta rappresentazione dei dati stessi.
La progettazione concettuale ha per scopo la produzione di uno schema concettuale ovvero di un diagramma che,
utilizzando uno specifico formalismo, rappresenti la realtà di interesse in termini di classi di oggetti e relazioni fra tali
classi. Uno dei formalismi più usati è il modello Entità-Relazione (modello ER).
Entità e attributi
Un’entità nel modello ER rappresenta una classe, o insieme, di oggetti della realtà che hanno proprietà comuni ed
esistenza autonoma ai fini dell’applicazione di interesse.
Ogni entità all’interno di uno schema ha un nome univoco che la identifica ed è rappresentata graficamente da un
rettangolo. L’entità rappresenta sia insiemi di oggetti concreti come persone sia insiemi di oggetti astratti come l’opera
cinematografica (esempio: entità “Film” come l’insieme dei film archiviati e l’entità “Persona” come l’insieme di persone
che lavorano nel cinema).
Ogni entità è caratterizzata da un insieme di proprietà elementari comuni agli oggetti della realtà rappresentati dall’entità.
Ogni proprietà è rappresentata da un attributo che denota una caratteristica specifica degli oggetti dell’entità: gli attributi
sono caratteristiche che dipendono dall’entità e non hanno dunque un’esistenza autonoma nella realtà descritta; sono
rappresentati nel modello ER con piccoli cerchi associati al nome dell’attributo e collegati da una linea all’entità a cui si
riferiscono. Es.: entità “film” / attributo “codice”, “titolo”, “anno”, “durata” – entità “persona” / attributo “nome”,
“nazione”, “data di nascita”.
FIGURA 3.1
Relazioni fra entità
Una relazione fra entità rappresenta un legame logico fra due o più entità; nel modello ER ha un nome che la identifica ed
è rappresentata graficamente per mezzo di un rombo, connesso alle entità poste in relazione per mezzo di una linea.
Es.: la relazione “troupe” rappresenta il legame che intercorre tra l’entità “film” e l’entità “persona”.
Anche le relazioni possono avere attributi: in questo caso l’attributo rappresenta una caratteristica non di una delle entità
coinvolte ma piuttosto del loro legame logico.
Es.: l’attributo “ruolo” da intendersi non come una caratteristica di un film o di una persona ma come una caratteristica
propria del legame fra una persona e un film per il quale lavora.
Un relazione può interessare anche la stessa entità; in questo caso si parla di relazione ricorsiva. Es.: la relazione
“remake” sull’entità “film” ha due direzioni (rifacimento / originale).
FIGURA 3.2
Cardinalità delle relazioni
Ogni relazione rappresenta un legame logico fra oggetti di due entità: il numero minimo e massimo di combinazioni, o
corrispondenze, che si possono avere fra gli oggetti delle due entità nella realtà di riferimento prende il nome di
cardinalità della relazione.
Considerato che ogni relazione ha due sensi di lettura è importante indicare il numero minimo e massimo di
corrispondenze in entrambe le direzioni.
Data una relazione R fra due entità A e B, determinare la cardinalità di R consiste nel domandarsi quanti oggetti B possono
corrispondere a un oggetto A come minimo e come massimo rispetto al significato del legame rappresentato da R; la
domanda si ripete poi nell’altro senso.
Es.: nella relazione “cast” tra “film” e “persona” ci chiederemo, dato un film, quante persone possono fare parte di un cast
(zero per i film di animazione) e, data una persona, a quanti film può essere associata dalla relazione cast ovvero in quanti
film abbia recitato (zero nel caso in cui la persona non sia un attore). 3
FIGURA 3.3
Identificatori
Un identificatore di un’entità E è una collezione di attributi e/o entità connesse a E che permettono di identificare
univocamente gli elementi di E.
Es.: il codice attribuito ad un film che, come il codice fiscale, lo identifica in modo univoco.
Nello schema un identificatore è contrassegnato annerendo il cerchio che denota l’attributo corrispondente.
Un identificatore può essere composto anche da più attributi; ciò avviene quando un solo attributo non è sufficiente
all’identificazione ma occorre considerare l’insieme di più caratteristiche di un’entità.
Es.: per identificare una persona in un gruppo può non essere sufficiente il solo nome o il solo cognome, mentre l’insieme
di nome e cognome può costituire un identificatore valido.
Infine vi sono entità che non hanno un identificatore univoco, nemmeno considerando tutti i loro attributi. In questo caso
per l’identificazione di un’entità E – denominata entità debole - bisognerà ricorrere alla combinazione dei suoi attributi
con quelli di altre entità in relazione con E.
Es.: per identificare uno studente universitario non è sufficiente il numero di matricola in quanto lo stesso dovrà essere
correlato necessariamente all’università frequentata dallo studente. L’entità studente è l’entità debole mentre l’entità
università funge da entità forte.
Gerarchie di generalizzazione
Mentre le relazioni viste in precedenza rappresentano un legame generico fra entità, le gerarchie di generalizzazione
rappresentano un legame di specializzazione di un entità rispetto ad un’altra: se esiste una gerarchia di generalizzazione
tra un’entità E e un’entità E1 ciò indica che ogni oggetto che è elemento di E1 è anche elemento di E ma non viceversa (=
nozione di sottoinsieme).
L’entità più generale è denominata entità padre mentre le entità più specifiche prendono il nome di entità figlie; il
legame tra le due è rappresentato da una freccia orientata dall’entità figlia all’entità padre.
Le gerarchia può essere:
- totale (T) se l’unione degli insiemi delle entità figlie coincide con l’insieme degli oggetti rappresentati dall’entità
padre; altrimenti si dice parziale (P)
- esclusiva (E) se costruendo un insieme che contenga tutti gli oggetti che sono elementi di tutte le entità figlie,
ovvero l’intersezione delle entità figlie, l’insieme ottenuto non contiene alcun oggetto ovvero ogni oggetto
compare al più in una sola delle entità figlie: la gerarchia è esclusiva quando le entità figlie non hanno
intersezione; altrimenti si dice sovrapposta o overlapping (O)
FIGURE 3.4
Indicazioni metodologiche per la progettazione
FIGURE 3.5 E SEGUENTI
________________________________________________________________________________________________
CAP. 4 – MODELLO RELAZIONALE
Nel modello relazionale dei dati (Codd, 1970) i singoli dati acquistano valore di informazione quando vengono messi in
relazione tra loro. Il modello è fondato sulla nozione matematica di relazione che fornisce non solo la base teorica per la
rappresentazione dei dati ma anche lo strumento fondamentale per lo studio delle proprietà dei dati e delle operazioni su di
essi. La rappresentazione dei dati avviene per mezzo di tabelle.
Il modello relazionale è divenuto quello più importante: oggi è quello più usato in quasi tutti i DBMS.
Un relazione (o tabella) è caratterizzata da un insieme di righe, dette anche tuple, e da un insieme di colonne, dette anche
attributi.
FIGURE 4.1
Teoria del modello relazionale 4
Definiamo una base di dati relazionale un insieme di relazioni R, ognuna delle quali descrive una classe di oggetti della
realtà di riferimento.
Per dominio intendiamo un insieme di valori, come ad esempio l’insieme delle stringhe di testo, l’insieme dei numeri
interi, l’insieme delle date,…
Il prodotto cartesiano è invece un’operazione su insiemi.
Per rendere più semplice l’interpretazione e l’accesso ai dati si può aggiungere ad ogni colonna un nome e l’indicazione
del dominio, in tal modo si definiscono gli attributi.
Valori nulli
Nella realtà può accadere che il dato corrispondente a qualche attributo di una relazione non sia disponibile. Per non
generare confusione e per indicare chiaramente l’assenza del dato viene attribuito un valore nullo (NULL).
Es.:“Full Metal Jachet” oscar vinti = 0 – “La Piovra” oscar vinti = NULL (è un film per la TV, non concorre agli oscar).
Relazioni fra tabelle
Nelle basi di dati relazionali, ogni classe di oggetti ha una rappresentazione in una corrispondente tabella; fra i dati di
tabelle diverse intercorre spesso una relazione.
Tutte le caratteristiche di una realtà di interesse, compresi i legami logici fra gli oggetti che la caratterizzano, sono
rappresentate esclusivamente per mezzo dei valori che descrivono i singoli oggetti (orientamento ai valori).