• User

    dubbio sulla progettazione di un DB

    ciao, sto progettando un Db e ho dei dubbi rispetto alla creazione della tabelle e delle query.

    Io ho due file DBF in ingresso con i seguenti dati:

    File Azienda - contiene dati rispetto a un luogo geografico e rispetto all'azienda che lavora in tale luogo.

    Campi: Azienda, data, coordinate geografiche

    **File Attivita' - descrive le varie attivita' eseguite dalle aziende nel luogo specificato
    **
    Campi: coordinate, settore di attivita, codice, beneficiari

    Ora le due dabelle sono collegate dalla chiave "coordinate". Una stringa di testo con le due coordinate nord/sud.

    Il rapporto tra le due e' uno a molti: in uno stesso luogo la stessa Azienda puo' operare varie attivita' in diversi settori (acqua, distribution... ).

    Io devo inserire questi dati nel mio db e voglio far si' che la cosa funzioni meglio di ora e per permettere che piu' Aziende lavorino nello stesso luogo.

    Quindi ho creato una tabella chiamata "Luogo" in cui ho messo i dati rispettivi ai luoghi

    Luogo - Campi: id_luogo, coordinate

    Una tabella Aziende

    Aziende - campi: id_azienda, nome

    E una tabella Unione che mette in relazione le due cose

    Unione - Campi: id_unione, id_luogo, id_azienda, settore, attivita'

    Ora ho riempito per prima la tabella Luogo con i dati del fil Azienda e ora voglio riempire Unione, **come faccio?

    E' corretta questa strutturazione del DB?**:bho:

    Grazie a tutti anticipatamente :mmm:


  • User

    potresti fare tipo una tabella per l'azienda, una per i luoghi e una per i settori

    le unisci con il semplice ID autoincrementato dell'azienda, sequenziale tipo

    tabella unione azienda-luoghi:

    id_azienda, id_luogo

    tabella unione azienda-settori:

    id_azienda, id_settore

    e poi è molto facile prelevare questi dati tipo "SELECT * FROM unione_luoghi WHERE id_azienda=".(int)$idazienda.";";

    ($idazienda proviene da una precedente query)

    ecc...