- Home
- Categorie
- Coding e Sistemistica
- PHP
- Rappresentare dati diversi per record
-
Rappresentare dati diversi per record
Salve, spero di riuscire a spiegarmi.
Dovrei rappresentare un insieme di dati che possono essere diversi in base ad un oggetto.
Vi posto un esempio, ammettiamo di dover rappresentare una biblioteca/videoteca.
I video ed i libri hanno dati comuni (titolo, autore) e dati distinti tipo: numero pagine (per i libri), e genere (per i film dando per assurdo che i libri non abbiano genere.)
Che consigli mi date per rappresentare una cosa del genere?
Dovrei trovare sopratutto il modo migliore per effettuare select.
-
Quella più semplice: due tabelle separate.
Se avevi pensato a questa soluzione e non ti ha convinto forse dovresti esporci il perchè non ti ha convinto così magari si può fare un ragionamento insieme sui pro e i contro.
-
Beh come risolto il problema degli ID?
2 tabelle diverse corrispondono a 2 record con ID uguali
Esempio
ID = 3 può corrispondere un libro o nell'altra tabella un film.Ammettiamo di avere per ogni prodotto la sua pagina relativa esempio:
pagina-prodotto.php?id=3Quando visualizzo tutti i dati con UNION come differenzio i due id? (spero di averlo esposto chiaramente)
-
@visitaci said:
Beh come risolto il problema degli ID?
2 tabelle diverse corrispondono a 2 record con ID uguali
Esempio
ID = 3 può corrispondere un libro o nell'altra tabella un film.Ammettiamo di avere per ogni prodotto la sua pagina relativa esempio:
pagina-prodotto.php?id=3puoi seguire due strade passare un ulteriore parametro
pagina-prodotto.php?id=3&cat=film
oppure avere due pagine separate (ti aiuterebbe anche con i mdr)
film.php?id=3
libri.php?id=3
@visitaci said:Quando visualizzo tutti i dati con UNION come differenzio i due id? (spero di averlo esposto chiaramente)
nella union aggiungi un campo 'film' o libriselect t1.*, 'film' from film t1 union select t2.*, 'libri' from libri t2
fermo restando che devi avere lo stesso numero e tipo di campi, altrimenti nelle select elenchi solo quelli comuni.
spero anch'io di essermi spiegato.
-
Dal mio punto di vista.....
usi una sola tabella, con i campi uguali, restano tali, mentre quelli variabili, lu usi stile jolly.
esempio:
titolo, autore, pagine_duratacosì hai tutta la libertà di giocherellare con le select!