Autor Zpráva
Oregon
Profil *
Zdravim řešim ted takovej problém jak co nejlépe navrhnout DB.

Modelovej příklad :

www.example.cz - Hlavní web obsahující informace ze všech subdomén
sub1.example.cz - subweb obsahuje informace pouze k tématu sub1
sub2.example.cz - subweb obsahuje informace pouze k tématu sub2
sub3.example.cz - subweb obsahuje informace pouze k tématu sub3
sub4.example.cz - subweb obsahuje informace pouze k tématu sub4


Otázka je jak na toto nejlépe navrhnout DB. Napadli mě dvě řešení. Uvedu je například na novinkách.

Udělat jednu tabulku NOVINKY, kde jako jeden sloupec bude určovat pro jakou subdoménu novinka je. Pro www.example.cz vyberu vsecno a pro sub1.example.cz vyberu jenom novinky s podmínkou WHERE sub1. To znamená na každém sub webu pak používat WHERE.

Nebo můžu udělat pro každej subweb vlastní tabulku NOVINKY. sub*.example.cz pak vždy bude přistupovat k vlastní tabulce. A hlavní web by vybral potom NOVINKY pomocí UNION ze všech tabulek pro subweby. Tedy vlastně www.example.cz by žádné vlastní tabulky neměl.

Každé řešení má své pro a proti. Proto bych se rád zeptal co by podle vás bylo vhodnější. Popřípadě jestli vás nenapadá ještě nejaké jiné lepší řešení?

Předem děkuji
tiso
Profil
3. php cache - stránky z novinkami si vygeneruj z databázy vždy keď pridáš novinku do DB - potom ťa nezaujíma výkon DB aby si mohol pozerať web...

Pre ktoré riešenie sa rozhodneš záleží skôr na miere samostatnosti jednotlivých subwebov... Pokiaľ sub1 bude mať 90% návštevnosť, lepšia by mu bola samostatná tabuľka s novinkami (resp. cache).
MzM
Profil
Union přináší problémy, hůř se dělají limity, vyhledávání a další. Vřele doporučuju se unionu vyhnout jak to jen jde. Pak jedna tabulka se mnohem líp udržuje. V podstatě nevidím žádnou výhodu dělat selecty přes ten navrhovaný union. Možná jsem jen slepý.
(toť můj názor)

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