La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie."— Transcript della presentazione:

1 Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (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

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 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 inconsapevolmente) con dei sistemi di gestione di basi di dati: allanagrafe, in segreteria studenti, in biblioteca, …

5 5 Lobiettivo è 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 Basi di dati

6 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-byte Condivise: più utenti devono potervi accedere simultaneamente Persistenti: i dati vengono mantenuti, la loro esistenza non è limitata al periodo duso 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 lutente Efficace: capacità di rendere produttiva lattività dellutente Basi di dati e DBMS

7 7 Permettono di definire in modo semplice la struttura della base di dati e forniscono dei comandi per laccesso 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 8 inserisce nuovo animale Trasferimento animali Macellazione amministratore base di dati (es. anagrafe centralizzata animali) DBMS Inserimento nuovo allevamento Morte animali

9 9 DBMS Non ci occuperemo dellorganizzazione e della gestione di DBMS ma della progettazione e dellutilizzo del programma applicativo… DBMS dati Utente Programma applicativo dati

10 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 proprio nome, matricola, ecc. molti

11 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 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 13 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 Progettazione di una base di dati

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

15 15 Raccolta e studio delle funzionalità che il sistema dovrà avere. Comporta linterazione con gli utenti del sistema e si conclude in una descrizione informale dei suoi requisiti Ontologia-Analisi dei requisiti Descrizione informale

16 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 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 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 19 Progettazione concettuale Schema concettuale

20 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 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 ANIMALI TIPI LAVORI DI STALLA – FASE RIPRODUTTIVA OPERATORI VETERINARI

22 22 Relazioni (anche dette associazioni) Sono legami logici fra due o più entità. Anche unassociazione è un insieme, è linsieme 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 23 Relazioni In uno schema E-R ogni relazione ha un nome che la identifica in modo univoco ed è rappresentata mediante un rombo Animale LAVORO DI STALLA - FASE RIPRODUTTIVA Evento

24 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à: Animali Istanze: rosina, bruna, stella, mora, … Entità: tipi di lavori Istanze: parto, messa in mungitura, separazione colostro, fecondazione, controllo calore, iniezione ormoni,

25 25 Attributi Descrivono le proprietà elementari di Entità e Relazioni. Ogni attributo assume dei valori allinterno di un insieme di valori ammissibili detto dominio Attributi semplici Nome MATRICOLA Data Giorno Mese Anno Attributi composti

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

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

28 28 ANIMALE MACELLO MACELLAZIONE (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 29 REPARTI OPERATORI GESTIONE (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 dellentità relativa è opzionale, se la cardinalità minima è maggiore o uguale a 1, la partecipazione è obbligatoria

30 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 allentità può essere vista come una funzione che associa ad una occorrenza di una entità una sola occorrenza dellaltra entità Se la cardinalità massima è N esiste una associazione con un numero arbitrario di occorrenze dellaltra entità

31 N NM 1:1 1:N (uno a molti) N:M (molti a molti) Tipi di relazioni Osservando le cardinalità massime si ottiene la classificazione seguente

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

33 33 PERSONE NUM_TELEFONO NUM ASSEGNATO N1 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 ANGRAFE 2.ANIMALI e CARRIERA RIPRODUTTIVA 3.ANIMALI e AZIENDE

34 34 Associazioni a entità Associazioni a molte entità ANIMALI AZIENDE 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 35 Identificatore interno (ID) : sottoinsieme di attributi che costituiscono una chiave per lentità Identificatore esterno : quando non è sufficiente utilizzare un sottoinsieme di attributi ma lentità 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 unentità

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

37 37 Esempio: identificatore esterno cane nome madre 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 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 lentità CANE è dato dal suo attributo Matricola e dallentità LIBRI RAZZA, in particolare dallattributo Nome di LIBRO RAZZA, che è un identificatore esterno Naturalmente questo funziona perchè ad ogni CANE è associata uno e un solo LIBRO RAZZA

39 39 Pensate alla realtà dell modellare e costruite lo schema E-R, rispondendo alle seguenti domande: 1.Quali sono le entità coinvolte? 2.Quali le relazioni? 3.Che attributi servono? 4.Quali sono gli attributi univoci (chiavi) che si devono usare? Per il progetto Libro Eventi di Stalla

40 40 Progettazione logica Schema logico

41 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 42 I dati che formano una base di dati relazionale sono contenuti in un insieme di tabelle T i. Ogni tabella è una relazione, in senso matematico Cosa vuol dire? Base di dati come insieme di tabelle

43 43 n1n1 n n2n2 v i1 v i2 vinvin record r i 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 44 Ogni colonna della tabella corrisponde ad un attributo Ogni attributo assume valori su di un dominio (es. numeri interi, sequenza di caratteri, linsieme {lun, mar, merc, giov, ven}, …) I dati contenuti in una colonna sono omogenei Attributi e valori

45 45 Supponiamo ora di avere due tabelle 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ì! T1T2 Relazioni fra tabelle

46 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 settembre bruna agosto stella dicembre moro aprile T1

47 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 48 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 Risultato in forma tabellare

49 49 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 Risultato in forma tabellare

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

51 51 Se la bovina bionda abbandona lallevamento e viene quindi cancellata dallelenco degli animali presenti iscritti, non devono rimanere riferimenti alla medesima bovina bionda nelle altre tabelle della base dati Osservazione I dati devono essere consistenti I dati devono essere consistenti Matr. nome altre info … 200 bionda ….. matr nome reparto 200 bionda asciutta ?

52 52 Osservazione Il modello permette di specificare informazione incompleta Il modello permette di specificare informazione incompleta Per rappresentare la mancanza di alcuni valori il concetto di relazione viene esteso permettendo lintroduzione del valore nullo (NULL) Per rappresentare la mancanza di alcuni valori il concetto di relazione viene esteso permettendo lintroduzione del valore nullo (NULL)

53 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 54 1.Vincoli di dominio 2.Vincoli di chiave 3.Vincoli di integrità referenziale I vincoli sono delle proprietà che devono essere soddisfatte dalle tuple e possono coinvolgere una o più relazioni Vincoli

55 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 56 Come abbiamo già visto nel modello E-R, è importante poter identificare gli elementi, in questo caso i record, in modo univoco Lidentificazione 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 57 azienda nome N. anagrafe vaccinazione sesso breccia bionda …. femmina casone bruna …. femmina casone bionda …. femmina breccia bruna …. femmina contina moro …. maschio zucco bionda …. femmina zucco bruna …. femmina contina bionda …. femmina Esempio Superchiave = { N. anagrafe} Una superchiave minima è detta chiave primaria

58 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 unaltra relazione Si dice che una chiave esterna fa riferimento alla sua chiave primaria Le chiavi esterne sono un meccanismo che consente di mantenere lintegrità dei dati Vincoli di integrità referenziale

59 59 Condiz, nome Dataevento Cod anagrafe Asciutta bionda 10/7/ Parto stella 10/7/ Parto bionda 12/9/ … … Condizione riproduttiva Cod.ana Nome nome madre azienda origine 111 bionda caleffaInterna 222 stella papaverina boschetto 333 bruina sorda Interna … … animale Esempio

60 60 Cod.anagr. CodVete Data Controllo sanitario Cod.anagr. Titolo Autore animale CodVete Nome Indirizzo Telefono veterinario Esempio

61 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 allalbo 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 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 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 lelaborazione dei dati rappresentati secondo il modello relazionale

64 64 I dati sono correlati I dati sono correlati Nome Matricola fiera animale valutatore categoria indirizzo Concorso categoria fiera esposizione ? Osservazione

65 65 Relazione Siano D nomi = { bruna, bionda, stella } D lavori = {parto, fecondazione, messa in asciutta, messa in mungitura} D nomi x D lavori = { (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 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 parto bruna mungitura stella asciutta Relazione

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

68 68 Entità Ad ogni entità corrisponde una relazione con lo stesso nome e gli stessi attributi. Lidentificatore dellentità è la chiave della relazione Veterinario Nome Codfiscale Indirizzo Veterinario (Nome, Cognome, Codfiscale, Indirizzo) Cognome

69 69 Gli attributi composti possono essere tradotti come una relazione a parte oppure essere appiattiti nella relazione corrispondente allentità in questione INDIRIZZO (Via, Numero civico, CAP, Id) VETERINARIO (…, Via, Numero civico, CAP) Attributi composti Indirizzo Via Numero civico CAP

70 70 Progettazione fisica Schema fisico Cosè lSQL?

71 71 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 UPDATE


Scaricare ppt "Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie."

Presentazioni simili


Annunci Google