...

lezione 3 – database (dbms) - Università degli Studi di Milano

by user

on
Category: Documents
12

views

Report

Comments

Transcript

lezione 3 – database (dbms) - Università degli Studi di Milano
CORSO LAUREA MAGISTRALE IN SCIENZE DELLA
PRODUZIONE ANIMALE
Sistemi innovativi in zootecnia
Supporti avanzati per la gestione
dell’allevamento
(corso SUPAG)
Massimo Lazzari
Dipartimento di Scienze e tecnologie Veterinarie per la
Sicurezza Alimentare
Università degli Studi di Milano
Basi di dati
teoria … e pratica con Microsoft Access
Tab.I – I componenti tecnologici di base dei sistemi per l’agricoltura di precisione. A: Tecnologie
elettroniche; B: Tecnologie di posizionamento; C: Tecnologie informatiche hardware; D: Tecnologie
informatiche hardware
OLTP
Tipo di componente
OLAP
MONITORAGGIO
CTR
INQUADRAMENTO TECNOLOGIE DI BASE
AMBI
1
2
TECNOLOGIE ELETTRONICHE DI
BASE
A
3
4
TECNOLOGIE DI
POSIZIONAMENTO
B
5
6
7
8
TECNOLOGIE INFORM.
HARDWARE
C
9
10
11
12
13
TECNOLOGIE INFORM.
SOFTWARE
D
14
PROD
OPER
Sensori per la misura di parametri chimici e/o
 
fisici inerenti l’ambiente e/o il contesto produttivo


Sistemi di identificazione
Dispositivi per telerilevamento prossimale o


remoto (remote sensing o ground sensing)
Dispositivi attuatori per la regolazione e/o
automazione del funzionamento di macchine o
impianti, inclusi i sistemi per il dosaggio a rateo


variabile dei fattori (VRT, Variable Rate
Technologies)
Dispositivi per il controllo dei transiti (gate
(c)

detecting)
(a)


Sistemi GPS


Sistemi DGPS
Computer mobili (anche con funzioni di data

logger)


Computer fissi


Reti (Intranet locali e Internet)
Sistemi di comunicazione e trasferimento dati

(CAN bus, trasmissioni in RF, soluzioni wireless e 
bluetooth, etc.)
 
DBMS (Database Management Systems)
GIS (Geographical Information Systems), incluse
eventuali procedure di supporto alla
 
rappresentazione ed elaborazione dei dati
cartografici (geostatistica, georeferenziazione e
ortorettifica delle immagini)
Pacchetti software multifunzionali (Office
Automation) o per applicazioni specifiche


(statistica, analisi costi di esercizio, razionamenti,
prescrizione concimazioni, analisi delle immagini,
diagnostica attraverso indici multispettrali, etc.)










































) Non previsto o inadatto; ) Non indispensabile, benché potenzialmente utile; ) Consigliato,
sicuramente utile; ) Necessario o estremamente utile.
Basi di dati
Sono una delle applicazioni informatiche che
hanno avuto il maggiore utilizzo in uffici, aziende,
servizi (e oggi anche sul web)
Avete già interagito (magari
inconsapevolmente) con dei
sistemi di gestione di basi di dati:
all’anagrafe, in segreteria studenti,
in biblioteca, …
4
Basi di dati
L’obiettivo è quello di memorizzare grandi quantità
di informazioni, rendendone disponibili anche le
operazioni di modifica e di reperimento
Una base di dati è solo software?
No!
Ad esempio, gli archivi genealogici esistono
da diversi decenni. Noi ci occuperemo
di sistemi informativi informatizzati
5
Basi di dati e DBMS
Base di dati: collezione di dati omogenei
DBMS (Database Management System): software
in grado di gestire collezioni di dati che siano grandi,
condivise e persistenti, garantendo affidabilità e
privatezza, in modo efficiente ed efficace
Grandi: ordine dei giga- o tera-byte
Condivise: più utenti devono potervi accedere simultaneamente
Persistenti: i dati vengono mantenuti, la loro esistenza non è limitata al periodo d’uso
Affidabili: i dati devono essere mantenuti anche in caso di malfunzionamento
Privatezza: i dati devono essere protetti
Efficiente: tutte le operazioni devono essere svolte in tempi accettabili per l’utente
Efficace: capacità di rendere produttiva l’attività dell’utente
6
DBMS
 Permettono di definire in modo semplice la
