Autor Zpráva
matak
Profil
Prostě položka nabývá stavů

objednáno, dodáno, ok, potvrzeno, nebo částečné plnění objednáno i přijato, dodáno i potvrzeno

atd.

jak by jste řešili takový zápis v dtb? NAPADÁ mne bitový součet?
nightfish_
Profil *
ENUM?
matak
Profil
nj ale to je strašně moc kombinací, navíc systém se kterým synchronizuji používá text ve tvaru: potvrzeno OBJEDNÁNO DODÁNO jako že položka má tři tvary a já tento stav potřebuji porovnávat s mysql a porovnat třeba 50000 řádků, což vůbec nevím jak bych dělal, nějakou funkcí? která rozloží string a hlavně to nepůjde porovnat, lépe by se mi porovnávali čísla vyjadřující stav, navíc je těžké u ENUM porovnat něco, kde to může být prohozeno OBJEDNÁNO DODÁNO potvrzeno
_es
Profil
matak:
Lepšie je rozdeliť tú položku na niekoľko jednoduchých položiek. A spraviť zapisovanie do databázy tak, aby v tom bol nejaký rozumný systém.
okolojdouci
Profil *
1. tabulka - polozky: ID
2. tabulka - stavy: ID, nazev
3. tabulka - polozky_stavy: ID, IDpolozky, IDstavu, cas (, IDosoby, která stav nastavila, atd)
matak
Profil
nj ale ten druhy system se kterym synchronizuju a se kterym porovnavam tak pouziva textove pole, tam zasahovat nemuzu
Joker
Profil
matak:
Přece pokud to jde rozdělit na ty jednotlivé stavy aby šly uložit do jednoho sloupce, půjde to uložit i do více sloupců.
matak
Profil
hm a jak porovnáte 50000 záznamů v obou databázích? jedna databáze ukládá textově ve sledu a druhá N:M v tabulkách
_es
Profil
matak:
jedna databáze ukládá textově ve sledu
Nemusíš ten stav ukladať textovo, stačia tri binárne stĺpce na to, či je položka: objednaná, dodaná, potvrdená.
Joker
Profil
matak:
a jak porovnáte 50000 záznamů v obou databázích?
To bude problém v každém případě, kvůli špatnému návrhu té první tabulky.

Jestli jsem to teda dobře pochopil, tak v první tabulce může být „objednáno potvrzeno dodáno“, „objednáno dodáno potvrzeno“, atd. a je to stejný stav.
Ale šlo by použít ENUM a nějakou konverzní tabulku, která by všem ekvivalentním stavům přiřadila správnou hodnotu z ENUM (tj. třeba "objednáno potvrzeno dodáno", "potvrzeno objednáno dodáno" atd. by ve druhém sloupci mělo správnou hodnotu z ENUM).
_es
Profil
Joker:
Ale šlo by použít ENUM a nějakou konverzní tabulku
Tri binárne stĺpce sú jednoduchšie. Napríklad sa z nich dá ľahšie zostrojiť dotaz: „Všetky objednané položky, ktoré ešte neboli potvrdené“ a pod.
matak
Profil
nj ale jak to uděláte aby byly nějaké tři sloupce? vzdyt povídám, že je to úplně jiná databáze, to chcete jako udělat kešovací sloupec a při každém requestu, což může být jednou za minutu tak přepočítávát desítky tisíc záznamů ?
Joker
Profil
_es:
Pravda, že na ty rozdělené sloupce se taky dá udělat konverzní tabulka.

Na druhou stranu zas budou složitější dotazy na konkrétní stav, tak záleží na situaci.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0