Sistemi innovativi in zootecnia

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Frontespizio Economia Monetaria Anno Accademico
Basi di Dati prof. A. Longheu
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo.
I MATEMATICI E IL MONDO DEL LAVORO
L’uso dei database in azienda
teoria … e pratica con Microsoft Access
Basi di dati teoria … e pratica con Microsoft Access.
Sistemi innovativi in zootecnia Supporti avanzati per la gestione dellallevamento (corso SUPAG) Massimo Lazzari Dipartimento di Scienze e tecnologie Veterinarie.
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Basi di dati Università Degli Studi Parthenope di Napoli
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Modello E-R Generalizzazioni
Progettazione di una base di dati
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Partizionamento/accorpamento di concetti
Modello E-R Generalizzazioni
Introduzione alle basi di dati
Basi di dati Claudia Raibulet
Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi
Q UESTIONI ETICHE E BIOETICHE DELLA DIFESA DELLA VITA NELL AGIRE SANITARIO 1 Casa di Cura Villa San Giuseppe Ascoli Piceno 12 e 13 dicembre 2011.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
INFORMATICA Corso Base Modulo G: I DataBase  Access.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
Progettare un database
Introduzione a Oracle 9i
LE BASI DI DATI E IL LINGUAGGIO SQL.
Un trucchetto di Moltiplicazione per il calcolo mentale
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DB- Sistemi Informativi
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
NO WASTE Progetto continuità scuola primaria scuola secondaria Salorno a.s. 2013_
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Introduzione alle basi di dati
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Progettazione di basi di dati: metodologie e modelli
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) Massimo Lazzari Scienze veterinarie per la salute, la produzione animale.
Eprogram informatica V anno.
Cloud informatica V anno.
Le basi di dati.
1. CASO BIBLIOTECA ANALISI DEI REQUISITI Si vuole automatizzare la gestione prestiti dei libri di una biblioteca personale. La progettazione deve tener.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Transcript della presentazione:

Sistemi innovativi in zootecnia 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

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

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

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

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

Basi di dati e DBMS Base di dati: collezione di dati omogenei DBMS (Database Management System): software in grado di gestire collezioni di dati che siano grandi, condivise e persistenti, garantendo affidabilità e privatezza, in modo efficiente ed efficace Grandi: ordine dei giga- o tera-byte Condivise: più utenti devono potervi accedere simultaneamente Persistenti: i dati vengono mantenuti, la loro esistenza non è limitata al periodo d’uso Affidabili: i dati devono essere mantenuti anche in caso di malfunzionamento Privatezza: i dati devono essere protetti Efficiente: tutte le operazioni devono essere svolte in tempi accettabili per l’utente Efficace: capacità di rendere produttiva l’attività dell’utente

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

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

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…

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

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 Non ci basta però gestire i singoli studenti, avremo, per esempio bisogno di mantenere informazioni sui corsi. Le caratteristiche interessanti di un corso potrebbero, per esempio, essere: “nome”, “nome del docente”, “numero di crediti”.

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

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

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

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

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

Progettazione logica Ha lo scopo di rappresentare la realtà di interesse in termini di una descrizione ancora indipendente dai dettagli fisici ma concreta, in quanto presente nei sistemi di gestioni delle basi di dati. Lo schema concettuale definito nella fase precedente viene tradotto nello schema logico Schema logico

Progettazione fisica Lo schema logico viene completato con le specifica dei parametri fisici di memorizzazione dei dati (organizzazione dei file e degli indici). Si definisce lo schema fisico dei dati che dipende dal sistema di gestione di basi di dati scelto Schema fisico

Progettazione concettuale Schema concettuale

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

Entità Sono classi di oggetti, che hanno tutti le stesse proprietà ed esistono in modo autonomo; ogni entità è quindi un insieme di oggetti, detti anche istanze o occorrenze OPERATORI TIPI LAVORI DI STALLA – FASE RIPRODUTTIVA ANIMALI VETERINARI

Relazioni (anche dette associazioni) Sono legami logici fra due o più entità. Anche un’associazione è un insieme, è l’insieme delle correlazioni fra i singoli elementi delle entità coinvolte e1 e2 e3 Anim.1 Fecondazione e4 Anim2 Controllo calore Anim3 e5 Anim4 e6 Parto

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 Animale Evento

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

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

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

Esempio mansione nome telefono OPERATORE Data TIPO LAVORO EVENTO 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

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 massimo 5000 animali macellati

Cardinalità delle relazioni Se la cardinalità minima è 0 si dice che la partecipazione dell’entità relativa è opzionale, se la cardinalità minima è maggiore o uguale a 1, la partecipazione è obbligatoria (0,3) GESTIONE OPERATORI (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)

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à

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 (molti a molti) N M

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

Esempio Che tipo di relazione si può stabilire tra 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

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

