Favicon Svetmobilne.cz  Svět mobilně Favicon Svetaudia.cz  Svět audia Favicon TVFreak.cz  TV Freak   Fórum Favicon Digimanie.cz  Digimanie   Fórum   Galerie
Strana 2 z 3 PrvníPrvní 123 PosledníPoslední
Zobrazené výsledky: 16 až 30 z 31

Téma: MySQL SELECT z viacerých tabuliek

  1. #16
    Občasný diskutér Avatar uživatele dabelik
    Registrace
    Feb 2009
    Příspěvků
    111

    Ahoj,

    pardon za malé odmlčanie ale ak sa dívaš na fórum dosť som riešil a ešte aj riešim svoj new NB ale to sem nepatrí ..

    Prečítal som si to celé a hádam som sa z toho dostatočne dobre ,,vysomáril" a pridávam screen z návrhu DB aby som predišiel zbytočnej snahe a komplikáciám zo selektov, tak ťa prosím o prekontrolovanie ak sa ti podarí ešte dostať do obrazu tejto šlamastiky

    S pozdravom a vďakou, dabelik..
    Připojené obrázky Připojené obrázky Klikněte na náhled pro zobrazení v plné velikosti 
Název: mydb.png 
Zobrazení: 105 
Velikost: 252.9 KB 
ID: 21455  
    Odpovídat lze po přihlášení

  2. #17
    Občasný diskutér
    Registrace
    Sep 2008
    Příspěvků
    69

    No ja nemam porad uplne predstavu k cemu presne ta databaze je. Vypada to celkem OK, jeste se zkusim zamyslet.
    Co v fight znamena attacker, expy, gold, win ... to jsou nejake parametry toho zapasu nebo to co hrac vyhral? Je to stejne pro oba soupere? Neboli je to vsechno vlastnost toho zapasu?
    Co presne znamenaji ty jednotlive atributy?
    Odpovídat lze po přihlášení



  3. #18
    Občasný diskutér Avatar uživatele dabelik
    Registrace
    Feb 2009
    Příspěvků
    111

    Citace Původně odesláno od grafnev Zobrazit příspěvek
    No ja nemam porad uplne predstavu k cemu presne ta databaze je. Vypada to celkem OK, jeste se zkusim zamyslet.
    Co v fight znamena attacker, expy, gold, win ... to jsou nejake parametry toho zapasu nebo to co hrac vyhral? Je to stejne pro oba soupere? Neboli je to vsechno vlastnost toho zapasu?
    Co presne znamenaji ty jednotlive atributy?

    Tak postupne:
    attacker -> typ integer (0/1) - Znamená či som zaútočil ja alebo protivník útočil na mňa.
    win -> typ integer (0/1) - Znamená či som zápas vyhral alebo prehral.
    gold -> typ integer - Určuje hodnotu získaného zlata v zápase resp. strateného zlata.
    experience -> typ integer - Určuje hodnotu získaných skúseností (ak je protivník vyššieho levelu ako ja alebo vyššej bojovej hodnoty a zápas som vyhral resp. celé naopak znamená pre protivníka)
    Odpovídat lze po přihlášení

  4. #19
    Občasný diskutér
    Registrace
    Sep 2008
    Příspěvků
    69

    Uz jsem unavenej, tak to ber s rezervou, jeste se nad tim zamyslim:
    V tom pripade je tabulka fight chybne protoze se na jeden fight pripojuji oba hraci a nepujde rozlisit koho se informace tyka. Mohlo by se to vyresit takto:
    Vsechny polozky, ktere se tykaji jednoho hrace pri boji (skilly, expy, vitezstvi, prohra atd.) se daji do jedne tabule (prakticky se bude jednat temer o slouceni player_had_fight a fight) ... tuto tabulku bych nazval treba fight_results_parameters nebo tak ... protoze jsou v ni parametry a vysledky boje ... kdyz nad tim premyslim tak bych tam dal klidne i cas zapasu a cizi klic zpet do tabulky hracu pro soupere.
    Odpovídat lze po přihlášení

  5. #20
    Občasný diskutér Avatar uživatele dabelik
    Registrace
    Feb 2009
    Příspěvků
    111

    Citace Původně odesláno od grafnev Zobrazit příspěvek
    Uz jsem unavenej, tak to ber s rezervou, jeste se nad tim zamyslim:
    V tom pripade je tabulka fight chybne protoze se na jeden fight pripojuji oba hraci a nepujde rozlisit koho se informace tyka. Mohlo by se to vyresit takto:
    Vsechny polozky, ktere se tykaji jednoho hrace pri boji (skilly, expy, vitezstvi, prohra atd.) se daji do jedne tabule (prakticky se bude jednat temer o slouceni player_had_fight a fight) ... tuto tabulku bych nazval treba fight_results_parameters nebo tak ... protoze jsou v ni parametry a vysledky boje ... kdyz nad tim premyslim tak bych tam dal klidne i cas zapasu a cizi klic zpet do tabulky hracu pro soupere.
    Podľa mňa je správne lebo stále budem jeden z tých dvoch hráčov ja a tie vlastnosti, ktoré som vymenoval sa týkajú v každom zápase len mňa. Čiže z toho stále budem vedieť či som vyhral/prehral a ak prehral tak zapísaná hodnota goldov (ktoré som stratil) vyselektujem ako zápornú hodnotu pomocou IF. Len ma ešte zaujíma či vzťah medzi tabuľkou player - clan (1:1) je správne keď clan môže obsahovať viacerých členov, tak by to mal byť 1:n, nie?
    Odpovídat lze po přihlášení

  6. #21
    Občasný diskutér
    Registrace
    Sep 2008
    Příspěvků
    69

    Vztah mezi hrácem a klanem je samozřejmě 1:n, ono to celkem vyplývá z toho, že clan_id je cizí klíč pro player, takže tam jedno id může být víckrát.

    Jinak v tom, že stále rozlišuješ hráče na Tebe a ostatní hráče děláš trochu chybu. Jednak ta databáze není tak postavená, protože pak by Ti stačila jedna tabulka do které si uložíš vše (atributy, výsledky, členství soupeře v klanu, čas zápasu) prostě jednoduchý excel. A druhak si zbytečně omezuješ možnosti, třeba když to bude chtít použít kámoš, nebo když si založíš druhou postavu.

    Ono to bude špatně i z hlediska správného návrhu databází, protože pokud připojím hráče k fightu (připojej se mi tam samozřejmě 2) tak bez nějaké dodatečné informace (výsledky se týkají hráče, který jsem já) nevím koho se ty informace týkají.

    Pokud chceš zachovat ten pohled "ty vs. ostatní" tak bych doporučoval styl excel, jinak bych radši upravil návrh směrem k univerzálnímu použití a jednoznačnému významu atributů.




    P.S. Jestli vadí tykání tak se omlouvám, stejně tak přeskakuju sem a tam.
    Odpovídat lze po přihlášení

  7. #22
    Občasný diskutér Avatar uživatele dabelik
    Registrace
    Feb 2009
    Příspěvků
    111

    Myslím, že chápem čo sa mi snažíš vysvetliť a teda ako vlastne si predstavuješ návrh DB? Pridá sa tam fight_results? A tá vlastne bude s kým prepojená? Iba s player a fight nie? Či?

    Neviem či sa ti chce ale mohol by si mi urobiť taký ten finálny náčrt? Myslím, že tak ako je aj ostane len zmením ešte ten vzťah medzi clan - player a ak dobre chápem tak sa pridá teda tabuľka fight_results, ktorá sa prepojí ako som hovoril vyššie s tab. player a fight. Síce neviem k nim vzťahy ale tak by to malo byť vcelku optimalizované, nie?

    P.S.: Nie, to vôbec nevadí ale teraz sa ťažko rozmýšľa keď prehrávame 3:0 proti nemcom :/ ..
    Odpovídat lze po přihlášení



  8. #23
    Občasný diskutér
    Registrace
    Sep 2008
    Příspěvků
    69

    Tabulka player zustava
    clan zustava

    player_had_fight prejmenovat (pokud chces) na fight_results a do ni dat win, gold, xp ... atd. z fight, proste veci ktere se tykaji hrace

    v tabulce fight zustane pouze fight_id, fight_time a asi link ... proste veci, ktere se tykaji pouze zapasu
    Odpovídat lze po přihlášení

  9. #24
    Občasný diskutér Avatar uživatele dabelik
    Registrace
    Feb 2009
    Příspěvků
    111

    Ahoj,

    takže asi vo finálnej verzii by to mohlo vyzerať takto:
    player - clan (1:n)
    player - fight_result (n:1)
    fight_result - fight (1:n)

    Ostatné info priložené v prílohe (screen z návrhu DB)..

    Uvidíme či sa to ujme, snáď áno
    Připojené obrázky Připojené obrázky Klikněte na náhled pro zobrazení v plné velikosti 
