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 04:44 | Nová verze

    Multimediální server a user space API PipeWire (Wikipedie) poskytující PulseAudio, JACK, ALSA a GStreamer rozhraní byl vydán ve verzi 1.6.0 (Bluesky). Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.2 a 20.04 OTA-12.

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

    Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.0 otevřeného operačního systému pro chytré hodinky AsteroidOS (Wikipedie). Přehled novinek v oznámení o vydání a na YouTube.

    Ladislav Hagara | Komentářů: 1
    včera 16:00 | Zajímavý software

    WoWee je open-source klient pro MMORPG hru World of Warcraft, kompatibilní se základní verzí a rozšířeními The Burning Crusade a Wrath of the Lich King. Klient je napsaný v C++ a využívá vlastní OpenGL renderer, pro provoz vyžaduje modely, grafiku, hudbu, zvuky a další assety z originální kopie hry od Blizzardu. Zdrojový kód je na GitHubu, dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 4
    včera 13:33 | IT novinky

    Byl představen ICT Supply Chain Security Toolbox, společný nezávazný rámec EU pro posuzování a snižování kybernetických bezpečnostních rizik v ICT dodavatelských řetězcích. Toolbox identifikuje možné rizikové scénáře ovlivňující ICT dodavatelské řetězce a na jejich podkladě nabízí koordinovaná doporučení k hodnocení a mitigaci rizik. Doporučení se dotýkají mj. podpory multi-vendor strategií a snižování závislostí na vysoce

    … více »
    Ladislav Hagara | Komentářů: 4
    včera 12:22 | Humor

    Nizozemský ministr obrany Gijs Tuinman prohlásil, že je možné stíhací letouny F-35 'jailbreaknout stejně jako iPhony', tedy upravit jejich software bez souhlasu USA nebo spolupráce s výrobcem Lockheed Martin. Tento výrok zazněl v rozhovoru na BNR Nieuwsradio, kde Tuinman naznačil, že evropské země by mohly potřebovat větší nezávislost na americké technologii. Jak by bylo jailbreak možné technicky provést pan ministr nijak nespecifikoval, nicméně je známé, že izraelské letectvo ve svých modifikovaných stíhačkách F-35 používá vlastní software.

    NUKE GAZA! 🎆 | Komentářů: 21
    včera 06:00 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 162 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 05:55 | IT novinky

    Sdružení CZ.NIC, správce české národní domény, zveřejnilo Domain Report za rok 2025 s klíčovými daty o vývoji domény .CZ. Na konci roku 2025 bylo v registru české národní domény celkem 1 515 860 s koncovkou .CZ. Průměrně bylo měsíčně zaregistrováno 16 222 domén, přičemž nejvíce registrací proběhlo v lednu (18 722) a nejméně pak v červnu (14 559). Podíl domén zabezpečených pomocí technologie DNSSEC se po několika letech stagnace výrazně

    … více »
    Ladislav Hagara | Komentářů: 9
    18.2. 18:33 | IT novinky

    Google představil telefon Pixel 10a. S funkci Satelitní SOS, která vás spojí se záchrannými složkami i v místech bez signálu Wi-Fi nebo mobilní sítě. Cena telefonu je od 13 290 Kč.

    Ladislav Hagara | Komentářů: 7
    18.2. 16:22 | Komunita

    Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Fedora 43 Asahi Remix s KDE Plasma už funguje na M3. Zatím ale bez GPU akcelerace. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (11%)
     (27%)
     (3%)
     (5%)
     (2%)
     (12%)
     (27%)
    Celkem 908 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: nastavení cizího klíče

    12.4.2011 16:51 jardík
    nastavení cizího klíče
    Přečteno: 2027×
    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.