Autor | Zpráva | ||
---|---|---|---|
joe Profil |
#1 · Zasláno: 27. 1. 2013, 19:32:56
Ahoj,
tak opět jsem narazil na drobnější problém. Jde mi o to, že v databázi budu mít tabulky, například: - prezentace - stránka - komponenta a u všech jejich záznamů budu chtít nastavit routu, která ale musí být unikátní. Nesmělo by tedy nastat, že vložim do tabulky routa (typ, routa) řádky <?php prezentace | /example1 stránka | /example1 // tento řádek nesmí projít komponenta | /example1/component stránka | /example1/component // tento taky ne Jde to řešit databázově? |
||
Kajman Profil |
#2 · Zasláno: 27. 1. 2013, 19:54:54
Jednou tabulkou rout, případně rovnou tabulkou všech objektů, kde budou společné vlastosti a specifické budou až v uvedených tabulkách.
|
||
joe Profil |
Kajman:
Společně mají teď jen tu routu, jinak nic. Určitě by bylo dobré počítat s tim, že budou mít více společných věcí. Ale ať se snažím sebevíc, nejsem pořád schopný to navrhnout. Vytvořím další tabulku se sloupci Routa_id - umikatni sloupec A další sloupec/sloupce by měly určit ten typ, k čemu tu routu přidávám, ale jak v relaci určim, že jeden sloupec může odkazovat na více různých tabulek (prezentace, stranka, komponenta, ...) podle toho, co to bude za typ? Tak už mi to je asi jasné, otestuji kak nebudu na tel a napíšu, jak jsem to provedl. |
||
joe Profil |
Je řešením mít tabulku routa (tu co zmiňuju v prvnim příspěvku) a pak další tabulku, například routa_objekt, která bude spojena relací 1:1 ke každé tabulce (entitě), co bude umožňovat routování?
|
||
Tori Profil |
#5 · Zasláno: 28. 1. 2013, 01:16:11
joe:
Co je vlastně jednoznačný identifikátor pro routu - kombinace hodnot ze všech tří tabulek? (= pak by mohla odkazovat jen na šablonu, protože stránka i prezentace jsou dohledatelné podle ID šablony) Anebo může routa odkazovat např. pouze na prezentaci či stránku? |
||
joe Profil |
#6 · Zasláno: 28. 1. 2013, 01:36:05
Tori:
Momentálně to je ID (autoincrement), ale jinak to je routa sama o sobě. Teď se to snažím nějak vstřebat :) a myslím si, že to tak nejde. Cílem je, aby prezentace, stránka a komponenta (případně v budoucnu dalšíy) mohly mít svou vlastní routu, ale zároveň aby platilo, že stejná routa nemůže být použitá pro jinou "routovatelnou entitu". Je to aspoň trochu srozumitelné? :) |
||
Tori Profil |
joe:
Myslela jsem to tak, že co se vlasntě na základě té konkrétní routy použije: Jestli se routa s ID 123 vztahuje ke kombinaci ID prezentace + ID stránky + ID šablony, anebo jestli se může vztahovat jen k ID prezentace (a stránka + šablona se určí nějak jinak, ne podle ID routy). Možná to není až tak podstatné pro ten návrh, nevím. Ptala jsem se spíš proto, že mě zajímá, jak je to udělané. |
||
joe Profil |
#8 · Zasláno: 28. 1. 2013, 01:56:27
Tori:
Jedná se o ten druhý případ. (Ale teď jsem zase zjistil, že to není úplně nejlepší řešení.) |
||
joe Profil |
Kajman:
Jak byla prosím myšlena ta tabulka všech objektů? Nevím jak by měla vypadat. Našel jsem řešení, že by to šlo udělat přes trigger. Tori: Tak prezentaci jsem vyloučil, ta routu mít nebude, bude určovat jen doménu. |
||
Časová prodleva: 11 let
|
0