Anteprima
Vedrai una selezione di 10 pagine su 64
Basi di Dati - Relazione progetto (analisi, progettazione database e descrizione web app) Pag. 1 Basi di Dati - Relazione progetto (analisi, progettazione database e descrizione web app) Pag. 2
Anteprima di 10 pagg. su 64.
Scarica il documento per vederlo tutto.
Basi di Dati - Relazione progetto (analisi, progettazione database e descrizione web app) Pag. 6
Anteprima di 10 pagg. su 64.
Scarica il documento per vederlo tutto.
Basi di Dati - Relazione progetto (analisi, progettazione database e descrizione web app) Pag. 11
Anteprima di 10 pagg. su 64.
Scarica il documento per vederlo tutto.
Basi di Dati - Relazione progetto (analisi, progettazione database e descrizione web app) Pag. 16
Anteprima di 10 pagg. su 64.
Scarica il documento per vederlo tutto.
Basi di Dati - Relazione progetto (analisi, progettazione database e descrizione web app) Pag. 21
Anteprima di 10 pagg. su 64.
Scarica il documento per vederlo tutto.
Basi di Dati - Relazione progetto (analisi, progettazione database e descrizione web app) Pag. 26
Anteprima di 10 pagg. su 64.
Scarica il documento per vederlo tutto.
Basi di Dati - Relazione progetto (analisi, progettazione database e descrizione web app) Pag. 31
Anteprima di 10 pagg. su 64.
Scarica il documento per vederlo tutto.
Basi di Dati - Relazione progetto (analisi, progettazione database e descrizione web app) Pag. 36
Anteprima di 10 pagg. su 64.
Scarica il documento per vederlo tutto.
Basi di Dati - Relazione progetto (analisi, progettazione database e descrizione web app) Pag. 41
1 su 64
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

PRODOTTO

LocalitàProvenienza 1-5

CostoUnitarioProdotto CONTENITORE

NomeProdotto composizione PesoNetto

0-1

PesoProdotto CodOrdine

NumCopieDisponibili id: CodOrdine

CodProdotto

id: CodProdotto PACCO 1-5

0-1 ColorePacco

TaraPacco

confezionamento 1-1 inserimento

NumProgressivoPacco 1-1

TipologiaPacco

id: inserimento.CONTENITORE

NumProgressivoPacco

12

Alcune entità presentano identificatori (ad esempio CodProdoitito e CodOrdiie) adottati

anche da altre entità a cui sono associate questo poiché partecipano ad associazioni

con cardinalità (1 1) in entrambe le direzioni e dunque ad un’istanza di un’entità

corrisponde univocamente un’istanza dell’altra collegata.

Anche se le specifiche non ne parlano esplicitamente si deduce dal testo che un

prodotto acquistabile sul sito può avere più copie di sé medesimo (cioèv più unità

attualmente disponibili); questo aspetto va preso in considerazione:o

ORDINE

CodOrdine

DataPagamento

ModalitàPagamento

IndirizzoDestinazione

NumTracking

NomeCorriere

PesoTotaleOrdine

CostoTotaleOrdine

Nome/i prodotto/i[1-5]

id: CodOrdine

1-5

composizione

0-1 PACCO

COPIA_DI_PRODOTTO ColorePacco

NumeroCopia 0-1 confezionamento 1-1 TaraPacco

id: copia-prodotto.PRODOTTO NumProgressivoPacco

NumeroCopia TipologiaPacco

1-1

copia-prodotto

0-N

PRODOTTO

LocalitàProvenienza

CostoUnitarioProdotto

NomeProdotto

PesoProdotto

NumCopieDisponibili

CodProdotto

id: CodProdotto

A questo punto perciò le entità ORDINE e PACCO presenti nello schema non saranno

più in associazione diretta con l’entità PRODOTTO bensì con l’entità

COPIA_DI_PRODOTTO rendendo dunque possibile l’acquisto anche di più copie di uno

stesso prodotto all’interno di un singolo ordine ed il confezionamento di ogni copia in

un apposito pacco. 13

Si ritiene opportuno altresì definire una gerarchia per le varie tipologie di PERSONA

(clienti magazzinieri e conducenti dei veicoli di consegna). Essa possiede una

copertura totale e sovrapposta (un magazziniere o conducente può anche essere a sua

volta un cliente); di seguito la gerarchia appena citata:o

PERSONA

Nome

Cognome

Sesso

CodiceFiscale

id: CodiceFiscale

T CONDUCENTE_VEICOLO

MAGAZZINIERE NumPatente

CodM agazziniere CLIENTE id': NumPatente

id': CodM agazziniere DataNascita

Username