Název: mydb2.png 
Zobrazení: 74 
Velikost: 195.9 KB 
ID: 21462  
    Odpovídat lze po přihlášení

  10. #25
    Občasný diskutér
    Registrace
    Sep 2008
    Příspěvků
    69

    1) V tabulce clan nema byt player ID
    2) V tabulce player ma byt clan ID
    3) V tabulce fight_results musi byt fight_id a player_id
    4) V tabulce fight nema byt fight_results_player_had_fight
    5) Otocena vazba mezi clan a player a mezi fight a fight result
    Odpovídat lze po přihlášení

  11. #26
    Občasný diskutér
    Registrace
    Sep 2008
    Příspěvků
    69

    jinak kardinalita
    Jeden klan muze mit vice clenu
    1 clan n player
    clan - player (1:n)
    do player umistim cizi klic do clan
    Odpovídat lze po přihlášení

  12. #27
    Občasný diskutér Avatar uživatele dabelik
    Registrace
    Feb 2009
    Příspěvků
    111

    Jop, hovoril som si, že to naopak robím ale niečo mi hovorilo aby som to nechal tak

    Takže oprava, screen v prílohe..
    Připojené obrázky Připojené obrázky Klikněte na náhled pro zobrazení v plné velikosti 
Název: mydb3.png 
Zobrazení: 80 
Velikost: 243.5 KB 
ID: 21463  
    Odpovídat lze po přihlášení



  13. #28
    Občasný diskutér
    Registrace
    Sep 2008
    Příspěvků
    69

    1) Clan Id ve fight results nema byt, je v playerovi
    2) Nevyznam se moc v tech ikonkach, ale:
    player ma klic player_id a nic jineho, ostatni jsou cizi klice
    fight_results ma klic fight_result_id a ostatni jsou cizi klice
    Odpovídat lze po přihlášení

  14. #29
    Občasný diskutér Avatar uživatele dabelik
    Registrace
    Feb 2009
    Příspěvků
    111

    Citace Původně odesláno od grafnev Zobrazit příspěvek
    1) Clan Id ve fight results nema byt, je v playerovi
    2) Nevyznam se moc v tech ikonkach, ale:
    player ma klic player_id a nic jineho, ostatni jsou cizi klice
    fight_results ma klic fight_result_id a ostatni jsou cizi klice
    1) To pridalo samo po tom ako som pridal vzťah 1:n medzi player - fight_result, tiež nechápem prečo ale tak dám to preč teda..
    2) Všetko sedí. Úplne hore sa zobrazuje primárny kľúč a dole foreign keys..
    Odpovídat lze po přihlášení

  15. #30
    Občasný diskutér Avatar uživatele dabelik
    Registrace
    Feb 2009
    Příspěvků
    111

    Nuž nešiel už EDIT príspevku tak len dodám, že pri snahe vložiť hráča do tabuľky player bez toho aby existoval akýkoľvek záznam o clane (nie každý hráč musí mať clan) tak to skončí errorom o FK clan_clan_id, aj keď som sa mu snažil postrčiť nulu tak sa mu to nepozdávalo. Mimochodom ako by si riešil unique nick hráča? Iba overovať či sa už v DB nachádza a basta?

    P.S.: Prikladám ss..
    Připojené obrázky Připojené obrázky Klikněte na náhled pro zobrazení v plné velikosti 
Název: mydb4.png 
Zobrazení: 70 
Velikost: 214.0 KB 
ID: 21466  
    Odpovídat lze po přihlášení

Strana 2 z 3 PrvníPrvní 123 PosledníPoslední

Podobná témata

  1. Reboot and select proper boot device… + PAGE_FAULT_IN_NONPAGED_AREA
    Od Czechtim v sekci Problémy s PC (HW/SW) a řešení
    Reakcí: 13
    Poslední příspěvek: 08-09-2010, 18:38
  2. mysql: insert ... select ... on duplicate key
    Od petr.svec v sekci Programování
    Reakcí: 1
    Poslední příspěvek: 09-01-2010, 12:50
  3. MySQL a JOIN
    Od petr.svec v sekci Programování
    Reakcí: 3
    Poslední příspěvek: 10-02-2009, 15:52