La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

PROGETTO DI BASI DI DATI PER UNA DITTA

Presentazioni simili


Presentazione sul tema: "PROGETTO DI BASI DI DATI PER UNA DITTA"— 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 REQUISITI ESPRESSI IN LINGUAGGIO NATURALE [OTTENUTI DALL' INTERVISTA CON IL CLIENTE]
RACCOLTA DEI REQUISTI 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 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 . 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.

4 REQUISITI ESPRESSI IN LINGUAGGIO NATURALE [OTTENUTI DALL' INTERVISTA CON IL CLIENTE]
RACCOLTA DEI REQUISTI 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.

5 OPERAZIONI PREVISTE OPERAZIONI PREVISTE SULLA BASE DI DATI PRESTAZIONE
Operazioni su Descrizione 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 su Descrizione 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 GLOSSARIO 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 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. Opera Bolla, 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. 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 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 Pagamento Azione 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

8 GLOSSARIO DEI TERMINI GLOSSARIO DEI TERMINI TERMINE DESCRIZIONE
SINONIMI COLLEGAMENTI 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.

9 Strutturazione 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. Strutturazione dei requisiti 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 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.

10 Strutturazione dei requisiti
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). Strutturazione dei requisiti 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. 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.

11 Strutturazione dei requisiti
FRASI RELATIVE AL DETTAGLIO PREVENTIVO Per il dettaglio preventivo, rappresentiamo la quantità e l’importo (non comprensivo di iva). Strutturazione 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 PROGETTAZIONE CONCETTUALE 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. SCHEMA SCHELETRO ENTITA’ COINVOLTE Preventivo Fattura Cliente Cantiere Personale RELAZIONI COINVOLTE Proposta Pagamento Proprietà Ore lavorate La strategia mista combina i vantaggi della strategia bottom-up e top-down. Si suddividono i requisiti in componenti separate e, contemporaneamente, si definisce uno schema scheletro. Lo schema scheletro fornisce una visione unitaria, astratta, dell’intero progetto e favorisce le fasi di integrazione degli schemi sviluppati separatamente.

14 PROGETTAZIONE CONCETTUALE
SPECIALIZZAZIONE ENTITA' CLIENTE PROGETTAZIONE CONCETTUALE 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.

15 PROGETTAZIONE CONCETTUALE
RAFFINAMENTO ENTITA' FATTURA PROGETTAZIONE CONCETTUALE 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.

16 PROGETTAZIONE CONCETTUALE
ULTERIORI ENTITA' E RELAZIONI PROGETTAZIONE CONCETTUALE 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.

17 PROGETTAZIONE CONCETTUALE
SCHEMA ENTITA' RELAZIONE FINALE PROGETTAZIONE CONCETTUALE E’ stata effettuato un controllo della qualità dello schema concettuale attraverso i parametri: Correttezza: Utilizza correttamente i costrutti messi a disposizione; Completezza: Rappresenta tutti i dati di interesse e le operazioni possono essere eseguite basandosi sui concetti rappresentati; Leggibilità: rappresentazione comprensibile; Minimalità: specifiche rappresentate una sola volta; Lo schema E-R finale deriva dall’accorpamento dei vari raffinamenti applicati allo schema scheletro.

18 PROGETTAZIONE CONCETTUALE
ANALISI DELLE ENTITA' PROGETTAZIONE CONCETTUALE 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.

19 PROGETTAZIONE CONCETTUALE
ANALISI DELLE ENTITA' PROGETTAZIONE CONCETTUALE CLIENTE ID CLIENTE Codice univoco assegnato ad ogni cliente. TELEFONO Numero di telefono del cliente. (Attributo multiplo) Indirizzo 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.

20 PROGETTAZIONE CONCETTUALE
ANALISI DELLE ENTITA' PROGETTAZIONE CONCETTUALE 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) Indirizzo del fornitore.

21 PROGETTAZIONE CONCETTUALE
ANALISI DELLE ENTITA' PROGETTAZIONE CONCETTUALE 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) Indirizzo 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.

22 PROGETTAZIONE CONCETTUALE
ANALISI DELLE RELAZIONE E DELLE CARDINALITA' PROGETTAZIONE CONCETTUALE 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 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. 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 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. 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.

23 PROGETTAZIONE CONCETTUALE
ANALISI DELLE RELAZIONE E DELLE CARDINALITA' PROGETTAZIONE CONCETTUALE PAGAMENTO Collega le entità “Fattura” e “Cantiere”. Rappresenta il pagamento di una fattura relativamente alle prestazioni eseguite in un cantiere. CARDINALITA’ Uno 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. 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”.

24 PROGETTAZIONE CONCETTUALE
ANALISI DELLE RELAZIONE E DELLE CARDINALITA' PROGETTAZIONE CONCETTUALE 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 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 ORE Rappresenta il numero di ore svolte.

25 PROGETTAZIONE CONCETTUALE
BUSINESS RULES PROGETTAZIONE CONCETTUALE 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. Le business rules del dominio applicativo che si vuole rappresentare sono delle regole non esprimibili con il modello concettuale. Possono essere: Descrizioni di un concetto (entità, relazione o attributo) Vincoli di integrità; - Derivazioni;

26 PROGETTAZIONE CONCETTUALE
BUSINESS RULES PROGETTAZIONE CONCETTUALE 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.

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

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 TAVOLA DEI VOLUMI CONCETTO TIPO VOLUME COMMENTO
ANALISI DELLE PRESTAZIONI SU SCHEMA E-R [TAVOLA DEI VOLUMI] PROGETTAZIONE LOGICA TAVOLA DEI VOLUMI CONCETTO TIPO VOLUME COMMENTO Prestazione E 100 Fattura 400 Preventivo 500 Cliente 300 Cantiere Il volume si presuppone uguale a quello della fattura Personale 20 Fornitore Dettaglio fattura R 2000 Assumendo che ogni fattura, mediamente, contenga 5 prestazioni Dettaglio preventivo 2500 Assumendo che ogni preventivo, mediamente, contenga 5 prestazioni Pagamento Basandosi sulla cardinalità, i pagamenti saranno tanti quante sono le fatture Proposta Basandosi sulla cardinalità , le proposte saranno tante quanti sono i preventivi Proprietà Basandosi sulla cardinalità , le proprietà saranno tante quanti sono i cantieri Ore lavorate 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 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.

30 TAVOLA DELLE OPERAZIONI TAVOLA DELLE OPERAZIONI
ANALISI DELLE PRESTAZIONI SU SCHEMA E-R [TAVOLA DELLE OPERAZIONI] PROGETTAZIONE LOGICA TAVOLA DELLE OPERAZIONI OPERAZIONE TIPO FREQUENZA Inserisci dati prestazione I 2/anno Inserisci dati dettaglio di un preventivo 10/settimana Aggiorna dati dettaglio di un preventivo Inserisci dati dettaglio di una fattura 5/settimana Aggiorna dati dettaglio di una fattura Inserisci dati preventivo 1/settimana Aggiorna dati preventivo Inserisci dati fattura 3/mese Aggiorna dati fattura Inserisci dati cliente 1/mese Aggiorna dati cliente 4/anno Inserisci dati personale 1/anno Aggiorna dati personale Cancella dati personale 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 Assegnare la proposta di un preventivo ad un cliente 1/settimana Aggiorna dati relativi alla proposta Inserisci dati fornitore 1/anno Aggiorna dati fornitore Inserisci dati cantiere 1/mese Aggiorna dati cantiere Assegnare ad un cliente il possesso di un cantiere Ad una data precisata, assegnare il numero di ore lavorate da un componente del personale in un cantiere 1/giorno Assegna ad un cantiere una bolla emessa da un fornitore Nella tavola delle operazioni si riporta, per ogni operazione, la frequenza prevista e un simbolo indicante se l'operazione è interattiva (I) o batch(B).

31 TAVOLA DELLE OPERAZIONI
ANALISI DELLE PRESTAZIONI SU SCHEMA E-R [TAVOLA DELLE OPERAZIONI] PROGETTAZIONE LOGICA TAVOLA DELLE OPERAZIONI OPERAZIONE TIPO FREQUENZA Visualizzare fatture con i relativi dettagli B 1/settimana 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 I 1/mese Dato un cantiere visualizzare tutte le bolle emesse per tale cantiere 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 ANALISI DELLE RIDONDANZE
PROGETTAZIONE LOGICA 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 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” dell’entità fattura RELAZIONE DETTAGLIO FATTURA Imponibile Derivabile dal prodotto dell’attributo “quantità” e il prezzo unitario della prestazione associata 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.

33 PROGETTAZIONE LOGICA 1 Inserisci dati dettaglio di una fattura
TAVOLE DEGLI ACCESSI IN PRESENZA DI RIDONDANZA TAVOLE DEGLI ACCESSI IN ASSENZA DI RIDONDANZA PROGETTAZIONE LOGICA 1 Inserisci dati dettaglio di una fattura Concetto Costrutto Accessi Tipo FATTURA ENTITA’ 1 LETTURA PRESTAZIONE DETTAGLIO FATTURA RELAZIONE SCRITTURA TOTALE ACCESSI: 30 ACCESSI/SETTIMANA 1 Inserisci dati dettaglio di una fattura Concetto Costrutto Accessi Tipo FATTURA ENTITA’ 1 LETTURA PRESTAZIONE DETTAGLIO FATTURA RELAZIONE SCRITTURA TOTALE ACCESSI: 20 ACCESSI/SETTIMANA 2 Aggiorna dati dettaglio di una fattura Concetto Costrutto Accessi Tipo FATTURA ENTITA’ 1 LETTURA DETTAGLIO FATTURA RELAZIONE SCRITTURA TOTALE ACCESSI: 50 ACCESSI/SETTIMANA 2 Aggiorna dati dettaglio di una fattura Concetto Costrutto Accessi Tipo FATTURA ENTITA’ 1 LETTURA DETTAGLIO FATTURA RELAZIONE SCRITTURA TOTALE ACCESSI: 30 ACCESSI/SETTIMANA 3 Visualizza fattura con i relativi dettagli Concetto Costrutto Accessi Tipo FATTURA ENTITA’ 1 LETTURA DETTAGLIO FATTURA RELAZIONE 5 TOTALE ACCESSI: 6 ACCESSI/SETTIMANA 3 Visualizza fattura con i relativi dettagli Concetto Costrutto Accessi Tipo FATTURA ENTITA’ 1 LETTURA DETTAGLIO FATTURA RELAZIONE 5 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 ANALISI DELLE RIDONDANZE: CONSIDERAZIONI
PROGETTAZIONE LOGICA 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’ FATTURA RELAZIONE DETTAGLIO FATTURA Totale imponibile Imponibile 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

35 ANALISI DELLE RIDONDANZE
PROGETTAZIONE LOGICA 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)

