Allora il database ha il seguente elenco di relazioni tra tabelle.
tabella Entità: è la tabella in cui sono messi i dati relativi agli autori / artisti ed ha due campi collegati a tabelle satelliti, ovvero
1) categoria entità, che definisce se il record che sto inserendo è relativo ad un artista (entità che ha pubblicato l'album), ad un autore (entità che ha scritto musiche o testi), ad un musicista (entità che ha suonato o cantato all'interno dell'album), o un Copertinista (chi ha creato l'immagine o la fotografia in copertina) --> la tabella satellite a cui fa riferimento il campo è la tabella satellite "categoria entità"
2) tipo entità, che è un campo che è una suddivisione delle categorie, in particolare:
a) gli artisti possono essere: artisti solisti, gruppi o artisti ospiti
b) gli autori possono essere: autori di musiche o autori di testi
c) i musicisti possono essere: strumentisti o cantanti
d) i copertinisti possono essere: disegnatori o fotografi
il campo fa riferimento alla tabella satellite "tipo entità" che ha sua volta ha un legame molti a uno con la tabella "categoria entità". La tabella “Tipo Entità” ha anche una relazione uno a molti con la tabella satellite “Strumenti”, dove la tabella "Tipo Entità" è filtrata per cantanti o strumentisti
La tabella entità ha relazioni uno-a-molti con le seguenti tabelle
1) Tabella Elementi Discografia
2) Tabella Dischi
3) Tabella tracklist
4) Tabella Immagini
5) Tabella Autorità
6) Tabella Elementi Formazione
7) Tabella Autori Canzoni
Tabella Titoli: è la tabella in cui sono definiti tutti i titoli presenti nel database e ha un campo collegato ad una tabella satellite, ovvero "Tipo Titolo", che definisce se il titolo è associato ad un album, ad un disco, ad una traccia, ad una sottotraccia o ad una suite, dove:
1) Con il termine “sottotraccia” si intende quando la canzone contenuta in una singola traccia ha una serie di titoli che ne distinguono parti diverse
2) Con il termine “suite” si intende quando sull’album esiste un titolo unico associato a tracce differenti, ciascuna delle quali ha anche un proprio titolo che la contraddistingue.
La tabella a cui fa riferimento è la "tipo titolo e formazione"
La Tabella Titoli ha relazioni uno-a-molti con le seguenti tabelle
1) Tabella Tracklist
2) Tabella Dischi
3) Tabella Elementi Discografia
4) Tabella Autorità
Tabella Elementi discografia: è la tabella di unione tra la tabella entità [filtrata solo per artisti solisti o gruppi] e la tabella titoli [filtrata per album o dischi]. Questa tabella si lega tramite una relazione uno-a-molti alla tabella Album.
Tabella Album: è la tabella che contiene i dati specifici relativi all'album ed ha i seguenti campi collegati alle seguenti tabelle:
1) ID Elemento discografia (il campo che definisce la relazione molti-a-uno nei confronti della tabella Elementi discografia)
2) Sezione archivio, che definisce se l'album sia l'elemento di una discografia, una compilation, una colonna sonora o altro ed è legato alla tabella satellite "Sezione Archivio"
3) Formato, che definisce se l'album è un formato CD, DVD, Blu-ray, Vinile, Cofanetto etc... fa riferimento alla tabella satellite "Tipi Formato Supporto"
4) Confezione, che definisce se l'album ha una confezione standard, digipack, etc... fa riferimento alla tabella satellite "Tipi Confezione"
5) Edizione, che definisce se l'album è in un'edizione standard, limitata, etc... fa riferimento alla tabella satellite "Tipi Edizione"
6) Propietario, che dice chi sia la persona che ha acquistato l'album (messo in modo da poter inserire nel database le collezioni di tutti gli elementi di una famiglia) fa riferimento alla tabella satellite "Proprietari"
La Tabella Album è inoltre collegata da relazioni uno-a-molti alle seguenti tabelle
1) Tabella Contenuto, che contiene i dati relativi a ciò che è contenuto nell'album
2) Tabella Dischi, che contiene i dati specifici relativi ad ogni disco che fa parte dell'album
3) Tabella Oggetti, che contiene i dati specifici relativi ad ogni oggetto che fa parte dell'album
4) Tabella Immagini, che contiene i dati relativi alle immagini presenti nel database
5) Tabella Formazione associata, che contiene i dati relativi alle formazioni di un gruppo o di un artista solista associati o ad un singolo album, o ad un singolo disco o ad una singola canzone
La Tabella Contenuto, ha i seguenti campi collegati alle seguenti tabelle:
1) ID Album (che è il collegamento per la relazione molti-a-uno con la tabella album)
2) Tipo Supporto, che definisce una riga per ogni diverso tipo di supporto contenuto nell’album (CD, DVD etc…) e fa riferimento alla tabella satellite “Tipi Formato Supporto”. Esiste un valore particolare di questa tabella che viene abilitato solo in questo caso che è “Misto” e sta a significare che all’interno dell’album, esiste almeno un insieme di dischi contenuti in una confezione diversa dalla confezione dell’album che sono almeno di due tipi di supporto diversi.
La Tabella Dischi ha i seguenti campi collegati alle seguenti tabelle
1) ID Album (che è il collegamento per la relazione molti-a-uno con la tabella album)
2) Tipo Supporto, che definisce per ogni riga il tipo di supporto di cui ci stiamo occupando (CD, DVD, Blu-ray etc…) nel caso in cui ci si stia riferendo al tipo “Misto” questo campo sarà valorizzato con valori tipo “CD + DVD”, “CD + Blu-Ray” etc…
3) Tipo supporto specifico. Questo campo viene valorizzato solo se il campo Tipo Supporto è valorizzato con valori di tipo “Tipo supporto 1 + Tipo supporto 2 + etc…” e definisce nello specifico di che tipo di supporto di cui ci stiamo occupando
4) Ev Formato Disco. Questo campo (così come i campi descritti ai punti 5 e 6) viene valorizzato solo quando il disco di cui si sta parlando è contenuto in una confezione diversa dalla confezione dell’album e definisce il tipo di formato della confezione. I tre campi di cui ai punti 2, 3 e 4 fanno tutti riferimento alla tabella satellite “Tipo Formato Supporto”. Da notare che questa particolare tabella satellite viene filtrata nei suoi valori, sulla base del campo che sta per andare a valorizzare
5) Ev Confezione Disco. Definisce il tipo di confezione che contiene il disco specifico e fa riferimento alla tabella satellite “tipo confezioni”
6) Ev Edizione Disco. Definisce il tipo di edizione del disco specifico e fa riferimento alla tabella satellite “Tipi Edizione”
7) ID Artista (collegamento per la relazione molti-ad-uno con la tabella entità filtrata per artisti solisti e gruppi) e viene valorizzato solo nel caso in cui il disco abbia un artista diverso dall’artista dell’album di riferimento
8- ID Titolo (collegamento per la relazione molti-ad-uno con la tabella Titoli filtrata per Titoli disco) e viene valorizzato solo nel caso in cui il titolo del disco sia diverso dal titolo dell’album di riferimento
9) Ambito Musicale: definisce dei macro-generi musicali che a loro volta sono ciascuno dei contenitori di generi musicali differenti e si riferisce alla tabella satellite “Ambito Musicale”
10) Genere Musicale: definisce il genere specifico di un disco e fa riferimento alla tabella satellite “Generi Musicali” che, a sua volta, ha una relazione molti-a-uno con la tabella “Ambito Musicale”
La Tabella Dischi ha poi relazioni uno-a-molti con le seguenti tabelle
1) Tabella Tracklist, che è la tabella che contiene i dati alle scalette di ogni singolo album.
2) Tabella Immagini
3) Tabella Formazione associata, che contiene i dati relativi alle formazioni di un gruppo o di un artista solista associati o ad un singolo album, o ad un singolo disco o ad una singola canzone
La Tabella “Oggetti” ha i seguenti campi correlati
1) ID Album (collegamento per la relazione molti-a-uno con la tabella Album)
2) Tipo Supporto, che fa riferimento alla tabella satellite “Tipo formato supporto” filtrata per codici relativi ad oggetti
La Tabella Oggetti ha una relazione uno-a-molti con la tabella immagini
La Tabella Tracklist ha i seguenti campi correlati alle seguenti tabelle
1) ID Disco (collegamento per la relazione molti-a-uno con la tabella Dischi)
2) ID Artista (collegamento per la relazione molti-a-uno con la tabella Entità filtrata per artisti solisti o gruppi) che viene valorizzato solo se l’artista relativo alla traccia è diverso sia dall’artista relativo al disco sia dall’artista relativo all’album
3) ID Titolo, ID TitoloSuite e ID Titolo Sottotraccia che sono tutti campi che fanno riferimento alla tabella titoli dove:
a. Il primo filtra la tabella titoli per titoli traccia
b. Il secondo filtra la tabella titoli per titoli suite
c. Il terzo filtra la tabella titoli per titoli sottotraccia
4) ID Tipo Traccia è il campo che definisce se una traccia contenga una canzone, una traccia video, una traccia audio non musicale (esempi possono essere interviste o commenti agli album degli autori), una traccia dati o una traccia silente e fa riferimento alla tabella satellite “Tipo Tracce”
La Tabella Tracklist ha una relazione uno-a-molti con le tabelle
1) Canzoni
2) Tabella Formazione associata, che contiene i dati relativi alle formazioni di un gruppo o di un artista solista associati o ad un singolo album, o ad un singolo disco o ad una singola canzone
La Tabella Canzoni, contiene i dati specifici per ogni canzone ed ha i seguenti campi associati alle seguenti tabelle
1) ID Tracklist (campo che crea la relazione molti-a-uno con la tabella Tracklist)
2) ID Autorità (campo che crea la relazione molti-a-uno con la tabella Autorità)
Tabella Autorità: è la tabella di unione tra la tabella entità [filtrata per artisti solisti o gruppi] e la tabella titoli [filtrata per tracce] ed ha relazioni uno a molti con le tabelle
1) Canzoni
2) Autori Canzoni, che contiene l’elenco di autori musiche ed autori testi associati ad un particolare record della tabella autorità
La tabella Autori Canzoni ha quindi i seguenti campi correlati alle seguenti tabelle
1) ID Autorità (che crea la relazione molti-a-uno con la tabella Autorità)
2) ID Autore Musiche (che crea una relazione molti-a-uno con la tabella Entità filtrata per tipo Autore Musica)
3) ID Autore Testi (che crea una relazione molti-a-uno con la tabella Entità filtrata per tipo Autore Testo)
La tabella Elementi Formazione, è la tabella di unione tra tabella Entità e la tabella satellite e ha i seguenti campi correlati alle seguenti tabelle:
1) ID Musicista (campo che crea la relazione molti-a-uno con la tabella Entità filtrata per musicisti)
2) ID Artista (campo che crea la relazione molti-a-uno con la tabella Entità filtrata per Artista Solista, Gruppo o Artista Ospite)
3) ID Strumento definisce lo strumento suonato dal quel determinato musicista in quel determinato gruppo o artista solista e si appoggia alla tabella satellite “Strumenti”
4) ID Tipo Formazione che definisce se la formazione è relativa ad un album, ad un disco o ad una canzone e si appoggia sulla tabella satellite "tipo titolo e formazione"
La Tabella Elementi Formazione ha una relazione uno a molti con la tabella "Formazione Associata" che associa l'elemento di una determinata formazione o all'album, o al disco o alla canzone specifica a cui deve essere associato.
Infine c’è la tabella Immagini che ha questi campi correlati alle seguenti tabelle:
1) ID Album (che crea la relazione molti-a-uno con la tabella Album)
2) ID Disco (che crea la relazione molti-a-uno con la tabella Dischi)
3) ID Oggetto (che crea la relazione molti-a-uno con la tabella Oggetti)
4) ID Tipo immagine che definisce se un’immagine sia l’immagine di un oggetto, la copertina, il retro copertina, il contenuto di un cofanetto etc… ed è correlato alla tabella satellite “Tipi Immagine”
5) ID Tipo Titolo che definisce se l’immagine è associata ad un album o ad un disco e si appoggia alla tabella satellite "tipo titolo e formazione"
6) ID Entità (che crea la relazione molti-a-uno con la tabella Entità filtrata per copertinisti)
Di Fatto mi trovo ad avere 14 tabelle tra tabelle principali e tabelle di unione, e 13 tabelle satellite con l’idea che forse potrei ridurre il numero di tabelle satellite, nel momento in cui riuscissi a raggruppare dati logicamente simili e gestirli tramite dei codici intermedi.