Autor Zpráva
Jan Knížek
Profil
Dobrý den,
mám v jedné tabulce zápisy a potřebuju je setřídit podle počtu středníků v každé řádce. Řekl bych, že to bude něco jako char_length(), ale nevím jak to udělat přesně.
Díky, Jan Knížek
Alphard
Profil
Určitý nápad je na http://pisceansheart.wordpress.com/2008/04/15/count-occurrence-of-character-in-a-string-using-mysql/
U delších záznamů bych zvážil přidání sloupce, ve kterém se to bude cachovat.
okolojdouci
Profil *
Skoro bych hádal, že středníky Jan Knížek používá k oddělení něčeho, s čím by rád i jinak pracoval jako s jednotlivými položkami. Pokud to tak je, jde o špatný návrh databáze.
Jan Knížek
Profil
[#3] okolojdouci
mýlíte se;), používám to pro záznam hodnot. Mám tam uložena ID knih oddělená středníky. Ale vždy pracuji s celým polem najednou.
Jan Knížek
Profil
[#2] Alphard
už mi to funguje, možná to ale radši budu cachovat. Díky za radu
okolojdouci
Profil *
Jan Knížek:
Mám tam uložena ID knih oddělená středníky. Ale vždy pracuji s celým polem najednou.

To mi zní skoro jako protimluv, ale budiž.
Jan Knížek
Profil
a jak by tedy měla správná databáze vypadat? To by měla mít přes tisíc sloupců, když u každého řádků jich bude vyplněno jen pár?
Jozin
Profil
Jan Knížek:
Co dvě tabulky a relace mezi nimi?
okolojdouci
Profil *
Jan Knížek:
a jak by tedy měla správná databáze vypadat?

Nevím, co je to za tabulku, o které píšeš v #1. Ale jsou to záznamy, kde je ke každému z nich přiřazena jedna nebo několik knížek. Vyrob si tabulku "těch záznamů", tabulku knížek a tabulku vazeb "záznam"-knížka.
Jan Knížek
Profil
Aha, to je rychlejší? Mně to moc nepřijde.
Takže v praxi bych měl toto:
knihy
id ... dalsi data
1
2

uzivatel
id ... dalsi data
1
2
3

vazby
id_knihy, id_uzivatele
1            2
2            3
?
Alphard
Profil
Jan Knížek:
Je to normalizovaná struktura, která umožňuje široké možnosti výběrů a správy dat. V praxi nemusí být normalizovaná podoba vždy nejrychlejší, proto se někdy vytváří duplicity v podobě příhodnější pro zpracování dat, tj. denormalizace.
Podívejte se na http://www.linuxsoft.cz/article.php?id_article=854 a http://www.manualy.net/article.php?articleID=13.

Mám tam uložena ID knih oddělená středníky. Ale vždy pracuji s celým polem najednou.
Pokud ta druhá věta bez výjimek platí a současná podoba vám vyhovuje (tj. veškeré potřebné selecty a editace vám funguje), lze to považovat za denormalizaci a nechat to být, je to na vás.
Jan Knížek
Profil
Díky za zdroje, když o tom tak uvažuji, nakonec bylo lepší použít ty tři tabulky. Nicméně nyní mi vše funguje a nechci současnou verzi bořit, ale v nové se to určitě objeví. Díky moc všem za rady.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0