Anteprima
Vedrai una selezione di 18 pagine su 85
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 1 Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 2
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 6
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 11
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 16
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 21
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 26
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 31
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 36
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 41
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 46
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 51
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 56
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 61
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 66
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 71
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 76
Anteprima di 18 pagg. su 85.
Scarica il documento per vederlo tutto.
Appunti/Riassunto completo esame Basi Di Dati, Pietro Pala Pag. 81
1 su 85
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Operatore di Ridenominazione

L'operatore di ridenominazione, denotato come A'←A(R), cambia il nome di un attributo. Tramite questa operazione non è possibile dare ad un nuovo attributo il nome di uno già esistente.

Operatore di Selezione

Una condizione di selezione su un insieme di attributi X è una formula proposizionale su X, ottenuta combinando con i connettivi logici (AND, OR, NOT) condizioni atomiche. La si indica con σ. Il risultato contiene le tuple che soddisfano la condizione (operatore) relazione. Tale operazione è sempre falsa se il campo coinvolto ha valore NULL, di conseguenza è necessario introdurre gli operatori IS NULL e IS NOT NULL per poter gestire anche questi casi.

Grado: è lo stesso della relazione.

Cardinalità: è lo stesso della relazione.

≤0 (F(R))≤(R)

Proiezione :

  • data una relazione ed un insieme la proiezione di R su Y si indica con ed è una⊂X R(X) Y Y(R) relazione definita su Y e contenente le n­uple di R considerandone solo i valori su R' Y, .Y(R)={t[Y]∣t∈R}

Grado :

  • ≤• 1 Grado(Y(R))≤Grado(R)

Cardinalità :

  • ≤• 1 (Y(R))≤(R) proiezione non sia su una super­chiave.→ Join ←Il join è un operatore che combina dati contenuti in tabelle diverse, le righe del risultato del join sono ottenute concatenando le tuple degli operandi dove il valore del campo è uguale.

Proprietà del join :

  • Un join si dice completo se ciascuna delle tuple di entrambe le relazioni partecipa al risultato.
  • Un join si dice non completo se almeno una delle tuple di entrambe le relazioni non partecipa al risultato.
  • Un caso particolare di join non

Completo è quello vuoto• Un caso particolare di join completo è quando ogni riga della prima si combina con ogni• riga della seconda, questo caso costituisce l'estremo superiore. Un altro caso particolare è un join dove in una tabella il campo è una chiave primaria, allora• la cardinalità del risultato è esattamente la cardinalità dell'insieme senza chiave. Possono sussistere più percorsi di join tra due tabelle.• Il join gode di proprietà commutativa e associativa (se effettuato sullo stesso percorso).•I diversi tipi di Join :Join Naturale :• ​siano​ , è una relazione su​ tale1(X1),2(X2)​R1JOINR2​ X1∪X2​che​ .R1JOINR2={tsuX1∪1∣∃t1∈R1et2∈R2cont[X1]=t1et[X2]=t2}​Cardinalità : in generale​ .≤• 0 R1JOINR2≤R1×R2​Join esterno :• questo tipo di join inserisce nella relazione i dati che in altro modo non

Sarebbero stati inseriti, sostituendo con NULL i dati mancanti.

Sinistro: • garantisce che partecipino tutte le tuple della prima relazione. Cardinalità minima:  R1

Destro: • garantisce che partecipino tutte le tuple della seconda relazione. Cardinalità minima:  R2

Full: • garantisce che partecipino tutte le tuple di entrambe le relazioni. Cardinalità minima:  max(R1,R2)

Theta-Join: • un join naturale tra due relazioni che non hanno attributi a comune fa saltare fuori un prodotto cartesiano, tale risultato non ha senso, a meno che non sia seguita da una selezione. Si tratta quindi di un join che unisce due tabelle che non hanno elementi a comune e successivamente opera una selezione. R1 JOIN condizione R2

Nel caso in cui nella condizione siano presenti solo operatori "=" per il confronto si parla di equi-join.

Quando lo si adopera su un vincolo di IR si esplicita una relazione tra due tabelle diverse: Livello sintattico:
  • I valori della tabella interna sono vincolati a comparire nella tabella esterna.
Livello semantico:
  • Vengono resi espliciti dei dati che non sono contenuti né nella prima né nella seconda tabella.

SQL

Il SQL è il linguaggio di riferimento per l'interrogazione di DBMS relazionali. Lo Structured Query Language (SQL) contiene sia il DDL che il DML.

SELECT

Questa istruzione permette l'estrazione dei dati.

[ * | [Attributo, ...] ]

Select ➢ NomeTabella

From ➢

Questa operazione equivale alla proiezione nell'algebra relazione. Se viene scelto il * verrà visualizzata l'intera tabella, in caso contrario verranno visualizzate solo le colonne degli attributi scelti.

[ * | [Attributo, ...] ]

Select ➢ NomeTabella

From ➢

Condizione [ ]

Where =, <, >, <=, >=, <>, like [_(?),%(*)]

