Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG)...

71
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 CORSO LAUREA MAGISTRALE IN SCIENZE DELLA PRODUZIONE ANIMALE

Transcript of Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG)...

Page 1: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

Sistemi innovativi in zootecnia

Supporti avanzati per la gestione dell’allevamento

(corso SUPAG)

Massimo LazzariDipartimento di Scienze e tecnologie Veterinarie per

la Sicurezza AlimentareUniversità degli Studi di Milano

CORSO LAUREA MAGISTRALE IN SCIENZE DELLA PRODUZIONE ANIMALE

Page 2: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

Basi di dati

teoria … e pratica con Microsoft Access

Page 3: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

INQUADRAMENTO TECNOLOGIE DI BASEINQUADRAMENTO TECNOLOGIE DI BASETab.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

MONITORAGGIO Tipo di componente

AAMMBBII PPRROODD OOPPEERR CTR

OLAP

1 Sensori per la misura di parametri chimici e/o fisici inerenti l’ambiente e/o il contesto produttivo

2 Sistemi di identificazione

3 Dispositivi per telerilevamento prossimale o remoto (remote sensing o ground sensing)

A

4

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)

5 Dispositivi per il controllo dei transiti (gate detecting)

(c)

(a)

6 Sistemi GPS B

7 Sistemi DGPS

8 Computer mobili (anche con funzioni di data-logger)

9 Computer fissi 10 Reti (Intranet locali e Internet) C

11 Sistemi di comunicazione e trasferimento dati (CAN bus, trasmissioni in RF, soluzioni wireless e bluetooth, etc.)

12 DBMS (Database Management Systems)

13

GIS (Geographical Information Systems), incluse eventuali procedure di supporto alla rappresentazione ed elaborazione dei dati cartografici (geostatistica, georeferenziazione e ortorettifica delle immagini)

D

14

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.

TECNOLOGIE ELETTRONICHE TECNOLOGIE ELETTRONICHE DI BASEDI BASE

TECNOLOGIE DI TECNOLOGIE DI POSIZIONAMENTOPOSIZIONAMENTO

TECNOLOGIE INFORM. TECNOLOGIE INFORM. HARDWAREHARDWARE

TECNOLOGIE INFORM. TECNOLOGIE INFORM. SOFTWARESOFTWARE

Page 4: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

4

Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web)

Basi di dati

Avete già interagito (magari Avete già interagito (magari inconsapevolmente) con dei inconsapevolmente) con dei

sistemi di gestione di basi di dati: sistemi di gestione di basi di dati: all’anagrafe, in segreteria studenti, all’anagrafe, in segreteria studenti,

in biblioteca, …in biblioteca, …

Page 5: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

5

L’obiettivo è quello di memorizzare grandi quantità di informazioni, rendendone disponibili anche le operazioni di modifica e di reperimento

UnUna base di dati a base di dati è solo software? è solo software? No!No!

Ad esempio, gliAd esempio, gli archivi genealogici esistono archivi genealogici esistono da diversi decennida diversi decenni. Noi ci. Noi ci occuperemo occuperemo

di sistemi informativi di sistemi informativi informatizzatiinformatizzati

Basi di dati

Page 6: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

6

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-byteCondivise: più utenti devono potervi accedere simultaneamentePersistenti: i dati vengono mantenuti, la loro esistenza non è limitata al periodo d’usoAffidabili: i dati devono essere mantenuti anche in caso di malfunzionamentoPrivatezza: i dati devono essere protettiEfficiente: tutte le operazioni devono essere svolte in tempi accettabili per l’utenteEfficace: capacità di rendere produttiva l’attività dell’utente

Basi di dati e DBMS

Page 7: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

7

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

DBMS

Page 8: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

8

inserisce nuovoanimale

Trasferimento animali

Macellazione

amministratore

base di dati(es. anagrafe centralizzata animali)

DBMS

DBMS

Inserimento nuovoallevamento

Morte animali

Page 9: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

9

DBMS

Non ci occuperemo dell’organizzazione e della gestione di DBMS ma della progettazione e dell’utilizzo del programma applicativo…

DBMS

dati

Utente

Programmaapplicativodati

dati

dati

Page 10: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

10

Problema affrontato

raccogliere, organizzare, conservare e gestire dati omogenei e strutturati

Avrà un nome, un azienda di appartenenza, una matricola, ecc.

ANIMALE

singolo

ANIMALI

