Esercizio 1 — Tre entità: un n:n con attributo e un 1:nBase
TestoUna biblioteca registra i libri (codice, titolo, anno) e gli autori (idAutore, nome, cognome).
Un autore può scrivere più libri e un libro può avere più autori; di ogni collaborazione la biblioteca registra il ruolo
(per esempio «principale», «traduttore»). Ogni libro è pubblicato da una sola casa editrice
(partitaIVA, ragioneSociale), mentre una casa editrice pubblica molti libri. Tradurre il modello in modello logico.
Modello E-R dell’esercizio 1.
La tua traduzione
Mostra svolgimento e soluzione
Svolgimento
- Nessun attributo composto, multivalore o generalizzazione: il modello E-R è già ristrutturato.
- Tre entità → tre tabelle:
Autore,Libro,CasaEditrice, ciascuna con il proprio identificatore come PK. - L’associazione Pubblica è 1:n: la FK va nella tabella dal lato con massimo 1, cioè Libro (accanto a Libro c’è (1,1) verso la casa editrice).
- L’associazione Scrive è n:n con attributo proprio: nasce una nuova tabella con PK = coppia delle PK e l’attributo ruolo.
Soluzione
Autore (idAutore(PK), Nome, Cognome) CasaEditrice (PartitaIVA(PK), RagioneSociale) Libro (Codice(PK), Titolo, Anno, PartitaIVA(FK)) Scrive (PK(idAutore, Codice), Ruolo, idAutore(FK), Codice(FK))
Da scrivere così
Autore (idAutore(PK), Nome, Cognome) CasaEditrice (PartitaIVA(PK), RagioneSociale) Libro (Codice(PK), Titolo, Anno, PartitaIVA(FK)) Scrive (PK(idAutore, Codice), Ruolo, idAutore(FK), Codice(FK))