La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

PROGETTO DI BASI DI DATI PER UNA DITTA TESINA PER L'ESAME DI BASI DI DATI MIOTTO MATTEO UNIVERSITA' DEGLI STUDI DI TRIESTE CORSO DI LAUREA TRIENNALE IN.

Presentazioni simili


Presentazione sul tema: "PROGETTO DI BASI DI DATI PER UNA DITTA TESINA PER L'ESAME DI BASI DI DATI MIOTTO MATTEO UNIVERSITA' DEGLI STUDI DI TRIESTE CORSO DI LAUREA TRIENNALE IN."— Transcript della presentazione:

1 PROGETTO DI BASI DI DATI PER UNA DITTA TESINA PER L'ESAME DI BASI DI DATI MIOTTO MATTEO UNIVERSITA' DEGLI STUDI DI TRIESTE CORSO DI LAUREA TRIENNALE IN INGEGNERIA INFORMATICA A.A. 2008/09 Trieste, 20 febbraio 2009

2 ANALISI DEI REQUISITI Requisiti espressi in linguaggio naturale Operazioni previste Glossario dei termini Strutturazione dei requisiti

3 RACCOLTA DEI REQUISTI REQUISITI 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 (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 (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 dellimpresa, la partita iva, il possibile sito web, lindirizzo della sede legale e lindirizzo 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 . Per il listino delle prestazioni, ogni prestazione è identificata da un codice ed è rappresentata da dati quali nome prestazione, prezzo unitario (per tutte le prestazioni lunità di misura è /mq) e breve descrizione.

4 RACCOLTA DEI REQUISTI REQUISITI ESPRESSI IN LINGUAGGIO NATURALE [OTTENUTI DALL' INTERVISTA CON IL CLIENTE] Per i preventivi, numerati, rappresentiamo la data di emissione, la data di scadenza e limporto totale. Si vuole memorizzare anche il dettaglio preventivo, rappresentato dallelenco 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 dallelenco delle prestazioni, le relative quantità, limporto e liva applicabile ad ogni prestazione (dato che questultima può essere variabile). Per quanto riguarda il dettaglio non è importante memorizzare lordine 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.

5 OPERAZIONI PREVISTE OPERAZIONI PREVISTE SULLA BASE DI DATI Operazioni suDescrizione PRESTAZIONE Inserisci dati prestazione DETTAGLIO PREVENTIVO Inserisci dati dettaglio di un preventivo Aggiorna dati dettaglio di un preventivo DETTAGLIO FATTURA Inserisci dati dettaglio di una fattura Aggiorna dati dettaglio di un a fattura PREVENTIVO Inserisci dati preventivo Aggiorna dati preventivo FATTURA Inserisci dati fattura Aggiorna dati fattura CLIENTE Inserisci dati cliente Aggiorna dati cliente PERSONALE Inserisci dati personale Aggiorna dati personale Cancella dati personale PAGAMENTO FATTURA Assegnare il pagamento di una fattura ad un cliente per un cantiere di sua proprietà Aggiorna dati relativi al pagamento Operazioni suDescrizione PROPOSTA PREVENTIVO Assegnare la proposta di un preventivo ad un cliente Aggiorna dati relativi alla proposta FORNITORE Inserisci dati fornitore Aggiorna dati fornitore CANTIERE Inserisci dati cantiere Aggiorna dati cantiere PROPRIETA Assegnare ad un cliente il possesso di un cantiere ORE LAVORATE Ad una data precisata, assegnare il numero di ore lavorate da un componente del personale in un cantiere BOLLA Assegnare ad un cantiere una bolla emessa da un fornitore

6 OPERAZIONI 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

7 GLOSSARIO DEI TERMINI TERMINEDESCRIZIONESINONIMICOLLEGAMENTI LOGICI Ditta Organizzazione che esegue le prestazioni attraverso la manodopera del suo personale, emette fatture e proposte di preventivi ai clienti. Società IndirizzoInsieme delle proprietà: Via, Numero civico, CAP, Città, ProvinciaSito PrestazioneAttività lavorativa, quantificata in /mq (prezzo unitario). Dettaglio fattura, Dettaglio preventivo Dettaglio fattura Componente della fattura contenente gli elementi: prestazione, quantità, iva, importo. DettaglioFattura, Prestazione Fattura Documento emesso dalla ditta verso il cliente, recante un importo per le prestazioni fornite in un certo cantiere. Pagamento, Dettaglio fattura Cantiere Luogo, di proprietà di un cliente,dove il personale della ditta esegue le prestazioni. Si precisa che 2 cantieri differenti possono trovarsi nello stesso luogo. OperaBolla, Cliente, Personale Personale Persone 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 Cliente Soggetto 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 Preventivo Documento emesso dalla ditta verso il cliente, recante una proposta riguardante limporto 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 Pagamento Azione svolta dal cliente verso la ditta a seguito dellesecuzione 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

8 GLOSSARIO DEI TERMINI TERMINEDESCRIZIONESINONIMICOLLEGAMENTI LOGICI Proposta Azione 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

9 S TRUTTURAZIONE DEI REQUISITI 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 . 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 . 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 dellimpresa, la partita iva, il possibile sito web, lindirizzo della sede legale e lindirizzo della sede operativa. Ogni cliente può possedere più cantieri, richiedere più preventivi e pagare più fatture.

10 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 lunità di misura è /mq) e breve descrizione. S TRUTTURAZIONE DEI REQUISITI 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à, limporto e liva applicabile.. Per il dettaglio fattura non è importante memorizzare lordine 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 limporto totale.

11 FRASI RELATIVE AL DETTAGLIO PREVENTIVO Per il dettaglio preventivo, rappresentiamo la quantità e limporto (non comprensivo di iva). S TRUTTURAZIONE DEI REQUISITI 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 .

12 PROGETTAZIONE CONCETTUALE Analisi delle entità e delle relazioni Costruzione schema Entità-Relazione Business rules

13 PROGETTAZIONE CONCETTUALE 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 dellapplicazione. 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

14 PROGETTAZIONE CONCETTUALE SPECIALIZZAZIONE ENTITA' CLIENTE Il cliente della ditta può essere privato oppure un impresa. La generalizzazione dellentità 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.

15 PROGETTAZIONE CONCETTUALE 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 dellentità fattura. Si distingueranno dunque le entità fattura e preventivo, associate dalla relazione dettaglio preventivo.

16 PROGETTAZIONE CONCETTUALE ULTERIORI ENTITA' E RELAZIONI Affinché si possano eseguire le prestazioni allinterno 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 lentità 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.

17 PROGETTAZIONE CONCETTUALE SCHEMA ENTITA' RELAZIONE FINALE Lo schema E-R finale deriva dallaccorpamento dei vari raffinamenti applicati allo schema scheletro.

18 PROGETTAZIONE CONCETTUALE ANALISI DELLE ENTITA' PRESTAZIONE ID PRESTAZIONEE il codice univoco assegnato ad ogni prestazione. NOMEE il nome assegnato alla prestazione. PREZZO UNITARIOE il prezzo riferito ad una unità di prestazione. Ogni unità è espressa in /mq. DESCRIZIONEDescrive brevemente in cosa consiste la prestazione. FATTURA NUMEROE un intero positivo, unico per ogni fattura. Le fatture vengono emesse con numerazione progressiva. DATA EMISSIONERappresenta la data corrispondente allemissione della fattura. TOTALE IMPONIBILERappresenta limporto totale (escluso di iva) ricavato dalla somma degli importi dei dettagli che compongono la fattura. TOTALE IVARappresenta limporto totale relativo alla sola iva. Esso viene ricavata dalla somma degli importi iva dei dettagli che compongono la fattura. TOTALERappresenta limporto totale comprensivo di iva. Esso viene calcolato dalla somma del totale imponibile e del totale iva. PREVENTIVO NUMEROE un intero positivo, unico per ogni preventivo. IMPORTO TOTALERappresenta limporto totale calcolato dalla somma degli importi dei dettagli. DATA EMISSIONERappresenta la data corrispondente allemissione del preventivo. DATA SCADENZARappresenta la data corrispondente allultimo giorno di validità del preventivo.

19 PROGETTAZIONE CONCETTUALE ANALISI DELLE ENTITA' CLIENTE ID CLIENTECodice univoco assegnato ad ogni cliente. TELEFONONumero di telefono del cliente. (Attributo multiplo) Indirizzo del cliente. PRIVATO NOMENome del cliente. COGNOMECognome del cliente. CODICE FISCALECodice personale del cliente. INDIRIZZOResidenza del cliente privato. (Attributo composto) IMPRESA NOMENome dellimpresa. PARTITA IVACodice identificativo dellimpresa. SEDE LEGALEIndirizzo della sede legale. (Attributo composto) SEDE OPERATIVAIndirizzo della sede operativa. (Attributo composto) SITO WEBIndirizzo del sito web dellimpresa.

20 PROGETTAZIONE CONCETTUALE ANALISI DELLE ENTITA' CANTIERE NOMENome assegnato ad ogni cantiere. DATA INIZIORappresenta la data corrispondente allinizio dei lavori nel cantiere. DATA FINERappresenta la data corrispondente al termine dei lavori nel cantiere. Più precisamente, se il cantiere è in esecuzione, rappresenta la presunta data di termine dei lavori. STATORappresenta lo stato dei lavori nel cantiere, che possono essere in esecuzione o terminati. INDIRIZZOSito in cui si trova il cantiere. (Attributo composto) FORNITORE PARTITA IVACodice univoco che identifica il fornitore. NOMENome del fornitore. SEDE OPERATIVAIndirizzo della sede operativa del fornitore. (Attributo composto) SEDE LEGALEIndirizzo della sede legale del fornitore. (Attributo composto) SITO WEBSito web del fornitore. TELEFONONumero di telefono del fornitore. (Attributo multiplo) Indirizzo del fornitore.

21 PROGETTAZIONE CONCETTUALE ANALISI DELLE ENTITA' PERSONALE NOMENome del componente del personale. COGNOMECognome del componente del personale. INDIRIZZOResidenza del componente del personale. (Attributo composto) TELEFONONumero di telefono del componente del personale. (Attributo multiplo) Indirizzo del componente del personale. DIPENDENTE CODICE FISCALECodice personale identificativo. DATA ASSUNZIONEData di assunzione. TIPO CONTRATTOIndica il tipo di contratto che lega il dipendente alla ditta. SOCIO CODICE FISCALECodice personale identificativo. PRESTATORE DI MANODOPERA PARTITA IVACodice identificativo del prestatore di manodopera.

22 PROGETTAZIONE CONCETTUALE 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. CARDINALITAMolti a molti Una 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. QUANTITARappresenta la quantità di una prestazione. IMPONIBILE Rappresenta limporto della prestazione eseguita nelle quantità indicate. Si ottiene dal prodotto della quantità per il prezzo unitario della prestazione. IVARappresenta liva applicabile al dettaglio (compreso tra 0 e 1). TOTALE IVA Rappresenta il valore della sola IVA applicata allimporto. 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. CARDINALITAMolti a molti Una 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. QUANTITARappresenta la quantità di una prestazione. IMPORTO Rappresenta limporto della prestazione nelle quantità indicate. Si ottiene dal prodotto della quantità per il prezzo unitario della prestazione.

23 PROGETTAZIONE CONCETTUALE 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. CARDINALITAUno a molti Una 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. STATOIndica se il pagamento è stato effettuato o meno. Assume i valori si se è stato pagato, no altrimenti. TIPO PAGAMENTORappresenta la modalità con la quale è stato o sarà effettuato il pagamento. DATA PAGAMENTORappresenta la data corrispondente al pagamento. PROPOSTA Collega le entità Preventivo e Cliente. Rappresenta la proposta di preventivo destinata ad un cliente. CARDINALITAUno a molti Un preventivo deve essere proposto ad uno ed un solo cliente. Ad un cliente possono venir proposti uno o più preventivi. ACCETTAZIONEIndica se la proposta di preventivo è stata accettata dal cliente. Assume i valori si o no. PRESA VISIONEIndica se la proposta di preventivo è stata vista. Assume i valori si o no.

24 PROGETTAZIONE CONCETTUALE 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. CARDINALITAUno 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. CARDINALITAMolti 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 BOLLARappresenta il codice riportato sulla bolla considerata. ORE LAVORATE Collega le entità Personale e Cantiere. Rappresenta le ore che i dipendenti hanno svolto nei cantieri. CARDINALITAMolti a molti In 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 ORERappresenta il numero di ore svolte.

25 PROGETTAZIONE CONCETTUALE 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 dellattributo 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.

26 PROGETTAZIONE CONCETTUALE BUSINESS RULES Descrizione di concetti non esprimibili con il modello concettuale REGOLE DI DERIVAZIONE In dettaglio fattura, lIMPONIBILE 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 QUANTITAper 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 lattributo IMPORTO TOTALE si ottiene sommando i valori IMPORTO relativi a ciascun dettaglio relativo al preventivo considerato.

27 PROGETTAZIONE CONCETTUALE SCHEMA ENTITA' RELAZIONE FINALE CON ATTRIBUTI E CARDINALITA'

28 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

29 PROGETTAZIONE LOGICA ANALISI DELLE PRESTAZIONI SU SCHEMA E-R [TAVOLA DEI VOLUMI] TAVOLA DEI VOLUMI CONCETTOTIPOVOLUMECOMMENTO PrestazioneE100 FatturaE400 PreventivoE500 ClienteE300 CantiereE400 Il volume si presuppone uguale a quello della fattura PersonaleE20 FornitoreE20 Dettaglio fatturaR2000 Assumendo che ogni fattura, mediamente, contenga 5 prestazioni Dettaglio preventivoR2500 Assumendo che ogni preventivo, mediamente, contenga 5 prestazioni PagamentoR400 Basandosi sulla cardinalità, i pagamenti saranno tanti quante sono le fatture PropostaR500 Basandosi sulla cardinalità, le proposte saranno tante quanti sono i preventivi ProprietàR400 Basandosi sulla cardinalità, le proprietà saranno tante quanti sono i cantieri Ore lavorateR3000 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 bollaR800 Supponendo lemissione media di 2 bolle per cantiere e considerando il volume del lentità cantiere Nella tavola dei volumi vengono riportati tutti i concetti dello schema concettuale (entità e relazioni) con il volume previsto a regime.

30 PROGETTAZIONE LOGICA ANALISI DELLE PRESTAZIONI SU SCHEMA E-R [TAVOLA DELLE OPERAZIONI] TAVOLA DELLE OPERAZIONI OPERAZIONETIPOFREQUENZA Inserisci dati prestazione I2/anno Inserisci dati dettaglio di un preventivo I10/settimana Aggiorna dati dettaglio di un preventivo I10/settimana Inserisci dati dettaglio di una fattura I5/settimana Aggiorna dati dettaglio di una fattura I10/settimana Inserisci dati preventivo I1/settimana Aggiorna dati preventivo I1/settimana Inserisci dati fattura I3/mese Aggiorna dati fattura I3/mese Inserisci dati cliente I1/mese Aggiorna dati cliente I4/anno Inserisci dati personale I1/anno Aggiorna dati personale I1/anno Cancella dati personale I1/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 OPERAZIONETIPOFREQUENZA Assegnare il pagamento di una fattura ad un cliente per un cantiere di sua proprietà I3/mese Aggiorna dati relativi al pagamento I3/mese Assegnare la proposta di un preventivo ad un cliente I1/settimana Aggiorna dati relativi alla proposta I1/settimana Inserisci dati fornitoreI1/anno Aggiorna dati fornitoreI1/anno Inserisci dati cantiereI1/mese Aggiorna dati cantiereI1/mese Assegnare ad un cliente il possesso di un cantiere I1/mese Ad una data precisata, assegnare il numero di ore lavorate da un componente del personale in un cantiere I1/giorno Assegna ad un cantiere una bolla emessa da un fornitore I1/settimana

31 PROGETTAZIONE LOGICA ANALISI DELLE PRESTAZIONI SU SCHEMA E-R [TAVOLA DELLE OPERAZIONI] TAVOLA DELLE OPERAZIONI OPERAZIONETIPOFREQUENZA Visualizzare fatture con i relativi dettagliB 1/settimana Visualizzare preventivi con i relativi dettagliB 1/settimana Visualizzare lo stato dei pagamenti con i relativi cantieri e clientiB 1/settimana Visualizzare lo stato delle proposte di preventivo con i relativi clientiB 1/settimana Dato un intervallo di tempo e un componente del personale, visualizzare le ore lavorate da esso in tale periodoI 1/mese Dato un cantiere visualizzare tutte le bolle emesse per tale cantiereB 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).

32 PROGETTAZIONE LOGICA ANALISI DELLE RIDONDANZE In questo frammento di schema sono coinvolte principalmente le seguenti operazioni: 1Inserisci dati dettaglio di una fattura5/settimana 2Aggiorna dati dettaglio di una fattura10/settimana 3Visualizza fattura con i relativi dettagli1/settimana Si può notare inoltre la presenza di attributi derivabili e quindi di ridondanze. Gli attributi che generano tali ridondanze sono: ENTITA FATTURA Totale imponibile Derivabile dalla somma degli attributi imponibile dei dettagli associati ad una fattura Totale IVA Derivabile dalla somma degli attributi totale iva dei dettagli associati ad una fattura Totale Derivabile dalla somma degli attributi totale imponibile e totale iva dellentità fattura RELAZIONE DETTAGLIO FATTURA Imponibile Derivabile dal prodotto dellattributo quantità e il prezzo unitario della prestazione associata Totale IVADerivabile 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.

33 PROGETTAZIONE LOGICA TAVOLE DEGLI ACCESSI IN PRESENZA DI RIDONDANZATAVOLE DEGLI ACCESSI IN ASSENZA DI RIDONDANZA 1 Inserisci dati dettaglio di una fattura ConcettoCostruttoAccessiTipo FATTURAENTITA1LETTURA PRESTAZIONEENTITA1LETTURA DETTAGLIO FATTURARELAZIONE1SCRITTURA FATTURAENTITA1SCRITTURA TOTALE ACCESSI: 30 ACCESSI/SETTIMANA 2 Aggiorna dati dettaglio di una fattura ConcettoCostruttoAccessiTipo FATTURAENTITA1LETTURA DETTAGLIO FATTURARELAZIONE1SCRITTURA FATTURAENTITA1SCRITTURA TOTALE ACCESSI: 50 ACCESSI/SETTIMANA 3 Visualizza fattura con i relativi dettagli ConcettoCostruttoAccessiTipo FATTURAENTITA1LETTURA DETTAGLIO FATTURARELAZIONE5LETTURA TOTALE ACCESSI: 6 ACCESSI/SETTIMANA 1 Inserisci dati dettaglio di una fattura ConcettoCostruttoAccessiTipo FATTURAENTITA1LETTURA PRESTAZIONEENTITA1LETTURA DETTAGLIO FATTURARELAZIONE1SCRITTURA TOTALE ACCESSI: 20 ACCESSI/SETTIMANA 2 Aggiorna dati dettaglio di una fattura ConcettoCostruttoAccessiTipo FATTURAENTITA1LETTURA DETTAGLIO FATTURARELAZIONE1SCRITTURA TOTALE ACCESSI: 30 ACCESSI/SETTIMANA 3 Visualizza fattura con i relativi dettagli ConcettoCostruttoAccessiTipo FATTURAENTITA1LETTURA DETTAGLIO FATTURARELAZIONE5LETTURA 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.

34 PROGETTAZIONE LOGICA ANALISI 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: ENTITA FATTURARELAZIONE DETTAGLIO FATTURA Totale imponibileImponibile Totale IVA Totale ENTITA PREVENTIVO *RELAZIONE DETTAGLIO PREVENTIVO** Importo totaleImporto * Eliminazione effettuata per motivi analoghi a quelli che hanno portato alleliminazione dei 3 attributi relativi allentità fattura * Eliminazione effettuata per motivi analoghi a quelli che hanno portato alleliminazione dei 2 attributi relativi alla relazione dettaglio fattura

35 PROGETTAZIONE LOGICA ANALISI 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 clienti1/settimana SOLUZIONE ADOTTATA Eliminazione dellassociazione ridondante (tratto rosso)

36 PROGETTAZIONE LOGICA ELIMINAZIONE DELLA GENERALIZZAZIONE CLIENTE ENTITA PADRECliente ENTITA FIGLIEPrivato, 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".

37 PROGETTAZIONE LOGICA ELIMINAZIONE DELLA GENERALIZZAZIONE PERSONALE ENTITA PADRE Personale ENTITA FIGLIE Dipendente, 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".

38 PROGETTAZIONE LOGICA PARTIZIONAMENTO/ACCORPAMENTO DI CONCETTI : ATTRIBUTI COMPOSTI CONCETTOATTRIBUTOSOLUZIONE ADOTTATA PERSONALEIndirizzo Lindirizzo dellentità personale viene suddiviso nei seguenti attributi, accorpati nellentità stessa: Via Città Provincia CAP CANTIEREIndirizzo Lindirizzo dellentità cantiere viene suddiviso nei seguenti attributi, accorpati nellentità stessa: Via Città Provincia CAP FORNITORESede operativa, Sede legale Per quanto riguarda lentità 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 unentità 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 allutente dellapplicazione).

