Si tratta di un esercizio o devi implementare un database vero? Per me c'è qualcosa di poco reale, ad esempio:
Videocassette: non esistono più, oggi forse circolano ancora DVD. Direi di chiamarli più in generale Video o meglio Films.
Dipendenti: un ADDETTO può lavorare in un solo PUNTO VENDITA. Con la flessibilità lavoro di oggigiorno mi sembra un vincolo alquanto obsoleto e fuori dal tempo.
Provo ugualmente a fare la mia analisi. Il tuo schema forse ha una logica, io purtroppo so usare solo Access che ha un look organizzazione tabelle differente, di conseguenza non capisco molti tuoi simboli.
Provo a spezzettare tutto il discorso in più piccoli frammenti.
1) FILMS: Un Film ha molti Artisti che gli girano intorno. Preferisco parlare più in generale di Artisti piuttosto che Attori, in quanto ci sono Attori che sono anche Registi, Sceneggiatori ecc... Un Film molti Artisti. Ma anche un Artista molti Films. Occorre una tabella di congiunzione che chiamerei Credits con i seguenti campi:
IDCredit (PK)
IDArtista
RuoloCredit (qui ci scrivi se si tratta di Attore, Regia, Sceneggiatura...io includerei anche la Produzioni e considerare i Produttori anche loro nella tabella Artisti)
IDFilm
2) FORNITORI, PUNTI VENDITA, CLIENTI: Queste 3 entità hanno le stesse caratteristichè, quindi io generalizzerei una tabella Nominativi con i seguenti campi
IDNominativo (PK)
Nominativo
TipoNominativo (qui distingui se si tratta di Fornitore, PuntoVendita, Cliente)
Indirizzo
IDCittà
3) I Films partono da Fornitori, entrano in PuntoVendita, vengono noleggiati da Clienti, i Clienti restituiscono i Films, i Films ritornano dai Fornitori. Tutti questi passaggi io li chiamerei Movimenti, quindi una tabella Movimenti con i seguenti campi:
IDMovimento (PK)
DataMovimento
TipoMovimento (qui specifichi se si tratta di EntradaDaFornitore, NoleggioCliente, RestituzioneCliente, UscitaVersoFornitore)
IDNominativo
IDDipendente
IDPuntoVendita
Dopo tutta questa analisi, propongo la seguente struttura tabelle:
Città
IDCittà (PK)
Città
CAP
Provincia
Regione
Nominativi
IDNominativo (PK)
Nominativo
TipoNominativo
Indirizzo
IDCittà (FK)
Dipendenti
IDDipendente (PK)
Dipendente
Movimenti
IDMovimento (PK)
DataMovimento
TipoMovimento
IDNominativo (FK)
IDDipendente (FK)
IDPuntoVendita (FK)
DettagliMovimenti
IDDM (PK)
IDFilm (FK)
IDMovimento (FK)
Prezzo
Films
IDFilm (PK)
Titolo
Trama
Durata
Artisti
IDArtista (PK)
Artista
Credits
IDCredit (PK)
IDArtista (FK)
RuoloCredit
IDFilm (FK)
Relazioni:
Città.IDCittà uno-a-molti Nominativi.IDCittà
Nominativi.IDNominativo uno-a-molti Movimenti.IDNominativo
Dipendenti.IDDipendente uno-a-molti Movimenti.IDDipendente
Nominativi.IDNominativo uno-a-molti Movimenti.IDPuntoVendita
Movimenti.IDMovimento uno-a-molti DettagliMovimenti.IDMovimento
Films.IDFilm uno-a-molti DettagliMovimenti.IDFilm
Film.IDFilm uno-a-molti Credits.IDFilm
Artisti.IDArtista uno-a-molti Credits.IDArtista