Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di ghini76
    Registrato dal
    Jun 2003
    Messaggi
    560

    Strutturare adeguatamente un database

    Ciao a tutti,
    devo creare alcune tabelle di un database già esistente (oracle 9i).
    Ognuna di esse ha circa un centinaio di campi di ogni tipo: radiobutton, checkbox, testo, numeri, cifre in €, date. Diciamo che il 35% sono testo, il 35% check, il 15% numeri e il restante 10% spalmato su radio, cifre e date.

    Vorrei strutturare al meglio le tabelle cercando però di ottimizzare anche i tempi e la gestione dei campi (Che sono 10!!)... Ad esempio mi era venuto in mente di utlizzare un campo testo lungo x per memorizzare tutte le checkbox. In seguito se dovessi fare delle ricerche con una query SQL per verificare il singolo valore di una checkbox posso usare la funzione substr(). Ho fatto qualche prova e sembra funzionare bene... Per le radio button potrei fare lo stesso dando però 2 caratteri del campo per ogni radio, in modo da avere fino a 99 opzioni disponibili.

    Per cifre e numeri userò il tipo number con o senza decimali.
    Per le date il tipo campo date.
    Per i testi il varchar2.

    Ora vorrei un parere da parte vostra...

    Come fareste voi? Qualche consiglio?
    Memorizzare le checkbox o le radio in un unico campo mi può creare qualche problema?


    Grazie a tutti

  2. #2
    Personalmente creerei una tabella solo per i valori che potrebbero avere i vari gruppi di oggetti... mi spiego meglio. Hai che ne so, 5 radio button dello stesso gruppo, ok allora fai una tabella con i 5 valori e 5 interi identificativi (primary key) e poi nella tabella principale hai una foreignkey che punta all'identificativo dell'altra tabella... In questo modo, metti che ti dimentichi un valore dei radio e lo devi aggiungere in futuro, basta che lo aggiungi alla tabella dei radio e l'altra rimane invariata... non so se mi sono spiegato
    Cerco ombrello vecchio, nuovo, moderno o antidiluviano; purché protegga da una pioggia che vien giù come Dio la manda. Fate presto che ho l’acqua alla gola. (Noè)

    C# programming and other stuffs

  3. #3
    Utente di HTML.it L'avatar di ghini76
    Registrato dal
    Jun 2003
    Messaggi
    560
    Si grazie, una specie di sottotabella. Non ne ho mai usate... sai come fare il link (foreignkey) da una tabella ad un'altra su Oracle?
    In realtà anche raggruppando radio e check in un campo testo posso allungare quanto voglio il campo e quindi aggiungendo nuove opzioni.

    Certo, la tua soluzione mi sembra decisamente più elegante e pulita... però mi tocca crearmi circa 400 campi per le checkbox!!!! Mentre con il mio sistema ne creerei solo uno per ogni tabella.
    Che dici?

    Grazie mille!

  4. #4
    Allora, per la foreignkey: se guardi un qualsiasi manuale di sql, dove è spiegato come creare una tabella c'è spiegato anche come creare una foreignkey ad un'altra tabella del DB (ora nn riesco a postare un esempio ).

    Per i 400 valori... ohi non saprei, ti dico... secondo me un lavoraccio all'inizio per avere un qualcosa di più funzionale poi è sempre tempo ben speso... purtroppo rimane sempre un lavoraccio e quindi tocca a te decidere in base a quanto tempo puoi spenderci e come riusciresti a gestire la situazione poi in caso di cambiamenti... vedi tu

    Cerco ombrello vecchio, nuovo, moderno o antidiluviano; purché protegga da una pioggia che vien giù come Dio la manda. Fate presto che ho l’acqua alla gola. (Noè)

    C# programming and other stuffs

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.