39 PROGETTAZIONE LOGICA PARTIZIONAMENTO/ACCORPAMENTO DI CONCETTI : ATTRIBUTI COMPOSTI CONCETTOATTRIBUTOSOLUZIONE ADOTTATA PRIVATOIndirizzo Lindirizzo dellentità privato viene suddiviso nei seguenti attributi, accorpati nellentità stessa: Via Città Provincia CAP IMPRESA Sede operativa, Sede legale Per quanto riguarda i due attributi elencati a fianco, ai fini dellapplicazione e delle operazioni che operano sullentità impresa, risulta necessario mantenere traccia di un solo indirizzo. La soluzione adottata prevede dunque laccorpamento dei seguenti attributi allentità 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

40 PROGETTAZIONE LOGICA PARTIZIONAMENTO/ACCORPAMENTO DI CONCETTI: ATTRIBUTI MULTIPLI CONCETTOATTRIBUTOSOLUZIONE ADOTTATA ClienteTelefono Ai fini dellapplicazione è sufficiente la conoscenza di due numeri di telefono. Considerando tale ipotesi, lattributo 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 dellattributo comporterebbe la definizione di unentità telefono e una relazione recapito telefonico con cardinalità uno a molti. FornitoreTelefono PersonaleTelefono

41 PROGETTAZIONE LOGICA SCELTA 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. ENTITAIDENTIFICATORE SCELTO PRESTAZIONEID Prestazione FATTURANumero PREVENTIVONumero CLIENTEID Cliente PRIVATOCLIENTE (ESTERNO) IMPRESACLIENTE (ESTERNO) FORNITOREPartita IVA CANTIEREID Cantiere (AGGIUNTO) PERSONALEID Personale (AGGIUNTO) DIPENDENTEPERSONALE (ESTERNO) SOCIOPERSONALE (ESTERNO) PRESTATORE DI MANODOPERAPERSONALE (ESTERNO) INDIRIZZO FORNITOREID Indirizzo

