Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemAnketa Uložená dat do mysql - způsob

Ahoj,

právě navrhuji jednu MySQL databázi a přemýšlím co je lepší:

Řekněme že máme databázi nějakých výrobků, které mají nějaké vlastnosti - mají nějaké položky u kterých je uloženo jen ano/ne, případně číslo, ale je tam taky skupina Certifikace (např IP67, IP 68, CE, XX, YY) a výrobek může mít žádnou až všechny.

No a já přemýšlím zda to uložit binárně jako třeba 10001 - tedy že má IP67 a YY, nebo zda to uložit každé zvlášť např jako tiniint a mít hodnotu 1 nebo 0.

Uživatel si bude moct podle těchto hodnot také filtrovat, tak jestli třeba bude lepší to mít binárně jako jedno pole a to oindexovat, místo abych indexoval 5 sloupců. Binární varianta má také výhodu že při filtrování se nebude muset skládat DB dotaz typu WHERE ... and IP67==1 AND YY == 1 atd... ale bude jen WHERE ... AND certifikace = 10001.

Ale binární uložení má i nevýhody - např při editaci při vyplňování formuláře se musí binarní hodnota rozebrat a správně vyplnit formuláře prvky apod.

K jaké variante se kloníte vy? Případně výhody/nevýhody.

Snad jsem to popsal srozumitelně...
Díky

Jak ukládat

Binárně - např když má výrobek první, třetí a pátou certifikaci, tak 10101 0x
0%
Samostatně do sloupců - např sloupec IP 68, XX,YY 1x
14%
Jinak, jak? 6x
86%

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny