PROGETTO DI BASI DI DATI PER UNA DITTA TESINA PER L'ESAME DI BASI DI DATI MIOTTO MATTEO UNIVERSITA'...

46
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

Transcript of PROGETTO DI BASI DI DATI PER UNA DITTA TESINA PER L'ESAME DI BASI DI DATI MIOTTO MATTEO UNIVERSITA'...

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

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

Page 2: 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.

ANALISI DEI REQUISITI

• Requisiti espressi in linguaggio naturale• Operazioni previste• Glossario dei termini• Strutturazione dei requisiti

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

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.

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

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.

Page 5: 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.

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

Page 6: 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.

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

Page 7: 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.

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

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

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

Page 9: 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.

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.

Page 10: 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.

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.

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

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.

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

PROGETTAZIONE CONCETTUALE

• Analisi delle entità e delle relazioni• Costruzione schema Entità-Relazione• Business rules

Page 13: 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.

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

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

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.

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

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.

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

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.

Page 17: 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.

PROG

ETTAZION

E CON

CETTUALE

SCHEMA ENTITA' RELAZIONE FINALE

Lo schema E-R finale deriva dall’accorpamento dei vari raffinamenti applicati allo schema scheletro.

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

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.

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

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.

Page 20: 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.

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.

Page 21: 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.

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.

Page 22: 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.

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.

Page 23: 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.

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

Page 24: 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.

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.

Page 25: 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.

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.

Page 26: 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.

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.

Page 27: 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.

PROG

ETTAZION

E CON

CETTUALE

SCHEMA ENTITA' RELAZIONE FINALE CON ATTRIBUTI E CARDINALITA'

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

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

Page 29: 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.

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.

Page 30: 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.

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

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

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

Page 32: 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.

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.

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

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.

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

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

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

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)

Page 36: 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.

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

Page 37: 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.

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

Page 38: 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.

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

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

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

Page 40: 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.

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

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

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

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

PROG

ETTAZION

E LOG

ICASCHEMA E-R RISTRUTTURATO

Page 43: 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.

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)

Page 44: 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.

PROG

ETTAZION

E LOG

ICATRADUZIONE VERSO IL RELAZIONALE [RAPPRESENTAZIONE GRAFICA]: VINCOLI DI INTEGRITA' REFERENZIALE

Page 45: 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.

PROG

ETTAZION

E LOG

ICATRADUZIONE VERSO IL RELAZIONALE [RAPPRESENTAZIONE GRAFICA]

Page 46: 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.

PROG

ETTAZION

E LOG

ICATRADUZIONE VERSO IL RELAZIONALE