Autor Zpráva
mimochodec
Profil
Jde mi o Některé časteji řešené dotazy pro MySQL - FAQ » Více hodnot ve sloupci

Cituji: "Správné řešení takovéto situace je obvykle vytvoření druhé tabulky, provázané s tou první, kde jednotlivé hodnoty budou řádky tabulky (v uvedeném příkladu například tabulka vysledky (id uživatele | výsledek), hodnoty by byly například 1|15, 1|5, 1|20, atd.)"

Dost mě to zaskočilo. Myslím, že jde o špatné řešení, a to z důvodů, které tady zazněly nespočetněkrát, tedy nepohodlná správa. Nebylo by lepší popsat řešení se dvěma tabulkami položek a jednou vazební?
juriad
Profil
Je to správně - toto je ta vazební tabulka. V příkladu má 3 řádky:
1 15
1 5
1 20
mimochodec
Profil
Aha, takhle! Tak to by možná chtělo přeformulovat. I mě to zmátlo, natožpak Frištenského tazatele, který tam jde s tím, že tu myšlenku dosud nezná.
_es
Profil
Možno by stačilo zmeniť „druhé tabulky“ na „další tabulky“, lebo najčastejšie asi celú väzbu vytvárajú tabuľky tri a vo väzobnej sú identifikátory riadkov iných dvoch tabuliek. Pri zlom riešení Některé časteji řešené dotazy pro MySQL - FAQ » Musíte pojmenovávat sloupce s indexem (jmeno1, jmeno2, jmeno3, …) by to mohlo byť tiež preformulované na „ďalší tabulku“.
mimochodec
Profil
_es:
Mě tam spíš zmátlo to, že jsem tu rouru nepochopil jako oddělení sloupců a měl jsem 1|15 za jednu textovou položku.
juriad
Profil
mimochodec:
Z toho důvodu je tam zmíněn ten vzor: „(id uživatele | výsledek)“
_es
Profil
mimochodec:
sem tu rouru nepochopil jako oddělení sloupců
Aha, tak to by okolo tej „rúry“ mohli byť medzery a zapísané to ako kód - aby to bolo neproporcionálnym písmom a rúry presne zarovnané pod seba - čo síce náhodou sú, no len preto, že je tam len všade 1.
Alphard
Profil
Nevidím problém v přeformátování do konzolového stylu

+--------------+----------+
| id_uzivatele | vysledek |
+--------------+----------+
|            1 |       15 |
|            1 |        5 |
|            1 |       25 |
|          ... |      ... |
+--------------+----------+

Lepší?
mimochodec
Profil
Alphard:
Super, takhle bych to pochopil i já :-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0