Sistemi innovativi in zootecnia Supporti avanzati per la gestione dell’allevamento (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

description

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. - PowerPoint PPT Presentation

Transcript of Sistemi innovativi in zootecnia Supporti avanzati per la gestione dell’allevamento (corso SUPAG)

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

Basi di dati

teoria … e pratica con Microsoft Access

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

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, …

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

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

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

8

inserisce nuovoanimale

Trasferimento animali

Macellazione

amministratore

base di dati(es. anagrafe centralizzata animali)

DBMS

DBMS

Inserimento nuovoallevamento

Morte animali

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

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

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

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

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

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

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

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

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

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

19

Progettazione concettuale

Schema concettuale

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

……..

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

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

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

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,

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

26

ANIMALE

Nome

Esempio

Data nascitaMATRICOLA

AZIENDA

NOME

Numero civico

CAP

posseso

Data carico

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

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

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

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à

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

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

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

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

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à

36

Esempio: identificatore interno

AZIENDA

Propritario

Indirizzo

Cod. fiscale (identificatore interno)

ANIMALE

Nome

Sesso

Matricola (identificatore interno)

Vi vengono in mente altri esempi?

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)

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

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

40

Progettazione logica

Schema logico

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

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

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

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

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

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

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 …

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

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

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

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?

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)

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

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

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

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

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

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

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

60

Cod.anagr. CodVete Data

Controllo sanitario

Cod.anagr. Titolo Autore

animale

CodVete Nome Indirizzo Telefono

veterinario

Esempio

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?

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

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

64

II dati sono correlati dati sono correlati

Nome Matricola fiera

animale

valutatore categoria indirizzo

Concorso

categoria fiera

esposizione

?

Osservazione

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

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

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

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

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

70

Progettazione fisica

Schema fisico

Cos’è l’SQL?

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