PROGETTO DI BASI DI DATI PER UNA DITTA TESINA PER L'ESAME DI BASI DI DATI MIOTTO MATTEO UNIVERSITA'...
-
Upload
donatella-giglio -
Category
Documents
-
view
217 -
download
1
Transcript of PROGETTO DI BASI DI DATI PER UNA DITTA TESINA PER L'ESAME DI BASI DI DATI MIOTTO MATTEO UNIVERSITA'...
PROGETTO DI BASI DI DATI PER UNA DITTATESINA PER L'ESAME DI BASI DI DATI
MIOTTO MATTEOUNIVERSITA' DEGLI STUDI DI TRIESTECORSO DI LAUREA TRIENNALE IN INGEGNERIA INFORMATICAA.A. 2008/09
Trieste, 20 febbraio 2009
ANALISI DEI REQUISITI
• Requisiti espressi in linguaggio naturale• Operazioni previste• Glossario dei termini• Strutturazione dei requisiti
RACCOLTA D
EI REQU
ISTIREQUISITI ESPRESSI IN LINGUAGGIO NATURALE [OTTENUTI DALL' INTERVISTA CON IL CLIENTE]
Si vuole realizzare una base di dati per una società che si occupa di isolamenti acustici e termici interni ed esterni, dipinture di ogni genere, pavimenti in resine e piccoli restauri.I dati che si vogliono memorizzare riguardano il personale, i clienti, i cantieri (terminati e in esecuzione), i fornitori, gli stati delle proposte di preventivo, gli stati dei pagamenti delle fatture, le ore lavorate dal personale e il listino prezzi (prestazioni) della società. Si desidera tener traccia dei preventivi proposti vari clienti e delle fatture emesse. Il personale della ditta è composto dai soci, dai dipendenti e dai prestatori di manodopera che, occasionalmente, si uniscono ai primi per la realizzazione di una qualche opera.Per quanto riguarda ognuna di queste persone si intende tener conto dei dati personali quali nome, cognome, indirizzo, recapiti telefonici ed e-mail (anche multipli). Per quanto riguarda i dipendenti rappresentiamo anche codice fiscale, data assunzione e tipo di contratto. Per quanto riguarda i soci si desidera memorizzare il codice fiscale. Per i prestatori di manodopera (in genere artigiani) si vuole memorizzare la loro partita iva.Si vuole inoltre tener traccia delle ore lavorate dal personale nei vari cantieri, indicando il giorno e il relativo numero di ore lavorate. Per i clienti, identificati da un codice, si vogliono memorizzare recapiti telefonici (anche multipli) e indirizzi e-mail (anche multipli). I clienti possono essere privati o imprese. Se i clienti rientrano nel primo caso memorizziamo codice fiscale, nome, cognome e indirizzo mentre, se rientrano nel secondo caso, rappresentiamo il nome dell’impresa, la partita iva, il possibile sito web, l’indirizzo della sede legale e l’indirizzo della sede operativa.Ogni cliente può possedere più cantieri, richiedere più preventivi e pagare più fatture.
Per i cantieri, si vogliono memorizzare dati quali nome, sito in cui si trova, data inizio lavori, presunta data di termine dei lavori e lo stato del cantiere (in fase di realizzazione o terminato).A scopo di promemoria per la società, si vogliono mantenere i codici delle bolle, emesse dai fornitori, riguardanti il materiale acquistato per i cantieri.
Per quanto riguarda i fornitori rappresentiamo il nome, la partita iva, la sede legale e quella operativa, il possibile sito web, i recapiti telefonici e l'indirizzo e-mail. Per il listino delle prestazioni, ogni prestazione è identificata da un codice ed è rappresentata da dati quali nome prestazione, prezzo unitario (per tutte le prestazioni l’unità di misura è €/mq) e breve descrizione.
RACCOLTA D
EI REQU
ISTIREQUISITI ESPRESSI IN LINGUAGGIO NATURALE [OTTENUTI DALL' INTERVISTA CON IL CLIENTE]
Per i preventivi, numerati, rappresentiamo la data di emissione, la data di scadenza e l’importo totale.Si vuole memorizzare anche il dettaglio preventivo, rappresentato dall’elenco delle prestazioni, le relative quantità e importo (non comprensivo di iva). Per quanto riguarda la proposta di preventivo si vuole tener conto dello stato di presa visione (si o no) e di accettazione (si o no). Per le fatture emesse, i dati da memorizzare sono il numero della fattura (progressivo), la data di emissione, il codice fiscale o la partita iva del cliente, il totale imponibile, il totale iva e il totale comprensivo di iva.Si vuole memorizzare il dettaglio fattura, rappresentato dall’elenco delle prestazioni, le relative quantità, l’importo e l’iva applicabile ad ogni prestazione (dato che quest’ultima può essere variabile). Per quanto riguarda il dettaglio non è importante memorizzare l’ordine con il quale i dettagli compaiono nella fattura.Per quanto riguarda il pagamento di una fattura rappresentiamo lo stato (pagato o non pagato), la modalità di pagamento e la data di pagamento.
OPERAZIO
NI PREVISTE
OPERAZIONI PREVISTE SULLA BASE DI DATI
Operazioni su DescrizionePRESTAZIONE
Inserisci dati prestazioneDETTAGLIO PREVENTIVO
Inserisci dati dettaglio di un preventivoAggiorna dati dettaglio di un preventivo
DETTAGLIO FATTURAInserisci dati dettaglio di una fatturaAggiorna dati dettaglio di un a fattura
PREVENTIVOInserisci dati preventivoAggiorna dati preventivo
FATTURAInserisci dati fatturaAggiorna dati fattura
CLIENTEInserisci dati clienteAggiorna dati cliente
PERSONALEInserisci dati personaleAggiorna dati personaleCancella dati personale
PAGAMENTO FATTURAAssegnare il pagamento di una fattura ad un cliente per un cantiere di sua proprietàAggiorna dati relativi al pagamento
Operazioni su DescrizionePROPOSTA PREVENTIVO
Assegnare la proposta di un preventivo ad un clienteAggiorna dati relativi alla proposta
FORNITOREInserisci dati fornitoreAggiorna dati fornitore
CANTIEREInserisci dati cantiereAggiorna dati cantiere
PROPRIETA’Assegnare ad un cliente il possesso di un cantiere
ORE LAVORATEAd una data precisata, assegnare il numero di ore lavorate da un componente del personale in un cantiere
BOLLAAssegnare ad un cantiere una bolla emessa da un fornitore
OPERAZIO
NI PREVISTE
OPERAZIONI PREVISTE SULLA BASE DI DATI
ALTRE OPERAZIONI
Visualizzare fatture con i relativi dettagli
Visualizzare preventivi con i relativi dettagli
Visualizzare lo stato dei pagamenti con i relativi cantieri e clienti
Visualizzare lo stato delle proposte di preventivo con i relativi clienti
Dato un intervallo di tempo e un componente del personale , visualizzare le ore lavorate da esso in tale periodo
Dato un cantiere visualizzare tutte le bolle emesse per tale cantiere
GLO
SSARIO D
EI TERMIN
IGLOSSARIO DEI TERMINI
TERMINE DESCRIZIONE SINONIMI COLLEGAMENTI LOGICI
Ditta Organizzazione che esegue le prestazioni attraverso la manodopera del suo personale, emette fatture e proposte di preventivi ai clienti. Società
Indirizzo Insieme delle proprietà: Via, Numero civico, CAP, Città, Provincia Sito
Prestazione Attività lavorativa, quantificata in €/mq (prezzo unitario). Dettaglio fattura, Dettaglio preventivo
Dettaglio fattura
Componente della fattura contenente gli elementi: prestazione, quantità, iva, importo. Dettaglio Fattura, Prestazione
Fattura Documento emesso dalla ditta verso il cliente, recante un importo per le prestazioni fornite in un certo cantiere. Pagamento, Dettaglio fattura
CantiereLuogo, di proprietà di un cliente,dove il personale della ditta esegue le prestazioni. Si precisa che 2 cantieri differenti possono trovarsi nello stesso luogo.
Opera Bolla, Cliente, Personale
PersonalePersone fisiche che compongono la ditta e svolgono per essa le prestazioni nei cantieri. Il personale è composto dai soci, dai dipendenti e dai prestatori di manodopera.
Cantiere
ClienteSoggetto che richiede alla ditta una o più prestazioni in uno o più cantieri di sua proprietà. Può richiedere proposte di preventivo ed effettuare pagamenti di fatture. Può essere privato o un impresa.
Pagamento, Proposta, Cantiere
PreventivoDocumento emesso dalla ditta verso il cliente, recante una proposta riguardante l’importo da pagare a seguito di prestazioni che potranno essere eseguite in un futuro cantiere. Può essere accettato o meno dal cliente.
Dettaglio Preventivo, Proposta
Dettaglio preventivo
Componente del preventivo contenente gli elementi: prestazione, quantità, importo. Preventivo, Prestazione
PagamentoAzione svolta dal cliente verso la ditta a seguito dell’esecuzione di una o più prestazioni. Il pagamento può avvenire in varie modalità (ad es. in contanti, assegno, bonifico), e può assumere 2 stati (pagamento avvenuto e non).
Fattura, Cantiere, Cliente
GLO
SSARIO D
EI TERMIN
IGLOSSARIO DEI TERMINI
TERMINE DESCRIZIONE SINONIMI COLLEGAMENTI LOGICI
PropostaAzione svolta dalla ditta verso il cliente nella quale la prima si offre di eseguire una o più prestazioni ad un certo prezzo. La proposta può venire accettata o meno.
Preventivo, Cliente
Bolla Documento emesso da un fornitore a seguito del rifornimento di materiale ad un certo cantiere. La bolla possiede un codice. Fornitore, Cantiere
Fornitore Colui (inteso come negozio, rivenditore, grossista ecc) che fornisce il materiale necessario al fine di eseguire le prestazioni. Bolla
STRUTTU
RAZION
E DEI REQ
UISITI
STRUTTURAZIONE DEI REQUISTI
Si esegue in questo punto la decomposizione del testo dei requisiti in gruppi di frasi relative agli stessi concetti. In caso di frasi complesse, può venir effettuata una semplificazione e una standardizzazione delle stesse.
FRASI DI CARATTERE GENERALE
Si vuole realizzare una base di dati per una ditta che si occupa di isolamenti acustici e termici interni ed esterni, dipinture di ogni genere, pavimenti in resine e piccoli restauri.I dati che si vogliono memorizzare riguardano il personale, i clienti, i cantieri (terminati e in esecuzione), i fornitori, gli stati delle proposte di preventivo, gli stati dei pagamenti delle fatture, le ore lavorate dal personale e il listino prezzi (prestazioni) della ditta. Si desidera tener traccia dei preventivi proposti vari clienti e delle fatture emesse.
FRASI RELATIVE AL PERSONALE
Il personale della ditta è composto dai soci, dai dipendenti e dai prestatori di manodopera che, occasionalmente, si uniscono ai primi per la realizzazione di una qualche cantieri.Per il personale rappresentiamo dati personali quali nome, cognome, indirizzo, recapiti telefonici ed e-mail. Per i dipendenti rappresentiamo anche codice fiscale, data assunzione e tipo di contratto. Per quanto riguarda i soci rappresentiamo il codice fiscale. Per i prestatori di manodopera (in genere artigiani) rappresentiamo la loro partita iva.
FRASI RELATIVE ALLE ORE LAVORATE
Per le ore lavorate dal personale rappresentiamo data e numero di ore.
FRASI RELATIVE AI CLIENTI
Per i clienti, identificati da un codice, rappresentiamo recapiti telefonici (anche multipli) e indirizzi e-mail. I clienti possono essere privati o imprese. Per i clienti privati rientrano nel rappresentiamo codice fiscale, nome, cognome e indirizzo. Per le imprese rappresentiamo il nome dell’impresa, la partita iva, il possibile sito web, l’indirizzo della sede legale e l’indirizzo della sede operativa.Ogni cliente può possedere più cantieri, richiedere più preventivi e pagare più fatture.
FRASI RELATIVE AI CANTIERI
Per i cantieri rappresentiamo nome, indirizzo, data inizio lavori, presunta data di termine dei lavori e lo stato del cantiere (in fase di realizzazione o terminato).
FRASI RELATIVE ALLE BOLLE
Per le bolle rappresentiamo il loro codice.
FRASI RELATIVE ALLE PRESTAZIONI
Per le prestazioni rappresentiamo un codice identificativo, nome prestazione, prezzo unitario (per tutte le prestazioni l’unità di misura è €/mq) e breve descrizione.
STRUTTU
RAZION
E DEI REQ
UISITI
FRASI RELATIVE ALLE FATTURE
Per le fatture rappresentiamo il numero della fattura (progressivo), la data di emissione, il codice fiscale o la partita iva del cliente, il totale imponibile, il totale iva e il totale comprensivo di iva.
FRASI RELATIVE AL DETTAGLIO FATTURA
Per il dettaglio fattura rappresentiamo la quantità, l’importo e l’iva applicabile.. Per il dettaglio fattura non è importante memorizzare l’ordine con il quale i dettagli fatture compaiono.
FRASI RELATIVE AL PAGAMENTO
Per il pagamento della fattura rappresentiamo lo stato (pagato o non pagato), la modalità di pagamento e la data di pagamento.
FRASI RELATIVE AI PREVENTIVI
Per i preventivi, numerati, rappresentiamo la data di emissione, la data di scadenza (dato che il preventivo ha validità per 30 giorni) e l’importo totale.
FRASI RELATIVE AL DETTAGLIO PREVENTIVO
Per il dettaglio preventivo, rappresentiamo la quantità e l’importo (non comprensivo di iva).
STRUTTU
RAZION
E DEI REQ
UISITI
FRASI RELATIVE ALLA PROPOSTA DI PREVENTIVO
Per la proposta di preventivo si vuole tener conto dello stato di presa visione (si o no) e di accettazione (si o no).
FRASI RELATIVE AI FORNITORE
Per quanto riguarda i fornitori rappresentiamo il nome, la partita iva, la sede legale e quella operativa, il possibile sito web, i recapiti telefonici e l'indirizzo e-mail.
PROGETTAZIONE CONCETTUALE
• Analisi delle entità e delle relazioni• Costruzione schema Entità-Relazione• Business rules
PROG
ETTAZION
E CON
CETTUALE
STRATEGIA DI PROGETTO
Per lo sviluppo dello schema concettuale si considera una strategia mista (o ibrida). Come previsto da tale strategia:• Si definisce uno schema scheletro contenente i concetti principali dell’applicazione. • Successivamente si considereranno questi concetti, anche separatamente, e si procederà per raffinamenti
successivi, fino ad ottenere lo schema entità relazione finale.
ENTITA’ COINVOLTE
Preventivo
Fattura
Cliente
Cantiere
Personale
RELAZIONI COINVOLTE
Proposta
Pagamento
Proprietà
Ore lavorate
SCHEMA SCHELETRO
PROG
ETTAZION
E CON
CETTUALE
SPECIALIZZAZIONE ENTITA' CLIENTE
Il cliente della ditta può essere privato oppure un impresa .La generalizzazione dell’entità cliente è dunque totale ed esclusiva dato che un cliente o è privato o è un impresa.
SPECIALIZZAZIONE ENTITA' PERSONALE
Il personale della ditta può essere suddiviso in dipendenti, soci e prestatori di manodopera.La generalizzazione che ne consegue è totale ed esclusiva, dato che ciascun componente del personale può esser solamente o dipendente o socio o prestatore di manodopera.
PROG
ETTAZION
E CON
CETTUALE
RAFFINAMENTO ENTITA' FATTURA
Il concetto di fattura ha proprietà significative (numero, totale imponibile, totale iva, totale, ecc.). Esso, però, è composto da un elenco di prestazioni, ognuna avente quantità e importi differenti. Anche le prestazioni hanno delle proprietà significative (ad es. prezzo unitario) ed hanno un esistenza autonoma. E' possibile dunque distinguere due entità, prestazione e fattura, associate da un concetto comune: il dettaglio, ovvero la rappresentazione della prestazione nelle quantità effettuate che la fattura vuole addebitare.
RAFFINAMENTO ENTITA' PREVENTIVO
Il raffinamento di tale entità viene effettuatoper le stesse motivazioni che hanno spinto il raffinamento dell’entità fattura. Si distingueranno dunque le entità fattura e preventivo, associate dalla relazione dettaglio preventivo.
PROG
ETTAZION
E CON
CETTUALE
ULTERIORI ENTITA' E RELAZIONI
Affinché si possano eseguire le prestazioni all’interno di un cantiere, è necessario ordinare il materiale. Solamente per scopi informativi (interni alla ditta), si desidera mantenere traccia delle bolle che i fornitori emettono alla consegna del materiale. A tal fine vengono aggiunte l’entità fornitore e la relazione emissione bolla che associa le due entità (cantiere e fornitore).In tal modo si potrà tenere conto delle bolle emesse da un certo fornitore per il materiale fornito ad un certo cantiere.
PROG
ETTAZION
E CON
CETTUALE
SCHEMA ENTITA' RELAZIONE FINALE
Lo schema E-R finale deriva dall’accorpamento dei vari raffinamenti applicati allo schema scheletro.
PROG
ETTAZION
E CON
CETTUALE
ANALISI DELLE ENTITA'
PRESTAZIONE
ID PRESTAZIONE E’ il codice univoco assegnato ad ogni prestazione.
NOME E’ il nome assegnato alla prestazione.
PREZZO UNITARIO E’ il prezzo riferito ad una unità di prestazione. Ogni unità è espressa in €/mq.
DESCRIZIONE Descrive brevemente in cosa consiste la prestazione.
FATTURA
NUMERO E’ un intero positivo, unico per ogni fattura. Le fatture vengono emesse con numerazione progressiva.
DATA EMISSIONE Rappresenta la data corrispondente all’emissione della fattura.
TOTALE IMPONIBILE Rappresenta l’importo totale (escluso di iva) ricavato dalla somma degli importi dei dettagli che compongono la fattura.
TOTALE IVA Rappresenta l’importo totale relativo alla sola iva. Esso viene ricavata dalla somma degli importi iva dei dettagli che compongono la fattura.
TOTALE Rappresenta l’importo totale comprensivo di iva. Esso viene calcolato dalla somma del totale imponibile e del totale iva.
PREVENTIVO
NUMERO E’ un intero positivo, unico per ogni preventivo.
IMPORTO TOTALE Rappresenta l’importo totale calcolato dalla somma degli importi dei dettagli.
DATA EMISSIONE Rappresenta la data corrispondente all’emissione del preventivo.
DATA SCADENZA Rappresenta la data corrispondente all’ultimo giorno di validità del preventivo.
PROG
ETTAZION
E CON
CETTUALE
ANALISI DELLE ENTITA'
CLIENTE
ID CLIENTE Codice univoco assegnato ad ogni cliente.
TELEFONO Numero di telefono del cliente. (Attributo multiplo)
E-MAIL Indirizzo e-mail del cliente.
PRIVATO
NOME Nome del cliente.
COGNOME Cognome del cliente.
CODICE FISCALE Codice personale del cliente.
INDIRIZZO Residenza del cliente privato. (Attributo composto)
IMPRESA
NOME Nome dell’impresa.
PARTITA IVA Codice identificativo dell’impresa.
SEDE LEGALE Indirizzo della sede legale. (Attributo composto)
SEDE OPERATIVA Indirizzo della sede operativa. (Attributo composto)
SITO WEB Indirizzo del sito web dell’impresa.
PROG
ETTAZION
E CON
CETTUALE
ANALISI DELLE ENTITA'
CANTIERE
NOME Nome assegnato ad ogni cantiere.
DATA INIZIO Rappresenta la data corrispondente all’inizio dei lavori nel cantiere.
DATA FINE Rappresenta la data corrispondente al termine dei lavori nel cantiere. Più precisamente, se il cantiere è in esecuzione, rappresenta la presunta data di termine dei lavori.
STATO Rappresenta lo stato dei lavori nel cantiere, che possono essere in esecuzione o terminati.
INDIRIZZO Sito in cui si trova il cantiere. (Attributo composto)
FORNITORE
PARTITA IVA Codice univoco che identifica il fornitore.
NOME Nome del fornitore.
SEDE OPERATIVA Indirizzo della sede operativa del fornitore. (Attributo composto)
SEDE LEGALE Indirizzo della sede legale del fornitore. (Attributo composto)
SITO WEB Sito web del fornitore.
TELEFONO Numero di telefono del fornitore. (Attributo multiplo)
E-MAIL Indirizzo e-mail del fornitore.
PROG
ETTAZION
E CON
CETTUALE
ANALISI DELLE ENTITA'
PERSONALE
NOME Nome del componente del personale.
COGNOME Cognome del componente del personale.
INDIRIZZO Residenza del componente del personale. (Attributo composto)
TELEFONO Numero di telefono del componente del personale. (Attributo multiplo)
E-MAIL Indirizzo e-mail del componente del personale.
DIPENDENTE
CODICE FISCALE Codice personale identificativo.
DATA ASSUNZIONE Data di assunzione.
TIPO CONTRATTO Indica il tipo di contratto che lega il dipendente alla ditta.
SOCIO
CODICE FISCALE Codice personale identificativo.
PRESTATORE DI MANODOPERA
PARTITA IVA Codice identificativo del prestatore di manodopera.
PROG
ETTAZION
E CON
CETTUALE
ANALISI DELLE RELAZIONE E DELLE CARDINALITA'
DETTAGLIO FATTURA
Collega le entità “Prestazione” e “Fattura”. Descrive i dettagli delle fatture. Rappresenta la quantità delle prestazioni effettuate ed addebitate nella relativa fattura.
CARDINALITA’ Molti a moltiUna prestazione può comparire in nessun dettaglio delle fatture oppure comparire nel dettaglio di più fatture.Una fattura deve contenere nel suo dettaglio una o più prestazioni, ma almeno una.
QUANTITA’ Rappresenta la quantità di una prestazione.
IMPONIBILE Rappresenta l’importo della prestazione eseguita nelle quantità indicate. Si ottiene dal prodotto della quantità per il prezzo unitario della prestazione.
IVA Rappresenta l’iva applicabile al dettaglio (compreso tra 0 e 1).
TOTALE IVA Rappresenta il valore della sola IVA applicata all’importo. Si ottiene dal prodotto del valore “imponibile” e il valore “IVA”
DETTAGLIO PREVENTIVO
Collega le entità “Prestazione” e “Preventivo”. Descrive i dettagli dei preventivi. Rappresenta la quantità delle prestazioni che verranno svolte.
CARDINALITA’ Molti a moltiUna prestazione può comparire in nessun dettaglio dei preventivi oppure comparire nel dettaglio di più preventivi.Un preventivo deve contenere nel suo dettaglio una o più prestazioni, ma almeno una.
QUANTITA’ Rappresenta la quantità di una prestazione.
IMPORTO Rappresenta l’importo della prestazione nelle quantità indicate. Si ottiene dal prodotto della quantità per il prezzo unitario della prestazione.
PROG
ETTAZION
E CON
CETTUALE
ANALISI DELLE RELAZIONE E DELLE CARDINALITA'
PAGAMENTO
Collega le entità “Fattura” e “Cantiere”. Rappresenta il pagamento di una fattura relativamente alle prestazioni eseguite in un cantiere.
CARDINALITA’ Uno a moltiUna fattura deve essere associata al pagamento di uno ed un solo cantiere.Un cantiere può essere associato al pagamento di una sola fattura.Un cliente può effettuare il pagamento di più fatture, riguardanti più cantieri.
STATO Indica se il pagamento è stato effettuato o meno. Assume i valori “si” se è stato pagato, “no” altrimenti.
TIPO PAGAMENTO Rappresenta la modalità con la quale è stato o sarà effettuato il pagamento.
DATA PAGAMENTO Rappresenta la data corrispondente al pagamento.
PROPOSTA
Collega le entità “Preventivo” e “Cliente”. Rappresenta la proposta di preventivo destinata ad un cliente.
CARDINALITA’ Uno a molti Un preventivo deve essere proposto ad uno ed un solo cliente.Ad un cliente possono venir proposti uno o più preventivi.
ACCETTAZIONE Indica se la proposta di preventivo è stata accettata dal cliente. Assume i valori “si” o “no”.
PRESA VISIONE Indica se la proposta di preventivo è stata vista. Assume i valori “si” o “no”.
PROG
ETTAZION
E CON
CETTUALE
ANALISI DELLE RELAZIONE E DELLE CARDINALITA'
PROPRIETA’
Collega le entità “Cliente” e “Cantiere”. Rappresenta il possesso di uno o più cantieri da parte di un cliente.
CARDINALITA’ Uno a molti Un cliente può essere il proprietario di uno o più cantieri.Un cantiere può essere di proprietà di uno ed un solo cliente.
EMISSIONE BOLLA
Collega le entità “Fornitore” e “Cantiere”. Rappresenta le bolle emesse dai fornitori verso i cantieri.
CARDINALITA’ Molti a molti Un fornitore può emettere bolle (a nessun cantiere oppure) a più cantieri.Un cantiere può ricevere le bolle emesse da più fornitori.
CODICE BOLLA Rappresenta il codice riportato sulla bolla considerata.
ORE LAVORATE
Collega le entità “Personale” e “Cantiere”. Rappresenta le ore che i dipendenti hanno svolto nei cantieri.
CARDINALITA’ Molti a moltiIn un cantiere possono lavorare più componenti del personale, ma può anche non lavorarci nessuno.Un componente del personale può lavorare in uno o più cantieri, oppure in nessuno.
DATA Rappresenta la data nella quale le ore sono state svolte.
NUMERO ORE Rappresenta il numero di ore svolte.
PROG
ETTAZION
E CON
CETTUALE
BUSINESS RULES
Descrizione di concetti non esprimibili con il modello concettuale
REGOLE DI VINCOLO
Una prestazione deve avere un prezzo unitario maggiore o uguale a zero
I dettagli di una fattura devono contenere prestazioni presenti in quantità maggiori di zero
I dettagli di un preventivo devono contenere prestazioni presenti in quantità maggiori di zero
I valori dell’attributo IVA nel dettaglio fattura sono valori compresi tra 0 e 1.
In un preventivo, la data di scadenza deve essere successiva a quella di emissione
In un preventivo il valore di “accettazione” può essere vero solamente se “presa visione” è vero.
La data di pagamento di una fattura deve essere coincidente o successiva alla data di emissione della fattura stessa.
Il numero di ore lavorate da un dipendente deve essere maggiore di zero.
PROG
ETTAZION
E CON
CETTUALE
BUSINESS RULES
Descrizione di concetti non esprimibili con il modello concettuale
REGOLE DI DERIVAZIONE
In dettaglio fattura, l’IMPONIBILE di ciascun dettaglio si ottiene moltiplicando la QUANTITA’ per il PREZZO UNITARIO della prestazione relativa.
In dettaglio fattura, il TOTALE IVA di ciascun dettaglio si ottiene moltiplicando il valore IVA per IMPONIBILE.
In dettaglio preventivo, IMPORTO di ciascun dettaglio si ottiene moltiplicando la QUANTITA’per il PREZZO UNITARIO della prestazione relativa.
In fattura il TOTALE IMPONIBILE si ottiene sommando i valori di IMPONIBILE di tutti i dettagli della fattura.
In fattura il TOTALE IVA si ottiene sommando TOTALE IVA di ciascun dettaglio relativo a tale fattura.
In fattura il TOTALE si ottiene sommando i valori di TOTALE IVA e IMPONIBILE
In preventivo l’attributo IMPORTO TOTALE si ottiene sommando i valori IMPORTO relativi a ciascun dettaglio relativo al preventivo considerato.
PROG
ETTAZION
E CON
CETTUALE
SCHEMA ENTITA' RELAZIONE FINALE CON ATTRIBUTI E CARDINALITA'
PROGETTAZIONE LOGICA
• Analisi delle prestazioni• Analisi delle ridondanze schema E-R• Eliminazione generalizzazioni• Partizionamento/accorpamento di concetti• Scelta identificatori principali• Schema E-R ristrutturato• Traduzione verso il relazionale
PROG
ETTAZION
E LOG
ICAANALISI DELLE PRESTAZIONI SU SCHEMA E-R [TAVOLA DEI VOLUMI]
TAVOLA DEI VOLUMI
CONCETTO TIPO VOLUME COMMENTOPrestazione E 100Fattura E 400Preventivo E 500Cliente E 300Cantiere E 400 Il volume si presuppone uguale a quello della fattura
Personale E 20Fornitore E 20Dettaglio fattura R 2000 Assumendo che ogni fattura, mediamente, contenga 5 prestazioni
Dettaglio preventivo R 2500 Assumendo che ogni preventivo, mediamente, contenga 5 prestazioni
Pagamento R 400 Basandosi sulla cardinalità, i pagamenti saranno tanti quante sono le fatture
Proposta R 500 Basandosi sulla cardinalità , le proposte saranno tante quanti sono i preventivi
Proprietà R 400 Basandosi sulla cardinalità , le proprietà saranno tante quanti sono i cantieri
Ore lavorate R 3000 Considerando che i dati riguardanti le ore vengono mantenuti per un periodo pari a 5 mesi (150gg) e che il volume del personale è pari a 20
Emissione bolla R 800 Supponendo l’emissione media di 2 bolle per cantiere e considerando il volume del l’entità cantiere
Nella tavola dei volumi vengono riportati tutti i concetti dello schema concettuale (entità e relazioni) con il volume previsto a regime.
PROG
ETTAZION
E LOG
ICAANALISI DELLE PRESTAZIONI SU SCHEMA E-R [TAVOLA DELLE OPERAZIONI]
TAVOLA DELLE OPERAZIONI
OPERAZIONE TIPO FREQUENZA
Inserisci dati prestazione I 2/anno
Inserisci dati dettaglio di un preventivo I 10/settimana
Aggiorna dati dettaglio di un preventivo I 10/settimana
Inserisci dati dettaglio di una fattura I 5/settimana
Aggiorna dati dettaglio di una fattura I 10/settimana
Inserisci dati preventivo I 1/settimana
Aggiorna dati preventivo I 1/settimana
Inserisci dati fattura I 3/mese
Aggiorna dati fattura I 3/mese
Inserisci dati cliente I 1/mese
Aggiorna dati cliente I 4/anno
Inserisci dati personale I 1/anno
Aggiorna dati personale I 1/anno
Cancella dati personale I 1/anno
Nella tavola delle operazioni si riporta, per ogni operazione, la frequenza prevista e un simbolo indicante se l'operazione è interattiva (I) o batch(B).
TAVOLA DELLE OPERAZIONI
OPERAZIONE TIPO FREQUENZA
Assegnare il pagamento di una fattura ad un cliente per un cantiere di sua proprietà
I 3/mese
Aggiorna dati relativi al pagamento
I 3/mese
Assegnare la proposta di un preventivo ad un cliente
I 1/settimana
Aggiorna dati relativi alla proposta
I 1/settimana
Inserisci dati fornitore I 1/anno
Aggiorna dati fornitore I 1/anno
Inserisci dati cantiere I 1/mese
Aggiorna dati cantiere I 1/mese
Assegnare ad un cliente il possesso di un cantiere
I 1/mese
Ad una data precisata, assegnare il numero di ore lavorate da un componente del personale in un cantiere
I 1/giorno
Assegna ad un cantiere una bolla emessa da un fornitore
I 1/settimana
PROG
ETTAZION
E LOG
ICAANALISI DELLE PRESTAZIONI SU SCHEMA E-R [TAVOLA DELLE OPERAZIONI]
TAVOLA DELLE OPERAZIONI
OPERAZIONE TIPO FREQUENZA
Visualizzare fatture con i relativi dettagli B 1/settimana
Visualizzare preventivi con i relativi dettagli B 1/settimana
Visualizzare lo stato dei pagamenti con i relativi cantieri e clienti B 1/settimana
Visualizzare lo stato delle proposte di preventivo con i relativi clienti B 1/settimana
Dato un intervallo di tempo e un componente del personale , visualizzare le ore lavorate da esso in tale periodo I 1/mese
Dato un cantiere visualizzare tutte le bolle emesse per tale cantiere B 1/mese
Nella tavola delle operazioni si riporta, per ogni operazione, la frequenza prevista e un simbolo indicante se l'operazione è interattiva (I) o batch(B).
PROG
ETTAZION
E LOG
ICAANALISI DELLE RIDONDANZE
In questo frammento di schema sono coinvolte principalmente le seguenti operazioni:
1 Inserisci dati dettaglio di una fattura 5/settimana
2 Aggiorna dati dettaglio di una fattura 10/settimana
3 Visualizza fattura con i relativi dettagli 1/settimana
Si può notare inoltre la presenza di attributi derivabili e quindi di ridondanze. Gli attributi che generano tali ridondanze sono:
ENTITA’ FATTURA
Totale imponibileDerivabile dalla somma degli attributi “imponibile” dei dettagli associati ad una fattura
Totale IVADerivabile dalla somma degli attributi “totale iva” dei dettagli associati ad una fattura
TotaleDerivabile dalla somma degli attributi “totale imponibile” e “totale iva” dell’entità fattura
RELAZIONE DETTAGLIO FATTURA
ImponibileDerivabile dal prodotto dell’attributo “quantità” e il prezzo unitario della prestazione associata
Totale IVA Derivabile dal prodotto degli attributi “imponibile” e “iva”
Si confrontano ora gli indici di prestazione in caso di presenza o assenza dei dati ridondanti RELATIVI ALL'ENTITA' FATTURA. Così facendo è possibile decidere se eliminare o mantenere tali ridondanze.
PROG
ETTAZION
E LOG
ICATAVOLE DEGLI ACCESSI IN PRESENZA DI RIDONDANZA TAVOLE DEGLI ACCESSI IN ASSENZA DI RIDONDANZA
1 Inserisci dati dettaglio di una fatturaConcetto Costrutto Accessi Tipo
FATTURA ENTITA’ 1 LETTURA
PRESTAZIONE ENTITA’ 1 LETTURA
DETTAGLIO FATTURA RELAZIONE 1 SCRITTURA
FATTURA ENTITA’ 1 SCRITTURA
TOTALE ACCESSI: 30 ACCESSI/SETTIMANA
2 Aggiorna dati dettaglio di una fatturaConcetto Costrutto Accessi Tipo
FATTURA ENTITA’ 1 LETTURA
DETTAGLIO FATTURA RELAZIONE 1 SCRITTURA
FATTURA ENTITA’ 1 SCRITTURA
TOTALE ACCESSI: 50 ACCESSI/SETTIMANA
3 Visualizza fattura con i relativi dettagliConcetto Costrutto Accessi Tipo
FATTURA ENTITA’ 1 LETTURA
DETTAGLIO FATTURA RELAZIONE 5 LETTURA
TOTALE ACCESSI: 6 ACCESSI/SETTIMANA
1 Inserisci dati dettaglio di una fatturaConcetto Costrutto Accessi Tipo
FATTURA ENTITA’ 1 LETTURA
PRESTAZIONE ENTITA’ 1 LETTURA
DETTAGLIO FATTURA RELAZIONE 1 SCRITTURA
TOTALE ACCESSI: 20 ACCESSI/SETTIMANA
2 Aggiorna dati dettaglio di una fatturaConcetto Costrutto Accessi Tipo
FATTURA ENTITA’ 1 LETTURA
DETTAGLIO FATTURA RELAZIONE 1 SCRITTURA
TOTALE ACCESSI: 30 ACCESSI/SETTIMANA
3 Visualizza fattura con i relativi dettagliConcetto Costrutto Accessi Tipo
FATTURA ENTITA’ 1 LETTURA
DETTAGLIO FATTURA RELAZIONE 5 LETTURA
TOTALE ACCESSI: 6 ACCESSI/SETTIMANA
Si confrontano ora gli indici di prestazione in caso di presenza e assenza dei dati ridondanti. Così facendo è possibile decidere se eliminare o mantenere tali ridondanze.Per gli accessi in scrittura si considera un costo doppio.
PROG
ETTAZION
E LOG
ICAANALISI DELLE RIDONDANZE: CONSIDERAZIONI
Dall'analisi effettuata ,in assenza dei dati ridondanti:• Totale imponibile (entità fattura);• Totale IVA (entità fattura);• Totale (entità fattura);
si effettueranno mediamente:• 10 accessi/settimana in meno nell'operazione 1 (inserimento dettaglio);• 20 accessi/settimana in meno nell'operazione 2 (aggiornamento dettaglio);• Stesso numero di accessi/settimana nell'operazione 3 (visualizzazione fattura e relativi dettagli);
Inoltre, la presenza dei dati ridondanti sopra citati, comporterebbe un inutile utilizzo di spazio su disco necessario alla loro memorizzazione.
Si elimineranno, inoltre, gli attributi ridondanti relativi alla relazione "dettaglio fattura". Tale scelta è giustificata dal risparmio che si ottiene sia in termini di accessi (in scrittura) sia in termini di spazio.
SOLUZIONI ADOTTATE
Dalle considerazioni fatte, si adottano le seguenti soluzioni:
ELIMINAZIONE DEGLI ATTRIBUTI: ELIMINAZIONE DEGLI ATTRIBUTI:
ENTITA’ FATTURA RELAZIONE DETTAGLIO FATTURA
Totale imponibile Imponibile
Totale IVA Totale IVA
Totale
ENTITA’ PREVENTIVO * RELAZIONE DETTAGLIO PREVENTIVO**
Importo totale Importo
* Eliminazione effettuata per motivi analoghi a quelli che hanno portato all’eliminazione dei 3 attributi relativi all’entità fattura
* Eliminazione effettuata per motivi analoghi a quelli che hanno portato all’eliminazione dei 2 attributi relativi alla relazione dettaglio fattura
PROG
ETTAZION
E LOG
ICAANALISI DELLE RIDONDANZE
In questo frammento di schema possiamo notare la presenza di un ciclo, riconoscendo, inoltre, un'associazione derivabile (tratto rosso). Quest'ultima è infatti derivabile dall'associazione proprietà (tratto verde).
Operazioni previste in questo frammento di schema:
Visualizzare lo stato dei pagamenti delle fatture con i relativi cantieri e clienti 1/settimana
SOLUZIONE ADOTTATA
Eliminazione dell’associazione ridondante (tratto rosso)
PROG
ETTAZION
E LOG
ICAELIMINAZIONE DELLA GENERALIZZAZIONE CLIENTE
ENTITA’ PADRE Cliente
ENTITA’ FIGLIE Privato, Impresa
TIPO GENERALIZZAZIONE Totale ed esclusiva
SOLUZIONE ADOTTATA
Si può osservare che le entità figlie "privato" ed "impresa" hanno degli attributi che li distinguono. Inoltre ci sono operazioni che fanno riferimento solamente alle occorrenze figlie. Risulta quindi preferibile lasciare le due entità "privato" ed "impresa" aggiungendo due associazioni uno a uno tra queste entità e l'entità cliente. Le entità "privato" ed "impresa" sono identificate esternamente dall'entità "cliente". Vantaggi: Così facendo si evita di avere attributi con possibili valori nulli sull'entità genitore (della generalizzazione) e riduciamo le dimensione delle relazioni (del modello relazionale). Il fatto di avere relazioni di dimensioni abbastanza ridotte, a livello pratico, permetterà di recuperare più dati ad ogni accesso.Svantaggi: Aumento del numero di accessi. Aggiunta di un vincolo: ogni occorrenza di "cliente" deve partecipare o ad un'occorrenza di "dati privato" oppure a un'occorrenza di "dati impresa".
PROG
ETTAZION
E LOG
ICAELIMINAZIONE DELLA GENERALIZZAZIONE PERSONALE
ENTITA’ PADRE Personale
ENTITA’ FIGLIEDipendente, Socio, Prestatore di manodopera
TIPO GENERALIZZAZIONE totale ed esclusiva
SOLUZIONE ADOTTATA
Si può osservare che le entità figlie "dipendente", "socio" e "prestatore di mandopera" hanno degli attributi che li distinguono. Inoltre ci sono operazioni che fanno riferimento solamente alle occorrenze figlie. Risulta quindi preferibile mantenere tali entità aggiungendo tre associazioni uno a uno tra queste entità e l'entità "personale".Le entità "dipendente", "socio" e "prestatore di mandopera" sono identificate esternamente dall'entità "personale". Vantaggi: Così facendo si evita di avere attributi con possibili valori nulli sull'entità genitore (della generalizzazione) e riduciamo le dimensione delle relazioni (del modello relazionale). Il fatto di avere relazioni di dimensioni ridotte, a livello pratico, permetterà di recuperare più dati ad ogni accesso.Svantaggi: Aumento del numero di accessi. Andrà aggiunto un vincolo: ogni occorrenza di "personale" deve partecipare o ad un'occorrenza di "dati dati dipendente" oppure a un'occorrenza di "dati socio" oppure a un'occorrenza di "dati prestatore".
PROG
ETTAZION
E LOG
ICAPARTIZIONAMENTO/ACCORPAMENTO DI CONCETTI : ATTRIBUTI COMPOSTI
CONCETTO ATTRIBUTO SOLUZIONE ADOTTATA
PERSONALE Indirizzo
L’indirizzo dell’entità “personale” viene suddiviso nei seguenti attributi, accorpati nell’entità stessa:• Via• Città• Provincia• CAP
CANTIERE Indirizzo
L’indirizzo dell’entità “cantiere” viene suddiviso nei seguenti attributi, accorpati nell’entità stessa:• Via• Città• Provincia• CAP
FORNITORE Sede operativa, Sede legale
Per quanto riguarda l’entità fornitore, invece, si vuole mantenere la distinzione tra sede operativa e sede legale, prevedendo inoltre la possibilità che un fornitore possa avere più sedi. Per questo motivo viene definita un’entità “indirizzo sede”, collegata a “fornitore” mediante la relazione “sede fornitore”, avente i seguenti attributi:• Via• Città• Provincia•CAP• Commento (attraverso il quale si può distinguere il tipo di sede, ma tale distinzione, è affidata all’utente dell’applicazione).
PROG
ETTAZION
E LOG
ICAPARTIZIONAMENTO/ACCORPAMENTO DI CONCETTI : ATTRIBUTI COMPOSTI
CONCETTO ATTRIBUTO SOLUZIONE ADOTTATA
PRIVATO Indirizzo
L’indirizzo dell’entità “privato” viene suddiviso nei seguenti attributi, accorpati nell’entità stessa:• Via• Città• Provincia• CAP
IMPRESA Sede operativa, Sede legale
Per quanto riguarda i due attributi elencati a fianco, ai fini dell’applicazione e delle operazioni che operano sull’entità “impresa”, risulta necessario mantenere traccia di un solo indirizzo. La soluzione adottata prevede dunque l’accorpamento dei seguenti attributi all’entità “impresa”:• Via• Città• Provincia• CAP
Con le soluzioni sopra adottate (riguardanti i concetti PRIVATO ed IMPRESA) possiamo quindi trasferire gli attributi "via", "città", "provincia" e "CAP" dalle entità "privato" ed "impresa" all'entità "cliente", dato che le entità "privato" e "impresa", nella progettazione concettuale, erano specializzazioni dell'entità "cliente. Inoltre le operazioni più frequenti che vengono effettuate sulle entità "privato" ed "impresa" non utilizzano questi attributi. - Così facendo riduciamo la dimensione di queste 2 relazioni (modello relazionale) ottenendo un miglioramento delle prestazioni.- Con tale soluzione si evita l'inserimento di 4 attributi sia nell'entità "privato" che nell'entità "impresa", con un risparmio di 4 attributi e quindi, un risparmio in termini di spazio utilizzato.
ATTRIBUTI COMPOSTI: CONSIDERAZIONE FINALE
PROG
ETTAZION
E LOG
ICAPARTIZIONAMENTO/ACCORPAMENTO DI CONCETTI: ATTRIBUTI MULTIPLI
CONCETTO ATTRIBUTO SOLUZIONE ADOTTATACliente Telefono Ai fini dell’applicazione è sufficiente la conoscenza di due numeri di
telefono. Considerando tale ipotesi, l’attributo multiplo “telefono” viene partizionato in due attributi “telefono1” e “telefono2”. Nel caso in cui si rendesse necessario memorizzare più di 2 numeri telefonici, la ristrutturazione dell’attributo comporterebbe la definizione di un’entità “telefono” e una relazione “recapito telefonico” con cardinalità uno a molti.
Fornitore Telefono
Personale Telefono
PROG
ETTAZION
E LOG
ICASCELTA IDENTIFICATORI PRINCIPALI
Gli identificatori sono utilizzati per stabilire i legami tra dati in relazioni diverse. Inoltre i DBMS richiedono tali identificatori per la costruzione degli indici.
Per la scelta di un identificatore sono stati considerati i seguenti criteri:1. Gli attributi con valori nulli non possono costituire identificatori principali ;2. Un identificatore costituito da uno o da pochi attributi è da preferire a identificatori costituiti da molti attributi ;
• Per garantire che gli indici siano di dimensioni ridotte;3. Un identificatore interno è da preferire a un identificatore esterno;
• Dato che gli identificatori esterni verranno tradotti in chiavi che includono gli identificatori delle entità coinvolte nell'identificazione esterna.
ENTITA’ IDENTIFICATORE SCELTO
PRESTAZIONE ID Prestazione
FATTURA Numero
PREVENTIVO Numero
CLIENTE ID Cliente
PRIVATO CLIENTE (ESTERNO)
IMPRESA CLIENTE (ESTERNO)
FORNITORE Partita IVA
CANTIERE ID Cantiere (AGGIUNTO)
PERSONALE ID Personale (AGGIUNTO)
DIPENDENTE PERSONALE (ESTERNO)
SOCIO PERSONALE (ESTERNO)
PRESTATORE DI MANODOPERA PERSONALE (ESTERNO)
INDIRIZZO FORNITORE ID Indirizzo
PROG
ETTAZION
E LOG
ICASCHEMA E-R RISTRUTTURATO
PROG
ETTAZION
E LOG
ICATRADUZIONE VERSO IL RELAZIONALE: SCHEMI DI RELAZIONALE
PRESTAZIONE (IDPrestazione, Nome, PrezzoUnitario, Descrizione)
DETTAGLIOFATTURA (Prestazione, Fattura, Quantità, IVA)
DETTAGLIOPREVENTIVO (Prestazione, Preventivo, Quantità)
FATTURA (Numero, DataEmissione, Stato, DataPagamento, TipoPagamento, Cantiere)
PREVENTIVO (Numero, DataEmissione, DataScadenza, PresaVisione, Accettazione, Cliente)
CLIENTE (IDCliente, Telefono1, Telefono2, Via, Città, Provincia, CAP, Email)
CANTIERE (IDCantiere, Nome, DataInizio, DataFine, StatoLavori, Via, Città, Provincia, CAP, Cliente)
PRIVATO (Cliente, Nome, Cognome, CodiceFiscale)
IMPRESA (Cliente, Nome, PartitaIVA, SitoWeb)
EMISSIONEBOLLA (Cantiere, Fornitore, CodiceBolla)
ORELAVORATE (Cantiere, Personale, OreLavorate, Data)
FORNITORE (PartitaIVA, Nome, Telefono1, Telefono2, Email, SitoWeb)
INDIRIZZOFORNITORE (IDIndirizzo, Fornitore, Commento, Via, Città, Provincia, CAP)
PERSONALE (IDPersonale, Nome, Cognome, Telefono1, Telefono2, Email, Via Città, Provincia, CAP)
DIPENDENTE (Personale, CodiceFiscale, TipoContratto, DataAssunzione)
SOCIO (Personale, CodiceFiscale)
PRESTATOREMANODOPERA (Personale, PartitaIVA)
PROG
ETTAZION
E LOG
ICATRADUZIONE VERSO IL RELAZIONALE [RAPPRESENTAZIONE GRAFICA]: VINCOLI DI INTEGRITA' REFERENZIALE
PROG
ETTAZION
E LOG
ICATRADUZIONE VERSO IL RELAZIONALE [RAPPRESENTAZIONE GRAFICA]
PROG
ETTAZION
E LOG
ICATRADUZIONE VERSO IL RELAZIONALE