Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti:
1. Definire uno schema Entità/Relazione che descriva il problema2. Definire uno schema logico secondo il modello relazionale, derivato da una ristrutturazione, se necessaria, del diagramma E/R, esteso con gli eventuali vincoli necessari a garantire la consistenza della base di dati.
Un negozio di elettrodomestici vende diversi prodotti, ciascuno dei quali ha alcune caratteristiche descrittive in comune con gli altri (prezzo di acquisto, marca, dimensioni, prezzo di vendita, data di vendita) ma, in funzione del tipo, ha anche caratteristiche specifiche.
La base di dati deve quindi consentire di gestire diverse categorie di prodotti e, quindi, di associare loro le rispettive caratteristiche.
Il negozio ha un solo fornitore per ogni componente (ma può comprare più componenti dallo stesso fornitore).
Inoltre ha un’anagrafe clienti che permette di stabilire, a fine anno, l’importo di un buono acquisto da offrire in omaggio a ciascuno di essi, di valore pari al 2% del valore degli acquisti che quest’ultimo ha fatto durante l’anno.
Un negozio di elettrodomestici vende diversi prodotti, ciascuno dei quali ha alcune caratteristiche descrittive in comune con gli altri (prezzo di acquisto, marca, dimensioni, prezzo di vendita, data di vendita) ma ha anche caratteristiche specifiche.
La base di dati deve quindi consentire di gestire diverse categorie di prodotti e, quindi, di associare loro le rispettive caratteristiche.
Il negozio ha un solo fornitore per ogni prodotto (ma può comprare più prodotti dallo stesso fornitore).
Inoltre ha un’anagrafe clienti che permette di stabilire, a fine anno, l’importo di un buono acquisto da offrire in omaggio a ciascuno di essi, di valore pari al 2% del valore degli acquisti che quest’ultimo ha fatto durante l’anno.
Entità
Cliente
Fornitore
Relazioni
Vendita
Fornitura
Prodotto
Marca Modello
L H P
Dim.
Prezzo listino
Dati anag.
Dati anag.
Prezzo vendita
Prezzo acquisto
Buono Acquisto Valore
(1,N)
(1,N)
(1,N)
(1,N)
Schema scheletro
Cliente Prodotto
Fornitore
Vendita
Acquisto
(1,N) (1,N)
(1,N)
(1,N)
Dati anag.
Dati anag.
Prezzo vendita Prezzo acquistoData
Marca Modello
L H P
Dim.
Buono Acquisto Valore
Premio annuale
Anno
(1,1)
(1,N)
Data
N.B. La relazione Acquisto è di tipo molti a molti in quanto un prodotto può essere acquistato piu volte in date diverse. Esiste anche una relazione 1:N tra Prodotto e Fornitore, logicamente distinta dall’acquisto, che potrebbe ad es. chiamarsi “Fornitura”
Quantità
Quantità
Generalizzazioni
Prodotto
Prodotto1 Prodotto2 ProdottoN…..
Marca Modello
L H P
C11 C12 C1n C21 C22 C2n CN1 CN2 CNn
Dim.
Prezzo listino
Eliminazione generalizzazioni e attributi multivalore
Prodotto
Marca Modello L H P
Prezzo listino
Caratteristica
Nome
Specifica
(1,N)
(1,N)
Cliente
Fornitore
C.F. Nome ………..
P.I. Nome ………..
Codice
Valore
Cliente
C.F. Nome ………..
Fornitore
P.I. Nome ………..
Prodotto
Marca Modello L H P
Prezzo listino
Caratteristica
Nome
Specifica
(1,N)
(1,N)
Codice
Vendita
Acquisto
Prezzo vendita
Prezzo acquisto
(1,N)
(1,N)
(1,N)
(1,N)
Buono AcquistoValore
Premio annuale
(1,N)
(1,1)
Anno
Valore
Data
Data
Quantità
Quantità
Schema logico
Cliente(CF, Nome, Cognome, Indirizzo, ….)
Fornitore(PI, Nome, Cognome, Indirizzo, ….)
Prodotto(Codice, Marca, Modello, L, H, P, Prezzolistino, PI)
Specifica(NomeCaratteristica, CodiceProd, Valore)
Vendita(CodiceProd, CF, Prezzovendita, Quantità, Data)
Acquisto(CodiceProd, PI, Prezzoacquisto, Quantità, Data)
BuonoAcquisto(Valore, Anno, CF)
Caratteristica(Nome)
N.B. La tabella caratteristica è utile solo se si vuole imporre un vincolo di integrità referenziale fra Specifica.Nomecaratteristica e Caratteristica.Nome
Top Related