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

0%
14%
86%

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
hmm, tak zatím mi vzniklo 17 tabulek (když počítám i ty kde je jen uložen název certifikaci apod...)…
n.u.r.v. 03.03.2021 21:35
n.u.r.v.
Mam projekt, kde tech tabulek je prez 80 a to to neni ani zdaleka tak rozsekane, jak by byt mohlo :) poslední
gilhad 04.03.2021 07:32
gilhad

hmm, tak zatím mi vzniklo 17 tabulek (když počítám i ty kde je jen uložen název certifikaci apod...). Pro jistotu jsem totiž rozsekal i jiné věci (parametry produktu), které nyní mohou mít jen jednu ze dvou možností, ale kdyby v budoucnu náhodou vznikly další možnosti, nebo byla povolena kombinace. Doufám že jsem to zase nepřehnal... :-)

Zpět do poradny Odpovědět na původní otázku Nahoru