Newsgroup: it.discussioni.ingegneria
Titolo: BASI DI DATI (entià-relazione)

Salve a Tutti!
potrebbe qualche Ing. Informatico o cmq persona competente, rispondere al
mio quesito?
devo progettare uno schema concettuale Entità-Relazione di cui riporto la
traccia:
Una società con megastore dislocati sul territorio nazionale si occupa della
vendita di prodotti audiovisivi e di libri. I megastore sono caratterizzati
da un numero identificativo, un indirizzo e un numero di dipendenti.
Tutti i prodotti sono catalogati in base ad un codice unico nazionale e
hanno un prezzo di listino. I prodotti audiovisivi sono caratterizzati da un
autore, un titolo e un anno di realizzazione.  I libri sono identificati
tramite un codice ISBN e hanno un titolo, un autore ed un anno di
pubblicazione.
Ai megastore possono accedere clienti casuali, dei quali non interessano
informazioni personali, e clienti tesserati, caratterizzati da un numero di
tessera e dai dati personali. Le tessere sono divise in categorie, ciascuna
con un nome, una percentuale di sconto, un campo descrittivo dei privilegi
cui dà diritto.
I clienti tesserati possono provare i prodotti audiovisivi prima dell'
acquisto, ma è necessario memorizzare la data di tali prove e controllare
che non si effettuino più di 5 prove in un mese.
I prodotti vengono talvolta messi in promozione solo per particolari
categorie di tessera ad un prezzo che si vuole poter esplicitare.
E' necessario tenere traccia di tutti gli acquisti effettuati nei megastore,
dando la possibilità di risalire all'acquirente se tesserato, alla data e al
numero di scontrino legato all'acquisto in tutti gli altri casi.
Indicare le cardinalità delle relazioni e un identificatore per ciascuna
entità.
b) Si definiscano le relazioni (tabelle) risultanti in SQL, avendo cura di
esplicitare i vincoli di integrità.
-Ho realizzato completamente lo schema comcettuale ed l'ho tradotto nel
modello relazionale.di seguito le relazioni del mio modello:
il problema sorge relativamente al codice con il quale vengono identificati
i prodotti (libri e audiovisivi); nella traccia si fà riferimento ad un
codice unico a livello nazionale e sembra essere unico anche per i due tipi
di prodotti così ne ho utilizzato uno chiamandolo UNI_CODE che è chiave
primaria dell' entità PRODOTTI che a sua volta ha come specificazioni
AUDIOVISIVI e LIBRI con attributi diversi. LIBRI ha fra i suoi attrib il
codice ISBN che potrebbe essere anch'esso chiave primaria.
giungo alla domanda:
è preferibile usare UNI_CODE come chiave della relazione PRODOTTI e
rappresentare la tabella Prodotti con in + l'attrib per tipo cercendo di far
coincidere gli attributi Autore Titolo ed eventualm l'atrrib
ANNO_Pubblic_L\Realizz_A ( che significa a seconda del tipo, anno di pubblic
x i Libri e di realizzaz x Audiovisivi) ED avere dei valori NULL nei campi
codice_ISBN,
OPPURE
utilizzare la chiave UNI_CODE solo per gli audiovisivi  e cod_ISBN per i
libri andando però a generare un numero superiore di tabelle che si
distinuguono per questa ulteriore specificazione???????????????
se non mi avete ancora mandato a cagare e volete rispondermi vi ringrazio!


...quando ho visto la lunghezza del post confesso che sono stato
tentato.
Comunque per stabilire quale alternativa scegliere per realizzare la
base di dati devi fare l'analisi dei volumi (tempo e memoria) per
valutare nei vari casi quando si hanno le transazioni maggiormente
ottimizzate in termini di tempo, o di atro parametro significativo.
Se non ci sono particolari requisiti di velocita' puoi scegliere una
qualunque alternativa, purche' sia corretta.