36 PROGETTAZIONE LOGICA Cliente ENTITA’ PADRE Privato, Impresa
ELIMINAZIONE DELLA GENERALIZZAZIONE CLIENTE PROGETTAZIONE LOGICA ENTITA’ PADRE Cliente ENTITA’ FIGLIE Privato, Impresa TIPO GENERALIZZAZIONE Totale ed esclusiva SOLUZIONE ADOTTATA La soluzione adottata per eliminare le generalizzazioni si utilizza soprattutto quando la generalizzazione non è totale e ci sono operazioni che si riferiscono solo a occorrenze delle entità figlie e quindi si preferisce distinguerle dall’entità padre. 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 ENTITA’ PADRE ENTITA’ FIGLIE
ELIMINAZIONE DELLA GENERALIZZAZIONE PERSONALE PROGETTAZIONE LOGICA 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 Sede operativa, Sede legale
PARTIZIONAMENTO/ACCORPAMENTO DI CONCETTI : ATTRIBUTI COMPOSTI PROGETTAZIONE LOGICA 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 L’indirizzo dell’entità “cantiere” viene suddiviso nei seguenti attributi, accorpati nell’entità stessa: 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: Commento (attraverso il quale si può distinguere il tipo di sede, ma tale distinzione, è affidata all’utente dell’applicazione).

