Portál AbcLinuxu, 25. dubna 2024 18:28
Proč heslo?
Rad bych to vsechno nechal jen v jedne tabulce v jednom radku.Proboha jen to ne. Pak by to bylo všechno jiné, jen ne databáze
Samozrejme me napada zpusob jak to udelat kdyz bych mel mit pro kazde hlasovani extra tabulku, ale opravdu se tomu neda vyhnout?Proč tak složitě? Co takhle si udělat jednu tabulku a do té vkládat tyto dva údaje: iduzivatele(tvoje md5uzivatele), idotazky(zřejmě to tvoje voteid). A při každém hlasování se mkrneš jesti ten uživatel hlasoval v této anketě. Hotovo.
Vytváření takových "kompozitních" sloupců má jediný pozitivní efekt: když si to zkusíte, pochopíte nejlépe, jaká to byla chyba, a víckrát už něco takového neuděláte… :-)
Takže bych zvolil spíš něco jako
create table POLL_USERS( ID integer not null primary key, NAME varchar(32), ... ); create table POLLS( ID integer not null primary key, QUESTION varchar(256), ... ); create table POLL_OPTIONS( POLL integer not null references POLLS(ID), ORD smallint not null, ANSWER varchar(256), ... primary key(POLL,ORD) ); create table POLL_VOTES( PUSER integer not null references POLL_USERS(ID), POLL integer not null, ORD smallint not null, primary key (PUSER,POLL), foreign key (POLL,ORD) refereces POLL_OPTIONS(POLL,ORD) );
Omlouvám se za vyhrabání starého vlákna, ale jak by se pak udělal samotný výpis dat? (SQL příkaz)
Děkuju moc
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.