1 / 55

Progetto di Basi di Dati DATABASE GESTIONALE

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.

chika
Download Presentation

Progetto di Basi di Dati DATABASE GESTIONALE

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

E N D

Presentation Transcript


  1. Progetto di Basi di DatiDATABASE GESTIONALE Paolo Manfrin Ing. Informatica 81200333

  2. 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. • Il database deve facilitare la tracciabilità di un dato articolo e dei relativi legami.

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

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

  5. RIELABORAZIONE DELLE FRASI PIU’ SIGNIFICATIVE • 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.

  6. Le operazioni consentite sono: FORNITORI Aggiunta fornitore Modifica dati fornitore Eliminazione fornitore ( nei casi consentiti) CLIENTI Aggiunta cliente Modifica dati cliente Eliminazione cliente ( nei casi consentiti ) ARTICOLO Aggiunta articolo Modifica articolo Eliminazione articolo FATTURA Aggiunta Fattura Modifica Fattura NOTA DI VENDITA Aggiunta Nota di Vendita Modifica Vendita BANCA Aggiunta banca Modifica banca Eliminazione banca CATEGORIE Aggiunta categoria Modifica categoria Eliminazione categoria SERVIZIO Aggiunta servizo Modifica servizio Eliminazione Servizio INTERVENTO Aggiunta intervento Modifica intervento GARANZIA Aggiunta Durata Garanzia Eliminazione Durata Garanzia OPERAZIONI SUL DATABASE

  7. MODALITA’ DI PAGAMENTO Aggiunta della Modalità di Pagamento Eliminazione della Modalità di Pagamento CONTO CORRENTE Aggiunta Conto Corrente Modifica Conto Corrente SCONTO Aggiunta Sconto Eliminazione Sconto

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

  9. GLOSSARIO DEI TERMINI 1/2

  10. GLOSSARIO DEI TERMINI 2/2

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

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

  13. PROGETTAZINE CONCETTUALE Entità e Relazioni Principali Estensioni Generalizzazioni Schema E-R Finale Analisi delle Entità Analisi delle Relazioni Schema E-R Finale con Attributi

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

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

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

  17. ANALISI DELLE GENERALIZZAZIONI 2 / 4 • Per i Clienti con Contratto di Assistenza è definito uno Sconto, scelto fra un insieme di possibili valori.

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

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

  20. ESTENSIONE 2 • Inseriamo le Generalizzazioni riformulate precedentemente

  21. ANALISI ARTICOLO CLIENTE • Aggiungiamo ora la parte relativa all’intervento di assistenza. • Analisi delle iterazioni: • Il Clienterichiede un Intervento • L’ Intervento comporta uno o più Servizi • L’ Intervento può riguardare uno o più Articoli Venduti.

  22. ESTENSIONE 3 • Aggiungiamo l’Analisi appena fatta allo Schema Concettuale redatto.

  23. SCHEMA E-R

  24. ANALISI DELLE ENTITA’

  25. Generalizzazioni…

  26. ANALISI DELLE RELAZIONI

  27. SCHEMA E-R FINALE CON RELATIVI ATTRIBUTI

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

  29. TAVOLA DEI VOLUMI

  30. VALUTAZIONE DEI COSTI

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

  32. TAVOLA DEGLI ACCESSI 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.

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

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

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

  36. 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. • CONCLUSIONI Decido 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”.

  37. Prendiamo in considerazione la Generalizzazione che riguarda i Clienti con e senza contratto. • ANALISI I Clienti a Contratto possiedono un’unica Relazione in più che riguarda lo sconto applicato al contratto I Clienti senza Contratto non possiedono attributi. Si deve tener conto che OGNI CONTRATTO che viene stipulato DEVE essere associato ad un CLIENTE. • OSSERVAZIONI I 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

  38. Prendiamo in considerazione la Generalizzazione che riguarda gli Articoli Venduti e Non Venduti. • ANALISI Gli 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”.

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

  40. In VERDE sono contrassegnati gli attributi che riguardano esclusivamente i CLIENTIIn VIOLA è contrassegnato l’attributo che riguarda esclusivamente i FORNITORI VINCOLI DI INTEGRITA’ SUI DATIAll’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.

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

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

More Related