Autor | Zpráva | ||
---|---|---|---|
Jan Knížek Profil |
#1 · Zasláno: 30. 6. 2011, 13:57:14
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 |
#2 · Zasláno: 30. 6. 2011, 14:47:26
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 * |
#3 · Zasláno: 30. 6. 2011, 14:50:59
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 |
#4 · Zasláno: 30. 6. 2011, 15:09:17
[#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 |
#5 · Zasláno: 30. 6. 2011, 15:12:44
[#2] Alphard
už mi to funguje, možná to ale radši budu cachovat. Díky za radu |
||
okolojdouci Profil * |
#6 · Zasláno: 30. 6. 2011, 15:16:29
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 |
#7 · Zasláno: 30. 6. 2011, 16:49:56
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 |
#8 · Zasláno: 30. 6. 2011, 16:56:54
Jan Knížek:
Co dvě tabulky a relace mezi nimi? |
||
okolojdouci Profil * |
#9 · Zasláno: 30. 6. 2011, 18:19:37
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 |
#10 · Zasláno: 30. 6. 2011, 21:19:44 · Upravil/a: Jan Knížek
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 |
#11 · Zasláno: 30. 6. 2011, 21:30:48
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 |
#12 · Zasláno: 30. 6. 2011, 22:29:20
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.
|
||
Časová prodleva: 13 let
|
0