abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 4
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    26.4. 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 44
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 14
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 3
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 875 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Navrh databaze

    23.11.2015 10:01 jirka
    Navrh databaze
    Přečteno: 1788×
    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.