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 17:44 | Zajímavý článek

    Jak si zobrazit pomocí Chrome a na Chromiu založených webových prohlížečích stránky s neplatným certifikátem? Stačí napsat thisisunsafe.

    Ladislav Hagara | Komentářů: 3
    včera 00:33 | Bezpečnostní upozornění

    V repozitáři AUR (Arch User Repository) linuxové distribuce Arch Linux byly nalezeny a odstraněny tři balíčky s malwarem. Jedná se o librewolf-fix-bin, firefox-patch-bin a zen-browser-patched-bin.

    Ladislav Hagara | Komentářů: 10
    včera 00:22 | Komunita

    Dle plánu by Debian 13 s kódovým názvem Trixie měl vyjít v sobotu 9. srpna.

    Ladislav Hagara | Komentářů: 0
    19.7. 13:22 | Komunita

    Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.

    Ladislav Hagara | Komentářů: 1
    18.7. 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    18.7. 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 1
    17.7. 18:44 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 1
    17.7. 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 4
    17.7. 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 6
    16.7. 21:22 | IT novinky

    Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.

    Ladislav Hagara | Komentářů: 19
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (27%)
     (18%)
     (5%)
     (7%)
     (2%)
     (5%)
     (5%)
     (32%)
    Celkem 44 hlasů
     Komentářů: 7, poslední dnes 12:44
    Rozcestník

    Dotaz: Navrh databaze

    23.11.2015 10:01 jirka
    Navrh databaze
    Přečteno: 1799×
    Zdravim potreboval bych pomoct s navrhem DB. Mam entitu Auto, ktera obsahuje atributy jako vin, rok vyroby atd. Pak mam Entitu karoserie, ktera je jen vycet typu karoserie (Kombi, SUV,...).

    Prvni navrh: Entita karoserie ma primarni klic jehoz id je poskytnuto entite Auto. Coz mi prijde zbytene a proto bych volil spise druhou moznost.
    1/
    +-----------------+         +-------------------+
    |  Auto           |         | Kasoresie         |
    +-----------------+         +-------------------+
    | PK Vin int      |         | PK id Int         |
    | RokVyr varchar  |         | Jmeno Varchar(25) |
    | FK TypKaroserie |--------<|
    
    
    2/
    +-----------------+         +--------------------------+
    |  Auto           |         | Kasoresie                |
    +-----------------+         +--------------------------+
    | PK Vin int      |    +---<| PK Uni Jmeno Varchar(25) |
    | RokVyr varchar  |    |
    | FK TypKaroserie |----+
    
    Ve druhe moznosti vydim hlavni problem pri zmene nazvu. Respektive v pripade kdy mam v selectu left join (plati pro prvni pripad) tak zmenim jen nazev Karoserie u ID a ve vysledku selectu mam hotovo. V druhem pripade by tato moznost nebyla a pri zmene nazvu by byla stracena navaznost starych nazvu.

    Snad sem to popsal srozumitelne. Dekuji predem za podmety a navrhy. Teprve se ucim tak me prosim nekamenujte za nepresnosti. Kazdy jednou musel zacit ;)

    Řešení dotazu:


    Odpovědi

    23.11.2015 10:27 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Navrh databaze
    Pokud jsem to dobře pochopil a rozdíl mezi 1 a 2 jen v tom, že 1 má id karosérie jako klíč tabulky i klíč vazby na auto, pak samozřejmě 1. Přece nebudeš spojovat tabulky stringovým názvem karoserie.
    Tarmaq avatar 23.11.2015 10:30 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Navrh databaze
    Pouzil bych variantu 1/ jen s tim rozdilem, ze bych nemel umelohmotnej primarni klic typu INTEGER, ale dal bych tam VARCHAR. Tedy hodnoty v danem cisleniku by pak byly nejak takto:
    +---------+------+
    |id       |name  |
    +---------+------+
    |kombi    |Kombi |
    |suv      |SUV   |
    |sedan    |Sedan |
    +---------+------+
    
    Pokud bys pak chtel mit na FE u kombiku napsano napr. "Vagon", staci pak zmenit jen name u Karoserie.
    Don't panic!
    23.11.2015 10:37 jirka
    Rozbalit Rozbalit vše Re: Navrh databaze
    ok super dekuji za podmety - pujdu cestou 1.
    Co se tyce "umelohmotnej PK" neni lepsi z duvodu rychlosti puzivat cisleny PK, i kdyz umelohmotnej, misto Strigoveho? Dekuji za objsaneni.
    Tarmaq avatar 23.11.2015 11:05 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Navrh databaze
    Tak INT bude mozna o malo rychlejsi, ale ten rozdil nebude tak vyrazny. Vyhodou stringoveho bude lepsi citelnost dat v tabulkach, neni potreba uziti konstant v kodu, atp.
    Don't panic!
    Josef Kufner avatar 23.11.2015 20:03 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Navrh databaze
    Ta čitelnost v databázi celkem hodně pomůže a navíc to ID je pak často vidět i v URL při přístupu k daným entitám. A pokud nejde o statisíce řádků, opravdu bude rozdíl ve výkonu sotva znatelný.
    Hello world ! Segmentation fault (core dumped)
    24.11.2015 19:48 Filip Jirsák
    Rozbalit Rozbalit vše Re: Navrh databaze
    Ta čitelnost v databázi nebo dokonce URL znamená, že se z umělého klíče stal klíč přirozený a při změně názvu bude potřeba změnit i to ID. Protože mít v databázi záznamy
    ID    | Nazev
    -------------
    jeep  | SUV
    jeep2 | jeep
    
    to čitelnosti v databázi vůbec nepomůže, právě naopak. Čitelnosti v databázi pomůže, pokud člověk není líný napsat JOIN. ID v URL je prasárna, pokud to není součástí API – například obvykle budete chtít povolit více URL pro jednu entitu (aby URL zůstalo platné i po přejmenování).
    Josef Kufner avatar 24.11.2015 21:36 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Navrh databaze
    Záleží na aplikaci a na povaze dat v ní. Čitelnost URL je užitečná například při pohledu do logu, neboť tam se join dělá těžko. ID ve tvaru jeep1 a jeep2 je na prd, ale pokud to je například číslo místnosti nebo login uživatele, tak to velmi usnadní orientaci v datech při přístupu přes obecné nástroje. Změnu takového ID napříč celou databází pak snadno zajistí správně udělané cizí klíče s cascade při změně.

    Zda ID v URL je či není prasárna hodně závisí na aplikaci. A často to sice prasárna být může, ale při tom to nemusí vůbec ničemu vadit a jen by se to zbytečně komplikovalo.
    Hello world ! Segmentation fault (core dumped)
    25.11.2015 11:18 Filip Jirsák
    Rozbalit Rozbalit vše Re: Navrh databaze
    Pokud je ID číslo místnosti nebo login uživatele, už to není umělý klíč a asi nebudete mít v tabulce vedle sebe dva sloupečky „ID“ a „login“, ve kterých budou stejné hodnoty. To popisujete tu druhou variantu, o které tazatel psal, tedy udělat primární klíč přímo z názvu. Ano, také je to možnost, nicméně v tomto případě je podle mne vhodnější umělý primární klíč, protože u toho názvu bude problém s trvalým zajištěním všech potřebných předpokladů. Třeba unikátnost – při návrhu vám samozřejmě všichni odsouhlasí, že název je a vždy bude unikátní, protože přece jak by to lidi rozlišili, kdyby se to jmenovalo stejně. První požadavek na duplicitní název pak přijde nejpozději do týdne od spuštění ostré verze.
    25.11.2015 11:57 jos
    Rozbalit Rozbalit vše Re: Navrh databaze
    na jirsáka bacha, radši už na něj nereaguj, relačním databázím naprosto nerozumí, v uvedenejch diskuzích ho najdeš pod nickem Fa & Bi
    24.11.2015 09:31 kukacka
    Rozbalit Rozbalit vše Re: Navrh databaze
    A jeste pro uplnost potencialni nevyhody stringoveho klice. Nelze pouzit sekvence/autoincerement. Pri zalozeni noveho zaznamu je treba klic zadat (kdo - uzivatel aplikace?). Existuji "frameworky" nad umelymi klici, ktere predpokladaji, ze je to cislo. Samozrejme nic z toho nemusi byt v konkretnim pripade problem, ale je dobre o tom vedet.
    23.11.2015 22:04 Xerces
    Rozbalit Rozbalit vše Re: Navrh databaze
    Tak že by se konečně ministerstvo rozhoupalo přepsat ten registr vozidel? :-D
    24.11.2015 12:31 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: Navrh databaze
    jj, už se na tom vážně pracuje, jak vidíte .. poslední ladění návrhu

    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.