progetto di basi di dati database gestionale
DESCRIPTION
Progetto di Basi di Dati DATABASE GESTIONALE. Paolo Manfrin Ing. Informatica 81200333. REQUISITI ESPRESSI DAL CLIENTE. Si vuole realizzare un database che consenta ad una Azienda di registrare la vendita di articoli e l’assistenza fornita ai clienti. - PowerPoint PPT PresentationTRANSCRIPT
Progetto di Basi di DatiDATABASE GESTIONALE
Paolo Manfrin
Ing. Informatica
81200333
REQUISITI ESPRESSI DAL REQUISITI ESPRESSI DAL CLIENTECLIENTE
Si vuole realizzare un database Si vuole realizzare un database che consenta ad una Azienda di che consenta ad una Azienda di registrare la vendita di articoli e registrare la vendita di articoli e l’assistenza fornita ai clienti.l’assistenza fornita ai clienti.
Il database deve facilitare la Il database deve facilitare la tracciabilità di un dato articolo e tracciabilità di un dato articolo e dei relativi legami.dei relativi legami.
RACCOLTA INFORMAZIONI A CONTATTO COL CLIENTE 1/2• PARTE DI ACQUISTO / VENDITA ARTICOLI:
• Tutti gli Articoli presenti a magazzino provengono da Fornitori.• Gli Articoli vengono posti a Magazzino osservando le Fatture di Acquisto emesse dai Fornitori.• I Fornitori devono essere presenti in archivio e di questi si vogliono registrare alcune informazioni
salienti.• Ogni fornitore è possessore di partita Iva o codice fiscale. Si deve poter inserire l’anagrafica
completa, numeri di telefono, modalità di pagamento con cui la nostra azienda salda i debiti col fornitore, eventuale banca di appoggio e dati bancari.
• Se si effettuano pagamenti su Conto Corrente deve essere registrato il numero di conto corrente dei fornitori.
• Tutti gli articoli in ingresso vengono catalogati univocamente e inseriti a magazzino.• Ogni articolo appartiene ad una ed una sola Fattura di Acquisto• Ogni articolo posto a magazzino deve appartenere ad una certa categoria. • Di ogni articolo Caricato a magazzino viene registrato il fornitore di provenienza, la data di
acquisto, il numero fattura con cui è stato acquistato e il prezzo di acquisto.• Gli articoli restano nel magazzino fino a quando non vengono venduti.• Gli articoli vengono venduti a Clienti.• Per ogni vendita viene registrata una Nota di Vendita.• La Nota di Vendita contiene l’elenco degli Articoli venduti ai clienti.• Di ogni articolo venduto si deve tener nota della Data di Vendita e del Prezzo di Vendita• Per ogni articolo venduto vengono registrati il cliente che acquista tale componente, la data di
vendita, il prezzo di vendita, la modalità di pagamento concordata.• I Clienti devono essere registrati con le stesse modalità dei fornitori: partita Iva o codice fiscale,
modalità di pagamento convenute, eventuale banca di appoggio e dati bancari.• L’Azienda vuole tener traccia anche del Conto Corrente dei Clienti nel caso essi paghino con
Bonifico.• Si vuole poter segnalare l’avvenuto pagamento da parte di un cliente e il codice pagamento.• Si vuole poter segnalare il pagamento a favore di un fornitore e il codice di pagamento.
RACCOLTA INFORMAZIONI A CONTATTO COL CLIENTE 2/2
• PARTE DI ASSISTENZA:• Ai Clienti vengono venduti gli Articoli e su questi l’Azienda può eseguire degli Interventi di
Manutenzione.• I Clienti quando necessitano di un Intervento su un certo Articolo ne fanno Richiesta.• L’Intervento che l’Azienda esegue è dato da uno o più Servizi che l’Azienda offre.• L’Assistenza può riguardare articoli in Garanzia oppure già Fuori Garanzia.• Il tipo di Servizio può essere diverso ( installazione, riparazione, ampliamento, …)• Si vuole tener traccia se un Articolo è ancora in Garanzia oppure è Fuori Garanzia• La Garanzia decorre dall’istante di Vendita, non dalla data di Acquisto da parte dell’Azienda.• La durata della Garanzia deve essere scelta fra un insieme di possibili valori.• I Clienti possono avere un Contratto di Assistenza.• L’Azienda è interessata a mantenere le informazioni contrattuali solamente finchè il contratto ha
validità, poi possono essere rinnovate ( in caso di rinnovo del contratto ) o eliminate.• I Clienti con Contratto di Assistenza godono di Sconti sugli Interventi concordati dal contratto.• Gli Sconti devono essere scelti tra un elenco di valori possibili.• Lo sconto da applicare al Cliente in possesso di contratto di assistenza viene deciso al momento
della stipula del contratto e può variare da Cliente a Cliente.
• FORNITORI:– Emettono le fatture– Possono avere conti correnti
• FATTURE– Vengono pagate secondo una modalità di pagamento– Contengono gli Articoli acquistati dall’azienda– Vogliamo segnalare se sono state pagate e con quale codice di pagamento
• ARTICOLI– Possiedono un codice univoco– Vengono catalogati– Possono avere una garanzia– Possono essere venduti– Possono essere elemento di intervento
• NOTE DI VENDITA– Contegono la lista degli articoli venduti– Sono univocamente determinate– Vogliamo poter segnalare l’avvenuto pagamento ed il codice del pagamento– Le note vendita vengono consegnate ai clienti ed hanno una data di emissione / consegna
• CLIENTI– Ricevono articoli accompagnati da una nota di vendita– Possono richiedere interventi sugli articoli che hanno acquistato– Possono avere un contratto di assistenza– Pagano Note Vendita e Interventi secondo una modalità di pagamento.
• INTERVENTO– Richiesto dai Clienti ed eseguito su Articoli– Composto da uno o più servizi.– Vogliamo registrare la data di richiesta, l’avvenuto pagamento e il codice di tale pagamento.
RIELABORAZIONE DELLE FRASI PIU’ SIGNIFICATIVE
OPERAZIONI SUL DATABASE
• Le operazioni consentite sono:
1. FORNITORI– Aggiunta fornitore– Modifica dati fornitore– Eliminazione fornitore ( nei casi
consentiti)
2. CLIENTI– Aggiunta cliente– Modifica dati cliente– Eliminazione cliente ( nei casi consentiti )
3. ARTICOLO– Aggiunta articolo– Modifica articolo– Eliminazione articolo
4. FATTURA– Aggiunta Fattura– Modifica Fattura
5. NOTA DI VENDITA– Aggiunta Nota di Vendita– Modifica Vendita
6. BANCA– Aggiunta banca– Modifica banca– Eliminazione banca
7. CATEGORIE– Aggiunta categoria– Modifica categoria– Eliminazione categoria
8. SERVIZIO– Aggiunta servizo– Modifica servizio– Eliminazione Servizio
9. INTERVENTO– Aggiunta intervento– Modifica intervento
10. GARANZIA– Aggiunta Durata Garanzia– Eliminazione Durata Garanzia
11. MODALITA’ DI PAGAMENTO– Aggiunta della Modalità di Pagamento– Eliminazione della Modalità di Pagamento
12. CONTO CORRENTE– Aggiunta Conto Corrente– Modifica Conto Corrente
13. SCONTO– Aggiunta Sconto– Eliminazione Sconto
OPERAZIONI DI ANALISI
• Dato un codice cliente, restituire il fatturato di un certo periodo.
• Cercare data acquisto, data vendita, prezzi e fornitore di un certo articolo
• Visualizzare i nomi dei clienti che non hanno rispettato i termini di pagamento e il ritardo di pagamento in termini di giorni di un dato acquisto ( da parte del cliente ).
• Visualizzare i fornitori con cui l’azienda non ha ancora saldato i debiti, i giorni rimanenti alla scadenza o i giorni oltre la scadenza, e il numero fattura del fornitore di riferimento.
GLOSSARIO DEI TERMINI 1/2ELEMENTO DESCRIZIONE SINONIMI COLLEGAMENTI
Fornitore Colui che emette le Fatture Fattura, Conto_Corrente, Banca,
Cliente Colui che acquista Articoli e richiede gli Interventi Acquirente Nota_Vendita, Intervento, Conto_Corrente, Banca,
Articolo Elemento acquistato da un Fornitore registrato su una Fattura e Venduto ad un Cliente tramite una Nota di Vendita. Articoli a magazzino appartengono a una data categoria
Elemento Fattura, Nota_Vendita, Categoria, Garanzia
Banca Elenco delle Banche utilizzate da Clienti e Fornitori Fornitore, Cliente, Conto_Corrente
Categoria Categoria di appartenenza di ogni Articolo a magazzino Articolo
Modalita_Pagamento Modalità di pagamento con cui l’Azienda paga le Fatture ai Fornitori
Modalità di pagamento con cui i Clienti pagano le Note_Vendita e gli Interventi.
Fattura, Nota_Vendita, Intervento
Durata_Garanzia Durata stabilita per un Articolo coperto da Garanzia Articolo
Servizio Identifica le singole manutenzioni che l’Azienda è in grado di erogare. Il Tipo di Servizio può essere diverso a seconda del problema.
Intervento
GLOSSARIO DEI TERMINI 2/2
ELEMENTO DESCRIZIONE SINONIMI COLLEGAMENTI
Intervento L’Intervento costituisce l’Insieme di Servizi che l’Azienda attua su determinati Articoli Venduti, a seguito di una richiesta da parte di un Cliente
Servizio, Articolo, Sconto, Cliente, Modalita_Pagamento.
Contratto Il Contratto di Assistenza prevede uno sconto per gli Interventi di Assistenza forniti al Cliente da parte dell’Azienda.
Sconto
Sconto Sconto stabilito da Contratto, per ogni Cliente con Contratto di Assistenza. Lo Sconto viene applicato ad un Intervento
Contratto, Intervento
Conto_Corrente E’ il numero di Conto Corrente di un certo Fornitore o Cliente attivo presso una certa Banca
Banca, Cliente, Fornitore
Fattura Tutti gli Articoli acquistati dai Fornitori sono registrati in Fattura. Ogni Fattura è caratterizzato da una Data, un insieme di Articoli acquistati e un Numero di Fattura. Ogni Fattura viene pagata secondo una Modalità di Pagamento.
Fornitore, Articolo, Modalita_Pagamento
Nota_Vendita Gli Articoli possono essere venduti ai Clienti mediante una Nota di Vendita. Ogni Vendita è caratterizzata da una Modalità di Pagamento e una Data di Vendita. Ogni vendita possiede un Numero_Vendita univoco.
Articolo, Cliente, Modalita_Pagamento
Richiesta Un Cliente richiede un Intervento. Per ogni Intervento richiesto deve essere nota la data di richiesta
Cliente, Intervento
Esecuzione Un Intervento verrà Eseguito su uno o più Articoli. Intervento, Articolo
REQUISITI DI OGNI ELEMENTO• FORNITORE
– Dati Personali: Codice Fornitore, Nome Fornitore, Indirizzo, Cap, Provincia, Num. Telefono, P.IVA o Codice Fiscale.
– Tipo di pagamento ( 30 / 60 / 90 gg, Contanti, …)
• CLIENTE– Dati Personali: Codice Cliente, Nome Cliente, Indirizzo, Cap, Provincia, Num. Telefono, P.IVA o Codice
Fiscale.– Banche di appoggio– Numeri di Conto Corrente– Tipo di pagamento ( 30 / 60 / 90 gg, Contanti, …)
• ARTICOLO– Nome Articolo– Identificativo all’interno della categoria– Prezzo di Acquista– Prezzo di Vendita
• BANCA– Nome Banca– Indirizzo, CAP, Provincia.– Abi– Cab– Cin
• CATEGORIA– Categoria Articoli
• MODALITA_PAGAMENTO– Modalità di Pagamento– Scadenza in Giorni
• DURATA_GARANZIA– Anni di durata della garanzia
• SERVIZIO– Tipo di Servizio che l’Azienda eroga
• INTERVENTO– Costo Intervento– Numero Intervento– Codice Pagamento Effettuato– Pagamento Effettuato
• CONTRATTO– Data Inizio Contratto– Data Fine Contratto– Costo del Contratto– Descrizione Contratto
• SCONTO– Sconto applicabile ad un Contratto
• CONTO CORRENTE– Numero di Conto Corrente
• FATTURA– Numero Fattura del Fornitore– Data Fatturazione– Codice Pagamento Effettuato– Pagamento Effettuato
• NOTA_VENDITA– Numero di Vendita– Data Vendita– Codice Pagamento Effettuato– Pagamento Effettuato
• RICHIESTA– Data di Richiesta Intervento
PROGETTAZINE CONCETTUALE• Entità e Relazioni Principali• Estensioni• Generalizzazioni• Schema E-R Finale• Analisi delle Entità• Analisi delle Relazioni• Schema E-R Finale con Attributi
ENTITA E RELAZIONI PRINCIPALI
• Vengono qui definite le entità e le relazioni principali:– Il Fornitore, l’Articolo e il Cliente hanno “vita a se stante” e sono quindi
entità.– L’Acquisto e la Vendita esistono solamente a seguito di un legame tra
Fornitore – Articolo e Articolo – Cliente rispettivamente.
• Questo schema base mette in luce i principali attori del DB
ESTENSIONE 1• Acquisto e Vendita devono essere scomposti in modo tale da mettere in luce l’Apparteneza di ogni Articolo ad
una certa Fattura emessa da un Fornitore.
• L’Articolo può non essere venduto singolarmente al cliente e viene qui introdotta la Nota_Vendita che raccoglie la vendita di più Articoli in un istante preciso.
• Aggiungiamo allo schema l’elemento Categoria.La Categoria ha vita indipendente dall’articolo in quanto esiste come tale. Essa è legata ad un Articolo a seguito
di una Catalogazione.Quindi la Catalogazione esiste solamente se esiste un Articolo e questo appartiene ad una determinata
Categoria.
– Categoria è una entità– Catalogazione è una relazione
ANALISI DELLE GENERALIZZAZIONI 1 / 4
• Prima Generalizzazione– Un Cliente può trovarsi in una sola delle seguenti condizioni:
1. Ha un Contratto di Assistenza
2. Non ha un Contratto di Assistenza
Quindi tale generalizzazione è TOTALE ed ESCLUSIVA
ANALISI DELLE GENERALIZZAZIONI 2 / 4
• Per i Clienti con Contratto di Assistenza è definito uno Sconto, scelto fra un insieme di possibili valori.
ANALISI DELLE GENERALIZZAZIONI 3 / 4
• Seconda Generalizzazione– Un Articolo può trovarsi solamente in una
sola delle seguenti categorie:
1. E’ in Garanzia
2. E’ fuori Garanzia
Quindi tale generalizzazione è TOTALE ed ESCLUSIVA
ANALISI DELLE GENERALIZZAZIONI 4 / 4
• Terza Generalizzazione– Un Articolo può trovarsi solamente in una
sola delle seguenti categorie:
1. E’ stato venduto
2. Non è stato venduto
Quindi tale generalizzazione è TOTALE ed ESCLUSIVA
• E quindi riformulando le considerazioni fatte sinora, verranno inserite in nota vendita solamente gli Articoli Venduti
ESTENSIONE 2
• Inseriamo le Generalizzazioni riformulate precedentemente
ANALISI ARTICOLO CLIENTE
• Aggiungiamo ora la parte relativa all’intervento di assistenza.
• Analisi delle iterazioni:– Il Cliente richiede un Intervento– L’ Intervento comporta uno o più Servizi– L’ Intervento può riguardare uno o più Articoli Venduti.
ESTENSIONE 3• Aggiungiamo l’Analisi appena fatta allo Schema
Concettuale redatto.
SCHEMA E-R
ANALISI DELLE ENTITA’FORNITORE
Fornitore_ID Codice Univoco che Identifica il Fornitore. Candidata chiave primaria
Fornitore_Denominazione Nome del Fornitore
Fornitore_Anagrafica ATTRIBUTO COMPOSTO
Fornitore_Telefono Il fornitore può possedere più numeri di telefono a seconda dei vari reparti, personale, … . Esso è dunque un ATTRIBUTO MULTIVALORE
Fornitore_Codice_Fiscale Codice Fiscale del Fornitore
Fornitore_Partita_IVA Numero di Partita IVA del Fornitore
CLIENTE
Cliente_ID Codice Univoco che Identifica il Cliente. Candidata chiave primaria
Cliente_Nome Nome del Cliente
Cliente_Cognome Cognome del Cliente
Cliente_Anagrafica ATTRIBUTO COMPOSTO
Cliente_Telefono Il Cliente può possedere diversi numeri di Telefono, come ad esemio Casa, Ufficio, Cellulare,… ed è quindi un ATTRIBUTO MULTIVALORE
Cliente_Codice_Fiscale Codice Fiscale del Fornitore
Cliente_Partita_IVA Numero di Partita IVA del Fornitore
ARTICOLO
Articolo_ID Codice Univoco che Identifica l’Articolo. L’ID_Articolo con la categoria di apparteneza potrebbe essere la candidata chiave primaria. L’ID_Articolo identifica la Posizione dell’Articolo all’interno della categoria.
Articolo_Descrizione Descrizione dell’Articolo
Articolo_Prezzo_Acquisto Prezzo di Acquisto dell’Articolo
BANCA
Banca_Nome Descrizione della Banca
Banca_ABI Codice ABI della Banca
Banca_CAB Codice CAB della Banca
Banca_CIN Codice CIN della Banca
Banca_Anagrafica Anagrafica della Banca. ATTRIBUTO COMPOSTO
CATEGORIA
ID_Categoria Codice Univoco che Identifica le diverse categorie. Candidata chiave primaria
Categoria_Descrizione Descrizione della Categoria
MODALITA_PAGAMENTO
Pagamento_ID Codice Univoco che Identifica le diverse modalità di pagamento. Candidata chiave primaria
Pagamento_Descrizione Descrizione del Tipo di Pagamento.
Pagamento_Scadenza Termine Ultimo di Scadenza della Modalità di Pagamento
SERVIZIO
Servizio_ID Codice Univoco che Identifica l’operazione di Assistenza che l’Azienda è in grado di fornire. Candidata chiave primaria
Descrizione_Servizio Descrizione della Tipologia di Assistenza ( Installazione, Manutenzione, Formattazione, … )
DURATA_GARANZIA
Garanzia_Anni Anni di Durata della Garanzia. Candidata chiave primaria
INTERVENTO
Intervento_ID Codice Univoco che Identifica il numero di Intervento. Candidata chiave primaria
Intervento_Costo Costo dell’intervento senza applicazione di sconto.
Codice_Pagamento Codice del Documento che attesta l’avvenuto pagamento
SCONTO
Sconto_Percentuale Percentuale di Sconto applicata ad un Contrattol . Candidata chiave primaria
CONTO_CORRENTE
Conto_Corrente_Numero Numero di Conto Corrente . Candidata chiave primaria
FATTURA
Fattura_Numero Numero della Fattura del Corrente Anno
Codice_Pagamento Codice del Documento che attesta l’avvenuto pagamento
NOTA_VENDITA
Nota_Vendita_Numero Numero della Nota di Vendita del Corrente Anno
Nota_Vendita_Data Data di emissione della Nota di Vendita
Codice_Pagamento Codice del Documento che attesta l’avvenuto pagamento
• Generalizzazioni…
CLIENTE_CON_CONTRATTO
Contratto_ID Codice Univoco del Contratto
Contratto_Data_Stipulazione Data in cui il Contratto è stato stipulato
Contratto_Data_Scadenza Data di Scadenza del Contratto
Contratto_Costo Costo del Contratto
ARTICOLO_IN_GARANZIA
Nessun Attributo
ARTICOLO_FUORI_GARANZIA
Nessun Attributo
CLIENTE_SENZA_CONTRATTO
Nessun Attributo
ARTICOLO_NON_VENDUTO
Nessun Attributo
ARTICOLO_VENDUTO
Prezzo di Vendita Prezzo di vendita dell’articolo
ANALISI DELLE RELAZIONI
CONTIENE
Collega Ciascuna Fattura con gli Articoli di cui è composta. Tutti gli Articoli a magazzino vengono registrati a seguito della presenza di una Fattura di Acquisto.
CARDINALITA’ UNO A MOLTI
Una Fattura può contenere la lista di più Articoli acquistati.
Ciascun Articolo a magazzino proviene da una ed una sola Fattura.
EMISSIONE
Collega il Fornitore a ciascun Fattura da lui emessa .
CARDINALITA’ UNO A MOLTI
Un Fornitore registrato può emettere nessuna o più Fatture. Ogni fattura emessa appartiene ad uno ed un solo Fornitore.
Emissione_Data Data di emissione della Fattura.
PAGAMENTO_FATTURA
Ogni Fattura viene pagata secondo una certa modalità di Pagamento.
CARDINALITA’ UNO A MOLTI
Una Fattura può essere pagata secondo una ed una sola Modalità di Pagamento
Una Modalità di Pagamento può essere utilizzata per il Pagamento di più Fatture.
REGISTRAZIONE
Ogni articolo che viene venduto viene registrato in una Nota di Vendita
CARDINALITA’ UNO A MOLTI
Un Articolo può non essere venduto. Gli Articoli venduti vengono Registrati in una ed una sola Nota di Vendita. Una Nota di vendita contiene almeno un Articolo.
CATALOGAZIONE
Collega il Fornitore a ciascun Articolo con la relativa Categoria di Appartenenza
CARDINALITA’ UNO A MOLTI
Un Articolo deve sempre essere inserito in una ed una sola Categoria. In una certa Categoria possono essere inseriti nessuno o più Articoli.
PAGAMENTO NOTA VENDITA
Ogni Nota di Vendita viene pagata secondo una certa modalità di Pagamento.
CARDINALITA’ UNO A MOLTI
Una Nota di Vendita può essere pagata secondo una ed una sola Modalità di Pagamento. Una Modalità di Pagamento può essere utilizzata per il Pagamento di più Note di Vendita.
CONSEGNA
Le Note di Vendita vengono consegnate sempre ad un certo Cliente ad una certa data.
CARDINALITA’ UNO A MOLTI
Una Nota di Vendita appartiene sempre ad uno ed un solo Cliente.
Un Cliente può avere a suo carico nessuna o più Note di Vendita.
Consegna_Data Data di Consegna
RICHIESTA
Un Cliente può richiedere uno o più Interventi
CARDINALITA’ UNO A MOLTI
Un Intervento può essere richiesto da uno ed un solo Cliente
Un Cliente può richiedere nessuno o più Interventi.
Richiesta_Data Data di Richiesta dell’Intervento
SCELTA
Ogni Intervento è costituito dalla applicazione di uno o più Servizi forniti dall’Azienda.
CARDINALITA’ MOLTI A MOLTI
Un Intervento richiede di eseguire uno o più Servzi.
Ogni Servizio può essere applicato a nessuno o più Interventi.
ESECUZIONE
Gli Interventi vengono eseguiti sugli Articoli Venduti acquistati dai Clienti
CARDINALITA’ MOLTI A MOLTI
Un Intervento può essere eseguito su uno o più Articoli
Su un dato Articolo possono essere eseguiti nessuno o più Interventi.
SELEZIONE
Tutti gli Articoli in Garanzia possiedono una certa durata della Garanzia
CARDINALITA’ UNO A MOLTI
Ogni Articolo in garanzia possiede una ed un’unica durata della garanzia.
Una certa Durata di Garanzia può essere utilizzata da nessuno o più articoli
DEFINITO
Per Ogni Contratto è definito uno Sconto.
CARDINALITA’ UNO A MOLTI
Uno sconto può essere utilizzato per nessuno o più Contratti
Ogni Contratto ha definito uno ed un solo Sconto.
PAGAMENTO INTERVENTO
Gli Interventi vengono pagati secondo una certa Modalità di Pagamento.
CARDINALITA’ UNO A MOLTI
Ogni Intervento viene pagato secondo una ed unica Modalità di Pagamento.
Una Modalità di Pagamento può essere utilizzata da nessuno o più Pagamenti di Intervento.
APPOGGIO
Clienti e Fornitori possono avere una Banca di Appoggio
CARDINALITA’ MOLTI A MOLTI
Un Cliente o un Fornitore può avere nessuna o più Banche di Appoggio.
Una Banca può essere la Banca di Appoggio di nessuno o più Clienti e Fornitori.
TITOLARE
Clienti e Fornitori possono essere Titolari di Conti Correnti
CARDINALITA’ UNO A MOLTI
Un Cliente o un Fornitore può essere titolare di nessuno o più Conti Correnti.
Un Conto Corrente appartiene ad uno ed un solo Cliente o Fornitore.
ATTIVO
I Conti Correnti sono attivi presso le Banche
CARDINALITA’ UNO A MOLTI
Un Conto Corrente può essere attivo presso una ed una sola Banca.
Una Banca può gestire uno o più Conti Corrente.
APPLICAZIONE
Gli Sconti vengono Applicati agli Interventi
CARDINALITA’ UNO A MOLTI
Uno Sconto può essere applicato a nessuno o più Interventi.
Gli Interventi di Clienti con Contratto hanno sicuramente uno sconto
Gli Interventi di Clienti senza Contratto non hanno sconto.
SCHEMA E-R FINALE CON RELATIVI ATTRIBUTI
PROGETTAZINE LOGICA
• Tavola dei volumi• Valutazione dei costi• Tavola degli Accessi• Analisi delle Ridondanze• Eliminazione delle Generalizzazioni• Partizionamento & Accorpamento E / R• Attributi Multipli & Composti• Scelta degli Identificatori Primari
TAVOLA DEI VOLUMICONCETTO TIPO VOLUME
Fornitore E 30
Cliente E 1000
Articolo E 5000
Articoli Venduti E 4500
Articoli non Venduti E 5000
Banca E 20
Categoria E 200
Modalita_Pagamento E 10
Durata_Garanzia E 5
Servizio E 30
Intervento E 200
Con Contratto E 200
Senza Contratto E 800
Sconto E 5
Conto_Corrente E 200
Fattura E 500
Nota di Vendita E 400
In Garanzia E 5000
Fuori Garanzia E 5000
CONCETTO TIPO VOLUME
Emissione R 500
Contiene R 5000
Pagamento Fattura R 500
Catalogazione R 2000
Registrazione R 400
Pagamento Nota Vendita R 400
Corrispondenza R 400
Richiesta R 200
Scelta R 200
Esecuzione R 300
Selezione E 5000
Definito E 200
Pagamento Intervento E 200
Appoggio E 100
Titolare E 200
Attivo E 200
Applicazione E 200
VALUTAZIONE DEI COSTIOPERAZIONE TIPO di OPERAZIONE FREQUENZA OPERAZIONE
Inserimento nuovo Fornitore Interattiva 1 ogni 2 mesi
Modifica dati Fornitore Interattiva 1 ogni 3 mesi
Eliminazione Fornitore Interattiva 1 all’anno
Inserimento nuovo Cliente Interattiva 1 alla settimana
Modifica dati Cliente Interattiva 2 al mese
Eliminazione Cliente Interattiva 1 all’anno
Aggiunta Articolo Interattiva 100 alla settimana
Modifica Articolo Interattiva 5 al mese
Eliminazione Articolo Interattiva 100 all’anno
Aggiunta Fattura Interattiva 10 alla settimana
Modifica Fattura Interattiva 1 al mese
Aggiunta Nota Vendita Interattiva 8 alla settimana
Modifica Nota Vendita Interattiva 2 al mese
Aggiunta Banca Interattiva 1 ogni 6 mesi
Modifica Banca Interattiva 1 ogni 4 mesi
Eliminazione Categoria Interattiva 1 all’anno
Aggiunta Categoria Interattiva 1 alla settimana
Modifica Categoria Interattiva 1 al mese
Eliminazione Categoria Interattiva 1 ogni 6 mesi
OPERAZIONE TIPO di OPERAZIONE FREQUENZA OPERAZIONE
Aggiunta Servizio Interattiva 1 ogni 6 mesi
Modifica Servizio Interattiva 1 ogni 4 mesi
Eliminazione Servizio Interattiva 1 ogni 8 mesi
Aggiunta Intervento Interattiva 10 alla settimana
Modifica Intervento Interattiva 1 al mese
Visualizzare il fatturato di tutti i clienti Batch 1 al mese
Cercare la data di vendita di un certo articolo
Interattiva 1 alla settimana
( Garanzia )
Visualizzare i fornitori la cui data di pagamento scade entro tot. giorno
Interattiva 1 alla settimana
Visualizzare i clienti che non rispettano la data di pagamento
Batch 1 al mese
Visualizzare i fornitori che non sono ancora stati pagati
Batch 1 al mese
NOTA:
Alcune operazioni di modifica devono essere fatte con cautela e non ammesse a tutti gli utenti del database. Questo per evitare che vengano eliminate informazioni importanti o dati che devono essere conservati per costituire lo storico, come ad esempio le Fatture, i Fornitori che le hanno emesse, i Clienti a cui vengono fatturati gli acquisti e gli Interventi. Allo stesso modo gli Articoli devono essere conservati per un certo periodo prima di poter essere eliminat.i Gli Articoli devono essere conservati al fine di conservare informazioni sulla Garanzia.
Le operazioni sopradescritte sono state ottenute tenendo conto della regola dell’ 80 / 20. Il 20% delle operazioni determinano l’80% dell’Attività totale svolta sul Database.
TAVOLA DEGLI ACCESSI
OPERAZIONE Visualizzare il fatturato di tutti i clienti entro un certo intervallo ( per cliente )
CONCETTO E / R ACCESSI TIPO DESCRIZIONE
CLIENTE E 1 L Seleziona il cliente
RICHIESTA R 1 L
INTERVENTO E 1 L Estrae il costo dagli interventi richiesti
CONSEGNA R 1 L
NOTA_VENDITA E 1 L Estrai le note di vendita che corrispondono al cliente selezionato
REGISTRAZIONE R 12 L
ARTICOLO E 12 L Legge il prezzo degli articoli venduti
OPERAZIONE Cercare data acquisto, data vendita, prezzi e fornitore di un certo articolo
CONCETTO E / R ACCESSI TIPO DESCRIZIONE
ARTICOLO E 1 L Seleziona l’articolo
REGISTRAZIONE R 1 L
NOTA_VENDITA E 1 L Estrai data di vendita
IPOTESI PER IL CALCOLO DEGLI ACCESSI:5000 Articoli Totali. Sono stati venduti il 90 % degli Articoli Totali: Articoli Venduti = 5000x90/100=4500Le note di vendita sono 400 da cui 4500 / 400 = 12 Articoli per ogni Nota_Vendita.
OPERAZIONE Visualizzare i fornitori la cui data di pagamento scade entro tot. Giorno ( per fornitore )
CONCETTO E / R ACCESSI TIPO DESCRIZIONE
FORNITORE E 1 L Seleziona il fornitore
EMISSIONE R 17 L Seleziona le date di emissione di tutte le fatture emesse dal fornitore
FATTURA E 17 L Seleziona le fatture emesse dal fornitore selezionato
MODALITA_PAGAMENTO R 5 L Seleziona la scadenza del pagamento per ogni fattura selezionata
OPERAZIONE Visualizzare i clienti che non rispettano la data di pagamento
CONCETTO E / R ACCESSI TIPO DESCRIZIONE
NOTA_VENDITA E 400 L Seleziona le note di vendita non ancora pagate
CONSEGNA R 40 L
INTERVENTO E 200 L Seleziona gli interventi non ancora pagati
RICHIESTA R 20 L Seleziona l’ID delle richieste d’Intervento
CLIENTE E 40 + 20 L Seleziona i nomi dei clienti che non ancora pagato
OPERAZIONE Visualizzare i fornitori che non sono ancora stati pagati ( per fornitore )
CONCETTO E / R ACCESSI TIPO DESCRIZIONE
FATTURE E 17 L Seleziona le fatture non ancora pagate
EMISSIONE R 17 L Seleziona l’ID delle fatture non ancora pagate
FORNITORE E 1 L Seleziona i nomi dei fornitori non ancora pagati
500 fatture / 30 fornitori = 17 fatture per fornitore. Consideriamo che il 70% delle fatture sia già stato pagato. 17x30/100=5 fatture ancora da pagare per fornitore che richiedono di analizzare la data di scadenza.
400 Note Vendita Totali. Ipotizziamo non pagate il 10% delle note vendita totali ossia 40 N.V. e “quindi” 40 clientiAnalogamente per il 10% degli Interventi Totali.
ELIMINAZIONE DELLE RIDONDANZE
ANALISI:
Dallo schema E-R si nota la presenza di una ridondanza relativa alla ENTITA’ “SCONTO”.
Per i CLIENTI con CONTRATTO è definito UNO ED UN UNICO SCONTO.
Lo SCONTO per i CLIENTI con CONTRATTO è applicato a TUTTI GLI INTERVENTI richiesti da tali CLIENTI.
CONCLUSIONI:
Lo SCONTO applicato agli INTERVENTI è altresì derivabile dal CLIENTE CON CONTRATTO che hanno richiesto
l’intervento.
ANALISI:
Un’altra ridondanza riguarda le entità BANCA, CONTO_CORRENTE, i CLIENTI e i FORNITORI.
Per i clienti e i fornitori i dati bancari hanno senso solo in presenza di un Conto Corrente. Quindi le Banche di Appoggio di Clienti e Fornitori sono derivabili dai Conti Correnti, che richiedono di essere registrati presso una banca.
CONCLUSIONI:
Si elimina la relazione “APPOGGIO” e si tiene traccia esclusivamente dei numeri di CONTO CORRENTE e tramite questi sarà possibile risalire alle Banche di Appoggio.
ELIMINAZIONE DELLE GENERALIZZAZIONI• Prendiamo in considerazione la Generalizzazione degli Articoli che riguarda la Garanzia.
• Gli Articoli si dividono in ARTICOLI IN GARANZIA e ARTICOLI FUORI GARANZIA.
• Per gli ARTICOLI IN GARANZIA viene selezionata la DURATA DELLA GARANZIA
• ANALISI:La Garanzia ha effetto dalla Data di Vendita dell’Articolo.
La Durata della Garanzia, assieme alla Data di Vendita permette di risalire alla Data di Scadenza della Garanzia.
Dopo che un Articolo in garanzia “esaurisce” la sua Garanzia, viene classificato come ARTICOLO FUORI GARANZIA.
• CONCLUSIONIDecido di accorpare le ENTITA’ FIGLIE NELLA ENTITA’ PADRE.
Quindi spariscono le ENTITA’ “In Garanzia” e “Fuori Garanzia” .
Le informazioni relative alla Garanzia saranno derivabili dalla Data di Vendita e dalla Durata della Garanzia che sarà quindi attribuita all’entità “ARTICOLO”.
• Prendiamo in considerazione la Generalizzazione che riguarda i Clienti con e senza contratto.
• ANALISII Clienti a Contratto possiedono un’unica Relazione in più che riguarda lo sconto applicato al contrattoI Clienti senza Contratto non possiedono attributi.Si deve tener conto che OGNI CONTRATTO che viene stipulato DEVE essere associato ad un CLIENTE.
• OSSERVAZIONII Clienti senza Contratto non possiedono nulla in più rispetto all’Entità padre “CLIENTE” e quindi possono
essere ACCORPATI all’ENTITA’ CLIENTE
• CONCLUSIONI:Tutti i tipi di cliente, con e senza contratto vengono accorpati all’entità padre “CLIENTE”.Ogni contratto stipulato DEVE essere associato ad un CLIENTE. Questo si traduce in una relazione 1-1 tra
Contratto e Cliente con l’OBBLIGO di specificare un Cliente ogni qual volta si stipula un contratto.
Analisi della relazione “STIPULAZIONE”Un generico Cliente può Stipulare oppure no un Contratto di Assistenza.Un Contratto di Assistenza è SEMPRE associato ad uno ed un solo Cliente, che identifica quindi i Clienti con Contratto.Quindi la relazione è di tipo 1-1
• Prendiamo in considerazione la Generalizzazione che riguarda gli Articoli Venduti e Non Venduti.
• ANALISIGli Articoli che non vengono venduti non possiedono alcuna caratteristica in più rispetto agli “Articoli”Gli Articoli che vengono venduti invece hanno un prezzo di vendita.
• CONCLUSIONI:L’entità figlio “Articolo non venduto” viene accorpato all’entità padre “Articolo”.L’entità figlio “Articolo venduto” viene mantenuto SEPARATO dall’entità “Articolo” e con questo relazionato
mediante una relazione che chiameremo “DETTAGLIO_VENDITA”.
PARTIZIONAMENTO E ACCORPAMENTO DI ENTITA’ E RELAZIONI
• Analizzando lo schema E-R ristrutturato si nota che l’Entità Cliente e l’Entità Fornitore possiedono molti attributi comuni e qualche relazione comune.
• Inoltre nessuno esclude che un Fornitore possa essere anche un Cliente e un Cliente possa essere un Fornitore.
• Ovviamente registrare informazioni circa un Cliente ed un Fornitore che si riducono alla medesima Persona o Azienda porta ad una Ridondanza di Informazioni.
• E’ dunque lecito apportare una modifica allo schema E-R ristrutturato accorpando le Entità Cliente e Fornitore e modificando leggermente gli Attributi di questa nuova Entità al fine di garantirne la consistenza.
• ANALISI DEGLI ATTRIBUTI DI CLIENTE E FORNITORE
ATTRIBUTI DEL CLIENTE ATTRIBUTI DEL FORNITORE
Cliente_ID Fornitore_ID
Cliente_Nome Fornitore_Denominazione
Cliente_Cognome
Cliente_Anagrafica Fornitore_Anagrafica
Cliente_Telefono Fornitore_Telefono
Cliente_Codice_Fiscale Fornitore_Codice_Fiscale
Cliente_Partita_IVA Fornitore_Partita_IVA
Si possono fondere gli attributi ID, Anagrafica, Telefono, Codice_Fiscale e Partita_IVAMentre vengono mantenuti distinti i campi Nome, Cognome e Denominazione.
Vengono aggiunti due ulteriori Attributi: “Cliente” e “Fornitore” che identificano se la Persona che interagisce con l’Azienda è un Cliente, un Fornitore o entrambi.
Delle Regole di Validazione consentiranno di compilare i campi Nome, Cognome e / o Denominazione a seconda che la Persona sia un Cliente o un Fornitore.
In VERDE sono contrassegnati gli attributi che riguardano esclusivamente i CLIENTI
In VIOLA è contrassegnato l’attributo che riguarda esclusivamente i FORNITORI
VINCOLI DI INTEGRITA’ SUI DATI
All’interno dell’Entità CLIENTE_FORNITORE deve essere possibile distinguere SOLO I FORNITORI, SOLO I CLIENTI o i CLIENTI & FORNITORI.
Le FATTURE devono poter essere EMESSE solo da FORNITORI.INTERVENTI e NOTE_VENDITA devono esser associate solamente ai CLIENTI.
ATTRIBUTI DELL’ ENTITA’ CLIENTE_FORNITORE
ID
Nome Nome… se è un cliente
Cognome Cognome… se è un cliente
Denominazione Denominazione… se è un fornitore
Anagrafica Attributo Composto
Telefono Attributo Multiplo
Codice_Fiscale
Partita_IVA
Selezione_Fornitore Dichiara che è un Fornitore
Selezione_Cliente Dichiara che è un Cliente
ATTRIBUTI MULTIPLI
• Dallo schema E-R è evidenziato l’attributo multiplo TELEFONO associato all’Entità CLIENTE_FORNITORE. Tale attributo è un attributo multiplo in quanto ad un Cliente o Fornitore possono essere associati nessuno o più numeri di telefono. Dato che non si sa a priori quanti numeri di telefono possa possedere un cliente o fornitore, creiamo una relazione 1 a molti come sottoriportato…
ATTRIBUTI COMPOSTI
• Prendiamo in considerazione l’Anagrafica Cliente_Fornitore.
• L’Attributo composto ANAGRAFICA viene suddiviso nei 4 attributi elementari INDIRIZZO CITTA’ PROVINCIA CAP che vengono associati all’entità CLIENTE_FORNITORE.
ATTRIBUTI COMPOSTI
• Prendiamo in considerazione l’Anagrafica della Banca.
• L’Attributo composto ANAGRAFICA viene suddiviso nei 4 attributi elementari INDIRIZZO CITTA’ PROVINCIA CAP che vengono associati all’entità BANCA.
SCELTA DEGLI IDENTIFICATORI PRIMARI
• CLIENTE_FORNITORE– La chiave scelta è ID_CLIENTE_FORNITORE che identifica univocamente ogni persona, sia essa un
cliente, un fornitore o entrambi.
• FATTURA– La fattura viene identificata dal ID_FATTURA ma questo non basta in quanto diversi fornitori potrebbero
consegnare all’Azienda fatture con uno stesso numero fattura. L’identificatore diventa ID_FATTURA + ID_CLIENTE_FORNITORE. Anche questo non basta in quanto i fornitori reinizializzano il numero fattura da zero ogni anno e quindi all’Azienda potrebbero pervenire due fatture con lo stesso numero da parte dello stesso fornitore in anni diversi. Quindi accorpando la DATA della relazione EMISSIONE otteniamo la chiave primaria scelta: ID_FATTURA + ID_CLIENTE_FORNITORE + DATA_EMISSIONE
• ARTICOLO– Dato che ogni ARTICOLO deve essere identificato univocamente scelgo per ogni ARTICOLO un
identificatore univoco ID_ARTICOLO
• CATEGORIA– Per la categoria viene impostato un ID_CATEGORIA come identificatore
• DURATA_GARANZIA– Per la Garanzia l’ID scelto coincide con l’unico attributo DURATA_GARANZIA espresso in anni (Numero
Intero)
• NOTA_VENDITA– La Nota di Vendita viene identificata dall’ID_NOTA_VENDITA. Tenendo conto che le note di vendita
vengono rinumerate da 1 ogni anno aggiungiamo all’ID scelto anche la DATA della relazione CONSEGNA ottenendo l’ID: ID_NOTA_VENDITA + DATA_CONSEGNA
• INTERVENTO– Anche gli Interventi vengono contraddistinti dall’ID_INTERVENTO + DATA_RICHIESTA in quanto vengono
reinizializzati ogni anno.
• SERVIZIO– I Servizi che l’Azienda eroga vengono distinti univocamente dall’ ID_SERVIZIO.
• CONTO_CORRENTE– Ogni numero di conto corrente è diverso da tutti gli altri e quindi il NUMERO_CONTO_CORRENTE è
l’identificatori primario.
• BANCA– I codici ABI CAB e CIN identificano univocamente ogni Banca e quindi possono essere scelti come Chiave
Primaria.
• SCONTO– La PERCENTUALE_SCONTO è scelto come identificatore dello sconto.
• CONTRATTO– Dato che un contratto è al più associato ad un certo CLIENTE si sceglie come chiave primaria una chiave esterna
costituito cioè dall’ ID_CLIENTE_FORNITORE.
• MODALITA_PAGAMENTO– Le modalità di pagamento vengono identificate univocamente dall’ ID_MODALITA_PAGAMENTO
• ARTICOLO_VENDUTO– La scelta ovvia consiste nell’utilizzare la chiave esterna ID dell’entità ARTICOLO
SCHEMA E-R FINALE RISTRUTTURATO
SCHEMA RELAZIONALE DEDOTTO DALLO SCHEMA E-R FINALE
Le regole di Normalizzazione sono tutte verificate1 – Atomicità di ogni campo
2 – Dipendenza di tutti i campi non chiave dalla Chiave Primaria3 – Mutua Esclusione dei campi non chiave
PARTICOLARITA’ DELLE MASCHERE DI INSERIMENTO
Viene attivata di default la Selezione Cliente o la Selezione Fornitore per rispettare i vincoli di integrità sui dati rispettati precedentemente esplicitati.
Una accortezza analoga è stata utilizzata per impedire che un Cliente possa emettere fatture.