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í
×
    dnes 12:22 | Komunita

    Na YouTube lze zhlédnout Godot Engine – 2025 Showreel s ukázkami toho nejlepšího letos vytvořeného v multiplatformním open source herním enginu Godot.

    Ladislav Hagara | Komentářů: 0
    dnes 10:00 | Humor

    Blíží se konec roku a tím i všemožná vyhlášení slov roku 2025. Dle Collins English Dictionary je slovem roku vibe coding, dle Dictionary.com je to 6-7, …

    Ladislav Hagara | Komentářů: 3
    dnes 09:55 | IT novinky

    Cloudflare Radar: podíl Linuxu na desktopu dosáhl v listopadu 6,2 %.

    Ladislav Hagara | Komentářů: 2
    včera 19:22 | Pozvánky

    Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak doražte na listopadovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. Mezi nejvýznamnější novinky patří Průšovo oznámení Core One L, zavedení RFID na filamentech, tisk silikonu nebo nový slicer. Dozvíte se ale i

    … více »
    bkralik | Komentářů: 3
    včera 05:00 | Nová verze

    Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.50.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek i s náhledy obrazovek v oznámení o vydání.

    Ladislav Hagara | Komentářů: 0
    8.11. 23:11 | Zajímavý software

    Komunita kolem Linux Containers po roce vývoje představila (YouTube) neměnný operační systém IncusOS speciálně navržený pro běh Incusu, tj. komunitního forku nástroje pro správu kontejnerů LXD. IncusOS poskytuje atomické aktualizace prostřednictvím mechanismu A/B aktualizací s využitím samostatných oddílů a vynucuje zabezpečení bootování pomocí UEFI Secure Bootu a modulu TPM 2.0. Postaven je na Debianu 13.

    Ladislav Hagara | Komentářů: 17
    8.11. 22:44 | IT novinky

    Mozilla začne od ledna poskytovat komerční podporu Firefoxu pro firmy. Jedná se o podporu nad rámec stávající podpory, která je k dispozici pro všechny zdarma.

    Ladislav Hagara | Komentářů: 0
    8.11. 03:44 | Komunita

    V Bolzanu probíhá konference SFSCON (South Tyrol Free Software Conference). Jean-Baptiste Kempf, zakladatel a prezident VideoLAN a klíčový vývojář VLC media playeru, byl na ní oceněn cenou European SFS Award 2025 udělovanou Free Software Foundation Europe (FSFE) a Linux User Group Bolzano‑Bozen (LUGBZ).

    Ladislav Hagara | Komentářů: 3
    8.11. 02:44 | Zajímavý projekt

    Open-source minimalistický trackball Ploopy Nano byl po modelech modelech Classic a Thumb Trackball také aktualizován. Nová verze Nano 2 používá optický senzor PAW3222 a k původně beztlačítkovému designu přidává jedno tlačítko, které ve výchozí konfiguraci firmwaru QMK přepíná režim posouvání koulí. Sestavený trackball nyní vyjde na 60 kanadských dolarů (bez dopravy a DPH).

    |🇵🇸 | Komentářů: 4
    7.11. 14:22 | Zajímavý článek

    Github publikoval Octoverse 2025 (YouTube), tj. každoroční přehled o stavu open source a veřejných softwarových projektů na GitHubu. Každou sekundu se připojil více než jeden nový vývojář. Nejpoužívanějším programovacím jazykem se stal TypeScript.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (47%)
     (18%)
     (17%)
     (22%)
     (15%)
     (22%)
     (15%)
     (15%)
    Celkem 337 hlasů
     Komentářů: 15, poslední 2.11. 08:25
    Rozcestník

    Dotaz: nastavení cizího klíče

    12.4.2011 16:51 jardík
    nastavení cizího klíče
    Přečteno: 2017×
    Hoj, začínám s SQL a není mi jasné, jak v phpMyAdminu klikáním docílit cizí klíč. Našel jsem si návod...

    tabulka lekari, atribut umi (index (blesk), char 60) má odkazovat do tabulky odbornosti (odbornosti_nazev je PK, char 60).
    Váš SQL-dotaz byl úspěšně vykonán ( dotaz trval 0.2215 sekund )
    ALTER TABLE  `lekari` ADD FOREIGN KEY (  `umi` ) REFERENCES  `odbornosti` (  `odbornosti_nazev` ) ;
    (návod zmiňoval, že všechny tabulky mají být innoDB, to jsem taky udělal).

    No a pak návod hovoří, že si relace prohlídnu v Struktura->Zobrazit relace. Viz obrázek – nic tam nevidím.

    Odpovědi

    12.4.2011 17:34 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: nastavení cizího klíče
    Příloha:
    SELECT * FROM `lekari` WHERE `odbornosti`='oční';
    :) …, já tam něco vidím… :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    12.4.2011 17:46 jardík
    Rozbalit Rozbalit vše Re: nastavení cizího klíče
    díkes ;-)
    12.4.2011 20:05 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: nastavení cizího klíče

    Není zač :-)

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    12.4.2011 23:38 jardík
    Rozbalit Rozbalit vše Re: nastavení cizího klíče
    ještě otázečka na pochopení těch FK:

    mám tabulku "ordinace" odkazující ze sloupce "kde" do tabulky "oddeleni" do sloupce "nazev_oddeleni". sloupce jsou typu char. když přejmenuju jednou oddělení bude to problém? Neměl bych odkazovat spíš na "id_oddeleni" v tabulce "oddeleni"? Udělal bych to hned, ale překaží mi v tom fakt, že když mám naplněnou tabulku "oddeleni" daty a pak jdu plnit tabulku "ordinace", tak při vkládání prvku mi to má ukázat ve sloupci "kde" nazev oddeleni, ale ukazuje mi to takhle "id_oddeleni".

    Chápu to dobře?
    12.4.2011 23:56 jardík
    Rozbalit Rozbalit vše Re: nastavení cizího klíče
    kamarád mi řekl, že takhle to je pro něj čitelnější, že to předchozí se blbě chápe:

    mam DB s tabulkama oddeleni a ordinace. ordinace ma sloupec KDE a odkazuje na tabulku oddeleni. a nevim jestli odkazovat na ID nebo na rovnou nazev_oddeleni...

    Děkuji za radu
    13.4.2011 00:16 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: nastavení cizího klíče
    Dneska jsem byl u zubaře a furt chodím na stejné místo, ale už tam mám 3. zubařku při 4. změně (vrátila se ta první :) ). Adresa/místo (oddělení) furt stejné, ale cedulka (název) na dveřích se pokaždé změnila.
    Provázáno to má být přes jednoznačné identifikátory a ve vašem případě by to mělo být přes id.
    phpMyAdmin samozřejmě ukazuje sloupec, kterým je to provázáno - zobrazení v aplikaci si už zařídíte tak, jak potřebujete.

    přejmenuju jednou oddělení bude to problém
    no bude, protože když tam máte definovaný „cizí klíč“, tak Vám to udržuje referenční integritu (hlídá konzistenci) - zkuste si to, co Vám to dovolí :).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    finc avatar 13.4.2011 09:03 finc | skóre: 8 | blog: Finc | Kolín
    Rozbalit Rozbalit vše Re: nastavení cizího klíče
    Spíše to vypadá, že by jsi potřeboval trošku více prostudovat návrh databází. Knih a informací na internetu je spousty. Jinak, předpokládám, že se jedná o MySQL. Pokud se jedná o tvorbu cizích klíčů, tak vždy by měla být reference na primární či unikátní klíč, mám pocit, že jinak to ani nelze. Pokud vytvářím cizí klíč, je tento sloupec automaticky i index. Klikání v tom nástroji (osobně ho úplně nesnáším) co používáš asi nebude úplně ideální. Doporučuji se to naučit ručně. Nevím, jestli jsem to správně pochopil, ale ten vztah mezi ordinací a oddělením bych udělal asi takto:
    CREATE TABLE oddeleni (
     id int NOT NULL auto_increment,
     nazev varchar(50) NOT NULL,
     PRIMARY KEY(id)
    )ENGINE=InnoDB;
    
    
    CREATE TABLE ordinace (
     id int NOT NULL auto_increment,
     oddeleni_id int NOT NULL,
     nazev varchar(50) NOT NULL,
     PRIMARY KEY(id),
     CONSTRAINT fk_ordinace_oddeleni_id FOREIGN KEY(oddeleni_id)
       REFERENCES oddeleni(id) ON UPDATE CASCADE ON DELETE RESTRICT
    )
    
    Pokud již máš hotovou tabulku, tak cizí klíč se přidává třeba takto:
    ALTER TABLE ordinace ADD CONSTRAINT fk_ordinace_oddeleni_id FOREIGN KEY(oddeleni_id)
       REFERENCES oddeleni(id) ON UPDATE CASCADE ON DELETE RESTRICT;
    
    Jinak nejlepší je spojovat reference pomocí typu int. Jednak je to nejrychlejší možnost a jednak je problém, že když něco spojuješ pomocí varchar, tak MySQL neřeší definovanou velikost tohoto sloupce, na to bacha. Díky tomu může spojit sloupce s varchar(10) a varchar(20).
    Kdo Vam dal pravo ty lidi urazet? A kdo ti dal pravo cumet z okna, ty kr.vo!
    13.4.2011 09:33 jardík
    Rozbalit Rozbalit vše Re: nastavení cizího klíče
    díky moc. já právě nějaký SQL základy mám, ale chtěl jsem se to naučit také v phpMyAdminovi. Díkes
    13.4.2011 09:44 jardík
    Rozbalit Rozbalit vše Re: nastavení cizího klíče
    tak pokud udělám v druhé tabulce primary key to ID a pak se na něj z druhé tabulky odkazuji, tak mi phpMyAdmin nabízí tyto hodnoty (pozn.: mám dva záznamy auto incerement, čili záznam s ID 1 a 2)

    http://obrazku.cz/obr676575_png.png
    13.4.2011 11:10 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: nastavení cizího klíče
    Pokud máte vše zkonfigurováno v phpMyAdmin (což jste podle prvního obrázku neměl), tak si zobrazte 1. tabulk (na tu kterou odkazujete) a v „Zobrazit relace“ si v „Zvolte které sloupce zobrazit“ vyberte 'nazev' (třeba 'odbornosti_nazev').
    A pak se podívejte co Vám to zobrazuje při vkládání do druhé tabulky za hodnoty a jak je to setříděné od ½ seznamu nahoru a od ½ dolů - to Vám odpoví na otázku, kterou jste nenapsal… :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    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.