2- IL RELAZIONALE
MODELLO matematica
relazione
Ripasso relazione sugli
matematica insiemi
una
:
)
domini
( Una relazione
del
sottoinsieme
Da prodotto
Da è
Dn cartesiano K
un su
. . ,
, .
, grado Il urla
ha k cordialità
la
domini relazione
di in è
n una
numero - .
.
Il l' tali
insieme
cartesiano ordinate
tutte
prodotto uple
le
Dax che
Da xdn di
è
× n -
. .
Ds da
ds Da due Dn
E t . . . ,
, .
,
Una relazione tripla ordinata
insieme triple
di ciascuna
è è
e
un .
Si l'
tabella ( importa
attributi ordi
colonne gli
creare con come
può una non
(
) uguali
triple
righe le righe
ci 2
o
ne a
essere
possono
e non
come
attributi )
uguali .
(A)
t attributo
dell'
la t ha
valore
il tripla in A.
corrispondenza
che
è
Notazione :
Algebra relazionale
Utilizziamo linguaggio (
di language ) dati
interrogazione basi di
un query per
Gli dell'
differenza
algebra
relazionali operatori relazionale intersezione
unione
sono :
. ,
,
ridenominazione selezione join
proiezione
, .
, ,
,
intersezione
Unione differenza quelli classici
sono
e
, .
In alcuni llist rel
comandi Name lqnit
RA utili sono : .
, ,
L' nell
fa tela
lumion
unione si : ;
fa
L' relia
intersezione Intersect relz
si : ;
differenza
La fa tela
rete ldiff
si : ;
Ridenominazione sostituisce
)
REN di
(
relazione ai nomi
: as *
es Bn
← ←
.
. .
.
Bs As
di
Bn An
i nomi , .
. .
. .
, , .
La { } )
ridenominazione fa (
altre altra rel
Irena
si me ;
: ,
_
Selezione gli
risultante
la attributi
relazione relazione ha stessi
)
(
SEL
: condizione
quella partenza triple
solo booleana
soddisfano
le la
di
di che condizione
ma
, .
La selezione fa lselect { )
} relazione
si (
condizione ;
: _
Proiezione risultato
relazione quella
la
Protesta relazione
) è
(
: annienti
parentesi
tra attributi
attributi
gli ) lista Spesso
( colonne
solo di
con .
selezione
combina la
si con . }
Attributi
{ ( )
fa project lista rel
La proiezione i
si ;
: -
Join : date relazioni
naturale composta
join due da
una
se
• crea nuova
ne
: gli
ty tx ty
triple tx
tutte valori
tali abbiano
le stessi negli
che e
e relazioni
in
attributi relazioni hanno
Se le
le due
tra due non
comune .
attributi facendo
stiamo il prodotto
in cartesiano
comune .
Rds Rel
JOIN 2 .
naturale tele
al join tela
fa I
join si : ; attributi
relazioni
le
thetajàn solo in
hanno
si 2
può
• : se
usare non
selezione
vi booleana di
condizione
è
comune e una . )
(
Second " "
Retz join
chiama qui
Johfondiziomercls è si
e -
. .
{
reti }
Il join
theta tela
fa condizione
join si ;
:
- -
esterno verrebbero tagliate
join triple
le
estende nulli
valori che
• : con
- Tipi
fuori mantiene
dal Esiste triple
sinistro ( del
le
di operando
join 3 primo
:
. ) )
estendendole destro ( (
del )
completo
nulli entrambi
valori di
secondo operando
con .
.
, .
. , .
Roll JOIN Rel
Rel Roll
Rel
Rel 2
JOIN 1 JOIN
i
2 1
;
left right pull .
Valore tabella
in valore sconosciuto
esserci
NULL può
: una un ,
abbiamo allora introduciamo
inesistente informazioni
di cui
o non ,
l'
denota
il valore del
che dominio
nullo valore
di
null assenza un .
In algebra condizione Mentre
valori
solo nulli
è per
una vera per
non .
riferirsi nulli le
valori /
si condizioni 15 NULL NULL
is not
usare
possono
a .
Equivalenza espressioni
due equivalenti risultato
stesso
lo
producono
se
sono
: .
Vincoli di integrità )
booleana
(
delle devono
sono soddisfatte tutte
che da
condizioni essere
base dati
le della
istanze di .
tipi ( )
Sono intrarelaziomali tripla di
di due dominio
di di chiave
e
: :
: interrelazioni integrità referenziale inclusione
di di
: e .
Vincoli tripla Tripla
di valori di
condizioni di ciascuna
sui
sono
:
relazione attributo
coinvolgono solo
Se di
vincoli dominio
sono
una un
. .
passati
relazione
in gli
Es il tra
deve
voto
esami
una compreso
con
: essere ( )
tripla
( true
dominio di
)
vincolo lode
solo
di è v.
18 se può
30 avere
30 =
e
e .
( II II.
; III. "" nota vuota
e
a = :
V (
not de
legge
not )
not
N di Morgan
p =
a a p
Vincoli definiamo
di chiave condizioni
due
: . triple
superchiare
di relazione
Condizione ha due ts tz
una non
se
: ,
tali talk
distinte allora
take
che superchiare
K insieme
] è non
una :
, almeno
attributi valore
differisce il
triple
in ogni di
vuoto di
coppia
di cui per chiave
una
è
non
←
attributo (
in )
K nascita
un es cognome ;
: nome corso
, ,
. ,
condizione chiave superchiare minimale sottoinsieme
K
di proprio
è
se nessun
una
: :
(
di superchiare
te )
è nascita
una es cognome
: nome ;
. ,
,
L' Tutti attributi relazione
vuoto gli ha
insieme quindi
superchiare
di è ogni
non e
una ,
.
almeno chiave
una . attributi soddisfi
vuoto
vuole di
la
Un vincolo di condizione
chiave che
di insieme
un non
relazione
di
chiave istanza
ogni
per . nulli
valori
chiave relazione
ammette
primaria
Una ogni
che
chiave può
è una non ,
attributo
tale vincolo sottolineato
al massimo che sarà
avere un
su , .
data
Vincolo la
)
(
referenziale foreign
integrità
di attributi
Key di
X non
: sequenza n
vuota 4 formano
attributi
di Rs Rz
in istanza
chiave Ogni
che
di una
n
una
e .
valori 4
di combinazione
in di
comparire in
X Rs deve Ra
come su .
" " Ìg
"
" "
!
i - -
- vincolo
nulli
Eventuali violazione del
valori sono una
non .
Vincoli foreign
di vincolo
inclusione il di Key Y deve
è come
: ma non
,
formare chiave Ra
una su .
3- SQL
Sql structured Query Language
= .
basato
Un dati relazionali
consente basi
di gestire di
DBMS SQL
su .
fatto tabelle
al
attenzione
fare
Bisogna le multi
in di
che SQL usiemi
sono
)
( uguali
triple relazione
Triple quindi
due
esserci lo
è
possono una ma
non ,
,
diventa inserendo primaria
chiave
una .
attributo identifica
Un Attributo
NomeSchema b.
meta
No
si : .
ambiguità
anche omettendo il vi
schema è
o se
nome non
ambiguità nometab
Se vi è su
non nemmeno
.
attributo
semplicemente l'
scrivere
si può target
. list
| p
Istruzione select tabella
restituisce
che
: una
tabella
tripla della
in cui il
t cui
ogni
: nome
from
nella clausola analizzata soddisfa del
t la condizione
Se
viene
compare non
. list
target
la where prodotta la
altrimenti secondo gli
clausola altri
ignorata bui
viene
viene , risultante risultato
tripla
clausola la
E della select nel
inserita
viene
e .
Questa relazioni
( parla
equivalente
istruzione analoga perché di
si
è ma
non
non ,
tabelle )
di ( )
Profano ( )
tabella
Sel
:
a condizione _
*
. .
, . tabelle
tre le degli
l'
Nelle clausole dare
denominare
si ri
può o
per
as
usare a
attributi
alias agli Si omettere
anche
può
. . metterci true )
( o
white
Per fare la affinché
possiamo clausola
omettere la
proiezione sia
ma
,
dell'
equivalente distendi
bisogna
algebra
quella select
relazionale dopo
scrivere per
a
eventuali duplicati
rimuovere .
Per fare la bisogna
selezione mettere clausola select
invece nella
proiezione che
*
senza ,
risultato tabella
attributi
fa tutti
il della
che contenga gli
si .
Nella clausola where mettere booleana
qualsiasi
possiamo espressione anche
o usare
l' like verificare
operatore regolare
stringa appartiene ad espressione
un'
se una
per .
Possiamo " gestire eventuali
" null nulli
scrivere is valori
anche per .
Nella target list qualsiasi tipo di
possiamo espressione
usare .
Se tabelle
nella from
clausola inseriamo calcola che ogni
ciò
più :
from
tabelle
t prodotto cartesiano nella
le
tra
tripla del verifica
se non
nella
la prodotta
altrimenti
condizione la
where ignorata
viene viene
,
list clausola
la nel
target project
secondo select
nella viene
e messa
(
risultato calcola il
dawero )
prodotto Mettere tabelle
cartesiano
SQL più
non
. .
farne
nella from join
è una
come .
Per fare Theta join
il :
- i
fare
Per esplicito
join
il : .to
- immesse
-
Per fare naturale
il join :
-
fare
Per (
il join esterno uguale right
per
:
- )
full
e .
Si by
risultato
ordinare in
arder
anche il ascendente
ordine
può e
con ( )
by discendente la
arder in dopo
ordine
desc where
messo
con va
.
. . .
(
Si )
liwit
limitare risultato
la ultimo
del
dimensione
può va
con messo per
. .
Si valori
contare ennvple Court
il di
di i
)
( *
possono numero un
con ,
attributo ( mettendo
)
cant distinti
valori distinti
attributo tra le
i pare e
con e Non
Ha
tesi conta
combinata
Attributo
dell' i
prima by
la NULL
senso group
con .
. .
Altri operatori aggregati min
sum avg max
sono : ,
, , .
Per funzioni
le di
applicare triple si
di
aggregazione gruppi può
a
by lista le
Attributi hanno
triple
che lo
che stesso
raggruppa
group
usare , la
valore negli Se
listaAttributi by
attributi importante
in che
usiamo è
group
.
target list
solo
compaiono select
anche
omogenee può essere una
. \
Sui havingcond
delle
imporre clausola
si usando la
gruppi condizioni
possono .
La sintassi generale ordine
in è :
l' l'
si intersezione tabelle
fare differenza
la
anche unione due
di
può e
,
Select . .
.
clausole
le mantiene
elimina all
)
duplicati
( ( i
union
unioni i o
con Select .
.
. )
differenza
) (
all
except
except
duplicati modo
Allo Intersect
stesso e e
. ,
internet all .
Definizione dati Postgresol
in
Creare database database
create ;
un :
Creare database create schema
in
name un ;
space
un :
Creare istanza vuota tabla
di relazione create
schema
di
un' :
la semantica
cui è :
predefiniti
Alcuni domini sono :
Ma ridefinire
anche
si possono con :
Un Constant
vincolo Vincolo
dichiarare
si usando
esplicito
può nome
con nome
un : .
definire
Un null
not
nullo
vincolo si può non con : .
Un definire )
(
vincoli superchiare
insieme di Altre Atm
unique Altra
si possono come con : .
. .
,
, ,
[ implicano null
not
definire
vincolo
Un Key
chiave
si primaria primary
può con :
come )
mettere
Per (
condizioni vincoli check
sui può
si condizioni
usare :
referenziale
inserire
Per integrità
vincoli di si usa :
)
(
references Attributo
Relazione singoli attributi
per nella tab
altri
gli )
( .
.
foreign firmatene
attributi
Key IAN Altri più
referenus per
,
. .
, . .
.
Per modificare tabella table
alter column
tab
si add tipo
col col
una usa : nome nome _
. )
(
default null ;
Per eliminare I
restrict
tabella nometab casggde
drop treble
si
una usa : t tutte
tabella
la
elimina e
solo
elimina riferiscono
quelle
default ad
che si
se essa
: riferimenti ad essa
ci sono
non
Manipolazione dati
dei
si tabella
in
inserire
può una con : oppure SESSANTASEI
amore →
Eliminare con : ( )
true
ometti intende where
si
where
se
Modificare triple con :
Creare vista
una :
tabella temporanea
creare vista oppure
o
una :
cancellare drop
vista view
una : (
Interrogazioni ! )
complesse parentesi
tra
sempre
nella where
Select :
Si nella
select
annidare mettendone
Un
più where
modo
primo è una
possono .
.
Semantica calcola from
il cartesiano
prodotto nella
operazionale si ogni
per
: e
tripla select proiettando
calcolandone
clausola
vediamo verifica la
la poi
where e
se
Tutto
il list
target
la select
della prima
con .
Nella ( )
valido
operatori almeno tripla
where vari
si a
per
any
come
possono usare : -
, ( )
all triple
le
tutte
valido per
- ( )
in any
=
- ( )
all
not in e >
- exists
-
)
alias
(
Visibilità variabile select
alias definita
X
in
degli X visibile B
è è
se
una una
: nella definita (
in visibile
X select
B B
in che
cui
è è
oppure se a meno
) Quindi
X lo
mascherata stesso
variabile
da di
sia X
B nome
non una con .
riferimento
fare blocco
definite
esterni
variabili nello blocchi
stesso
si più
in
può o
a
( tranne )
mascherate
se sono
non .
Select from
nella :
nella from
select
Una alias chiamata
denominata ed
sempre è
con un
va tabelle
tabella mediante
derivate altre
triple
le da
cui
vista ovvero sono
una una
, Quindi faremo
semantica
interrogazione operazionale
nella le
il prodotto tra
cartesiano
.
tabelle from
nella viste
le
e .
Le parentesi
viste tra due
vanno sempre messe .
altro
Un definire with vista
modo mia
di vista è as
con
una : ( select
from )
- . .
Si list utile
target
select
annidare delle nella
anche è
possono poco
ma .
,
Privilegi
] caratterizzati
privilegi l'
dalle riferiscono utente li
risorse cui che
si
sono a ,
l' la trasmissibilità
li
concede quello viene
azione
riceve che
che sua
e
permessa
, .
,
] dette
Update
tipi privilegi select references
inserto
di usage
sono : ,
, ,
,
, .
Per privilegi
concedere :
Per privilegi
revocare :
Transazioni atomico
(
sono indivisibili )
considerare
insieme operazioni da
di
un ,
definitivi
corretto effetti
in
anche di
presenza concorrenza e con .
Proprietà ( )
Acide
: dati
le
Atomicità intero
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.