struttura della base di dati e forniscono dei
comandi per l’accesso alle informazioni.
In genere si usano per




Inserire i dati
Rimuovere i dati
Aggiornare i dati
Effettuare operazioni di ricerca
 I moderni DBMS forniscono la possibilità di
accesso simultaneo ai dati garantendone la
consistenza
7
DBMS
DBMS
Inserimento nuovo
allevamento
inserisce nuovo
animale
Trasferimento animali
amministratore
Macellazione
Morte animali
base di dati
(es. anagrafe centralizzata animali)
8
DBMS
Utente
dati
dati
dati
dati
DBMS
Programma
applicativo
Non ci occuperemo dell’organizzazione e della gestione di
DBMS ma della progettazione e dell’utilizzo del programma
9
applicativo…
Problema affrontato
raccogliere, organizzare, conservare
e gestire dati omogenei e strutturati
ANIMALE
ANIMALI
Avrà un nome, un azienda di
appartenenza,
una matricola, ecc.
Ognuno avrà il proprio
nome, matricola, ecc.
singolo
molti
10
Problema affrontato
Rihiesta di interventi legati alla condizione nella carriera produttiva
Avrà una data, delle caratteristiche associate (quantità, qualità)
… diventa interessante mantenere informazioni su
quali animali sono stati fecondati, hanno partorito,
sono stati visitati dal veterinario e con quale risultato
… quindi mettere in relazione le informazioni relative
agli animali e quelle relative agli alla loro carriera
produttiva e agli interventi connessi
11
Problema affrontato
 Data una realtà da modellare (es. animali e fase
produttiva, operatori che intervengono, veterinario)
 Capire quali informazioni sono utili (es. “matricola” è
utile per rappresentare gli animali, nome e cognome per
operatori e veterinari)
 Capire come le informazioni utili sono correlate
(es. chi è stato fecondato, chi ha partorito, chi era responsabile
di svolgere e seguire il lavoro)
 Sapere chi può accedere a quali informazioni
per eseguire quali azioni
 Avere strumenti per lavorare sui dati (es. quante
fecondazioni sono state fatte alla vacca Rosina nel 2006? Con
quale risultato medio?)
12
Progettazione di una base di dati
1. Analisi dei requisiti
individuare e studiare le funzionalità che il
sistema dovrà fornire
2. Progettazione
(a) concettuale
(b) logica
(c) fisica
3. Collaudo
verifica del corretto funzionamento del
sistema
13
Progettazione di una base di dati
Requisiti della base di dati
Progettazione
Progettazione
concettuale
Progettazione
logica
Progettazione
fisica
Prodotto della progettazione
14
Ontologia-Analisi dei requisiti
Raccolta e studio delle funzionalità che il sistema
dovrà avere. Comporta l’interazione con gli utenti
del sistema e si conclude in una descrizione
informale dei suoi requisiti
Descrizione
informale
15
Progettazione concettuale
Ha lo scopo di rappresentare la realtà di
interesse in termini di una descrizione precisa e
completa ma indipendente dai criteri di
rappresentazione usati dal sistema informatico
scelto per gestire la base di dati
(rappresentazione astratta)
Schema
concettuale
16
Progettazione logica
Ha lo scopo di rappresentare la realtà di
interesse in termini di una descrizione ancora
indipendente dai dettagli fisici ma concreta, in
quanto presente nei sistemi di gestioni delle basi
di dati. Lo schema concettuale definito nella fase
precedente viene tradotto nello schema logico
Schema
logico
17
Progettazione fisica
Lo schema logico viene completato con le
specifica dei parametri fisici di memorizzazione
dei dati (organizzazione dei file e degli indici). Si
definisce lo schema fisico dei dati che dipende
dal sistema di gestione di basi di dati scelto
Schema
fisico
18
Progettazione concettuale
Schema
concettuale
19
Il modello Entità-Relazioni (E-R)

Consente di rappresentare la realtà di interesse
tramite un insieme di costrutti

