Struttura database e normalizzazione tabelle

di il
33 risposte

33 Risposte - Pagina 2

  • Re: Struttura database e normalizzazione tabelle

    Bon ha scritto:


    provo a postare quello che ho fatto fino ad esso.
    CAOS per me.

    Bon ha scritto:


    In realtà pensavo di mettere i campi calcolati in tabelle associate e poi nella query unire tutto ma se è meglio evitare allora posso fare il join e poi calcolare cioè che mi serve nella query (è che nella query volevo avere solo ciò che mi serviva non tutto tutto).
    Le TABELLE sono i CONTENITORI PRIMORDIALI dei dati che solo l'utente fornisce alla tabella stessa. Se i dati devono DIVENTARE qualcosaltro di ELABORATO/CALCOLATO, si delega questo compito alle QUERY (SEMPRE).

    Dal mio punto di vista, anche in base al regolamento del forum, gli utenti forniscono aiuto per piccole e mirate problematiche. Qua c'è da rifare tutto il database da ZERO, mettere in piedi una ANALISI MOLTO DETTAGLIATA. Secondo me serve una "consulenza" meticolosa e specifica.
  • Re: Struttura database e normalizzazione tabelle

    Intendevo di postare, tramite sito di condivisione file tipo Dropbox o altri, direttamente il file di access per avere a disposizione in modo reale la struttura del database e i dati per poi cercare di capire ciò che effettivamente hai realizzato.
  • Re: Struttura database e normalizzazione tabelle

    Ah non avevo capito
    eccolo: https://drive.google.com/drive/folders/1z0TAZDJK7Jkjgflrh-7GxMgbrHE39EfC?usp=sharing

    Se poteste farmi qualche commento costruttivo sarei grato, se devo cambiare tutta la struttura la cambierò. Grazie
  • Re: Struttura database e normalizzazione tabelle

    Le tabelle Tab_Algae_Coverage, Tab_Chemistry, Tab_Macro_Sample i campi sono sempre gli stessi o potrebbe, in futuro, esserci la necessità di aggiungerne altri per memorizzare altre informazioni ?, perchè se ci fosse questa necessità la struttura del data base deve essere modificata.
    Nelle tabelle devi gestire correttamente le seguenti Proprietà:
    • Dimensione campo (per evitare spreco di spazio su disco)
    • Richiesto (per evitare di memorizzare record privi di dato necessario)
    • Consenti lunghezza zero (nei campi di tipo Testo per evitare di memorizzare un dato vuoto, ovvero "", quando il dato è necessario)
    • Indicizzato (da impostare su "Duplicati non ammessi" per evitare di memorizzare nel campo dati doppioni)
    Il campo ID_Operator lo sposterei nella Tab_Sampling e nella stessa effettuerei le seguenti modifiche:
    • eliminare il campo Sampling_Hour perchè può essere inserita nel campo Sampling_Date insieme alla data
    • se in un Sito può essere fatto un solo rilevamento al giorno inserirei un indice, chiamato ad esempio Doppioni, impostato sui campi ID_Site, Sampling_Date con la proprietà Univoco impostata a
    fatto questo posta di nuovo il file per poter controllare il lavoro.
  • Re: Struttura database e normalizzazione tabelle

    Grazie,
    ho sistemato:
    -la dimensione del campo riducendo notevolmente il numero di caratteri
    -ho messo Sì a Richiesto laddove avevo campi obbligatori
    -Non ho consentito la lunghezza zero dei campi di testo
    -Ho sempre lasciato la possibilità di duplicati in quanto molto probabilmente avrò duplicati (es la concentrazione di sodio potrebbe essere benissimo essere 50.55 in due diversi campionamenti). (Ho compreso giusto questa opzione?)

    -ho creato l'indice multicampo Doppioni in Tab_Sampling
    -Ho mantenuto ID_Operator dove era in quanto a me interessa sapere durante il campionamento chi fa cosa (uno magari si occupa degli habitat, uno degli animali..) non tanto chi partecipa al campionamento
    -Avevo messo sia la Data che l'ora in Tab_Sampling poichè la Data l'ho sempre ma l'ora no (e quindi le ho lasciate entrambe, corretto?

    ecco il link: https://drive.google.com/drive/folders/1z0TAZDJK7Jkjgflrh-7GxMgbrHE39EfC?usp=sharing
    Grazie!
  • Re: Struttura database e normalizzazione tabelle

    Anomalie:
    • Tab_Sampling
      • campo ID_Site la proprietà Richiesto è ancora impostata a No
      • campo Sampling_Hour il tipo è Testo breve mentre dovrebbe essere Data/ora e comunque lasciandolo Testo breve per esprimere un orario bastano 5 caratteri e non 30
    • Tab_Macro_Sample
      • tutti campi la proprietà Richiesto è ancora impostata a No, mentre nell'esempio vedo che sono comunque tutti inseriti
      • per i campi da ARG a ART la proprietà Dimensione basterebbe impostarla a Byte che occupa 2 byte anzichè 4 dell'Intero, tanto i valori non supereranno mai 100 e con il Byte si può memorizzare fino al valore 255
      • manca l'indice, impostato sui campi ID_Sampling e ID_Operator, per evitare possibili doppioni
    • Tab_Operators
      • campo Name
        • la proprietà Dimensione è impostata a 50, che mi sembra eccessiva per un nome
        • la proprietà Consenti lunghezza zero è impostata ancora a Sì
        • la proprietà Indicizzato impostata ancora a No, mentre dovrebbe essere Sì (Duplicati non ammessi)
    quello detto per la Tab_Operators vale, pressoppoco, anche per tutte le altre tabelle restanti.
  • Re: Struttura database e normalizzazione tabelle

    Buongiorno, grazie per le correzioni
    Ho sistemato.
    Se ha voglia e tempo il link è sempre quello: https://drive.google.com/drive/folders/1z0TAZDJK7Jkjgflrh-7GxMgbrHE39EfC?usp=sharing
    Grazie
  • Re: Struttura database e normalizzazione tabelle

    Precedentemente non avevi risposto alla seguente domanda:
    • le tabelle Tab_Algae_Coverage, Tab_Chemistry, Tab_Macro_Sample i campi sono sempre gli stessi o potrebbe, in futuro, esserci la necessità di aggiungerne altri per memorizzare altre informazioni ?
    nella Tab_Site
    • il campo Site :
      • continua ad avere la proprietà Consenti lunghezza zero impostata a
      • continua ad avere la proprietà Indicizzato impostata a Sì (Duplicati ammessi) anzichè Sì (Duplicati non ammessi)
    • i campi Elevation Z, Coordinate X, Coordinate Y, litology :
      • continuano ad avere la proprietà Richiesto impostata a No, mentre vedo che vengono sempre immessi
  • Re: Struttura database e normalizzazione tabelle

    Buongiorno,
    -Nelle tabelle Tab_Algae_Coverage, e Tab_Macro_Sample i campi sono sempre gli stessi mentre nella tabella Tab_Chemistry in futuro potrebbe esserci la necessità di aggiungere altri campi
    -Nella tabella Site ho sistemato Richiesto e l'indicizzazione di Site
    -i campi Elevation Z, Coordinate X, Coordinate Y, litology ora li ho tutti; potrebbe capitare in futuro di aggiungere siti per i quali non ho le coordinate, o la quota o la litologia. é meglio mettere il campo richiesto ed eventualmente cambiarlo qualora dovessi aggiungere siti senza queste info oppure è meglio lasciare direttamente No?
    Grazie
  • Re: Struttura database e normalizzazione tabelle

    "nella tabella Tab_Chemistry in futuro potrebbe esserci la necessità di aggiungere altri campi" quindi che fai entri nella struttura della tabella e aggiungi il campo mancante poi vai nelle varie query, maschere, report per rfrttuare anche qui l'aggiornamento ?
    Un database serio non lavora così, quindi è necessario creare :
    • una tabella Tab_Elements con i seguenti campi :
      • ID_Element:Chiave primaria, Tipo->Numerazione automatica
      • Element:Tipo->Testo Breve:Dimensione->5, Richiesto->Sì, Consenti lunghezza zero->No, Indicizzato->Sì (Duplicati non ammessi)
    • e modificare la tabella Tab_Chemistry nel seguente modo:
      • ID_Chemistry:Chiave primaria, Tipo->Numerazione automatica
      • ID_Sampling:Tipo->Numerico:Intero lungo, Richiesto->Sì, Sì (Duplicati ammessi)
      • ID_Element:Tipo->Numerico:Intero lungo, Richiesto->Sì, Sì (Duplicati ammessi)
      • Element_Value:Tipo->Numerico:Intero lungo->Precisione singola, Richiesto->Sì
      • creazione dell'Indice Doppioni impostato con i campi ID_Sampling e ID_Element con la proprietà Univoco impostata a Sì (per evitare la creazione di record doppioni)
    quindi la tabella Tab_Chemistry conterrà solo gli Elementi rilevati con i relativi valori riscontrati.
    Fatto ciò pubblica il lavoro realizzato.
  • Re: Struttura database e normalizzazione tabelle

    Buongiorno,
    perfetto grazie per le indicazioni, fatto:
    https://drive.google.com/drive/folders/1z0TAZDJK7Jkjgflrh-7GxMgbrHE39EfC?usp=sharing
    Grazie
  • Re: Struttura database e normalizzazione tabelle

    Non hai capito cosa intendevo, qui ( https://www.dropbox.com/s/afrczr6vrinzon6/Database_Bon.rar?dl=0 )trovi l'esempio con la nuova struttura del database.
  • Re: Struttura database e normalizzazione tabelle

    Buongiorno,
    ah no, non avevo capito, scusi
    Ora credo di si, ho sistemato.
    https://drive.google.com/drive/folders/1z0TAZDJK7Jkjgflrh-7GxMgbrHE39EfC?usp=sharing
    Grazie
  • Re: Struttura database e normalizzazione tabelle

    Manca ancora l'impostazione dell'Integrità referenziale fra le tabelle Tab_Chemistry e Tab_Elements.
  • Re: Struttura database e normalizzazione tabelle

    Giusto, inserita.
    Anche la maschera Chemistry ora sarà tutta da cambiare ma non l'ho ancora fatto perchè immagino che anche le altre avranno qualcosa di sbagliato
Devi accedere o registrarti per scrivere nel forum
33 risposte