020-053-Task3-A2.qxp 11-02-2009 10:27 ESEMPI LEZIONE Pagina 40 I vincoli di integrità Rappresenta tramite diagramma ER la realtà di interesse: gestione di una mostra canina ANALISI DEL PROBLEMA Per organizzare correttamente una mostra canina è necessario che siano stabilite delle regole sia in merito alla gara, sia in merito ai partecipanti. In particolare: • i cani devono appartenere a una razza canina caratterizzata dagli standard di altezza e peso; • ogni cane ha un numero di gara e un punteggio attribuitogli dal giudice di gara; • vince il cane che ottiene il maggior punteggio tra quelli della propria razza. Deve pertanto essere possibile: • assegnare un punteggio da 10 a 100 a un determinato cane individuato da un numero progressivo; • stilare una classifica dei cani all’interno di ogni razza; • stilare una classifica dal maggiore al minor punteggio indipendentemente dalla razza del cane. ANALISI DEI DATI (ENTITÀ) Dall’analisi del del problema si possono facilmente individuare le seguenti entità: • Proprietario per rappresentare le informazioni dei proprietari dei cani; • Cane per memorizzare i dati relativi ai singoli cani partecipanti alla mostra; • Razza per memorizzare le razze di appartenenza dei cani. Gli attributi di Proprietario sono: codice, cognome, nome, indirizzo, telefono e città. Il codice è di tipo numerico, mentre i restanti attributi sono di tipo stringa. Gli attributi di Cane sono: codice, nome, altezza, peso e data di nascita. Tutti gli attributi sono di tipo stringa tranne il codice. Gli attributi di Razza sono: codice, nome, altezza standard e peso standard. Il codice e il nome sono di tipo stringa, mentre gli altri due sono di tipo numerico. ANALISI DELLE ASSOCIAZIONI VINCOLI DI INTEGRITÀ Tra l’entità Proprietario e l’entità Cane esiste un’associazione possiede di tipo (cardinalità) uno a molti (1:N). Infatti, l’associazione diretta è multipla, poiché un proprietario può possedere più cani, e l’associazione inversa è univoca, poiché un cane può avere un solo proprietario. L’associazione diretta e l’inversa sono entrambe totali, poiché un proprietario deve possedere almeno un cane per poter partecipare alla mostra e un cane deve possedere almeno un proprietario. Tra l’entità Cane e l’entità Razza esiste un’associazione appartiene di tipo molti a uno (N:1). Infatti, l’associazione diretta è univoca, poiché il cane può appartenere a una sola razza, mentre l’inversa è multipla, poiché una razza può avere più cani iscritti alla gara. L’associazione diretta è parziale, poiché una razza può non avere cani che partecipano alla mostra, mentre l’inversa è totale, poiché un cane deve appartenere ad almeno una razza. V1: (Cane.Altezza < 110) V2: (Cane.Peso < 150) I seguenti vincoli esprimono possibili variazioni del peso e dell’altezza di un cane rispetto agli standard di razza: V3: (Razza.Peso – 10 ≤ Cane.Peso ≤ Razza.Peso + 10) V4: (Razza.AltezzaStandard – 5 ≤ Cane.Altezza ≤ Razza.AltezzaStandard + 5) 40 BLOCCO TEMATICO A Le basi di dati 020-053-Task3-A2.qxp 19-07-2009 16:52 Pagina 41 I vincoli di integrità ESEMPI 14 SCHEMA CONCETTUALE Siamo ora in grado di formalizzare lo schema concettuale secondo le regole del modello ER: Altezza Cognome CodProprietario Nome DataNascita 1 Proprietario Indirizzo possiede N Cane Peso Città Telefono CodCane N appartiene 1 CodRazza NomeRazza AltezzaStandard PesoStandard Razza In questo esempio Telefono è un attributo semplice, mentre spesso è stato definito e rappresentato come attributo multiplo. Vogliamo così evidenziare che il tipo di uno stesso attributo può differire nei vari esercizi, poiché dipende solo dalla realtà di interesse. Rappresenta tramite diagramma ER la realtà di interesse: prenotazione di visite specialistiche presso gli uffici del servizio sanitario Per effettuare una prenotazione di una visita specialistica occorre fornire le generalità del paziente e il tipo di visita che si intende effettuare. Naturalmente un paziente può prenotare diverse visite, ma ognuna sarà qualificata da un apposito appuntamento caratterizzato da una data, da un’ora e da un codice di prenotazione. Il paziente che prenota una visita può anche scegliere il medico con cui effettuarla. Passiamo immediatamente alla stesura dello schema concettuale lasciandoti il compito di effettuare l’analisi dei dati, quella delle associazioni e la definizione di eventuali vincoli d’integrità. CodPaziente Nome Città CodPrenotazione Cognome Paziente Indirizzo 1 ANALISI DEL PROBLEMA effettua N Data Ora Prenotazione Telefono N N relativa con 1 1 TipoVisita CodVisita Descrizione Medico CodMedico Nome Cognome Progettazione concettuale: il modello ER UNITÀ FORMATIVA 2 41 020-053-Task3-A2.qxp 11-02-2009 10:27 Pagina 42 ESEMPI LEZIONE I vincoli di integrità Rappresenta tramite diagramma ER la realtà di interesse: gestione di una società assicurativa organizzata in agenzie. ANALISI DEL PROBLEMA CodSocietà Un’agenzia assicurativa ha solitamente diverse filiali sparse sul territorio, con le quali si intrattiene un rapporto di tipo gerarchico. Le agenzie assicurative stipulano i contratti con i clienti i quali, a loro volta, possono attivare varie polizze con diverse società e in più agenzie. Le polizze esistono, ovviamente, se si riferiscono a un cliente e a una specifica agenzia. La polizza, inoltre, può essere stipulata con un solo cliente, e una società assicurativa, come già detto, può avere più agenzie situate in luoghi differenti. Passiamo immediatamente alla stesura dello schema concettuale lasciandoti il compito di effettuare l’analisi dei dati, quella delle associazioni e la definizione di eventuali vincoli d’integrità. 1 Società Denominazione ha N CodAgenzia Indirizzo Città Titolare Agenzia 1 Indirizzo Città stipula N CodPolizza TipoPolizza Scadenza Franchigia Polizza N riferita 1 Cliente Telefono Città CodCliente Cognome Nome Indirizzo Nell’entità Polizza è presente un attributo multiplo (TipoPolizza). Trasforma lo schema concettuale eliminando questo attributo multiplo, seguendo le regole descritte in questa unità e già dettagliate nel precedente esercizio svolto riguardante la gestione della biblioteca. Rappresenta tramite diagramma ER la realtà di interesse: gestione di visite specialistiche presso gli uffici del servizio sanitario nazionale. ANALISI DEL PROBLEMA 42 Attraverso i call center o presentandosi di persona, i pazienti possono prenotare delle visite specialistiche presso i poliambulatori del servizio sanitario nazionale. Quando si effettua una prenotazione, è anche possibile scegliere il medico con cui effettuare la visita. Le visite mediche avvengono presso apposite strutture ambulatoriali ubicate in diverse città del distretto sanitario. Al paziente sarà comunicato, oltre alla data e all’ora della visita, anche il luogo in cui effettuarla. Nella memorizzazione dei dati del paziente è utile registrare il numero di telefono (campo obbligatorio), perché così si ha la possibilità di comunicare per tempo informazioni in merito all’anticipio o posticipo dell’appuntamento. BLOCCO TEMATICO A Le basi di dati 020-053-Task3-A2.qxp 11-02-2009 10:27 Pagina 42 ESEMPI LEZIONE I vincoli di integrità Rappresenta tramite diagramma ER la realtà di interesse: gestione di una società assicurativa organizzata in agenzie. ANALISI DEL PROBLEMA CodSocietà Un’agenzia assicurativa ha solitamente diverse filiali sparse sul territorio, con le quali si intrattiene un rapporto di tipo gerarchico. Le agenzie assicurative stipulano i contratti con i clienti i quali, a loro volta, possono attivare varie polizze con diverse società e in più agenzie. Le polizze esistono, ovviamente, se si riferiscono a un cliente e a una specifica agenzia. La polizza, inoltre, può essere stipulata con un solo cliente, e una società assicurativa, come già detto, può avere più agenzie situate in luoghi differenti. Passiamo immediatamente alla stesura dello schema concettuale lasciandoti il compito di effettuare l’analisi dei dati, quella delle associazioni e la definizione di eventuali vincoli d’integrità. 1 Società Denominazione ha N CodAgenzia Indirizzo Città Titolare Agenzia 1 Indirizzo Città stipula N CodPolizza TipoPolizza Scadenza Franchigia Polizza N riferita 1 Cliente Telefono Città CodCliente Cognome Nome Indirizzo Nell’entità Polizza è presente un attributo multiplo (TipoPolizza). Trasforma lo schema concettuale eliminando questo attributo multiplo, seguendo le regole descritte in questa unità e già dettagliate nel precedente esercizio svolto riguardante la gestione della biblioteca. Rappresenta tramite diagramma ER la realtà di interesse: gestione di visite specialistiche presso gli uffici del servizio sanitario nazionale. ANALISI DEL PROBLEMA 42 Attraverso i call center o presentandosi di persona, i pazienti possono prenotare delle visite specialistiche presso i poliambulatori del servizio sanitario nazionale. Quando si effettua una prenotazione, è anche possibile scegliere il medico con cui effettuare la visita. Le visite mediche avvengono presso apposite strutture ambulatoriali ubicate in diverse città del distretto sanitario. Al paziente sarà comunicato, oltre alla data e all’ora della visita, anche il luogo in cui effettuarla. Nella memorizzazione dei dati del paziente è utile registrare il numero di telefono (campo obbligatorio), perché così si ha la possibilità di comunicare per tempo informazioni in merito all’anticipio o posticipo dell’appuntamento. BLOCCO TEMATICO A Le basi di dati