is [not] NULL - Tramite l'aggiunta di questa condizione è possibile scegliere solo alcune delle righe volute. La condizione prima espressa è costituita da un'espressione booleana calcolata riga per riga sugli attributi. La relazione risultato conterrà solo le righe per le quali la condizione è vera.

Oltre agli operatori di confronto (=, <, >, <=, >=, <> (diverso)) il SQL mette a disposizione l'operatore like, questo operatore supporta il confronto tra stringhe, in aggiunta è possibile usare due caratteri speciali _(?), che rappresenta un qualsiasi carattere, e %(*) che rappresenta una stringa di un numero arbitrario di caratteri.

Tra i vari operatori ci sono anche quelli che scandagliano i valori nulli.

op valueSelect as - NomeTabella NomeAlternativoFrom as - CondizioneWhere

op è un'operazione su un attributo, ad esempio "stipendio/12" restituisce nella relazione risultante

il valore dello stipendio mensile. È l'operatore di ridenominazione, nel caso precedente può essere utilizzato: "stipendio/12 as StipendioMensile". Può essere usato anche nelle tabelle per rendere il nome più veloce da scrivere o più intuitivo per capire l'operazione in atto.
  1. Select
    • Tabella1, Tabella2
  2. From
    • Tabella1.attributo=Talbella2.attributo, ...
  3. Where
    • Naturalmente può essere necessario combinare il risultato di più tabelle, per fare ciò è necessario indicare le tabelle da prendere in considerazione e esplicitare il criterio col le quali queste sono correlate. Questa operazione prende il nome di theta-join, viene eseguita attraverso due passaggi:
      • prodotto cartesiano.
      • selezione delle righe attraverso un criterio.
Considerazioni: Tra due tabelle possono esserci più percorsi di join, o nessuno, e a ciascuno di essi.
<p>è• associato un significato ben preciso. Effettuare un join con la condizione di uguaglianza permette di estendere la prima tabella• con le informazioni contenute nella seconda. Come visto in precedenza tramite l'operatore di ridenominazione è possibile definire più• istanze della stessa tabella per poter effettuare operazioni sulla stessa tabella.• 

<p>[ ] AttributoSelect distinctNomeTabella• FromI dati estratti possono ripetersi, infatti il costo per eliminare le ripetizioni sarebbe troppo alto epotrebbe essere non essere necessario. Tramite l'operatore distinct è possibile imporre al DBMS dicancellare i doppioni. [ * | [Attributo, … ] ]Select

<p>➊ Tabella1 Tabella2 Tabella1.attributo=Talbella2.attributoFrom join on➋ CondizioneWhere➌Questa è una sintassi esplicita ed equivalente del join visto prima. T1 [ ] T2 T1.attr=T2.attrFrom TYPE join on

= [[ ] [ ]]TYPE inner|natural|left|right|full outer

Tramite questa nuova sintassi è possibile usare il join preferito, quello di default è inner che corrisponde al theta-join.

[ * | [Attributo, ... ] ]Select

NomeTabellaFrom

CondizioneWhere

Attributo1 [ ] { , Attributo2 [ ] }order by asc|desc asc|desc

Quest'ultima clausola permette di ordinare le righe della tabella risultante secondo un attributo, se questo attributo avesse più righe uguali sarebbe possibile ordinarlo secondo il secondo (se esplicitato) e così via. Di default la clausola pone l'ordine ascendente.

[ * | Attributo ]Select OpAggregato ( )

OpAggregato := < count|sum|avg|min|max >

NomeTabellaFrom

CondizioneWhere

Gli operatori aggregati non possono essere nidificati. Analizziamoli uno alla volta :

ListaAttributi

• Count ( < * | [ distinct | all ] > ) l'opzione * restituisce il numero di righe

;• ​l'opzione​ restituisce il numero di righe con valore diverso e non nullo nella• distinctListaAttributi ; ​l'opzione​ , è il valore di default, restituisce il numero di righe di valore non nullo• alldegli attributi in ListaAttributi ;• < sum | avg > ( [ distinct | all ] listaAttributi )la somma e la media ammettono come argomento solo le espressioni che rappresentano• valori numerici o intervalli di tempo ;• < max | min > ( listaAttributi )il massimo e il minimo richiedono solamente che venga espresso un ordinamento• sull'espressione.​[ * | [Attributo, … ] ]

Select➢ ​NomeTabellaFrom➢ ​CondizioneWhere➢ ​Attributo [, Attributo]Group by➢questa direttiva permette di raggruppare le righe del risultato secondo un valore comune, è utileunire gli operatori aggregati per avere statistiche sui dati. Naturalmente non è possibile usareoperatori aggregati sui valori raggruppati.

Se si vuole conoscere dei dati in un'altra tabella è necessario raggruppare per un ulteriore valore di quella tabella.

Attributo

Dettagli
Publisher
A.A. 2020-2021
85 pagine
2 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher unifi_student di informazioni apprese con la frequenza delle lezioni di Basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Firenze o del prof Pala Pietro.