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 13:00 | Komunita

Do 30. října se lze přihlásit do dalšího kola programu Outreachy (Wikipedie), jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 4. prosince 2018 do 4. března 2019, v participujících organizacích lze vydělat 5 500 USD.

Ladislav Hagara | Komentářů: 38
21.9. 22:22 | Komunita

Společnost Purism představila kryptografický token Librem Key. Koupit jej lze za 59 dolarů. Token byl vyvinut ve spolupráci se společností Nitrokey a poskytuje jak OpenPGP čipovou kartu, tak zabezpečení bootování notebooků Librem a také dalších notebooků s open source firmwarem Heads.

Ladislav Hagara | Komentářů: 8
21.9. 20:33 | Nová verze

Společnost NVIDIA oficiálně vydala verzi 10.0 toolkitu CUDA (Wikipedie) umožňujícího vývoj aplikací běžících na jejich grafických kartách. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
21.9. 20:00 | Upozornění

Příspěvek Jak přežít plánovanou údržbu DNS na blogu zaměstnanců CZ.NIC upozorňuje na historicky poprvé podepsání DNS root zóny novým klíčem dne 11. října 2018 v 18:00. Software, který nebude po tomto okamžiku obsahovat nový DNSSEC root klíč, nebude schopen resolvovat žádná data. Druhým důležitým datem je 1. února 2019, kdy významní výrobci DNS softwaru, také historicky poprvé, přestanou podporovat servery, které porušují DNS standard

… více »
Ladislav Hagara | Komentářů: 6
21.9. 15:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 156. brněnský sraz, který proběhne v pátek 21. září od 18:00 v restauraci Na Purkyňce na adrese Purkyňova 80.

Ladislav Hagara | Komentářů: 0
21.9. 13:22 | Nová verze

Alan Griffiths z Canonicalu oznámil vydání verze 1.0.0 display serveru Mir (GitHub, Wikipedie). Mir byl představen v březnu 2013 jako náhrada X serveru a alternativa k Waylandu. Dnes Mir běží nad Waylandem a cílen je na internet věcí (IoT).

Ladislav Hagara | Komentářů: 0
20.9. 22:00 | Nasazení Linuxu
Stabilní aktualizace Chrome OS 69 (resp. Chromium OS), konkrétně 69.0.3497.95, přináší mj. podporu linuxových aplikací. Implementována je pomocí virtualizace, a proto je tato funkce také omezena na zařízení s dostatkem paměti a podporou hardwarové akcelerace, tudíž nejsou podporovány chromebooky s 32bitovými architekturami ARM, či Intel Bay Trail (tzn. bez Intel VT-x).
Fluttershy, yay! | Komentářů: 5
20.9. 21:32 | Zajímavý projekt

Došlo k uvolnění linuxové distribuce CLIP OS, vyvíjené francouzským úřadem pro kybernetickou bezpečnost ANSSI, jako open source. Vznikla za účelem nasazení v úřadech, kde je potřeba omezit přístup k důvěrným datům. Je založená na Gentoo.

Fluttershy, yay! | Komentářů: 1
20.9. 16:00 | Komerce

Zjistěte více o bezpečné a flexibilní architektuře v cloudu! IBM Cloud poskytuje bezpečné úložiště pro Vaše obchodní data s možností škálovatelnosti a flexibilitou ukládání dat. Zároveň nabízí prostředky pro jejich analýzu, vizualizaci, reporting a podporu rozhodování.

… více »
Fluttershy, yay! | Komentářů: 12
20.9. 12:22 | Nová verze

V dubnu letošního roku Mozilla představila webový prohlížeč pro rozšířenou a virtuální realitu Firefox Reality (GitHub). V úterý oznámila vydání verze 1.0. Ukázka na YouTube. Firefox Reality je k dispozici pro Viveport, Oculus a Daydream.

Ladislav Hagara | Komentářů: 2
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (15%)
 (20%)
 (23%)
 (25%)
 (4%)
 (1%)
Celkem 391 hlasů
 Komentářů: 33, poslední 16.9. 11:55
Rozcestník

Dotaz: Navrh databaze

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