Identificatori (chiavi) Ogni entità è un insieme di oggetti aventi le stesse proprietà. È necessario poter identificare in modo univoco ciascuna istanza di un’entità Identificatore interno (ID): sottoinsieme di attributi che costituiscono una chiave per l’entità Identificatore esterno: quando non è sufficiente utilizzare un sottoinsieme di attributi ma l’entità partecipa a una relazione con cardinalità (1,1), i suoi elementi possono essere identificati tramite tale relazione

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

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

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

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?

Progettazione logica Schema logico

il 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

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?

Struttura di una tabella attributi n1 n2 nn vi1 vi2 vin record ri Una tabella è un insieme di oggetti detti record Ogni record corrisponde ad una riga della tabella I record di una tabella hanno la stessa struttura

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

Possiamo fare il prodotto cartesiano T1 x T2 delle due tabelle? Relazioni fra tabelle Supponiamo ora di avere due 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ì!

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

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

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

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

Osservazione I dati devono essere coerenti 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 I dati devono essere consistenti Matr. nome altre info … 200 bionda ….. matr nome reparto 200 bionda asciutta ? Se la bovina bionda abbandona l’allevamento e viene quindi cancellata dall’elenco degli animali presenti iscritti, non devono rimanere riferimenti alla medesima bovina bionda nelle altre tabelle della base dati

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

Vincoli Molti di questi controlli e/o aggiornamenti possono essere eseguiti in modo automatico dal sistema, a patto che i progettisti della base di dati esprimano delle regole (dette vincoli) che indicano quali controlli il sistema deve effettuare

Vincoli I vincoli sono delle proprietà che devono essere soddisfatte dalle tuple e possono coinvolgere una o più relazioni Vincoli di dominio Vincoli di chiave Vincoli di integrità referenziale

Vincoli di dominio I vincoli di dominio riguardano gli attributi: i valori che i record assumono in corrispondenza dei vari attributi sono definiti nei loro domini Per il sistema “asciutta” e “bionda” sono due sequenze di caratteri, quindi, se non ci fossero vincoli, potrebbero appartenere alla stessa colonna di una tabella Sul numero capretti per parto si può imporre un vincolo: deve essere compreso 1 e 3

Vincoli di chiave Come abbiamo già visto nel modello E-R, è importante poter identificare gli elementi, in questo caso i record, in modo univoco L’identificazione viene fatta in base al contenuto dei record medesimi, innanzi tutto definendo un insieme di attributi che combinati insieme assumono valori diversi per ogni record (vincolo di chiave - ID) Un tale insieme è detto superchiave

Esempio Superchiave = { N. anagrafe} azienda nome N. anagrafe vaccinazione sesso breccia bionda 11111 …. femmina casone bruna 22222 …. femmina casone bionda 33333 …. femmina breccia bruna 44444 …. femmina contina moro 55555 …. maschio zucco bionda 66666 …. femmina zucco bruna 77777 …. femmina contina bionda 88888 …. femmina Superchiave = { N. anagrafe} Una superchiave minima è detta chiave primaria

Vincoli di integrità referenziale Usano il concetto di chiave esterna Una chiave esterna è un attributo o un insieme di attributi di una relazione, i cui valori devono corrispondere ai valori di una chiave primaria di un’altra relazione Si dice che una chiave esterna fa riferimento alla sua chiave primaria Le chiavi esterne sono un meccanismo che consente di mantenere l’integrità dei dati

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

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

Cosa significa? Non si possono far visitare animali che non compaiono nel libro stalla Non si possono far visitare animali a veterinari privi di iscrizione all’albo Se si elimina un animale dal libro stalla, si eliminano anche le informazioni ad esso correlate in modo automatico 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

Relazioni tra tabelle Come visto il prodotto cartesiano fra tabelle non porta molta informazione Ci fa vedere però come sia possibile definire delle relazioni fra le tabelle e quindi come i dati contenuti in una tabella possano essere combinati con i dati contenuti nelle altre Più avanti vedremo come sia possibile combinare tali dati per ottenere informazioni significative

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

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

Relazione Siano Dnomi = { bruna, bionda, stella } Dlavori = {parto, fecondazione, messa in asciutta, messa in mungitura} Prodotto cartesiano Tutti i nomi combinati con tutti i gruppi Dnomi x Dlavori = { (bruna, parto), (bruna, fec.), (bruna, asciutta),(bruna, mungitura), (bionda, parto), (bionda, fec.), …, …, (stella, mungitura) } 3 x 4 = 12 elementi

Relazione Il prodotto cartesiano, associando tutti con tutti, non porta molta informazione In generale ci interessa solo un sottoinsieme delle possibili associazioni, ovvero una relazione Es. { (bionda, manza), (bruna, lattazione), (stella, asciutta) } Una relazione può essere rappresentata come una tabella bionda parto bruna mungitura stella asciutta

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

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

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

Progettazione fisica Schema fisico Cos’è l’SQL?

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