...

Progetto di Basi di Dati - Studenti Dipartimento di Ingegneria

by user

on
Category: Documents
11

views

Report

Comments

Transcript

Progetto di Basi di Dati - Studenti Dipartimento di Ingegneria
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.
Il database deve facilitare la
tracciabilità di un dato articolo e
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.
RIELABORAZIONE DELLE FRASI PIU’ SIGNIFICATIVE
•
FORNITORI:
–
–
•
FATTURE
–
–
–
•
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
–
–
–
–
•
Possiedono un codice univoco
Vengono catalogati
Possono avere una garanzia
Possono essere venduti
Possono essere elemento di intervento
NOTE DI VENDITA
–
–
–
–
•
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
–
–
–
–
–
•
Emettono le fatture
Possono avere conti correnti
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.
OPERAZIONI SUL DATABASE
•
Le operazioni consentite sono:
1.
FORNITORI
–
–
–
2.
3.
ARTICOLO
–
–
–
4.
Aggiunta Fattura
Modifica Fattura
NOTA DI VENDITA
–
–
6.
Aggiunta articolo
Modifica articolo
Eliminazione articolo
FATTURA
–
–
5.
Aggiunta cliente
Modifica dati cliente
Eliminazione cliente ( nei casi
consentiti )
Aggiunta Nota di Vendita
Modifica Vendita
BANCA
–
–
–
Aggiunta banca
Modifica banca
Eliminazione banca
CATEGORIE
–
–
–
Aggiunta fornitore
Modifica dati fornitore
Eliminazione fornitore ( nei
casi consentiti)
CLIENTI
–
–
–
7.
8.
SERVIZIO
–
–
–
9.
Aggiunta servizo
Modifica servizio
Eliminazione Servizio
INTERVENTO
–
–
10.
Aggiunta categoria
Modifica categoria
Eliminazione categoria
Aggiunta intervento
Modifica intervento
GARANZIA
–
–
Aggiunta Durata Garanzia
Eliminazione Durata Garanzia
11.
MODALITA’ DI PAGAMENTO
–
–
12.
CONTO CORRENTE
–
–
13.
Aggiunta della Modalità di Pagamento
Eliminazione della Modalità di Pagamento
Aggiunta Conto Corrente
Modifica Conto Corrente
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/2
ELEMENTO
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
–
–
•
CLIENTE
–
–
–
–
•
Dati Personali: Codice Fornitore, Nome Fornitore, Indirizzo, Cap, Provincia, Num. Telefono, P.IVA o Codice
Fiscale.
Tipo di pagamento ( 30 / 60 / 90 gg, Contanti, …)
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
–
–
–
–
–
•
CATEGORIA
–
•
•
•
Costo Intervento
Numero Intervento
Codice Pagamento Effettuato
Pagamento Effettuato
CONTRATTO
–
–
–
–
Data Inizio Contratto
Data Fine Contratto
Costo del Contratto
Descrizione Contratto
•
Numero Fattura del Fornitore
Data Fatturazione
Codice Pagamento Effettuato
Pagamento Effettuato
NOTA_VENDITA
–
–
–
–
Tipo di Servizio che l’Azienda eroga
Numero di Conto Corrente
FATTURA
–
–
–
–
•
Sconto applicabile ad un Contratto
CONTO CORRENTE
–
Anni di durata della garanzia
INTERVENTO
–
–
–
–
•
•
SERVIZIO
–
SCONTO
–
Modalità di Pagamento
Scadenza in Giorni
DURATA_GARANZIA
–
•
Categoria Articoli
•
MODALITA_PAGAMENTO
–
–
•
Nome Banca
Indirizzo, CAP, Provincia.
Abi
Cab
Cin
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
DURATA_GARANZIA
Garanzia_Anni
Anni di Durata della Garanzia. Candidata chiave
primaria
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, … )
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…
ARTICOLO_IN_GARANZIA
Nessun Attributo
ARTICOLO_FUORI_GARANZIA
Nessun Attributo
ARTICOLO_NON_VENDUTO
Nessun Attributo
ARTICOLO_VENDUTO
Prezzo di Vendita
Prezzo di vendita dell’articolo
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
CLIENTE_SENZA_CONTRATTO
Nessun Attributo
ANALISI DELLE RELAZIONI
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.
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.
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.
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.
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.
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 VOLUMI
CONCETTO
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 COSTI
OPERAZIONE
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
IPOTESI PER IL CALCOLO DEGLI ACCESSI:
5000 Articoli Totali. Sono stati venduti il 90 % degli Articoli Totali: Articoli Venduti = 5000x90/100=4500
Le note di vendita sono 400 da cui 4500 / 400 = 12 Articoli per ogni Nota_Vendita.
OPERAZIONE
CONCETTO
Visualizzare il fatturato di tutti i clienti entro un certo intervallo ( per cliente )
E/R
ACCESSI
TIPO
CLIENTE
E
1
L
RICHIESTA
R
1
L
INTERVENTO
E
1
L
CONSEGNA
R
1
L
NOTA_VENDITA
E
1
L
REGISTRAZIONE
R
12
L
ARTICOLO
E
12
L
OPERAZIONE
CONCETTO
DESCRIZIONE
Seleziona il cliente
Estrae il costo dagli interventi richiesti
Estrai le note di vendita che corrispondono al cliente
selezionato
Legge il prezzo degli articoli venduti
Cercare data acquisto, data vendita, prezzi e fornitore di un certo articolo
E/R
ACCESSI
TIPO
ARTICOLO
E
1
L
REGISTRAZIONE
R
1
L
NOTA_VENDITA
E
1
L
DESCRIZIONE
Seleziona l’articolo
Estrai data di vendita
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.
OPERAZIONE
CONCETTO
Visualizzare i fornitori la cui data di pagamento scade entro tot. Giorno ( per fornitore )
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
400 Note Vendita Totali. Ipotizziamo non pagate il 10% delle note vendita totali ossia 40 N.V. e “quindi” 40 clienti
Analogamente per il 10% degli Interventi Totali.
OPERAZIONE
CONCETTO
Visualizzare i clienti che non rispettano la data di pagamento
E/R
ACCESSI
TIPO
NOTA_VENDITA
E
400
L
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
CONCETTO
DESCRIZIONE
Seleziona le note di vendita non ancora pagate
Visualizzare i fornitori che non sono ancora stati pagati ( per fornitore )
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
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.
•
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”.
•
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
•
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”.
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_IVA
Mentre 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
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
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 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
–
•
FATTURA
–
•
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
–
•
Per la Garanzia l’ID scelto coincide con l’unico attributo DURATA_GARANZIA espresso in anni (Numero
Intero)
NOTA_VENDITA
–
•
Per la categoria viene impostato un ID_CATEGORIA come identificatore
DURATA_GARANZIA
–
•
Dato che ogni ARTICOLO deve essere identificato univocamente scelgo per ogni ARTICOLO un
identificatore univoco ID_ARTICOLO
CATEGORIA
–
•
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
–
•
La chiave scelta è ID_CLIENTE_FORNITORE che identifica univocamente ogni persona, sia essa un
cliente, un fornitore o entrambi.
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
–
•
BANCA
–
•
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
–
•
La PERCENTUALE_SCONTO è scelto come identificatore dello sconto.
CONTRATTO
–
•
I codici ABI CAB e CIN identificano univocamente ogni Banca e quindi possono essere scelti come Chiave
Primaria.
SCONTO
–
•
Ogni numero di conto corrente è diverso da tutti gli altri e quindi il NUMERO_CONTO_CORRENTE è
l’identificatori primario.
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 verificate
1 – Atomicità di ogni campo
2 – Dipendenza di tutti i campi non chiave dalla Chiave Primaria
3 – 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.
Fly UP