Normalizzazione di un database gia' esistente non normalizzato.

Salve a tutti!!

La mia domanda e' la stessa dell'oggetto. Considerate che il database esiste,e' pieno di dati e questi sono i campi:

la tabella Libro e' cosi' composta:

`id` int(3) NOT NULL auto_increment,

  `titolo` varchar(150) NOT NULL,

  `pagine` int(4) NOT NULL,

  `costo` varchar(7) default NULL,

  `box` int(2) NOT NULL,

  `dataP` year(4) default NULL,

  `tag` varchar(50) default NULL,

  `ISBN` varchar(50) NOT NULL,

  `N_autore` varchar(50) NOT NULL,

  `C_autore` varchar(50) NOT NULL,

  `data` date default NULL,

  `luogo` varchar(50) default NULL,

  `infoA` varchar(100) default NULL,

  `N_editore` varchar(50) default NULL,

  `infoE` varchar(100) default NULL,

  `genere` varchar(50) NOT NULL,

  PRIMARY KEY  (`id`)

 Per normalizzare, se ho ben capito il concetto,avrei dovuto creare 3 tabelle per esempio: libro,autore,editore

La mia preoccupazione e' non dover reinserire di nuovo piu' di 700 titoli.... :)

Grazie per le eventuali risposte.

Grazie per le eventuali risposte

inviato 7 anni fa
mentat59
X 0 X

Si meglio 3 tabelle. Dovresti tirare giù da quella tabella tutti i dati che ti interessano ad esempio per l'editore e infilarli nell altra.

Con un paio di query dovresti cavartela.

Ciao

risposto 7 anni fa
Gioge
X 0 X

Grazie Giogi per la tua risposta.

Allora io avevo pensato di creare le seguenti tabelle:

Tabella libro  - li_id,li_titolo,li_ISBN,li_data.......

Tabella autore - au_id

au_cognome ( non metto il nome perche' lo stesso nome puo' essere di autori differenti.. non so' se sto' esagerando..  :) .. )

                   

risposto 7 anni fa
mentat59
X 0 X

Grazie Gioge per la tua risposta.

Allora io avevo pensato di creare le seguenti tabelle:

Tabella libro  - li_id,li_titolo,li_ISBN,li_data.......

Tabella autore - au_id

au_cognome ( non metto il nome perche' lo stesso nome puo' essere di autori differenti.. non so' se sto' esagerando..  :) .. ) 

au_data di nascita

Tabella editore - ed_id,ed_nome

Tabella genere letterario - ge_id,ge_nome

Tabella luoghi di nascita - lu_id,lu_nome,lu_nazione

Tabella nomi - no_id,no_nome

Adesso mancano i campi da collocare nelle singole tabelle per fare in modo che siano collegate e io avevo pensato questo:

Tabella libro - au_id,ed_id,ge_id

Tabella autore - no_id,lu_id

Secondo te e chi guarda questo mio post, e' corretto fare cosi'?

Grazie per le eventuali risposte.

Giovanni Calia

P.S.

Scusate per il messaggio precedente... una falsa partenza!! :)

risposto 7 anni fa
mentat59
X 0 X

Ciao,

penso che dividere anche i nomi sarebbe troppo :). Potresti creare 3 tabelle libri, autori ed editori e una 4 per unire tutti i dati. Una cosa così:

tabella autore

id_autore

nome

cognome

luogo di nascita

..

tabella editori

id_editore

nome

indirizzo

..

..

tabella libri

id_libro

titolo

genere

tabella che unisce

id

id_autore

id_libro

id_editore

Ciao

risposto 7 anni fa
Gioge
X 0 X

Ok fatto! :)

Le tabelle sono di tipo INNODB ,in questo modo posso creare dei legami utilizando le foreign key. Giusto?

risposto 7 anni fa
mentat59
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda