abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:44 | Nová verze

    Jakub Jelínek oznámil vydání verze 15.1 (15.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 15. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    včera 03:55 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Staronovým vedoucím zůstává Andreas Tille.

    Ladislav Hagara | Komentářů: 12
    24.4. 16:55 | IT novinky

    Jason Citron končí jako CEO Discordu. Od pondělí 28. dubna nastupuje nový CEO Humam Sakhnini, bývalý CSO Activision Blizzard.

    Ladislav Hagara | Komentářů: 5
    24.4. 14:22 | Nasazení Linuxu

    Článek na Libre Arts představuje baskytarový multiefekt Anagram od společnosti Darkglass Electronics. S Linuxem uvnitř (licence, GitHub).

    Ladislav Hagara | Komentářů: 1
    24.4. 10:22 | IT novinky

    Městský soud v Praze vyhlásil rozsudek, který vyhověl žalobě novináře Jana Cibulky, který s podporou spolku IuRe (Iuridicum Remedium) požadoval omluvu od státu za to, že česká legislativa nařizuje operátorům uchovávat metadata o elektronické komunikaci. To je přitom v rozporu s právem. Stát se musí novináři omluvit a zaplatit náklady řízení. Především je ale součástí přelomové rozhodnutí o nelegálnosti shromažďování dat a o

    … více »
    Ladislav Hagara | Komentářů: 7
    24.4. 08:22 | IT novinky

    Americké technologické firmy Apple a Meta Platforms porušily pravidla na ochranu unijního trhu, uvedla včera Evropská komise (EK). Firmám proto vyměřila pokutu – Applu 500 milionů eur (12,5 miliardy Kč) a Metě 200 milionů eur (pět miliard Kč). Komise to oznámila v tiskové zprávě. Jde o první pokuty, které souvisejí s unijním nařízením o digitálních trzích (DMA). „Evropská komise zjistila, že Apple porušil povinnost vyplývající z nařízení

    … více »
    Ladislav Hagara | Komentářů: 33
    24.4. 08:11 | IT novinky

    Americká společnost OpenAI, která stojí za chatovacím robotem ChatGPT, by měla zájem o webový prohlížeč Chrome, pokud by jeho současný majitel, společnost Google, byl donucen ho prodat. Při slyšení u antimonopolního soudu ve Washingtonu to řekl šéf produktové divize ChatGPT Nick Turley.

    Ladislav Hagara | Komentářů: 0
    24.4. 07:55 | Nová verze

    Po roce vývoje od vydání verze 1.26.0 byla vydána nová stabilní verze 1.28.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.28.

    Ladislav Hagara | Komentářů: 0
    24.4. 07:44 | Nová verze

    Byla vydána nová verze 10.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 211 vývojářů. Provedeno bylo více než 2 800 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    23.4. 16:33 | Komunita

    42 svobodných a otevřených projektů získalo finanční podporu od NLnet Foundation (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (21%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (2%)
    Celkem 453 hlasů
     Komentářů: 18, poslední 17.4. 12:41
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Umbrello vazba 1:1

    14.3.2014 13:49 Kloban | skóre: 13 | Brno
    Umbrello vazba 1:1
    Přečteno: 604×
    Ahoj, navrhuju si ERD v programu Umbrello a nějak tam vidím vazbu jen 1:n. Vazby n:m a 1:1 mi tam chybí. Je možné je nějak do diagramu přidat?
    Díky Dan

    Odpovědi

    14.3.2014 20:10 Roslav | skóre: 6 | blog: mamblog
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Vyselectuj si ralation cez sipku, potom dvojklikom otvor properties a v dialogu v podmenu "Roles" mas "Multiplicity"
    Hmmpf... Niečomu tak deterministickému ako počítače sa jednoducho nedá veriť.
    14.3.2014 20:42 Kloban | skóre: 13 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Tím ale nastavím jen popisky. Šipka má stále na jedné straně vidličku.
    14.3.2014 21:47 Roslav | skóre: 6 | blog: mamblog
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Obavam sa, ze to nebude mozne, dokonca aj v manualy maju priklad diagramu, kde boli kardinality vyriesene popiskami. Inak, 1:1 je neprirodzena relacia, co si pamatam z prednasky, co sme mali v skole pred tyzdnom, yevraj na take by sa mal architekt pozriet este raz, ci tam nie je chyba.
    Hmmpf... Niečomu tak deterministickému ako počítače sa jednoducho nedá veriť.
    14.3.2014 22:58 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Kardinalita 1:1 je v pořádku. To by byly špatně všechny číselníky, lokalizace programů a dokonce i normalizované tabulky v databázích.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 17.3.2014 14:41 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Není číselník náhodou 1:N?
    Hello world ! Segmentation fault (core dumped)
    19.3.2014 06:56 Kit
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    K jednomu klíči je jen jedna hodnota. 1:1.
    18.3.2014 17:56 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Vztah 1:1 má smysl, pokud jsou dvě různé entity ve vztahu 1:1 (občan - občanka). Pak je mohu dát do dvou tabulek, takže budou moci vystupovat i nezávisle. Současně mám možnost snadno refaktorovat na vztah 1:N, pokud to okolnosti budou vyžadovat.

    Třeba Propel s tím počítá http://propelorm.org/documentation/04-relationships.html#one-to-one-relationships
    -- OldFrog
    Josef Kufner avatar 18.3.2014 19:25 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Zrovna občan a občanka není moc dobrý příklad, neboť občan může mít občanek více (např. pokud jednu ztratí, tak dostane novou a ztracená bude i nadále vedena v databázi doplněna o informaci o ztrátě), ale i žádnou (občan nemá trvalý pobyt a chodí po ČR s pasem).

    Relace 1:1 je velmi vzácná záležitost. Obvykle přítomnost takové relace bude ukazovat na nějakou chybu nebo zbytečné omezení. I když určitě se najde pár příkladů, kdy to bude dávat smysl.
    Hello world ! Segmentation fault (core dumped)
    18.3.2014 20:21 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1

    Za prvé: U nás není povolené mít více občanek, a moje občanka se ne a ne ztratit. Jsme už ale velcí, takže to označovat vazbou 1:1 nebudeme.

    Za druhé: 1:1 vazba při návrhu obvykle nevzniká (snad blob v oddělené tabulce v jiném tablespace/Db), ale může vznikat v budoucnu při rozšiřování bez zásahu do stávající struktury.

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    18.3.2014 21:30 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1

    Za prvé: U nás není povolené mít více občanek, a moje občanka se ne a ne ztratit. Jsme už ale velcí, takže to označovat vazbou 1:1 nebudeme.

    Tady nerozumím - jak je to míněno?

    Za druhé: 1:1 vazba při návrhu obvykle nevzniká (snad blob v oddělené tabulce v jiném tablespace/Db), ale může vznikat v budoucnu při rozšiřování bez zásahu do stávající struktury.

    To je ono - k existující entitě mohu neinvazivně přidat další entitu. Pokud to není nadužito, je to IMHO docela elegantní.
    -- OldFrog
    18.3.2014 22:07 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Tady nerozumím - jak je to míněno?
    Tak jak je to napsáno ;), ber jako fakt, že u nás může mít jeden občan jednu občanku a jedna občanka jednoho občana, nicméně vazba 1:1 není vhodná, protože je sice vyžadována, ale ne dodržována.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Josef Kufner avatar 19.3.2014 02:04 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Můžeš mít žádnou nebo jednu platnou občanku. Ale v databázi chceš mít i informace o již neplatných občankách, abys věděl, co se s nima stalo a že už neplatí (například v případě krádeže). Nebo naopak abys mohl ověřit, že nějaký starý záznam je pravdivý. Takže občanek můžeš mít u jednoho občana v databázi povícero, i když on bude mít v kapse jen jednu.
    Hello world ! Segmentation fault (core dumped)
    19.3.2014 08:07 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    OT:
    (například v případě krádeže)
    „Únos“ se tomu říká…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Josef Kufner avatar 19.3.2014 11:52 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    "Občanský průkaz byl unesen"?
    Hello world ! Segmentation fault (core dumped)
    19.3.2014 12:10 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1

    Co sem pleteš jakýsi průkaz ;)

    „Občanka byla unesena!“

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    19.3.2014 12:15 Kloban | skóre: 13 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    JO táááák. :-D :-D :-D To by mě nenapadlo.
    19.3.2014 12:24 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Asi to bude regionem (či mnou), ale mně nenapadlo první vůbec to, o čem si OldFrog a Josef Kufner myslí, že píšou, a říkal jsem si proč to OldFrog píše tak divně a docvaklo mi to sice brzo, ale až zpětně po přečtení dalšího postu.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    18.3.2014 21:27 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Obvykle přítomnost takové relace bude ukazovat na nějakou chybu nebo zbytečné omezení. I když určitě se najde pár příkladů, kdy to bude dávat smysl.
    Myslíte to tak, že vztah 1:1 se ve světě kolem nás příliš často nevyskytuje (a mělo by se vše modelovat jako vztah 1:N) anebo tak, že je vhodné dát vše se vztahem 1:1 do jedné tabulky?
    -- OldFrog
    Josef Kufner avatar 19.3.2014 02:01 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Nikde neříkám, že vše. Říkám, že to je neobvyklé a je to signál k zamyšlení, zda to je tak správně. Reálný svět a databáze spolu mají jen málo společného.
    Hello world ! Segmentation fault (core dumped)
    Josef Kufner avatar 19.3.2014 02:05 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    ... a zrovna ten příklad s občankou je toho důkazem.
    Hello world ! Segmentation fault (core dumped)
    19.3.2014 10:51 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Právě ten příklad s občankou je dobrý - ukazuje zcela reálnou situaci, kdy se rozhoduji jak do databáze uložit občana a občanku a kdy mám chybný předpoklad, který musím později opravit.

    Zprvu předpokládám, že každý občan má jen jednu občanku. Udělám tabulku občan a tabulku občanka příčemž občanka se bude odkazovat primárním (unikátním) klíčem na občana. Vznikne vztah 1:1.

    Pak se dozvím, že občanek může mít ve skutečnosti občan více. Do tabulky občanka přidám nový klíč, který učiním primárním (unikátním), původní sloupec, který se odkazuje na občana nechám, akorát už nebude unikátní (na jednoho občana se může odkazovat více občanek). Vznikne vztah 1:N.

    Jediné, co jsem musel upravit jsou klíče a v případné orm vrstvě getter a setter, kterým občanovi přiděluji občanku (nově musí akceptovat/vracet seznam).

    Pokud bych dal všechny parametry občanky do tabulky občana, musím refaktorovat mnohem víc.

    Na tom chci ukázat, že pro dvě různé entity jsou dvě tabulky se vztahem 1:1 vhodnější a flexibilnější než jediná tabulka s více sloupci a že se může hodit dekomponovat entitu na dvě entity a uložit je do dvou tabulek i případě, že to vypadá zprvu na evidentní 1:1 vazbu a máte třeba nutkání ji modelovat pouhým přidáním několika sloupců (tj. skalárních hodnot). Důvodem vhodnosti je právě to, že můžu snadno přejít ke vztahu 1:N (mimoto bude databáze sémanticky lépe odpovídat skutečnosti - občanka je něco jiného něž občan a můžou existovat i nezávisle).

    Uvedená dekompozice je podle mě další možná geneze tabulek 1:1 (mimo rozšiřování databáze beze změn tabulek jak uvádí Šangala).

    Otravuju s tím kvůli tomu, že nechci aby vznikl pro náhodného čtenáře dojem, že 1:1 je automaticky nějaká chyba, které by se měl vyvarovat (může to tak sice být ale také nemusí).

    Nu a můj dotaz na vás se týkal právě toho, jestli byste to dával všechno do _jedné_ tabulky anobo zda říkáte "kdekoli mám _dvě_ tabulky ve vztahu 1:1 bych se měl rovnou zamyslet, zda tam nemá být spíše 1:N". Která varianta platí?

    -- OldFrog
    Josef Kufner avatar 19.3.2014 11:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Nikde jsem o přidávání sloupečků do jedné tabulky nemluvil. Celou dobu jde o to, že "kdekoli mám dvě tabulky ve vztahu 1:1 bych se měl rovnou zamyslet, zda tam nemá být spíše 1:N".
    Hello world ! Segmentation fault (core dumped)
    19.3.2014 12:30 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Ok, dík za upřesnění. S tím souhlasím.
    -- OldFrog
    19.3.2014 22:08 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Vidím to naopak: Kdekoli vidím NULL v neklíčovém sloupci, ptám se, zdali by tomu sloupci nebylo lépe v samostatné tabulce s relací 1:1.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 19.3.2014 22:17 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Nekomplikuje to zbytečně aplikaci okolo?
    Hello world ! Segmentation fault (core dumped)
    19.3.2014 22:39 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Zjednodušuje to updaty, stávají se z nich inserty. Zrychluje to vyhledávání. Dále je možné k nim přidat timestampy, ke každému takovému atributu zvlášť. Je možné udržovat i historické stavy, které jsou např. v personalistice dost důležité. Tím se to ovšem často změní na relaci 1:N.

    Například trvalé bydliště vůbec nemusí být v základní tabulce o zaměstnanci, datum narození a rodné číslo také ne. Údaje o manželovi/manželce jsou také v samostatné tabulce. Zvyšuje to bezpečnost aplikace - všechny programy nepotřebují přístupy ke všem tabulkám.

    Jak by to mohlo komplikovat aplikaci okolo? Naopak se spousta dotazů zjednoduší.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 19.3.2014 22:51 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Tyto příklady mi zní spíš jako dobře udělaná dekompozice. Adresy bych dal stranou tak nějak automaticky a udělal je jako obyčejné 1:N. Manžel/manželka bych řešil jako obecné M:N relace mezi lidmi, neboť by se mohly hodit i další vztahy (milenka).
    Hello world ! Segmentation fault (core dumped)
    19.3.2014 23:06 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Ale o dekompozici to celé je, ne?
    -- OldFrog
    20.3.2014 09:51 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Ano, je to o dekompozici. Osoba smí mít jen jedno trvalé bydliště, je to tedy relace 1:1. Přesto je vhodnější to nedávat do jedné tabulky, ale trvalé bydliště uložit do další tabulky s primárním klíčem té osoby.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 20.3.2014 12:35 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Pak se ale na takové schéma podíváš, uvidíš vazbu 1:1, zamyslíš se, zda to je opravdu správně a uvědomíš si, že v případě změny trvalého bydliště není úplně ideální zapomenout to staré, že vedle adresy trvalého bydliště se hodí mít i kontaktní adresu, což je ale svou strukturou stejná adresa, jen v jiném vztahu k dané osobě. A najednou je z 1:1 vazba 1:N, nebo i dokonce M:N.
    Hello world ! Segmentation fault (core dumped)
    20.3.2014 12:53 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Ano, nad tím jsem se už také zamyslel. Záleží na požadavcích.

    Kontaktní adresa má sice stejnou strukturu, ale raději bych ji dal do samostatné tabulky, aby mi z toho nevzniklo EAV.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    20.3.2014 14:00 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    1+

    Nicméně tím vzroste implementační náročnost - bude třeba vytvořit integritní omezení pro jednotlivé druhy adres (aktuální trvalé bydliště může být jen jedno). Navíc stejnou úvahu mohu provést prakticky na každou entitu (občan může změnit jméno, ulice se může přejmenovat atd... :-D ), takže se musím předně zamyslet, zda a kde chci udržovat historii (revize) a kde pouze aktuální stav. Pak to bude pokaždé rozhodování mezi 1:1 nebo 1:N příp. N:M (pokud chci mít objekty uloženy jen jednou).
    -- OldFrog
    Josef Kufner avatar 20.3.2014 14:11 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Implementační náročnost však může i klesnout. Obecnější kus kódu nemusí být nutně složitější, i když obvykle je těžší ho vymyslet. Na druhou stranu tak lze ušetřit nemálo duplikací či zbytečného dědění velmi podobných typů, což se projeví na snažší udržbě a dalším vývoji. Ale tady už hodně záleží na konkrétní aplikaci a nemá smysl to probírat tako obecně.
    Hello world ! Segmentation fault (core dumped)
    20.3.2014 15:46 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Měl jsem na mysli hlavně pracnost vyplývající z nutnosti kontrolovat počet položek - je to sice 1:N ale trvalé bydliště může být aktivní pouze jedno.

    Samotný kód nebude složitější a bude univerzálnější, protože analogický požadavek mohu v budoucnu často relizovat s minimální pracností. Takže ve výsledku se práce ušetří.

    Ale už mlátíme slámu - nemá to skutečně smysl horem dolem rozebírat :-D
    -- OldFrog
    20.3.2014 16:25 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Nicméně zatím se žádný skutečný příklad na vazbu 1:1 neobjevil. Všechno byly vazby 1:N, s tím, že aktivní může být maximálně jeden (nebo právě jeden) prvek. Já osobně žádnou skutečnou 1:1 vazbu neznám, takovou kdy by mělo skutečný smysl rozdělit objekt do dvou tabulek, a zároveň to nebyla v podstatě skrytá vazba 1:N.
    20.3.2014 17:10 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Však už to tady bylo: Zaměstnanec - rodné číslo. Zaměstnanec - trvalé bydliště. Zaměstnanec - manžel(ka). Kniha - ISBN. Pošta - PSČ.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    20.3.2014 17:18 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Pokud chcete zachovat historii máte z toho vazby 1:N.
    -- OldFrog
    20.3.2014 17:22 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    O tom jsme se už bavili. ISBN a PSČ se to však netýká, tam zůstává vazba 1:1.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    20.3.2014 19:41 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    A co získám, když budu mít oddělené ISBN od knihy a mít je ve dvou tabulkách a ne v jedné tabulce?
    20.3.2014 19:47 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    ISBN od knihy oddělovat nemusím, ale stále je to vazba 1:1. Spíš jsem asi měl uvést zaměstnanec - rodné číslo. U něj má oddělení větší význam a také je to relace 1:1.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    20.3.2014 19:50 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    To si ale nerozumíme. Vazba 1:1 kterou nacpu do jedné tabulky jako různé fieldy je normální a všude. Ale celou dobu je tohle vlákno o tom, proč mít vazbu 1:1 mezi dvěma tabulkami. Ani zaměstnanec a rodné číslo nevidím pro důvod oddělovat.
    20.3.2014 19:56 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Třeba proto, že programátor aplikace pro závodní stravování nemá důvod čumět do rodných čísel. A je spousta dalších aplikací se zaměstnanci, které rodné číslo nepotřebují. A také všichni zaměstnanci rodné číslo nemají.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    20.3.2014 20:10 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    OT: Co bych za to docela dlouhý čas dal (fčil už je to v pohodě), kdyby byla vazba Osoba−>RČ vazbou 1:N a měli tam obě má rodná čísla…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    20.3.2014 20:23 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Upřel jsem teď pohled na naši databázi, u které si vývojář neustále říkal: Tohle je vazba 1:1, tohle také 1:1 - to bude všechno v jedné tabulce. Výsledkem je tabulka, která má 130 sloupců, pár tisíc řádek a všechny dotazy jsou neskutečně pomalé - často i víc, než čtvrt hodiny. Jenom proto, že se do sestav neustále žvejkají i údaje, které k ničemu nepotřebuji.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    21.3.2014 12:23 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Nění chyba jinde? Co je to za dabatázový server? Nevidím důvod, proč by to mělo být tak pomalé - pokud tam jsou správně indexy a ty sloupce se všechny paušálně pokaždé netahají do aplikační vrstvy. A samozřejmě pokud není ten dotaz sám o sobě divoký (regexp, like, složetejší agregace a výpočty).
    -- OldFrog
    20.3.2014 17:26 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    S tou historií se používá ještě jedno řešení: Při změně nebo zrušení záznamu se ten původní ukládá do archivní tabulky včetně časového razítka a označením toho, kdo tu změnu udělal. V hlavní tabulce je pak pouze aktuální záznam.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 20.3.2014 20:22 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Jo, to je pěkné řešení. Moc nekomplikuje život a umožňuje logovat méně dat, než kolik v upravovaných řádcích je.

    Ale vazba 1:1 tam také není.
    Hello world ! Segmentation fault (core dumped)
    20.3.2014 20:35 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    V archivu už ne, ale v aktuální tabulce je jen jedno (platné) trvalé bydliště. Takže vazba 1:1.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    21.3.2014 16:48 Roslav | skóre: 6 | blog: mamblog
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Ale na jednej adrese trvalého bydliska môže predsa žiť viac ľudí.
    Hmmpf... Niečomu tak deterministickému ako počítače sa jednoducho nedá veriť.
    21.3.2014 17:07 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Takže by to byl vztah N:1. Jenže je trochu problém, jak určit, zda jsou dvě adresy totožné. Proto jsou adresy obvykle vloženy duplicitně.

    Snažili jsme se před několika lety pracovat s nějakou databází měst, ulic a psč (tuším že to bylo od České pošty), ale občas tam něco scházelo a bylo s tím spousta problémů (např. duplicitní zápis názvu města ve stylu Borová u Poličky versus Borová - jsou to stejná města nebo nejsou?).

    Ideální by asi byla souřadnice bytu s vhodnou tolerancí, ale to by bylo zase jak z Orwella tak možná buďme rádi, že to nefunguje :-)
    -- OldFrog
    Josef Kufner avatar 21.3.2014 18:04 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Na webu potravinydomu.cz to tak je. Zadáš ulici, nabídne to města, PSČ a všecko ostatní. Takže napozadí tam mají databázi ulic a měst. Asi to fungovat bude. Myslím, že to je celkem užitečné při optimalizaci rozvážky nákupů.
    Hello world ! Segmentation fault (core dumped)
    21.3.2014 18:17 Kit
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Ta databáze je běžně dostupná na MVČR v XML.
    Josef Kufner avatar 21.3.2014 19:18 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    A z OpenStreetMap si lze vycucnout celý svět.
    Hello world ! Segmentation fault (core dumped)
    19.3.2014 23:05 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Jako že bych do samostatné tabulky přesunul třeba jen jeden sloupec? To mi přijde moc divoké.

    Podle mě by měla rozhodovat sémantika těch dat, které chci do samostatné tabulky přesouvat. Pokud je to několik položek a představují samostatnou entitu - šup s tím do nové tabulky. Narozdíl od pana Kufnera si myslím, že databáze by měla s reálným světem souviset co nejvíce - přeci ho modeluje!

    V gui pak bude na úpravu té entity samostatný dialog což je implementačně snadné, pro uživatele srozumitelné a flexibilnější pro rozšiřování.

    Selecty budou u více tabulek složitější, bude tam více joinů. Což nebolí, pokud používám orm.
    -- OldFrog
    19.3.2014 23:15 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Umbrello vazba 1:1
    Pro vyjádření relace uvnitř tabulky jeden neklíčový sloupec zpravidla nestačí. Když zůstanu u té personalistiky, tak dalším důležitým atributem bývá datum změny. Souhlasím s tím, že by měla být zachována sémantika.

    Selecty složitější nebudou. Místo ORM používám pohledy.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.