Newsgroup: it.comp.software.database
Titolo: numero campi per tabella

devo creare un DB per l'elaborazione di un questionario fatto da tante
domande, per cui mi serve una tabella con tanti campi, per cui: 
Una tabella di un database Mysql quanti campi al massimo puň contenere
(255)?
secondo voi č meglio creare un tabellone unico, oppure creare tante
tabelle piů piccole in relazione 1 a 1?
ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 tabelle piů piccole in relazione 1 a 1?
Perché "tante" tabelle? Te ne basta una...
Ciao,
Paolo

 domande, per cui mi serve una tabella con tanti campi, per cui: 
In altre parole ti vuoi male, ma non lo sai. Ti faccio una domanda
semplice semplice: cosa fai nel momento in cui si aggiunge una domanda?
E nel momento in cui si toglie?
Enrico

 tabelle piů piccole in relazione 1 a 1?
Non avendo risposto agli altri non so se sei un troll.
Io non sono un esperto di struttrazione DB, ma č palese che la tua analisi
č sbagliata.
#N domande dovranno avere #n righe, e non #n colonne.

 ciao
ho deciso questo:
per molte domande la risposta č una (utilizzo radio button) per altre
domande posso avere piů risposte;
alla fine sono piů o meno una 60 campi per cui metto tutto in un unica
tabella
ciao e grazie a tutti


 tabella
Mi raccomando: non dimenticare di metterci anche una quindicina di campi 
note.

 ciao e grazie a tutti
Ok, se voglio che la risposta predefinita sia una, devi mettere altri 60
campi. Se voglio definire il tipo di risposta singola o multipla altri
millanta campi. Se voglio definire se una risposta è obbligatoria o meno
altri 60.
A questo punta usa un file di excel....
Io ho fatto una minianalisi di un progetto simile, che per ora non devo
fare. E veniva fuori una tabella domande con:
TipoDomanda = risp. singola option) , multipla (check), aperta (textbox)
TestoDomanda = il testo della domanda
RispostePossibili= Elenco risposte possibili, sarebbe stata meglio una
tabella a parte con IDDomanda e l'elenco delle risposte
In realtà considerava anche altre cose, ma vedi te...

 Enrico
ciao, le domande sono quelle e basta, il questionario è già stato
distribuito.


create database questio;
use questio;
create table indagine (
  idi SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  d1 VARCHAR(30) NOT NULL,
  d2 VARCHAR(30) NOT NULL,
  d3 ENUM('0','1','2','3','4','5','6'),
  d3T VARCHAR(20),
  d4 VARCHAR(50),
  d6 ENUM('0','1','2','3'),
  d7 ENUM('0','1','2','3','4','5'),
  d7T VARCHAR(75),
  d8_1 ENUM('0','1'),
  d8_2 ENUM('0','1'),
  d8_3 ENUM('0','1'),
  d8_4 ENUM('0','1'),
  d8_5 ENUM('0','1'),
  d8_6 ENUM('0','1'),
  d8_7 ENUM('0','1'),
  d8_8 ENUM('0','1'),
  d8_8T VARCHAR(75),
  d8_9 ENUM('0','1'),
  d9 ENUM('0','1','2','3','4'),
  d10 ENUM('0','1','2','3','4','5'),
  d13 ENUM('0','1','2','3','4'),
  d14_1 ENUM('0','1','2'),
  d14_2 ENUM('0','1','2'),
  d14_3 ENUM('0','1','2'),
  d14_4 ENUM('0','1','2'),
  d14_5 ENUM('0','1','2'),
  d14_6 ENUM('0','1','2'),
  d14_7 ENUM('0','1','2'),
  d14_8 ENUM('0','1','2'),
  d14_9 ENUM('0','1','2'),
  d14_10 ENUM('0','1','2'),
  d14_11 ENUM('0','1','2'),
  d14_12 ENUM('0','1','2'),
  d14_13 ENUM('0','1','2'),
  d14_15 ENUM('0','1','2'),
  d14_16 ENUM('0','1','2'),
  d14_17 ENUM('0','1','2'),
  d14_18 ENUM('0','1','2'),
  d14_20 ENUM('0','1','2'),
  d14_21 ENUM('0','1','2'),
  d15 ENUM('0','1','2','3','4'),
  d16 ENUM('0','1','2','3','4','5','6'),
  d16_3T VARCHAR(50),
  d17 ENUM('0','1','2','3','4','5','6','7'),
  d17_7T VARCHAR(100),
  d20_1 ENUM('0','1'),
  d20_1T VARCHAR(20),
  d20_2 ENUM('0','1'),
  d20_2T VARCHAR(20),
  d20_3 ENUM('0','1'),
  d20_4 ENUM('0','1'),
  d20_4T VARCHAR(50),
  d21T1 VARCHAR(50),
  d21T2 VARCHAR(50),
  d22_1 ENUM('0','1'),
  d22_2 ENUM('0','1'),
  d22_3 ENUM('0','1'),
  d22_4 ENUM('0','1'),
  d22_5 ENUM('0','1'),
  d22T VARCHAR(75),
  d23 ENUM('0','1','2','3','4'),
  d24T1 VARCHAR(100),
  d24T2 VARCHAR(100),
  d25 ENUM('0','1','2','3','4','5','6','7'),
  d26 ENUM('0','1','2'),
  d27_1 ENUM('0','1'),
  d27_2 ENUM('0','1'),
  d27_3 ENUM('0','1'),
  d27_4 ENUM('0','1'),
  d27_5 ENUM('0','1'),
  d27_6 ENUM('0','1'),
  d27_7 ENUM('0','1'),
  d27_8 ENUM('0','1'),
  d27_9 ENUM('0','1'),
  d27_10 ENUM('0','1'),
  d27_11 ENUM('0','1'),
  d28 ENUM('0','1','2','3','4','5','6'),
  sugg1 VARCHAR(180),
  sugg2 VARCHAR(180),
  sugg3 VARCHAR(180)
);
la domanda d6 nello script php è di tipo option, cioè è possibile una sola
risposta (ho messo lo 0 in caso di non risposta);
6.Ha mai sentito parlare della responsabilità sociale di impresa?
[ ] Si so bene di cosa si tratta
[ ] Si ma ho poche informazioni a proposito
[ ] No, non ho alcun tipo di informazione a proposito
 
******
mentre se le risposte possibili sono più di una allora una cosa del genere
  d27_1 ENUM('0','1'),
  d27_2 ENUM('0','1'),
  d27_3 ENUM('0','1'),
  d27_4 ENUM('0','1'),
  d27_5 ENUM('0','1'),
27.Fra le seguenti azioni a sostegno di varie categorie di soggetti
svantaggiati, quali le piacerebbe sostenere con un contributo economico?
(da porre con cartellino)
[ ] Interventi di scolarizzazione a favore di soggetti provenienti 
     da paesi extracomunitari/minoranze etniche
[ ] Attività di orientamento e formazione professionale 
[ ] Attività di scambio di esperienze con altre realtà (nazionali o
internazionali)
[ ] Attività di animazione culturale per l’accettazione della ‘diversità’
[ ] Attività di reinserimento sociale e lavorativo di soggetti con
precedenti penali
[ ] Attività di reinserimento sociale e lavorativo di soggetti 


 distribuito.
Sempre che la tua struttura e` rigida, ingessata e pericolosa. Che poi
funzioni e` un altro discorso, ma che sia la soluzione corretta e`
dannatamente falso (dove lavoriamo noi, per una cosa del genere, siamo
capaci di uccidere ed infierire sul cadavere). Molto meglio due tabelle,
una con due campi (id e domanda), e una con tre campi (risposta, id
referenziato dalla tabella domande, identificativo risposta corretta).
Ti consiglio vivamente di studiare qualche manuale serio sui database
e sull'integrita` referenziale
Enrico

 distribuito.
non significa nulla. un questionario e' sempre il report di un db, che 
magari non esiste se non virtualmente, ma esiste.
rifare alla c.d.c. il db a partire dal questionario e senza usare un minimo 
di testa conduce solo a porcate.
consolati, ho visto persone creare un dbf con 60 campi per un campo 
ripetibile, normalmente compilato 1-2 righe per ogni record della tabella 
principale (virtuale).
da loro erano 60 campi campo1 campo2 campoN.
peccato che i dbf allochino spazio disco anche se non ci metti nemmeno un 
bit, per cui quel dbf, con poche righe compilate e se va bene  i campi 1-2 
riempiti, era varie decine di mega, quando bastavano 550k.
andava bene a loro? benissimo. meno tempo perso in discussioni inutili. non 
gli ho dovuto chiedere cosa accadeva alla 61esima immissione del campo 
ripetibile.
ma qui sei su icsd. non puoi ragionevolmente sperare che passi.
e nemmeno irragionevolmente.
ciao, a.

 e nemmeno irragionevolmente.