Ogni costrutto ha una rappresentazione grafica
corrispondente. Ad esempio:
entità
relazione
attributo semplice
attributo composto
……..
20
Entità
Sono classi di oggetti, che hanno tutti le
stesse proprietà ed esistono in modo
autonomo; ogni entità è quindi un insieme di
oggetti, detti anche istanze o occorrenze
OPERATORI
TIPI LAVORI DI
STALLA – FASE
RIPRODUTTIVA
ANIMALI
VETERINARI
21
Relazioni (anche dette associazioni)
Sono legami logici fra due o più entità. Anche
un’associazione è un insieme, è l’insieme
delle correlazioni fra i singoli elementi delle
entità coinvolte
e1
e2
e3
Anim.1
Fecondazione
e4
Anim2
e5
Anim3
Anim4
e6
Controllo calore
Parto
22
Relazioni
In uno schema E-R ogni relazione ha un
nome che la identifica in modo univoco ed è
rappresentata mediante un rombo
Animale
Evento
LAVORO DI
STALLA - FASE
RIPRODUTTIVA
23
Esempio
Entità: Animali
Istanze: rosina, bruna, stella, mora, …
Entità: tipi di lavori
Istanze: parto, messa in mungitura, separazione colostro,
fecondazione, controllo calore, iniezione ormoni,
Evento Lavoro: relazione (anche detta associazione) fra le
entità ANIMALE e TIPO DI LAVORO
VENDITA: relazione fra le entità AZIENDA e ANIMALE
MACELLAZIONE: relazione fra le entità MACELLO e
ANIMALE
24
Attributi
Descrivono le proprietà elementari di Entità
e Relazioni. Ogni attributo assume dei valori
all’interno di un insieme di valori ammissibili
detto dominio
Nome
Giorno
Data
Mese
MATRICOLA
Anno
Attributi semplici
Attributi composti
25
Esempio
Data carico
NOME
ANIMALE
posseso
AZIENDA
Numero civico
CAP
Nome
MATRICOLA Data nascita
26
Esempio
nome
mansione
telefono
OPERATORE
Data
Nome matricola
TIPO LAVORO
EVENTO
LAVORO
ANIMALE
Nascita
Messa
in mungitura
Sesso
parto
fecondazione
Anche le relazioni possono avere degli attributi che vengono rappresentati come nel
caso delle entità, ma associati ai rombi che le descrivono
27
Cardinalità delle relazioni
Per ogni entità che partecipa a una relazione è
possibile indicare il num. min e max di legami
che le sue istanze possono avere con istanze
delle altre entità partecipanti alla medesima
relazione
ANIMALE
(0,1)
(0,5000)
MACELLAZIONE
MACELLO
Un ANIMALE può essere macellato (1) oppure non essere macellato (0)
Una macello può avere non macellato (0) o averne al massimo 5000 animali macellat
28
Cardinalità delle relazioni
Se la cardinalità minima è 0 si dice che la
partecipazione dell’entità relativa è opzionale, se
la cardinalità minima è maggiore o uguale a 1, la
partecipazione è obbligatoria
(0,3)
GESTIONE
REPARTI
OPERATORI
(1,1)
Ogni reparto (fecondazione; gestazione; ingrasso) è gestito da un (1) e un solo
(1) operatore. Alcuni operatori non gestiscono alcun reparto (0) ma un
operatore può gestirne fino a tre (3)
29
Cardinalità delle relazioni
Nella maggior parte dei casi si usano solo tre
valori: zero, uno, e il simbolo N (ovvero >=1)
Se la cardinalità massima è 1 la partecipazione
all’entità può essere vista come una funzione che
associa ad una occorrenza di una entità una sola
occorrenza dell’altra entità
Se la cardinalità massima è N esiste una
associazione con un numero arbitrario di occorrenze
dell’altra entità
30
Tipi di relazioni
Osservando le cardinalità massime si ottiene la classificazione seguente
1
1
1:N
(uno a molti)
1
N
N:M
(molti a molti)
N
M
1:1
31
Esempio
CAVALLO
1
STALLO
ASSEGNATO
1
STALLO
A ogni CAVALLO è assegnato al più uno STALLO e a ogni STALLO è assegnato al più un CAVALLO
ANIMALE
N
CONTROLLO
SANITARIO
M
VETERINARIO
Ogni ANIMALE può avere DIVERSI CONTROLLI SANITARI EFFETTUATI DA DIVERSI
VETEINARI. OGNI VERINARIO PUO’ CONTROLLARE DIVERSI ANIMALI
32
Esempio
PERSONE
N
NUM ASSEGNATO
1
NUM_TELEFONO
Ogni persona può avere associati più numeri di telefono, ogni numero di telefono può essere associato al
più ad una persona