ComuneResidenza

ProvinciaResidenza

IndirizzoResidenza

M etodoPagamentoPreferito

Interessi/Hobby[0-1]

CodCliente

id': CodCliente 14

Nelle specifiche richieste dal responsabile dei corrieri si può leggere testuali parole:o

“...Un determinato veicolo viene guidato da uno specifico conducente non più di una

volta nello stesso giorno...”; si èv dunque deciso di creare un’entità GUIDA non

esplicitamente segnalata nelle specifiche ma necessaria per descrivere il vincolo da

rappresentare. Ogni istanza di questa entità viene individuata univocamente attraverso

il suo attributo DaitaGuida ed esternamente attraverso le partecipazioni alle

associazioni etecuzioie ed uitilizzo. Non potrà perciò mai esistere una guida efettuata

più di una volta nello stesso giorno da una stessa coppia veicolo - conducente veicolo.

VEICOLO

TipologiaVeicolo

CodVeicolo

id: Tip ologiaVeicolo

CodVeicolo

0-N

utilizzo

1-1

GUIDA

DataGuida

id: esecuzione.CONDUCENTE_VEICOLO

utilizzo.VEICOLO

DataGuida 1-1

esecuzione

0-N

CONDUCENTE_VEICOLO

Nome

Cognome

CodiceFiscale

Sesso

NumPatente

id: NumPatente

id': CodiceFiscale

15

2.5 Scchemi concettuali parziali (viste)

In questa sezione vengono presentati gli schemi concettuali parziali che modellano le

specifiche esposte in ognuna delle interviste raccolte nella precedente fase di Aialiti

dei Requitiiti.

Di seguito la vista del programmatore web del sito:o

PAGAMENTO

DataPagamento

ModalitàPagamento

CodOrdine

id: CodOrdine

1-1

transazione

1-1

ORDINE

CodOrdine

IndirizzoDestinazione

NumTracking

NomeCorriere

PesoTotaleOrdine effettuazione

1-1

CostoTotaleOrdine

TipologiaOrdine 0-N

DataPrevistaConsegna[0-1]

DataAvvenutaConsegna[0-1]

Nome/i prodotto/i[1-5] CLIENTE

id: CodOrdine Nome

Username

1-5 Cognome

composizione CodiceFiscale

DataNascita

0-1 Sesso

COPIA_DI_PRODOTTO Residenza

NumeroCopia Comune

Provincia

id: copia-prodotto.PRODOTTO Indirizzo

NumeroCopia MetodoPagamentoPreferito

1-1 Interessi/Hobby[0-1]

CodCliente

copia-prodotto id: CodCliente

0-N id': CodiceFiscale

PRODOTTO

LocalitàProvenienza 0-N

CostoUnitarioProdotto

NomeProdotto carrello

0-N

PesoProdotto

NumCopieDisponibili

CodProdotto

id: CodProdotto 16

La vista del capo magazziniere:o

M AGAZZINIERE

Nome

Cognome CONTENITORE

Sesso DataPrevistaConsegna

CodiceFiscale 0-N Destinazione

CodMagazziniere imballaggio Città

id: CodM agazziniere 1-1 Provincia

id': CodiceFiscale Indirizzo

PesoComplessivo

NomeCliente

1-1 CognomeCliente

provenienza CodOrdine

M AGAZZINO 0-N id: CodOrdine

CodM agazzino

NomeM agazzino

IndirizzoM agazzino

id: CodM agazzino 1-5

COPIA_DI_PRODOTTO inserimento

NumeroCopia 1-1 confezionamento

id: copia-prodotto.PRODOTTO

NumeroCopia 1-1

1-1

1-1

copia-prodotto PACCO

0-N ColorePacco

TaraPacco

PRODOTTO NumProgressivoPacco

LocalitàProvenienza TipologiaPacco

CostoUnitarioProdotto id: inserimento.CONTENITORE

NomeProdotto NumProgressivoPacco

PesoProdotto

NumCopieDisponibili

CodProdotto

id: CodProdotto 17

E per ultima la vista del responsabile dei corrieri:o

TRAGITTO

NumTracking

DistanzaTragitto

Destinazione

Città

Provincia

Indirizzo

id: NumTracking

0-N

percorrenza

1-1

SPEDIZIONE

CodOrdine

assegnazione DataPrevistaConsegna[0-1]

1-1 1-1 responsabilità

DataAvvenutaConsegna[0-1]

id: CodOrdine

1-1 1-1 0-N

trasporto

CONTENITORE

Tara 0-N CORRIERE

DataPrevistaConsegna VEICOLO NomeCorriere

IndirizzoM agazzino CodCorriere

Targa