Ognuno avrà il proprionome, matricola, ecc.

molti

Page 11: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

11

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

Problema affrontato

Page 12: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

12

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?)

Problema affrontato

Page 13: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

13

1. Analisi dei requisitiindividuare e studiare le funzionalità che il sistema dovrà fornire

2. Progettazione(a) concettuale(b) logica(c) fisica

3. Collaudoverifica del corretto funzionamento del sistema

Progettazione di una base di dati

Page 14: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

14

Progettazione di una base di dati

Requisiti della base di dati

Progettazione concettuale

Progettazione logica

Progettazione fisica

Prodotto della progettazione

Pro

getta

zio

ne

Page 15: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

15

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

Ontologia-Analisi dei requisiti

Descrizione informale

Page 16: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

16

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)

Progettazione concettuale

Schema concettuale

Page 17: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

17

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

Progettazione logica

Schema logico

Page 18: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

18

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

Progettazione fisica

Schema fisico

Page 19: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

19

Progettazione concettuale

Schema concettuale

Page 20: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

20

Consente di rappresentare la realtà di interesse tramite un insieme di costrutti

Ogni costrutto ha una rappresentazione grafica corrispondente. Ad esempio:

entità relazione

Il modello Entità-Relazioni (E-R)

attributo semplice

attributo composto

……..

Page 21: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

21

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

ANIMALITIPI LAVORI DI STALLA – FASE RIPRODUTTIVA

OPERATORI

VETERINARI

Page 22: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

22

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

Anim.1

Anim2

Anim3

Anim4

Fecondazione

Controllo calore

Parto

e1

e2

e3

e4

e5

e6

Page 23: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

23

Relazioni

In uno schema E-R ogni relazione ha un nome che la identifica in modo univoco ed è rappresentata mediante un rombo

AnimaleLAVORO DI STALLA - FASERIPRODUTTIVA

Evento

Page 24: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

24

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

Esempio

Entità: AnimaliIstanze: rosina, bruna, stella, mora, …

Entità: tipi di lavoriIstanze: parto, messa in mungitura, separazione colostro, fecondazione, controllo calore, iniezione ormoni,

Page 25: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

25

Attributi

Descrivono le proprietà elementari di Entità e Relazioni. Ogni attributo assume dei valori all’interno di un insieme di valori ammissibili detto dominio

Attributi semplici

Nome

MATRICOLAData

Giorno

Mese

Anno

Attributi composti

Page 26: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

26

ANIMALE

Nome

Esempio

Data nascitaMATRICOLA

AZIENDA

NOME

Numero civico

CAP

posseso

Data carico

Page 27: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

27

ANIMALETIPO LAVOROEVENTO

LAVORO

Nome parto

Messa in mungitura

mansione

Esempio

Nascitafecondazione

matricola

Anche le relazioni possono avere degli attributi che vengono rappresentati come nel caso delle entità, ma associati ai rombi che le descrivono

OPERATOREData

nome telefono

Sesso

Page 28: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

28

ANIMALE MACELLOMACELLAZIONE(0,1) (0,5000)

Un ANIMALE può essere macellato (1) oppure non essere macellato (0)Una macello può avere non macellato (0) o averne al massimo 5000 animali macellati

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

Page 29: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

29

REPARTI

OPERATORIGESTIONE

(1,1)

(0,3)

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)

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

Page 30: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

30

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à

Page 31: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

31

1 1

1 N

N M

1:1

1:N(uno a molti)

N:M(molti a molti)

Tipi di relazioniOsservando le cardinalità massime si ottiene la classificazione seguente

Page 32: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

32

CAVALLO STALLOSTALLO ASSEGNATO

1 1

A ogni CAVALLO è assegnato al più uno STALLO e a ogni STALLO è assegnato al più un CAVALLO

Esempio

VETERINARION M

Ogni ANIMALE può avere DIVERSI CONTROLLI SANITARI EFFETTUATI DA DIVERSI VETEINARI. OGNI VERINARIO PUO’ CONTROLLARE DIVERSI ANIMALI

ANIMALE CONTROLLO SANITARIO

Page 33: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

33

PERSONE NUM_TELEFONONUM ASSEGNATON 1

Ogni persona può avere associati più numeri di telefono, ogni numero di telefono può essere associato al più ad una persona

Esempio

Che tipo di relazione si può stabilire tra

