Avatar
Hadi.k
Člen
Avatar
Hadi.k:

Ahoj, mám v plánu udělat web, kde bude potřeba mnoho databází. Bude zde systém na přidávání "stránek/inze­rátů/článků" (nechci být konkrétní). Každý tento "inzerát" se zapíše do jedné konkrétní databáze, ale každý "inzerát", bude mít vlastní diskuzi, a tedka příchází ten problém.

Když budu mít 10 000 "inzerátů", mám tvořit 10 000 tabulek, pro 10 000 diskuzí, nebo jak mám podle vás vytvořit diskuzi ke každému "inzerátu" zvlášt ?

Ještě me napadlo udělat tabulku diskuze, kde bdouo všechny příspěvky, ale ještě budou mít ID, které bude sedět na "inzerát", ale to zase tato tabulka bude moc velká. Co je podle vás, nejlepší způsob ?

Odpovědět 20.11.2013 8:21
"Ajťák" nikdy nebere telefon po prvním zazvonění!! Vždy je totiž velice vytížen - buď musí nejprve dopít ká...
Avatar
Inoue Yūki
Redaktor
Avatar
Inoue Yūki:

Nechápu, proč by jsi potřeboval více databází?

Nahoru Odpovědět 20.11.2013 9:19
Avatar
Hadi.k
Člen
Avatar
Hadi.k:

Myslel sem tím více tabulek, moje chyba. Dostanu tedy odpověd ?...

Nahoru Odpovědět 20.11.2013 9:38
"Ajťák" nikdy nebere telefon po prvním zazvonění!! Vždy je totiž velice vytížen - buď musí nejprve dopít ká...
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Hadi.k
Petr Nymsa:

Určitě nebudeš mít co inzerát to tabulka !
Uděláš si jendoduše (z toho to pochopíš)
Tabulka Inzerát - ID, text, nadpis
Tabulka Uživatel - ID, jmeno, nick,..
Tabulka Komentáře - ID, ID_inzerat, ID_User, text, datum_vlozeni

Nahoru Odpovědět  +2 20.11.2013 9:47
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na Hadi.k
Inoue Yūki:

Přesně jak říká Zirko. Uděláš si tabulku pro inzerát s ID a pak tabulku s komentáři, který budou mít sloupec s id inzerátu.

Nahoru Odpovědět 20.11.2013 10:23
Avatar
Kit
Redaktor
Avatar
Odpovídá na Hadi.k
Kit:

Jedna databáze se třemi tabulkami.

Nahoru Odpovědět  +1 20.11.2013 10:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Hadi.k
Člen
Avatar
Hadi.k:

Udělám to tedy takto, děkuji všem za pomoc.

Nahoru Odpovědět 20.11.2013 17:02
"Ajťák" nikdy nebere telefon po prvním zazvonění!! Vždy je totiž velice vytížen - buď musí nejprve dopít ká...
Avatar
mkub
Redaktor
Avatar
Odpovídá na Hadi.k
mkub:

ak ti mozem poradit, este pred vytvaranim databazy si treba rozmyslet nad hierarchiou tych tabuliek, ked mas tabulku "Uzivatel", v nej budes mat polozky:

  • Ulica
  • Mesto
  • Stat

tak v polozkach "Mesto" a "Stat" ti casom zacnu pribudat redundantne zaznamy, ktorych sa dobrym navrhom celej databazy sa da vyhnut, ale vtedy treba rozmyslat o databazovom engine, co podporuju cudzie kluce (napr. InnoDB) a rozbit celu tabulku do niekolkych mensich

 
Nahoru Odpovědět 21.11.2013 2:24
Avatar
Kit
Redaktor
Avatar
Odpovídá na mkub
Kit:

Normalizace databáze je dobrá věc, ale nesmí se to s ní přehnat.

V daném případě to nevidím jako příliš užitečné, dokud nebudu potřebovat podle těchto položek pravidelně vyhledávat. Zejména u někoho, kdo chce kvůli dalšímu zákazníkovi zakládat další databázi.

Nahoru Odpovědět  +1 21.11.2013 6:01
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
mkub
Redaktor
Avatar
Odpovídá na Kit
mkub:

suhlas, preto som mu poradil, ze nech si sadne a nech si popremysla nad navrhom databazy a ako budu tabulky v nej prepojene

nenapadla ma nijaky iny priklad na normalizaciu databazy a Mesto so Statom by sa dalo spojit do jednej tabulky a uz by kleslo pocet redundatnych udajov a ak by mal uz mesto napevno zadefinovane v databazi, tak by mohol z tabulky "Mesto" vygenerovat aj prislusny zoznam vo formulari z formulara by sa posielal iba ID

 
Nahoru Odpovědět 21.11.2013 10:43
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.