Che tipo di relazione si può stabilire tra
1. ANIMALI e CODICE ANGRAFE
2. ANIMALI e CARRIERA RIPRODUTTIVA
3. ANIMALI e AZIENDE
33
Associazioni a molte entità
Le associazioni possono collegare più di due entità,
per esempio il concetto di CONTROLLO SANITARIO,
inteso come Lavoro di stalla di un certo
VETERINARIO e un certo OPERATORE rispetto a
un certo ANIMALE, potrebbe essere rappresentato
come
AZIENDE
ANIMALI
CONTROLLI
SANITARI
VETERINARI
34
Identificatori (chiavi)
Ogni entità è un insieme di oggetti aventi le
stesse proprietà. È necessario poter identificare
in modo univoco ciascuna istanza di un’entità
Identificatore interno (ID): sottoinsieme di attributi che
costituiscono una chiave per l’entità
Identificatore esterno: quando non è sufficiente utilizzare
un sottoinsieme di attributi ma l’entità partecipa a una relazione con
cardinalità (1,1), i suoi elementi possono essere identificati tramite tale
relazione
35
Esempio: identificatore interno
Propritario
Indirizzo
AZIENDA
Cod. fiscale
(identificatore interno)
Nome
ANIMALE
Sesso
…
Matricola

(identificatore interno)
Vi vengono in mente altri esempi?
36
Esempio: identificatore esterno
Matricola
cane
(1,1)
ISCRIZIONE
(1,N)
Libro genealogico
madre
nome
Nome
Indirizzo Città
sesso
Quando gli attributi interni non sono sufficienti si possono considerare attributi di più entità.
37
Esempio: identificatore esterno
 Ad esempio, nel caso precedente che considera tutti I cani iscritti
a tutti i libri razza, non c’è garanzia che i numeri di matricola siano
univoci
 Per identificare in modo univoco un cane servirà quindi, oltre al
suo numero di matricola, anche il nome del libro razza a cui è
iscritto
 Quindi un identificatore corretto per l’entità CANE è dato dal suo
attributo Matricola e dall’entità LIBRI RAZZA, in particolare
dall’attributo Nome di LIBRO RAZZA, che è un identificatore esterno
 Naturalmente questo funziona perchè ad ogni CANE è associata
uno e un solo LIBRO RAZZA
38
Per il progetto Libro Eventi di Stalla
Pensate alla realtà dell’ modellare e
costruite lo schema E-R, rispondendo
alle seguenti domande:
1.
2.
3.
4.
Quali sono le entità coinvolte?
Quali le relazioni?
Che attributi servono?
Quali sono gli attributi univoci (chiavi) che
si devono usare?
39
Progettazione logica
Schema
logico
40
Modello Relazionale
Si basa sul concetto matematico di
Relazione e sul concetto intuitivo di Tabella
e permette di costruire un modello dei dati
Esistono diversi approcci alla
modellazione dei dati: modello
gerarchico, modello reticolare,
modello a oggetti, noi studieremo
il modello relazionale
41
Base di dati come insieme di tabelle
I dati che formano una base di dati relazionale
sono contenuti in un insieme di tabelle Ti. Ogni
tabella è una relazione, in senso matematico
Cosa vuol dire?
42
Struttura di una tabella
attributi
n1
vi1
n2
nn
vi2
vin
record ri
 Una tabella è un insieme di oggetti detti record
 Ogni record corrisponde ad una riga della tabella
 I record di una tabella hanno la stessa struttura
43
Attributi e valori
 Ogni colonna della tabella corrisponde ad un
attributo
 Ogni attributo assume valori su di un dominio
(es. numeri interi, sequenza di caratteri, l’insieme {lun, mar, merc, giov, ven}, …)
 I dati contenuti in una colonna sono omogenei
44
Relazioni fra tabelle

Supponiamo ora di avere due tabelle
T1
T2
Nome
Nascita
Città
bionda
bruna
stella
moro
settembre
agosto
dicembre
aprile
Pinerolo
Trino
Bra
Novi
Provincia
TO
VC
CN
AL
Possiamo fare il prodotto cartesiano T1 x T2 delle due tabelle?
Sì!
45
Attenzione …
 In questo caso ogni record è costituito da più colonne
T1
Nome
Nascita
bionda
bruna
stella
moro
settembre
agosto
dicembre
aprile
 Nel fare il prodotto cartesiano i record non vanno spezzati!!