1. ANIMALI e CODICE ANGRAFE2. ANIMALI e CARRIERA RIPRODUTTIVA3. ANIMALI e AZIENDE

Page 34: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

34

Associazioni a Associazioni a molte entità entità

ANIMALIAZIENDE

VETERINARI

CONTROLLI SANITARI

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

Page 35: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

35

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

Identificatori (chiavi)

Ogni entità è un insieme di oggetti aventi le stesse proprietà. È necessario poter identificare in modo univoco ciascuna istanza di un’entità

Page 36: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

36

Esempio: identificatore interno

AZIENDA

Propritario

Indirizzo

Cod. fiscale (identificatore interno)

ANIMALE

Nome

Sesso

Matricola (identificatore interno)

Vi vengono in mente altri esempi?

Page 37: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

37

Esempio: identificatore esterno

cane

nomemadre

Matricola

ISCRIZIONE Libro genealogico

Nome Indirizzo

sesso

Città

Quando gli attributi interni non sono sufficienti si possono considerare attributi di più entità.

(1,1) (1,N)

Page 38: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

38

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

Page 39: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

39

Pensate alla realtà dell’ modellare e Pensate alla realtà dell’ modellare e costruite lo schema E-R, rispondendo costruite lo schema E-R, rispondendo alle seguenti domande:alle seguenti domande:

1.1. Quali sono le entità coinvolte?Quali sono le entità coinvolte?2.2. Quali le relazioni?Quali le relazioni?3.3. Che attributi servono?Che attributi servono?4.4. Quali sono gli attributi univoci (chiavi) che Quali sono gli attributi univoci (chiavi) che

si devono usare?si devono usare?

Per il progetto Libro Eventi di Stalla

Page 40: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

40

Progettazione logica

Schema logico

Page 41: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

41

Modello Relazionale

Si basa sul concetto matematico di Relazione e sul concetto intuitivo di Tabellae permette di costruire un modello dei dati

Esistono diversi approcci alla Esistono diversi approcci alla modellazione dei dati:modellazione dei dati: modello modello gerarchico, modello reticolare, gerarchico, modello reticolare,

modello a oggetti, noi studieremo modello a oggetti, noi studieremo il modello relazionaleil modello relazionale

Page 42: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

42

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?

Base di dati come insieme di tabelle

Page 43: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

43

n1 nnn2

vi1 vi2 vin record ri

attributi

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

Struttura di una tabella

Page 44: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

44

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

Attributi e valori

Page 45: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

45

Supponiamo ora di avere due tabelle

Nome Nascita

bionda settembrebruna agostostella dicembremoro aprile

Città Provincia

Pinerolo TO Trino VCBra CNNovi AL

Possiamo fare il prodotto cartesiano T1 x T2 delle due tabelle?

Sì!

T1 T2

Relazioni fra tabelle

Page 46: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

46

In questo caso ogni record è costituito da più colonne

Nel fare il prodotto cartesiano i record non vanno spezzati!!

T1 x T2 = { (r1, r2) : r1 T1 e r2 T2}

(bionda,settembre) (Pinerolo,TO)

Attenzione …

Nome Nascita

bionda settembrebruna agostostella dicembremoro aprile

T1

Page 47: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

47

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

Risultato …

Page 48: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

48

Nome Nascita Città Provincia

bionda settembre Pinerolo TObionda settembre Trino VCbionda settembre Bra CNbionda settembre Novi ALbruna agosto Trino VCbruna agosto Pinerolo TObruna agosto Bra CNbruna agosto Novi ALstella dicembre Bra CNstella dicembre Pinerolo TOstella dicembre Trino VCstella dicembre Novi ALmoro aprile Novi ALmoro aprile Pinerolo TOmoro aprile Trino VCmoro aprile Bra CN

Risultato in forma tabellare

Page 49: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

49

IIl l numero di recordnumero di record della tabella della tabella risultato è il risultato è il prodottoprodotto del num. del num. di di

record di T1 per il numrecord di T1 per il num. di . di record record di di T2 mentre il T2 mentre il numnumero diero di colonne colonne della della

tabella risultato è il num. delle tabella risultato è il num. delle colonne di T1 colonne di T1 più più il numero di il numero di

colonne di T2colonne di T2

Risultato in forma tabellare

Page 50: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

50

Nome n. anagrafe

bionda FR 48 0201 7285…bionda FR 48 0201 7200

Non DEVE essere possibile associare due CODICI ANAGRAFE diversi alla stessa bovina

