Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    45

    [MySql] Problema concettuale

    Salve a tutti ho un piccolo problema con mysql che più che ti programmazione è concettuale dato che non so come poter creare questo sistema.

    Dunque dovrei catalogare tramite database i libri che sono presenti in varie biblioteca. Le informazioni per ogni libro devono essere: Titolo, Casa editrice, Autore, Anno di pubblicazione, Numero pagine, Versione.

    Avrei pensato a due modi di catalogare il tutto:

    1) Creare un unica tabella ("LIBRI") con i 7 campi ("Titolo", "Casa Editrice"...) e riemepire il tutto. Solo che con questo metodo ho paura che alla lunga questa tabella diventi enorme e poco gestibile (lentezza nel ricercare i titoli etc)

    2) Creare per ogni Casa Editrice una tabella e inserire nei campi di queste tabelle i libri. Anche in questo caso però verrebberò tantissime tabelle (+ di 1000 per farsi un idea della quantità che ne verrebbe fuori) il che mi sa di troppa frammentazione e mi sa che in questo caso una ricerca sarebbe ancora + lenta.

    Chiedo ai guro di mysql come si può gestire una cosa del genere??

    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313
    io creerei le seguenti tabelle

    libro (titolo, casa_editrice_id, autore_id, anno, pagine, versione)
    casa_editrice (casa_editrice_id, nome, indirizzo, ....)
    autore (autore_id, nome, cognome, ...)

    oppure, dato il fatto che certi libri sono scritti da piu autori:

    libro (titolo, casa_editrice_id, anno, pagine, versione)
    casa_editrice (casa_editrice_id, nome, indirizzo, ....)
    autore (autore_id, nome, cognome, ...)
    libro_join_autore (libro_id, autore_id)

    e non ti preoccupare se la tabella libri diventa bella grande. io ho tabelle con un milione di record e non ho problemi (chiaro, devi indicizzare correttamente e via dicendo).
    alcool: la causa e la soluzione di tutti i problemi

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    45
    Scusa la mia ignoranza ma se creo le 3 tabelle separate come faccio a sapere di un determinato libro chi è l'autore o la casa editrice??

  4. #4
    Utente di HTML.it L'avatar di Lucada
    Registrato dal
    Apr 2005
    Messaggi
    176
    Originariamente inviato da Gumble
    io creerei le seguenti tabelle

    libro (titolo, casa_editrice_id, autore_id, anno, pagine, versione)
    casa_editrice (casa_editrice_id, nome, indirizzo, ....)
    autore (autore_id, nome, cognome, ...)

    oppure, dato il fatto che certi libri sono scritti da piu autori:

    libro (titolo, casa_editrice_id, anno, pagine, versione)
    casa_editrice (casa_editrice_id, nome, indirizzo, ....)
    autore (autore_id, nome, cognome, ...)
    libro_join_autore (libro_id, autore_id)

    e non ti preoccupare se la tabella libri diventa bella grande. io ho tabelle con un milione di record e non ho problemi (chiaro, devi indicizzare correttamente e via dicendo).
    All'interno della tabella libro hai l'id dell'autore e della casa editrice... con questi id ti ricavi i dettagli dell'autore appunto e della casa editrice.
    Il vero io è quello che tu sei, non quello che gli altri hanno detto di te. [Paulo Coelho]

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    45
    Vediamo se ho ben capito:

    Quel determinato libro deve avere i campo casa_editrice_id e autore_id in modo tale che casa_editrice_id corrisponda alla casa editrice di quel libro e idem per autore_id.

    Dico bene???

  6. #6
    Utente di HTML.it L'avatar di Lucada
    Registrato dal
    Apr 2005
    Messaggi
    176
    Esatto.
    Il vero io è quello che tu sei, non quello che gli altri hanno detto di te. [Paulo Coelho]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.