T1 x T2 = { (r1, r2) : r1  T1 e r2  T2}
(bionda,settembre)
(Pinerolo,TO)
46
Risultato …
T1 x T2 = { ( ( bionda, settembre ) , ( Pinerolo,TO ) ),
( ( bionda, settembre ) , ( Trino,VC ) ),
( ( bionda, settembre ) , ( Bra,CN ) ),
( ( bionda, settembre ) , ( Novi,AL ) ),
…}
In pratica si compone ogni record di T1
con ogni record di T2
47
Risultato in forma tabellare
Nome
Nascita
Città
bionda
bionda
bionda
bionda
bruna
bruna
bruna
bruna
stella
stella
stella
stella
moro
moro
moro
moro
settembre
settembre
settembre
settembre
agosto
agosto
agosto
agosto
dicembre
dicembre
dicembre
dicembre
aprile
aprile
aprile
aprile
Pinerolo
Trino
Bra
Novi
Trino
Pinerolo
Bra
Novi
Bra
Pinerolo
Trino
Novi
Novi
Pinerolo
Trino
Bra
Provincia
TO
VC
CN
AL
VC
TO
CN
AL
CN
TO
VC
AL
AL
TO
VC
CN
48
Risultato in forma tabellare
Il numero di record della tabella
risultato è il prodotto del num. di
record di T1 per il num. di record di
T2 mentre il numero di colonne della
tabella risultato è il num. delle
colonne di T1 più il numero di
colonne di T2
49
Osservazione
 I dati devono essere coerenti
Nome
bionda
…
bionda
n. anagrafe
FR 48 0201 7285
FR 48 0201 7200
Non DEVE essere possibile associare due CODICI ANAGRAFE diversi alla stessa
bovina
50
Osservazione
 I dati devono essere consistenti
Matr. nome
200
bionda
altre info …
…..
matr
nome
200
?bionda
reparto
asciutta
Se la bovina bionda abbandona l’allevamento e viene quindi cancellata dall’elenco degli
animali presenti iscritti, non devono rimanere riferimenti alla medesima bovina bionda nelle
altre tabelle della base dati
51
Osservazione
 Il modello permette di specificare informazione
incompleta
 Per rappresentare la mancanza di alcuni valori il
concetto di relazione viene esteso permettendo
l’introduzione del valore nullo (NULL)
52
Vincoli
Molti di questi controlli e/o aggiornamenti
possono essere eseguiti in modo
automatico dal sistema, a patto che i
progettisti della base di dati esprimano delle
regole (dette vincoli) che indicano quali
controlli il sistema deve effettuare
53
Vincoli
 I vincoli sono delle proprietà che devono essere
soddisfatte dalle tuple e possono coinvolgere una
o più relazioni
1. Vincoli di dominio
2. Vincoli di chiave
3. Vincoli di integrità referenziale
54
Vincoli di dominio
 I vincoli di dominio riguardano gli attributi: i
valori che i record assumono in corrispondenza
dei vari attributi sono definiti nei loro domini
 Per il sistema “asciutta” e “bionda” sono due sequenze di
caratteri, quindi, se non ci fossero vincoli, potrebbero
appartenere alla stessa colonna di una tabella
 Sul numero capretti per parto si può imporre un vincolo: deve
essere compreso 1 e 3
55
Vincoli di chiave
 Come abbiamo già visto nel modello E-R, è importante
poter identificare gli elementi, in questo caso i record,
in modo univoco
 L’identificazione viene fatta in base al contenuto dei
record medesimi, innanzi tutto definendo un insieme di
attributi che combinati insieme assumono valori diversi
per ogni record (vincolo di chiave - ID)
 Un tale insieme è detto superchiave
56
Esempio
azienda
nome
breccia
casone
casone
breccia
contina
zucco
zucco
contina
bionda
bruna
bionda
bruna
moro
bionda
bruna
bionda
N. anagrafe vaccinazione sesso
11111
22222
33333
44444
55555
66666
77777
88888
….
….
….
….
….
….
….
….
femmina
femmina
femmina
femmina
maschio
femmina
femmina
femmina
Superchiave = { N. anagrafe}
Una superchiave minima è detta chiave primaria
57
Vincoli di integrità referenziale
 Usano il concetto di chiave esterna
 Una chiave esterna è un attributo o un insieme di
attributi di una relazione, i cui valori devono corrispondere
ai valori di una chiave primaria di un’altra relazione
 Si dice che una chiave esterna fa riferimento alla sua
chiave primaria
 Le chiavi esterne sono un meccanismo che consente di