Osservazione

II dati dati devono essere coerentidevono essere coerenti

Page 51: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

51

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

Osservazione

II dati dati devono essere consistentidevono essere consistenti

Matr. nome altre info …

200 bionda ….. matr nome reparto

200 bionda asciutta?

Page 52: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

52

Osservazione

Il modello permette di specificare Il modello permette di specificare informazione informazione incompletaincompleta

Per rappresentare la mancanza di alcuni valori il Per rappresentare la mancanza di alcuni valori il concetto di relazione viene esteso permettendo concetto di relazione viene esteso permettendo l’introduzione del l’introduzione del valore nullovalore nullo (NULL) (NULL)

Page 53: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

53

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

Vincoli

Page 54: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

54

1. Vincoli di dominio 2. Vincoli di chiave3. Vincoli di integrità referenziale

I vincoli sono delle proprietà che devono essere soddisfatte dalle tuple e possono coinvolgere una o più relazioni

Vincoli

Page 55: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

55

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

Vincoli di dominio

Page 56: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

56

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

Vincoli di chiave

Page 57: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

57

azienda nome N. anagrafe vaccinazione sesso

breccia bionda 11111 …. femminacasone bruna 22222 …. femminacasone bionda 33333 …. femminabreccia bruna 44444 …. femminacontina moro 55555 …. maschiozucco bionda 66666 …. femminazucco bruna 77777 …. femminacontina bionda 88888 …. femmina

Esempio

Superchiave = { N. anagrafe}

Una superchiave minima è detta chiave primaria

Page 58: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

58

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

Vincoli di integrità referenziale

Page 59: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

59

Condiz, nome Dataevento Cod anagrafe

Asciutta bionda 10/7/04 111Parto stella 10/7/04 222Parto bionda 12/9/04 111… … … …

Condizione riproduttiva

Cod.ana Nome nome madre azienda origine

111 bionda caleffa Interna222 stella papaverina boschetto333 bruina sorda Interna… … … …

animale

Esempio

Page 60: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

60

Cod.anagr. CodVete Data

Controllo sanitario

Cod.anagr. Titolo Autore

animale

CodVete Nome Indirizzo Telefono

veterinario

Esempio

Page 61: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

61

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

Cosa significa?

Page 62: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

62

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

Relazioni tra tabelle

Page 63: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

63

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

Page 64: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

64

II dati sono correlati dati sono correlati

Nome Matricola fiera

animale

valutatore categoria indirizzo

Concorso

categoria fiera

esposizione

?

Osservazione

Page 65: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

65

RelazioneSiano

Dnomi = { bruna, bionda, stella }Dlavori = {parto, fecondazione, messa in asciutta,

messa in mungitura}

Dnomi x Dlavori = { (bruna, parto), (bruna, fec.), (bruna, asciutta),(bruna, mungitura), (bionda, parto), (bionda, fec.), …,

…, (stella, mungitura)}

Prodotto cartesiano

3 x 4 = 12 elementi

Tutti i nomi combinati con tutti i gruppi

Page 66: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

66

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 partobruna mungiturastella asciutta

Relazione

Page 67: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

67

Traduzione da ETraduzione da E--R a RelazionaleR 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

Page 68: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

68

EntitàEntità

Ad ogni entità corrisponde una relazione con lo stesso nome e gli stessi attributi. L’identificatore dell’entità è la chiave della relazione

Veterinario

Nome

Codfiscale

Indirizzo

Veterinario (Nome, Cognome, Codfiscale, Indirizzo)

Cognome

Page 69: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

69

Gli attributi composti possono essere tradotti come una relazione a parte oppure essere appiattiti nella relazione corrispondente all’entità in questione

INDIRIZZO (Via, Numero civico, CAP, Id)

VETERINARIO (…, Via, Numero civico, CAP)

Attributi compostiAttributi composti

Indirizzo

Via

Numero civico

CAP

Page 70: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

70

Progettazione fisica

Schema fisico

Cos’è l’SQL?

Page 71: Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.

71

Le Istruzioni FondamentaliLe Istruzioni Fondamentali

DDL (Data Definition Language) creazione della base di

datiCREATE DATABASE

creazione delle tabelleCREATE TABLE

DML (Data Manipulation Language) inserimento delle

ennupleINSERT INTO

interrogazioniSELECT

eliminazione delle ennuple DELETE

modifica della ennupleUPDATE