Archive for novembre, 2009
Operazione di Ridenominazione
by aledra82 on nov.30, 2009, under Programmazione
Quando dobbiamo effettuare delle operazioni sulle tabelle diventa necessario effettuare operazioni di Ridenominazione (indicata con il simbolo: ρ). Con questa operazione andiamo a modificare, nella relazione risultante, i nomi degli attributi lasciando invariato il loro contenuto. Prendiamo come esempio le seguenti tabelle:
Vedendo le tabelle, sarebbe sensato pensare di effettuare un’unione in modo da ottenere tutte le coppie “genitore-figlio”, ma ciò non è possibile farlo in quanto l’attributo che noi abbiamo chiamato “Genitore” in realtà è indicato come Padre nella relazione Paternità e come Madre in Maternità. Per poter effettuare questa operazione di unione dobbiamo quindi, rinominare gli attributi Padre e Madre in Genitore ed effettuare l’operazione di unione. L’operazione è la seguente: ρGenitore←Padre(Paternità) U ρGenitore←Madre(Maternità)
Analizzando l’operazione notiamo che viene applicato l’operatore ρ (ridenominazione) seguito dalla notazione Genitore←Padre posta a pedice del simbolo della ridenominazione. Questa notazione indica che il nome dell’attributo Padre della relazione Paternità verrà cambiato in Genitore nella relazione risultante. Il risultato di questa operazione sarà la seguente relazione:
Come notiamo dalla figura, sono presenti tutte le coppie Genitore/Figlio e sono presenti solo 2 attributi nominati Genitore e Figlio.
Operatori di Selezione e Proiezione
by aledra82 on nov.29, 2009, under Programmazione
Dopo aver spiegato le operazione insiemistiche, oggi parleremo di operatori che permettono di manipolare le relazioni (le tabelle). Gli operatori sono:
- Selezione (simbolo: σ)
- Proiezione (simbolo: ∏)
queste due operazioni vengono dette ortogonali in quanto sono definite entrambe su un operando e producono come risultato una porzione dell’operando. In particolare l’operazione di selezione produce un sottoinsieme di tuple (righe della tabella) su tutti gli attributi, mentre l’operazione di proiezione dà un risultato in cui contribuiscono tutte le tuple, ma su un sottoinsieme di attributi. Nella seguente figura vi schematizzo quanto definito sugli operatori di selezione e di proiezione:
Le operazioni di selezione possono prevedere dei confronti fra attributi e si possono creare anche dei confronti complessi utilizzando i connettivi logici OR (V) AND (Λ) e NOT (¬). Detto ciò prendiamo in considerazione la tabella “Impiegati”:
ed effettuiamo questa operazione di selezione: σ Età > 30 Λ Stipendio > 4.000.000 (IMPIEGATI) in sostanza verranno selezionati soltanto gli impiegati con età maggiore di 30 e con uno stipendio maggiore di 4.000.000. Il risultato sarà:
Ora passiamo ad un esempio con l’operazione di Proiezione e prendiamo in considerazione quest’altra tabella “Impiegati”:
ed effettuiamo questa operazione di proiezione: ∏ Cognome,Nome(IMPIEGATI), come risultato avremo un’altra tabella contente tutte le tuple, ma definita solo sugli attributi Cognome e Nome:
Il risultato di una proiezione può contenere al più tante tuple quante l’operando, ma può contenerne anche di meno.











