specifico <strong>di</strong> quell’unico dominio. Ci siamo basati, come fondamento <strong>di</strong> tutta la teoria, su prodotti cartesiani finiti <strong>di</strong> n dominî, cosicché i records sono insiemi or<strong>di</strong>nati <strong>di</strong> n elementi, ed n è detto il loro grado. Se invece si hanno attributi <strong>di</strong>stinti per ogni dominio sarà possibile costruire i records come insiemi non or<strong>di</strong>nati <strong>di</strong> n coppie, coppie formate dall’elemento scelto nel dominio e dall’attributo <strong>di</strong> quel dominio. Questa <strong>di</strong>versa visione è tipica della teoria classica. Esempio 42 . Ripren<strong>di</strong>amo per l’ultima volta la tabella sul Palio, un nostro record <strong>di</strong> quell’istanza ha la forma: (Aquila , 6.4 , 12.7 , 21.7 , 38.5 , 47.5 , 64 , null , null ) . Spesso, per mezzo <strong>degli</strong> attributi, i records sono pensati anche come: { (Contrade, Aquila), (Tempo1, 6.4), (Tempo2, 12.7), (Tempo3, 21.7), (Tempo4, 38.5), (Tempo5, 47.5), (Tempo5, 64), (Tempo7, null), (Tempo8, null) } . ♦ Questa <strong>di</strong>versa visione permette <strong>di</strong> considerare ininfluente la <strong>di</strong>sposizione dei dominî (avendo ciascuno un attributo <strong>di</strong> riferimento). Pensando le istanze come tabelle, <strong>di</strong> cui noi consideravamo trascurabile l’or<strong>di</strong>ne delle righe, <strong>di</strong>venta tale anche l’or<strong>di</strong>ne delle colonne. Questa scelta andrà a ripercuotersi anche sugli operatori. Per dare un senso al prodotto cartesiano, fra istanze in cui si rischierebbero omonimie, sarà necessario introdurre un nuovo operatore: la ridenominazione, che cambia il nome <strong>di</strong> un attributo in tutte le coppie in cui compare. Le selezioni funzionano analogamente a quanto ci è già noto, ma in gran parte della letteratura c’è poca chiarezza su cosa si intenda per ”formule”, e sull’analogia fra vincoli e selezioni. Spesso, anzi, i vincoli sono trascurati o traspare una certa confusione. Ad esempio in molti testi viene considerato ”vincolo”, alla stregua delle chiavi (che noi abbiamo visto come vincolo <strong>di</strong> <strong>di</strong>mensione 2) la possibilità <strong>di</strong> avere valori nulli in alcuni dominî: vale a <strong>di</strong>re l’aggiunta dell’elemento null al dominio stesso (come noi avevamo fatto per Q che rappresentava i tempi). Per il resto poi l’algebra relazionale si adatta alle funzioni possibili nei softwares più comuni <strong>di</strong> gestione dei dati. Nascono cosí le funzioni <strong>di</strong> aggregazione, che comprendono, ad esempio, il conteggio dei records o un gran numero <strong>di</strong> comuni funzioni <strong>matematiche</strong> o statistiche, quali il reperimento del maggiore e del minore (fra gli elementi <strong>di</strong> una ”colonna”), o il calcolo della me<strong>di</strong>a. 48
Abbiamo visto, anche a scapito della nostra teoria, come alcuni <strong>di</strong> questi operatori siano utili ma impossibili da costruire con i mezzi forniti dalle semplici definizioni <strong>di</strong> partenza. 49
- Page 1 and 2: UNIVERSITÀ DEGLI STUDI DI SIENA FA
- Page 3 and 4: Presentazione L’algebra relaziona
- Page 5 and 6: 1 . Un esempio introduttivo. Incomi
- Page 7 and 8: in riga (per quanto possa apparire
- Page 9 and 10: 2 . Una presentazione algebrica del
- Page 11 and 12: Chiameremo i records con le lettere
- Page 13 and 14: Nomi × Numeri di telefono. I due d
- Page 15 and 16: π{Di ,Di ,...,Dim 1 2 } (s[d1, d2,
- Page 17 and 18: Esempio 10 . Poniamo un problema ba
- Page 19 and 20: La selezione è cosí un operatore
- Page 21 and 22: I casi possibili sono quattro: l’
- Page 23 and 24: Nell’esempio 13 abbiamo composto
- Page 25 and 26: Per ora la definizione è solo intu
- Page 27 and 28: II V II V III ◦, ◦ , ◦ , X
- Page 29 and 30: A è vuoto? Scriveremo: Q∅ per Q
- Page 31 and 32: Esempio 22 . Diventa immediato appl
- Page 33 and 34: Esempio 25 . Riprendiamo la definiz
- Page 35 and 36: Proposizione 8 . Nell’esempio 19
- Page 37 and 38: Definizione 26 . Dato un prodotto c
- Page 39 and 40: come operatore binario, ma può ess
- Page 41 and 42: ( T 1 2 > T 2 2 ) ∧ ( T 1 3 < T 2
- Page 43 and 44: Q∀×VT , con VT = 1 se ( ti = nul
- Page 45 and 46: I è tale che, per ogni j, Q mj ∃
- Page 47: in copie diverse e gestite indipend