NomeMagazzino TipologiaVeicolo id: CodCorriere

CF_Magazziniere CodVeicolo

PesoComplessivo

NomeCliente id: Targa

CognomeCliente id': TipologiaVeicolo

NomeCorriere CodVeicolo

CodOrdine 0-N

id: CodOrdine utilizzo

1-1

GUIDA

DataGuida

id: esecuzione.CONDUCENTE_VEICOLO

utilizzo.VEICOLO

DataGuida 1-1

esecuzione

0-N

CONDUCENTE_VEICOLO

Nome

Cognome

CodiceFiscale

Sesso

NumPatente

id: NumPatente

id': CodiceFiscale

18

2.6 Integrazione viste e scchema concettuale finale

19

Capitolo 3

Progettazione logica

In questo capitolo viene afrontata la fase di progettazione logica dell’applicazione

database. Si ricava perciò a partire dallo schema concettuale uno schema logico che

rappresenti in maniera fedele i concetti e i requisiti analizzati e che sia al tempo

stesso efficiente.

Iniziando da una stima del volume dei dati e della frequenza delle operazioni sul

database si passerà successivamente ad un’analisi delle possibili ridondanze ad una

ristrutturazione dello schema e/r precedentemente realizzato e ad una traduzione dei

costrutti residui in elementi del modello relazionale. Infine verranno tradotte le

operazioni in query SQL.

3.1 Stima del volume dei dati

CONCETTO COSTRUTTO VOLUME

Persona Entità 10000

Aagazziniere Entità 350

Conducente veicolo Entità 50

Cliente Entità 9800

Prodotto Entità 1500

Copia di prodotto Entità 5000

Pacco Entità 4000

Contenitore Entità 1900

Aagazzino Entità 8

Ordine Entità 1900

Pagamento Entità 1900

Spedizione Entità 1900

Tragitto Entità 1000

20

CONCETTO COSTRUTTO VOLUME

Corriere Entità 10

Veicolo Entità 300

Guida Entità 1200

Copia-Prodotto Associazione 5000

Confezionamento Associazione 4000

Inserimento Associazione 4000

Provenienza Associazione 1900

Imballaggio Associazione 1900

Assegnazione Associazione 1900

Transazione Associazione 1900

Esecuzione Associazione 1200

Carrello Associazione 30000

Percorrenza Associazione 1900

Responsabilità Associazione 1900

Trasporto Associazione 1900

Utilizzo Associazione 1200

Composizione Associazione 2700

Ordinazione Associazione 1900

3.2 Descrizione delle operazioni principali e

stima della loro frequenza

Le operazioni principali efettuate sono:o

Visualizzare tutti gli username dei clienti che hanno inserito nel proprio

1. carrello un prodotto con nome ‘Aappamondo’ (frequenza 12 volte al giorno);

visualizzare per ogni cliente il codice il nome e il numero di ordini attualmente

2. efettuati (frequenza 5 volte a settimana);

visualizzare il codice la data di nascita e il nome dei 3 clienti che hanno

3. ordinato più unità di prodotti poi per ogni cliente trovato indicare anche il

numero totale delle unità di prodotti acquistate (frequenza 3 volte al mese);

visualizzare tutte le informazioni dei soli prodotti che non sono mai stati

4. acquistati (frequenza 2 volte a settimana);

21

aggiungere un nuovo prodotto e successivamente inserirlo nel carrello del

5. cliente che attualmente possiede meno prodotti a carrello (frequenza 1 volta

ogni 2 settimane);

inserire un’ordinazione da parte del cliente che possiede il maggior numero di

6. unità di prodotto dello stesso tipo all’interno del medesimo ordine.

L’ordinazione deve avere come data di pagamento la data odierna come data di

prevista consegna la data odierna + 5 giorni come metodo di pagamento ‘carta

di credito’ come corriere quello con codice ‘987654’ come veicolo un camion

motrice con codice ‘216549’ come tragitto quello con codice di tracking

‘000045210265399’ come magazzino il numero ‘852741’ come magazziniere

preposto all’imballaggio quello con codice ‘123456’ e deve comprendere un

orologio a pendolo una stampante e 2 astucci (frequenza 2 volte al giorno).

3.3 Scchemi di navigazione e tabelle degli eccessi

Operazione n.1:o

CONCETTO COSTRUTTO ACCESSI TIPO

Prodotto Entità 1 Lettura

Carrello Associazione 9800/1500 ~ 7 Lettura

Cliente Enti

Dettagli
Publisher
A.A. 2017-2018
64 pagine
2 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Nikwanted di informazioni apprese con la frequenza delle lezioni di Basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Maio Dario.