mantenere l’integrità dei dati
58
Esempio
Condizione riproduttiva
Condiz,
nome
Asciutta bionda
Parto
stella
Parto
bionda
…
…
Dataevento
10/7/04
10/7/04
12/9/04
…
Cod anagrafe
111
222
111
…
animale
Cod.ana Nome
nome madre
111
222
333
…
caleffa
papaverina
sorda
…
bionda
stella
bruina
…
azienda origine
Interna
boschetto
Interna
…
59
Esempio
animale
Cod.anagr.
Titolo
Autore
Controllo sanitario
Cod.anagr.
CodVete
Data
veterinario
CodVete
Nome
Indirizzo
Telefono
60
Cosa significa?
1. Non si possono far visitare animali che non compaiono
nel libro stalla
2. Non si possono far visitare animali a veterinari privi di
iscrizione all’albo
3. Se si elimina un animale dal libro stalla, si eliminano
anche le informazioni ad esso correlate in modo
automatico
4. Se si modificano i codici dei veterinari secondo un nuovo
criterio di assegnazione, la tabella dei controlli verrà
aggiornata automaticamente
Mantenimento della coerenza dei dati contenuti nella base di dati
61
Relazioni tra tabelle
 Come visto il prodotto cartesiano fra tabelle non
porta molta informazione
 Ci fa vedere però come sia possibile definire
delle relazioni fra le tabelle e quindi come i dati
contenuti in una tabella possano essere combinati
con i dati contenuti nelle altre
 Più avanti vedremo come sia possibile combinare
tali dati per ottenere informazioni significative
62
Perchè relazionale?
 I dati sono contenuti in tabelle
 Le tabelle sono delle relazioni in senso
matematico
 È possibile definire nuove relazioni che combinano
i dati contenuti in più tabelle
 Esiste un supporto matematico formale che
consente di realizzare sistemi per l’elaborazione
dei dati rappresentati secondo il modello
relazionale
63
Osservazione
 I dati sono correlati
animale
Nome Matricola fiera
?
esposizione
categoria fiera
Concorso
valutatore categoria indirizzo
64
Relazione
Siano
Dnomi = { bruna, bionda, stella }
Dlavori = {parto, fecondazione, messa in asciutta,
messa in mungitura}
Prodotto cartesiano
Tutti i nomi combinati con tutti i gruppi
Dnomi x Dlavori =
{
(bruna, parto), (bruna, fec.), (bruna, asciutta),(bruna, mungitura),
(bionda, parto), (bionda, fec.), …,
…, (stella, mungitura)
}
3 x 4 = 12 elementi
65
Relazione
Il prodotto cartesiano, associando tutti con tutti,
non porta molta informazione
In generale ci interessa solo un sottoinsieme
delle possibili associazioni, ovvero una relazione
Es. { (bionda, manza), (bruna, lattazione), (stella, asciutta) }
Una relazione può essere rappresentata come una
tabella
bionda
bruna
stella
parto
mungitura
asciutta
66
Traduzione da E-R a Relazionale
Costruito lo schema concettuale (modello E-R)
occorre tradurlo in uno schema logico ad esso
equivalente, allo scopo di rappresentare la realtà di
interesse in termini di una descrizione ancora
indipendente dai dettagli fisici ma vicina al modello
dei dati usato dal DBMS scelto
67
Entità
 Ad ogni entità corrisponde una relazione con lo
stesso nome e gli stessi attributi. L’identificatore
dell’entità è la chiave della relazione
Nome
Veterinario
Cognome
Codfiscale
Indirizzo
Veterinario (Nome, Cognome, Codfiscale, Indirizzo)
68
Attributi composti
 Gli attributi composti possono essere tradotti come
una relazione a parte oppure essere appiattiti nella
relazione corrispondente all’entità in questione
Via
Indirizzo
Numero civico
CAP
INDIRIZZO (Via, Numero civico, CAP, Id)
VETERINARIO (…, Via, Numero civico, CAP)
69
Progettazione fisica
Schema
fisico
Cos’è l’SQL?
70
Le Istruzioni Fondamentali

DDL (Data Definition
Language)



creazione della base
di dati
CREATE DATABASE
creazione delle
tabelle
CREATE TABLE
DML (Data
Manipulation
Language)

inserimento delle
ennuple
INSERT INTO



interrogazioni
SELECT
eliminazione delle ennuple
DELETE
modifica della ennuple
71
UPDATE
Fly UP