Per non parlare della riusabilità delle soluzioni sviluppate.
-- 
Fa freddo nello scriptorium, il pollice mi duole. Lascio questa 
scrittura, non so per chi, non so più intorno a che cosa...
U. Eco

 ha scritto nel messaggio 
news:ffn9cr$lj8$1...@news.newsland.it...


 svantaggiati, quali le piacerebbe sostenere con un contributo economico?
io sto facendo la stessa cosa ho 4 tabelle
utenti
una per il sondaggio (cosa ecc..)
una per le domande
una per le risposte
ho 2 problemi
il primo e' se risponde un maschio o una femmina
il secondo ho delle domande a risposta multipla dipendenti da un alrtra
risposta precedente
qualche esempio di risoluzione della cosa ?

 risposta precedente
Metti nelle domande una chiave esterna che punta a risposte: se il campo 
è validato esponi la domanda a risposta multipla.
Ciao,
PAolo

Pablo Xon ha scritto:

scusa non ho capito molto, la prima parte si, ma volevo usare un sistema
unico in modo che se la risposta dipende da M/F o da S/N si possa usare
lo stesso metodo
volevo gestire il sistema in modo unico per semplicita interfaccia utente

 volevo gestire il sistema in modo unico per semplicita interfaccia utente
Se vuoi gestire tutti i casi (M/F, risposta S/N, altri eventuali) con un 
unico sistema devi aggiungere un flag nella tabella domande che indichi 
che quella domanda č "collegata" ad un'altra e un campo chiave esterna 
che punta all'ID della domanda collegata.
Es.:
PKID domanda, testo, tipo, FKID domanda
casi possibili:
1, 'dove abiti?', ,
2, 'taglia di reggiseno?', 'F',
3, 'č tua la casa?', 'S', 1
La prima domanda viene mostrata sempre, la seconda solo per una donna, 
la terza solo se la risposta alla domanda 1 č sě.
Il flag č opzionale, ma potrebbe essere utile se il discriminante č in 
una terza tabella (es M/F in tabella utenti).
Attenzione a livello applicativo a non permettere domande 
auto-referenziali (FKID = PKID).
Ciao,
Paolo

Pablo Xon ha scritto:

faccio un esempio:
hai la patente ?
no (vero/falso)
 si -> hai la macchina ?
 no (vero/falso)
    si -> che modello ?
    si -> anno di costruzione ?
    si -> che carburante usi ?
	    risposte multiple (gpl, metano deiesel benza)
    si -> di che colore e' ?
    si -> comprata nuova o usata (vero /falso)
    no -> usi macchina di famiglia
          si -> fine
          no -> altro : text
maschio o femmina(T/F)

 faccio un esempio: [...]
Mi sembra che la struttura che ti ho indicato riesca a rappresentare la 
sequenza di domande che indichi.
Hai dei dubbi specifici?
Certo ci sono molti metodi per rappresentare una struttura di questo 
tipo (grafi, alberi) poi la scelta dipende da te, dal lato applicativo.
Lato base dati credo di averti indicato il metodo più semplice.
Ciao,
Paolo

 il primo e' se risponde un maschio o una femmina
Infatti se risponde una femmina ci sono un sacco di problemi,
tipo NON_REPETABLE_READ (ogni volta una risposta differente).

 qualche esempio di risoluzione della cosa ?
Questo e' il problema dei transition constraint; si puo' fare
qualcosa col sistema di usare una tabella d'appoggio.
Il solito Celko ne illustra un esempio:
http://www.dbazine.com/ofinterest/oi-articles/celko35
I transition constraint erano una delle cose oggetto di ricerca,
in quanto e' quasi indispensabile averne il supporto nel dbms.

 2, 'taglia di reggiseno?', 'F',
Invece i maschi hanno il problema del DIRTY_READ ;-)