11.06.2013 Views

università degli studi di siena facoltà di scienze matematiche, fisiche ...

università degli studi di siena facoltà di scienze matematiche, fisiche ...

università degli studi di siena facoltà di scienze matematiche, fisiche ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Presentazione<br />

L’algebra relazionale è una materia abbastanza recente nella storia della<br />

matematica. É nata e trova applicazione nello <strong>stu<strong>di</strong></strong>o teorico <strong>di</strong> come organizzare<br />

e interrogare le informazioni immagazzinate nelle memorie elettroniche<br />

dei calcolatori elettronici.<br />

Il presente <strong>stu<strong>di</strong></strong>o nasce da alcune considerazioni su questa materia, che qui<br />

viene affrontata da un punto <strong>di</strong> vista prettamente matematico.<br />

La nostra attenzione si è focalizzata su quelle particolari funzioni che in<br />

algebra relazionale sono chiamate vincoli, dalle quali derivano operatori altrettanto<br />

comuni in questa teoria: le selezioni.<br />

Abbiamo definito i vincoli come funzioni da un qualsiasi insieme nella<br />

coppia {0, 1} . É intuitivo come un vincolo su <strong>di</strong> un insieme possa determinare<br />

una cernita dei suoi elementi, una selezione appunto.<br />

L’organizzazione dei dati all’interno dei databases (letteralmente: basi <strong>di</strong><br />

dati) dei computers viene <strong>di</strong> solito rappresentata con matrici, nelle quali è<br />

considerato irrilevante l’or<strong>di</strong>ne delle righe. Cosí essi si trasformano in insiemi<br />

finiti e non or<strong>di</strong>nati (istanze) <strong>di</strong> ennuple (records) su <strong>di</strong> un qualsiasi prodotto<br />

cartesiano composto da un numero finito <strong>di</strong> insiemi (domini).<br />

In tal modo abbiamo semplificato, in modo algebrico, l’architettura <strong>di</strong> questo<br />

modello, altrimenti assai articolata.<br />

Dal nostro punto <strong>di</strong> vista, quin<strong>di</strong>, le istanze <strong>di</strong> basi <strong>di</strong> dati <strong>di</strong>ventano sottoinsiemi<br />

finiti <strong>di</strong> un prodotto cartesiano D1 × D2 × . . . × Dn , dove i singoli Di<br />

sono semplicemente insiemi qualsiasi.<br />

Calcolare un vincolo su una istanza è un proce<strong>di</strong>mento la cui complessità (ed<br />

anche il costo computazionale) <strong>di</strong>pende dalla natura del vincolo stesso, oltre<br />

che dall’estensione dell’istanza cui è applicato.<br />

Per definire una scala <strong>di</strong> complessità dei vincoli ci siamo rifatti alla matrice<br />

che identifica l’istanza. Se pensiamo a tale rappresentazione, un oggetto bi<strong>di</strong>mensionale,<br />

è possibile classificare i vincoli come:<br />

- <strong>di</strong>mensione 0: vincoli che <strong>di</strong>pendono dall’esame, record per record, <strong>di</strong> una<br />

sola casella;<br />

- <strong>di</strong>mensione 1: vincoli che comportano un confronto fra varie caselle dello<br />

stesso record;<br />

- <strong>di</strong>mensione 2: tutti gli altri vincoli.<br />

Abbiamo riprodotto in modo matematico questa struttura, ricorrendo allo<br />

<strong>stu<strong>di</strong></strong>o <strong>degli</strong> operatori sul codominio della funzione vincolo: {0, 1} . La<br />

ridotta car<strong>di</strong>nalità <strong>di</strong> questo insieme ha permesso <strong>di</strong> analizzare in maniera<br />

3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!