42 PROGETTAZIONE LOGICA SCHEMA E-R RISTRUTTURATO

43 PROGETTAZIONE LOGICA TRADUZIONE 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, ) 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, , SitoWeb) INDIRIZZOFORNITORE (IDIndirizzo, Fornitore, Commento, Via, Città, Provincia, CAP) PERSONALE (IDPersonale, Nome, Cognome, Telefono1, Telefono2, , Via Città, Provincia, CAP) DIPENDENTE (Personale, CodiceFiscale, TipoContratto, DataAssunzione) SOCIO (Personale, CodiceFiscale) PRESTATOREMANODOPERA (Personale, PartitaIVA)

44 PROGETTAZIONE LOGICA TRADUZIONE VERSO IL RELAZIONALE [RAPPRESENTAZIONE GRAFICA]: VINCOLI DI INTEGRITA' REFERENZIALE

45 PROGETTAZIONE LOGICA TRADUZIONE VERSO IL RELAZIONALE [RAPPRESENTAZIONE GRAFICA]

46 PROGETTAZIONE LOGICA TRADUZIONE VERSO IL RELAZIONALE


Scaricare ppt "PROGETTO DI BASI DI DATI PER UNA DITTA TESINA PER L'ESAME DI BASI DI DATI MIOTTO MATTEO UNIVERSITA' DEGLI STUDI DI TRIESTE CORSO DI LAUREA TRIENNALE IN."

Presentazioni simili


Annunci Google