Esercizio 1 — Noleggio di attrezzature: un n:n con attributo e un 1:nBase
TestoUno sportello di noleggio registra le attrezzature (codAttrezzo, descrizione,
tariffaOraria) e i propri soci (tessera, nome, cognome). Ogni attrezzatura è acquistata da un solo
fornitore (partitaIVA, denominazione, nazione), mentre un fornitore rifornisce più attrezzature.
Un socio può noleggiare più attrezzature e un’attrezzatura può essere noleggiata da più soci; di ogni
noleggio si registrano la data di inizio e la data di restituzione. Tradurre il modello in modello logico.
Modello E-R dell’esercizio 1.
La tua traduzione
Mostra svolgimento e soluzione
Svolgimento
- Il modello E-R è già ristrutturato: nessun attributo composto, nessun multivalore, nessuna generalizzazione.
- Tre entità → tre tabelle:
Socio,Attrezzatura,Fornitore, ognuna con il proprio identificatore come PK. - L’associazione Fornita è 1:n: la FK va nella tabella dal lato con massimo 1, cioè Attrezzatura (accanto a Attrezzatura c’è (1,1)).
- L’associazione Noleggia è n:n e ha attributi propri: nasce una nuova tabella con PK = coppia delle PK, più dataInizio e dataFine.
- Prima di fissare la PK, ricontrolla il testo: la stessa coppia socio–attrezzatura non può presentarsi più volte (il testo non lo prevede), quindi la PK = coppia delle PK va bene. Se il testo lo prevedesse, l’associazione Noleggia avrebbe occorrenze con vita propria e dovrebbe diventare un’entità con un identificatore proprio.
Soluzione
Socio (Tessera(PK), Nome, Cognome) Fornitore (PartitaIVA(PK), Denominazione, Nazione) Attrezzatura (CodAttrezzo(PK), Descrizione, TariffaOraria, PartitaIVA(FK)) Noleggia (PK(Tessera, CodAttrezzo), DataInizio, DataFine, Tessera(FK), CodAttrezzo(FK))
Da scrivere così
Socio (Tessera(PK), Nome, Cognome) Fornitore (PartitaIVA(PK), Denominazione, Nazione) Attrezzatura (CodAttrezzo(PK), Descrizione, TariffaOraria, PartitaIVA(FK)) Noleggia (PK(Tessera, CodAttrezzo), DataInizio, DataFine, Tessera(FK), CodAttrezzo(FK))