39 Sede operativa, Sede legale
PARTIZIONAMENTO/ACCORPAMENTO DI CONCETTI : ATTRIBUTI COMPOSTI PROGETTAZIONE LOGICA 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”: ATTRIBUTI COMPOSTI: CONSIDERAZIONE FINALE 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.

40 PROGETTAZIONE LOGICA CONCETTO ATTRIBUTO SOLUZIONE ADOTTATA Cliente
PARTIZIONAMENTO/ACCORPAMENTO DI CONCETTI: ATTRIBUTI MULTIPLI PROGETTAZIONE LOGICA CONCETTO ATTRIBUTO SOLUZIONE ADOTTATA Cliente 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 Personale

41 SCELTA IDENTIFICATORI PRINCIPALI
PROGETTAZIONE LOGICA 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: Gli attributi con valori nulli non possono costituire identificatori principali; 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; 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 CLIENTE ID Cliente PRIVATO CLIENTE (ESTERNO) IMPRESA CLIENTE (ESTERNO) FORNITORE Partita IVA CANTIERE ID Cantiere (AGGIUNTO) PERSONALE ID Personale (AGGIUNTO) DIPENDENTE PERSONALE (ESTERNO) SOCIO PRESTATORE DI MANODOPERA INDIRIZZO FORNITORE ID Indirizzo

42 SCHEMA E-R RISTRUTTURATO
PROGETTAZIONE LOGICA

43 TRADUZIONE VERSO IL RELAZIONALE: SCHEMI DI RELAZIONALE
PROGETTAZIONE LOGICA 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 TRADUZIONE VERSO IL RELAZIONALE [RAPPRESENTAZIONE GRAFICA]: VINCOLI DI INTEGRITA' REFERENZIALE
PROGETTAZIONE LOGICA La rappresentazione grafica della traduzione dello schema E-R verso il relazionale descrive le relazioni con i relativi attributi e i vincoli di integrità referenziale (o Foreign key FK) esistenti tra le varie relazioni. Inoltre, grazie a questo formalismo, è possibile mantenere traccia delle associazioni dello schema E-R originale.

45 TRADUZIONE VERSO IL RELAZIONALE [RAPPRESENTAZIONE GRAFICA]
PROGETTAZIONE LOGICA

46 TRADUZIONE VERSO IL RELAZIONALE
PROGETTAZIONE LOGICA


Scaricare ppt "PROGETTO DI BASI DI DATI PER UNA DITTA"

Presentazioni simili


Annunci Google