Robywekky ha scritto:
Lo avevo pensato alla prima stesura di metterle insieme...
Ma poi ci sarebbero dei campi che sono solo della attinenti ai Fumetti e non ai libri, che resterebbero vuoti...
dovrei dividerli con una relazione uno-A-Uno...
del resto anche la tabella fumetti possiede un campo per differenziare la pubblicazione...
se sono giapponesi, americani, ecc...
avevo pensato di non immishiare troppa carne al fuoco...
mi sa che dovrei separare Autori di Fumetti ed autori di Libri...
nel mondo reale ci ha fumetti, non fa libri, ma pensando con mente analitica, mi sono detto
e se ci sono anche chi fa l'uno e l'altro?
La questione non è esattamente come la descrivi... chi sviluppa Database non vorrai che si fermi davanti a queste cose...?
Le Relazioni 1-1 lasciale perdere... non si usano, diciamo che non sono semplici da gestire come troppi pensano, e la loro utilità è discutibile nella maggior parte dei casi.
La soluzione al tuo problema ha 2 strade, una semplice ed una complessa.
La soluzione semplice ma rigida è che rendi VISIBILI solo i controlli/Campi specifici per l'oggetto...
Puoi ottenerlo inserendo dei Codici prima o dopo i Campi...
LIB_NomeCampo
quindi nelle maschere se visualizzi Fumetti... nascondi tutto quello che Inizia con "LIB_"
Oppure generi un Codice Binario 0010_NomeCampo...
E' un sistema rigido, ma semplice da implementare.
La soluzione complessa richiede una denormalizzazione, che prevede una gestione delle proprietà(quelle che volevi distinguere in 1_1) le devi vedere come Attributi dell'oggetto.
Per fare questo devi definire dei Template, ad esempio il Template dei Libri prevede N_Attributi
Serve una Relazione Molti-Molti, TIPI-Dettaglio-Attributi.
Hai definito SOLO i TEMPLATE.
Quando vai ad inserire un LIBRO vai a recuperare dal TEMPLATE gli attributi e li Accodi in una Tabella M-M tra Oggetti ed Attributi...
Se hai capito sei già in gamba... questa struttura è molto complessa sia da capire che da Gestire e Strutturare... ha solo 1 VANTAGGIO... non ha LIMITI.