Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Modrá je dobrá
zelená je lepší

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub Database (mysql,...) [ŽP: neomezená] (kategorie Programování) moderuje melkor_unlimited.
Archiv
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: jasserg
[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
king King Born to be king - ... 26.3.2014 19:14  1486
A proc mas tabulku objekt a ne tabulku herec, film atp? Co tim chces ziskat?
themajkl themajkl All those moments will be lost in time - like tears in rain. 26.3.2014 15:36  1485
knedle [1484]: Jednoznačné id každého záznamu je často velmi vhodné; do určité míry to jde nahradit rowid, ale aspoň u Informixu se na to nedá univerzálně vždycky spolehnout.
knedle knedle online - Krabice živých 26.3.2014 15:17  1484
oprava: tak opakovane to asi nepůjde, musel bych pridat id na definovane spojeni
knedle knedle online - Krabice živých 26.3.2014 14:14  1482
knedle [1481]: takže tak na půl cesty

pouzil jsem ten tvůj case when pro ziskani ID spojovanych objektu
a ty pak v druhém sql dotazu vyzobl i s daty

a jako dobrý

funguji i nad objekty shodného typu, a to opakovane, protoze si to filtruji podle definovaneho typu atributu s objektem
knedle knedle online - Krabice živých 24.3.2014 22:13  1481
themajkl [1480]: pravda - case selectu je dobry reseni

- zkusim nejdriv tohle, jestli to dokazu generovat ke spravnemu cilovemu stavu
themajkl themajkl All those moments will be lost in time - like tears in rain. 24.3.2014 21:51  1480
Co něco jako
select (case 
         when obj1.typ="film" then obj1.jmeno
              else obj2.jmeno 
        end) jmeno_filmu,
       (case 
         when obj1.typ="herec" then obj1.jmeno
              else obj2.jmeno 
        end) jmeno_herce
  from objekt obj1, objekt obj2, objektob2objekt obj2obj
    where obj1.id=obj2obj.id1
          and obj2.id=obj2obj.id2
          and (obj1.typ = "film" or obj1.typ="herec")
          and (obj2.typ = "film" or obj2.typ="herec")

? Za předpokladu, že nebudou vazby herec-herec, nebo film-film. Ale je to od pasu bez přemýšlení.
knedle knedle online - Krabice živých 24.3.2014 21:20  1479
dotazresim aktualne tento problem:
prosím o vaše komentáře - ať se můžu nějak rozhodnout

je to pokus o neco univerzalniho - což je chtěný cílový stav
ten kdo potkal EZpublish, tak dělam velmi velmi velmi zjednodušeně něco podobného


pro názornost si představte filmový web - film, herec, trailer...

mám tabulku OBJEKT - ve které která obsahuje všechny objekty, tj. objekty všech definovaných typů
a potřebuji nadefinovat spojením mezi temi objekty vazbou M:N, takže mám další tab - např. OBJEKT2OBJEKT - která obsahuje minimalné sloupce objekt_1_id, objekt_2_id

jenze při ukládání této vazby se mi může stát, že:
- přidávám herci film - tudíz objekt_1_id je Herec (1) - a objekt_id_2 je Film (3)
- přidávám filmu herce - tudíž objekt_1_id je Film (3) - a objekt_id_2 je Herec (2)

budu-li chtit z filmu pak zjistit herce a seradit je podle jména dostávám se do problémů:

1/ kostrbaté řešení, které si dokážu představit
- zjistím ID z možných uložení A:B + zjistím id z možných uložení B:A
- zjistena id pouziju pro sql pro vypis objektu

2/ budu ukladat data duplicitně
- vzdy když ulozim A:B, uložím i B:A

3/ doplním třetí sloupec do spojovaci tabulky, kde budu definovat typ spojení A_B nebo B_A
- pri ukladani sahnu do tab a zjistim, zda je existuje A_B nebo B_A a podle toho ulozim ve spravnem poradi
- pri vypisu pak opet zjistim spravne poradi a podle toho udelam join

4/ ? - jsou nějaké další možnosti?

pro co by jste se rozhodli vy?

---

za jakékoli vaše komentáře budu rád

knedle knedle online - Krabice živých 12.12.2013 14:44  1478
trochu jsem zase posunul to porovnavani dumpu sql databazi:

http://dump-comparer.3tecky.cz/
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 2.10.2013 21:34  1477
to asi nebudes na spravnem miste...
krte30 28.9.2013 15:49  1476
Programování ve VBAHojky. Potřebovala bych poradit ohledně programování ve Visual Basic.
knedle knedle online - Krabice živých 10.9.2013 21:11  1475
huh [1474]: no já to dělal hlavně pro sebe :)
huh huh 10.9.2013 20:25  1474
knedle [1473]: Ale díky za snahu.
knedle knedle online - Krabice živých 10.9.2013 20:14  1473
huh [1472]: aha / tak to jsem predtim nechyt

no vsechno jsou to skritpy nebo dokonce programy - žádnej online nástroj :/
možná to dotahnu do konce...
huh huh 10.9.2013 19:39  1472
knedle [1470]: Je to hezký, ale jestli to chápu správně, tak to porovnává jen definice tabulek, já hledám něco, co porovnává data.
Popravdě, na porovnaní dumpů schémat už nějaké nástroje existují, třeba:
http://code.google.com/p/sql-dump-schema-diff/
http://www.clevercomponents.com/products/dbcomparer/index.asp
http://search.cpan.org/dist/MySQL-Diff/bin/mysqldiff
https://bitbucket.org/stepancheg/mysql-diff/wiki/Home
http://search.cpan.org/~ribasushi/SQL-Translator-0.11005/script/sqlt-diff
https://github.com/caviola/mysqldiff
Ani jeden z nich jsem nezoušel, tak nevím co umějí :-)

Jinak, já si už něco bastlím taky, až dobastlím, dám vědět.
knedle knedle online - Krabice živých 10.9.2013 15:59  1471
teda create table

[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt