1 / 71

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

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.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Basi di dati teoria … e pratica con Microsoft Access

  3. INQUADRAMENTO TECNOLOGIE DI BASE TECNOLOGIE ELETTRONICHE DI BASE TECNOLOGIE DI POSIZIONAMENTO TECNOLOGIE INFORM. HARDWARE TECNOLOGIE INFORM. SOFTWARE

  4. Avete già interagito (magari inconsapevolmente) con dei sistemi di gestione di basi di dati: all’anagrafe, in segreteria studenti, in biblioteca, … Basi di dati Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web)

  5. Una base di dati è solo software? No! Ad esempio, gli archivi genealogici esistono da diversi decenni. Noi ci occuperemo di sistemi informativi informatizzati Basi di dati L’obiettivo è quello di memorizzare grandi quantità di informazioni, rendendone disponibili anche le operazioni di modifica e di reperimento

  6. 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ù utentidevono 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

  7. 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

  8. DBMS Inserimento nuovo allevamento DBMS inserisce nuovo animale Trasferimento animali amministratore Macellazione Morte animali base di dati (es. anagrafe centralizzata animali)

  9. DBMS Utente dati dati Programma applicativo DBMS dati dati Non ci occuperemo dell’organizzazione e della gestione di DBMS ma della progettazione e dell’utilizzo del programma applicativo…

  10. ANIMALI Ognuno avrà il proprio nome, matricola, ecc. molti Problema affrontato raccogliere, organizzare,conservare e gestire dati omogenei e strutturati ANIMALE Avrà un nome, un azienda di appartenenza, una matricola, ecc. singolo

  11. 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

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

  13. Progettazione di una base di dati • Analisi dei requisiti • individuare e studiare le funzionalità che il sistema dovrà fornire • Progettazione • (a) concettuale • (b) logica • (c) fisica • Collaudo • verifica del corretto funzionamento del sistema

  14. Requisiti della base di dati Progettazione concettuale Progettazione logica Progettazione Progettazione fisica Prodotto della progettazione Progettazione di una base di dati

  15. Descrizione informale 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

  16. Schema concettuale Progettazione concettuale Ha lo scopo di rappresentare la realtà di interesse in termini di una descrizione precisa e completa maindipendente dai criteri di rappresentazione usati dal sistema informatico scelto per gestire la base di dati (rappresentazione astratta)

  17. Schema logico 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

  18. Schema fisico 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

  19. Schema concettuale Progettazione concettuale

  20. 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 ……..

  21. ANIMALI OPERATORI 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 TIPI LAVORI DI STALLA – FASE RIPRODUTTIVA 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 e1 e2 e3 Fecondazione Anim.1 e4 Anim2 Controllo calore e5 Anim3 Anim4 e6 Parto

  23. Relazioni In uno schema E-R ogni relazione ha un nome che la identifica in modo univoco ed è rappresentata mediante un rombo LAVORO DI STALLA - FASE RIPRODUTTIVA Evento Animale

  24. 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

  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 Nome Giorno Data Mese MATRICOLA Anno Attributi semplici Attributi composti

  26. Esempio Data carico NOME ANIMALE posseso AZIENDA Numero civico CAP Nome MATRICOLA Data nascita

  27. Esempio mansione nome telefono OPERATORE Data TIPO LAVORO EVENTO LAVORO ANIMALE Messa in mungitura Sesso Nome matricola Nascita parto fecondazione Anche le relazioni possono avere degli attributi che vengono rappresentati come nel caso delle entità, ma associati ai rombi che le descrivono

  28. 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 (0,1) (0,5000) ANIMALE MACELLAZIONE MACELLO Un ANIMALE può essere macellato (1) oppure non essere macellato (0) Una macello può avere non macellato (0) o averne al massimo5000 animali macellati

  29. 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) OPERATORI GESTIONE (1,1) REPARTI 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)

  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. Tipi di relazioni Osservando le cardinalità massime si ottiene la classificazione seguente 1 1 1:1 1 N 1:N (uno a molti) N M N:M (molti a molti)

  32. Esempio 1 1 STALLO ASSEGNATO CAVALLO STALLO A ogni CAVALLO è assegnato al più uno STALLO e a ogni STALLO è assegnato al più un CAVALLO N M CONTROLLO SANITARIO ANIMALE VETERINARIO Ogni ANIMALE può avere DIVERSI CONTROLLI SANITARI EFFETTUATI DA DIVERSI VETEINARI. OGNI VERINARIO PUO’ CONTROLLARE DIVERSI ANIMALI

  33. Esempio N 1 PERSONE NUM_TELEFONO NUM ASSEGNATO 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 • ANIMALI e CODICE ANGRAFE • ANIMALI e CARRIERA RIPRODUTTIVA • ANIMALI e AZIENDE

  34. 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

  35. Identificatori (chiavi) Ogni entità è un insieme di oggetti aventi le stesse proprietà. È necessario poter identificare in modo univocociascuna 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

  36. Esempio: identificatore interno Propritario Indirizzo AZIENDA Cod. fiscale (identificatore interno) Nome ANIMALE Sesso … Matricola (identificatore interno) • Vi vengono in mente altri esempi?

  37. Esempio: identificatore esterno Matricola cane Libro genealogico ISCRIZIONE (1,1) (1,N) madre nome Indirizzo Città Nome sesso Quando gli attributi interni non sono sufficienti si possono considerare attributi di più entità.

  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. Per il progetto Libro Eventi di Stalla • Pensate alla realtà dell’ modellare e costruite lo schema E-R, rispondendo alle seguenti domande: • Quali sono le entità coinvolte? • Quali le relazioni? • Che attributi servono? • Quali sono gli attributi univoci (chiavi) che • si devono usare?

  40. Schema logico Progettazione logica

  41. 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

  42. 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?

  43. Struttura di una tabella attributi n1 n2 nn vi1 vi2 vin recordri • 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

  44. 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

  45. Relazioni fra tabelle • Supponiamo ora di averedue tabelle T1 T2 Nome Nascita bionda settembre bruna agosto stella dicembre moro aprile Città Provincia Pinerolo TO Trino VC Bra CN Novi AL Possiamo fare il prodotto cartesiano T1 x T2 delle due tabelle? Sì!

  46. Attenzione … • In questo caso ogni record è costituito da più colonne T1 Nome Nascita bionda settembre bruna agosto stella dicembre moro aprile • Nel fare il prodotto cartesiano i record nonvanno spezzati!! T1 x T2 = { (r1, r2) : r1  T1 e r2  T2} (bionda,settembre) (Pinerolo,TO)

  47. Risultato … T1 x T2 = { ( ( bionda, settembre ) , ( Pinerolo,TO ) ), ( ( bionda, settembre ) , ( Trino,VC ) ), ( ( bionda, settembre ) , ( Bra,CN ) ), ( ( bionda, settembre ) , ( Novi,AL ) ), …} In pratica si componeogni record di T1 con ogni record di T2

  48. Risultato in forma tabellare Nome Nascita Città Provincia bionda settembre Pinerolo TO bionda settembre Trino VC bionda settembre Bra CN bionda settembre Novi AL bruna agosto Trino VC bruna agosto Pinerolo TO bruna agosto Bra CN bruna agosto Novi AL stella dicembre Bra CN stella dicembre Pinerolo TO stella dicembre Trino VC stella dicembre Novi AL moro aprile Novi AL moro aprile Pinerolo TO moro aprile Trino VC moro aprile Bra CN

  49. 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

  50. Nome n. anagrafe bionda FR 48 0201 7285 … bionda FR 48 0201 7200 Osservazione • I dati devono essere coerenti Non DEVE essere possibile associare due CODICI ANAGRAFE diversi alla stessa bovina

More Related