Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    6

    Migrare dati da tabella unica a più tabelle in relazione fra loro

    Salve

    Ho una tabella in un database mysql di questo tipo


    id,alfa,beta,gamma

    esempio

    1,pianta,fiore,rosa
    2,pianta,fiore,garofano




    che ha all'incirca 3 milioni di record vorrei generare una tre tabelle che hanno la seguente struttura


    1° tabella
    id_alfa
    nome_alfa


    2° tabella
    id_beta
    id_alfa
    nome_beta


    3° tabella
    id_gamma
    id_beta
    id_alfa
    nome_gamma

    esempio

    1° tabella
    1,pianta


    2° tabella
    1,1,fiore

    3° tabella
    1,1,1,rosa
    1,1,2,garofano



    Avendo già creato la struttura delle tabelle, come posso migrare i dati?

    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Prima di migrare i dati una domanda ....
    Sei sicuro che la struttura delle tabelle che vuoi creare è corretta ????
    in particolare la 3° tabella ??

    .
    Ultima modifica di nman; 11-05-2016 a 12:41

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    6
    Non sono sicuro, tu proponi qualcosa di diverso?

  4. #4
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da noob.81 Visualizza il messaggio
    1° tabella
    id_alfa
    nome_alfa


    2° tabella
    id_beta
    id_alfa
    nome_beta


    3° tabella
    id_gamma
    id_beta
    id_alfa
    nome_gamma
    nella 3° tabella id_alfa non ti serve (anzi disturba), hai gia id_beta
    e con quello puoi andare nella seconda a leggere id_alfa

    mentre cosi come lo hai immaginato te potresti scrivere in 3° tabella un
    id_alfa diverso da quello che ricavi dalla seconda tabella

    intendiamoci, non è proprio sbagliatissimo come lo proponi te,
    importante è che tu sia a conoscenza delle complicazioni
    (taluni softeristi preferiscono il tuo metodo che si definisce "Denormalizzato")

    .
    Ultima modifica di nman; 11-05-2016 a 12:57

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    6
    Quote Originariamente inviata da nman Visualizza il messaggio
    nella 3° tabella id_alfa non ti serve (anzi disturba), hai gia id_beta
    e con quello puoi andare nella seconda a leggere id_alfa

    mentre cosi come lo hai immaginato te potresti scrivere in 3° tabella un
    id_alfa diverso da quello che ricavi dalla seconda tabella

    intendiamoci, non è proprio sbagliatissimo come lo proponi te,
    importante è che tu sia a conoscenza delle complicazioni
    (taluni softeristi preferiscono il tuo metodo che si definisce "Denormalizzato")

    .
    Ho pensato che indicizzare anche i valori della terza tabella, in fase di richiamo potesse aumentare le prestazioni considerando il fatto che poi dovrò usare ajax e che si tratta di più di 3 milioni di righe. Sta di fatto che devo trovare un modo per migrare i dati. Mannaggia... :\

  6. #6
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da noob.81 Visualizza il messaggio
    Ho pensato che indicizzare anche i valori della terza tabella, in fase di richiamo potesse aumentare le prestazioni ......
    allora può andare bene (anche se io personalmente non lo farei)

    ho preparato una piccola demo con Access da dove puoi vedere la
    struttura di 3 query da eseguire in sequenza per popolare le 3 tabelle

    poi le dovrai modificare con la sintassi MySql (Che io non uso)


    Facci sapere
    File allegati File allegati

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 © 2025 vBulletin Solutions, Inc. All rights reserved.