Organizátoři Dne IPv6, tradiční akce věnované tématům spojeným s tímto protokolem, vyhlásili Call for Abstracts. Na webu konference mohou zájemci přihlašovat příspěvky o délce 20 nebo 40 minut či 10minutové lighting talky a to až do 30. dubna. Tvůrci programu uvítají návrhy přednášek z akademického i komerčního sektoru, které mohou být technického i netechnického zaměření. Den IPv6 se letos uskuteční 4. června a místem konání bude i
… více »Euro-Office (Wikipedie) je evropský fork open source kancelářského balíku OnlyOffice. Za forkem stojí koalice firem IONOS, Nextcloud, Eurostack, XWiki, OpenProject, Soverin, Abilian a BTactic. Cílem je zajistit digitální suverenitu Evropy a snížit závislost na neevropských platformách. Projekt vznikl mimo jiné v reakci na nedávné uzavření cloudové služby OnlyOffice. OnlyOffice obviňuje Euro-Office z porušení licenčních podmínek. Na možné problémy upozorňuje i Collabora Online. Jednostranná změna licence není v pořádku.
Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.
Během akce Arduino Days 2026 byl publikován Arduino Open Source Report 2025 (pdf) a oznámeno 7 nových produktů kompatibilních s deskou UNO Q (Arduino USB-C Power Supply, USB-C Cable, USB-C Hub, UNO Media Carrier, UNO Breakout Carrier, Bug Hopper, Modulino LED Matrix).
Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.
Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.
O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.
Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.
Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.
Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Při návrhu databáze musíte určit datové typy sloupců. V tomto díle seriálu se s datovými typy sloupců, které můžete používat v MySQL, seznámíte. Dále se dozvíte, co to jsou modifikátory sloupců.
Datový typ je atribut sloupce, který určuje, jaké hodnoty se budou moci do daného sloupce zapisovat. Každý sloupec může tedy uchovávat hodnoty pouze jednoho, předem určeného typu.
Před tím, než se vrhnete na studium datových typů, je třeba, abyste chápali pojem prázdná hodnota. Jestliže se ve sloupci záznamu nachází prázdná hodnota, znamená to, že v něm nic není. Nula je hodnota jako každá jiná, a proto není prázdná hodnota
Číselné datové typy dovolují uchovávat pouze čísla. Rozlišujeme dva základní typy číselných typů. A to číselné typy, které dovolují uchovávání celých čísel a číselné typy, které dovolují uchovávání desetinných čísel. Jednotlivé podtypy se liší intervalem ukládatelných hodnot.
Proč ale potřebujeme takové množství datových typů? Definujete-li
sloupec jako datový typ BIGINT, bude mít jakékoli uložené
číslo do takového sloupce 64 míst ve dvojkové soustavě. Pokud tedy uložíte
do takového sloupce číslo 1, uloží se vám do něj 63 nul a jedna jednička
na konci. To je ale značně neefektivní, a proto se k ukládání malých čísel
používá datový typ SMALLINT.
MySQL zpracovává číselné datové typy rychleji, než ostatní datové typy.
INTČíselné datové typy typu INT slouží k ukládání celých
čísel. Pokud při jejich definici použijete modifikátor
UNSIGNED (např. UNSIGNED INT), nebudete moci do
takového sloupce ukládat záporné hodnoty, zato se velikost nejvyššího
uložitelného čísla zdvojnásobí.
Jsou to datové typy FLOAT, DOUBLE, DECIMAL. MySQL umožňuje
omezit počet cifer desitinného čísla. V definici FLOAT (M, D)
určuje M celkovou délku čísla a D délku čísla za
desetinnou čárkou.
Datový typ DECIMAL se používá k ukládání velmi velkých
čísel a měn, protože nemá prakticky žádné velikostní omezení a zaručuje
požadovanou přesnost.
| Název typu | Interval | Bez znaménka | Paměťový prostor |
TINYINT |
<-128; 127> | <0; 255> | 1 bajt |
SMALLINT |
<-32768; 32767> | <0; 65535> | 2 bajty |
MEDIUMINT |
<-8388608; 8388607> | <0; 16777215> | 3 bajty |
INT |
<-2147483648; 2147483647> | <0; 4294967295> | 4 bajty |
BIGINT |
<-9223372036854775808; 9223372036854775807> | <0; 18446744073709550615> | 8 bajtů |
FLOAT(M, D) |
Liší se podle použitých hodnot | Liší se podle použitých hodnot | 4 bajty |
DOUBLE(M, D) |
Liší se podle použitých hodnot | Liší se podle použitých hodnot | 8 bajtů |
DECIMAL(M, D) |
Liší se podle použitých hodnot | Liší se podle použitých hodnot | M+2 bajty |
Textové datové typy umožňují ukládat textové řetězce. Textový řetězec je
množina znaků (např. "Pivovarská 69").
Seznam textových datových typů je v následující tabulce:
| Název typu | Maximální velikost | Paměťový prostor |
CHAR(X) |
255 bajtů |
X bajtů |
VARCHAR(X) |
255 bajtů |
X+1 bajt |
TINYTEXT |
255 bajtů |
X+1 bajt |
TINYBLOB |
255 bajtů |
X+2 bajty |
TEXT |
65535 bajtů |
X+2 bajty |
BLOB |
65535 bajtů |
X+2 bajty |
MEDIUMTEXT |
1,6 MB |
X+3 bajty |
MEDIUMBLOB |
1,6 MB |
X+3 bajty |
LONGTEXT |
4,2 GB |
X+4 bajty |
LONGBLOB |
4,2 GB |
X+4 bajty |
CHAR a VARCHARCHAR definuje sloupec pevné délky. Znamená to, že pokud
nadeklarujeme sloupec jako CHAR(8), budou všechny do něj
uložené hodnoty dlouhé 8 bajtů. Když do takového sloupce uložíte tři
znaky, MySQL automaticky doplní chybějící znaky.
Naopak VARCHAR definuje sloupec proměnné délky. Pokud do
sloupce definovaného jako VARCHAR(8) uložíte 3 znaky, bude se
celková délka sloupce rovnat 4 bajty (délka pole + 1).
Výhoda sloupců deklarovaných jako CHAR je to, že jsou
rychlejší, nevýhodou je zase nevyužité místo.
V jedné tabulce nemohou být sloupce deklarované jako CHAR
společně se sloupci deklarovanými jako VARCHAR. Stane-li se
to, MySQL převede všechny sloupce CHAR na sloupce
VARCHAR. Pokud jsou ale sloupce VARCHAR
deklarovány na 4 znaky a méně, převede je MySQL naopak na datový
typ CHAR.
TEXT a BLOBTEXT a BLOB jsou datové typy proměnné délky -
jsou to vlastně velmi rozsáhlé obdoby typu VARCHAR. Do
sloupců s datovým typem TEXT a BLOB je vhodné
ukládat například obsah značky <TEXTAREA> ve formuláři
WWW.
Do sloupců typu TEXT a BLOB můžete ukládat i
celé soubory. Nevýhodou těchto datových polí je ale jejich rychlost a
velikost, která může vést k fragmentaci. Pokud tedy chcete v databázi
ukládat rozsáhlé soubory (např. obrázky), je většinou lepší ukládat je v
nějakém adresáři a v databázi ukládat jen odkazy na umístění těchto
souborů.
Jsou to datové typy ENUM a SET. Do těchto
datových typů můžete ukládat pouze informace určené při deklaraci.
Vypadají a chovají se jako řetězce, ale v databázích MySQL se ukládají
jako čísla. Jejich zpracování je proto velmi rychlé.
ENUMSloupec typu ENUM může uchovávat pouze jednu z hodnot
deklarovaných ve jmenovitém seznamu přípustných hodnot. Datový typ
ENUM je vhodný například k uchovávání informací získaných z
rozbalovacích seznamů na stránkách WWW. Sloupec typu ENUM
musí obsahovat hodnotu uvedenou ve jmenovitém seznamu nebo prázdnou
hodnotu.
Příklad deklarace sloupce s datovým typem ENUM:
CREATE TABLE Test(
Vratit ENUM("A", "N") DEFAULT "N",
Barva ENUM("Cerna", "Cervena", "Bila")
)
pokud do sloupce Vratit nezadáte žádnou hodnotu, uloží se
do něj N
SETSloupec typu SET může na rozdíl od sloupce datového typu
ENUM uchovávat jednu nebo víc hodnot deklarovaných ve
jmenovitém seznamu přípustných hodnot. Je proto vhodný například pro
uchovávání informací získaných ze zaškrtávacích formulářů u stránek
WWW.
Příklad deklarace sloupců s datovými typy SET:
CREATE TABLE Test(
Zajmy SET("Lyzovani", "Programovani", "Linux"));
Při vkládání nového záznamu do sloupce typu SET je třeba vkládané hodnoty zabalit mezi uvozovky a oddělit čárkou.
INSERT INTO TEST (Zajmy) values ("Lyzovani, Programovani");
Do polí typu SET proto nevkládejte hodnoty obsahující čárky!
O těchto datových typech si povíme v nějakém z příštích dílů seriálu.
Modifikátory sloupců jsou klíčová slova, která upravují chování sloupců tabulky.
AUTO_INCREMENT (Automatické číslo)Modifikátor AUTO_INCREMENT lze použít na sloupce typů
INT. Hodnota sloupce označeného tímto modifikátorem se po
přidání nového záznamu vždy zvýší o 1. Hodnota prvního sloupce v prvním
záznamu je 1. Hodnota tohoto sloupce bude tedy v každém záznamu jiná.
Modifikátor AUTO_INCREMENT je výborný nástroj pro vytváření
jedinečných hodnot.
Každá tabulka může obsahovat pouze jeden sloupec s modifikátorem
AUTO_INCREMENT.
Do sloupce s modifikátorem AUTO_INCREMENT můžete při
vložení nového záznamu ukládat hodnoty NULL, 0,
nebo můžete uložení hodnoty zcela vynechat. Pokud zadáte číslo, které už v
databázi existuje, program vypíše chybové hlášení a záznam neuloží. Pokud
číslo v databázi ještě neexistuje, číslo do záznamu uloží a příště vloží do
databáze číslo o 1 větší. Počáteční hodnotu sloupce s modifikátorem
AUTO_INCREMENT můžete určit i při deklaraci.
Poslední uložené číslo modifikátorem AUTO_INCREMENT
zjistíte pomocí funkce LAST_INSERT_ID(). Tato funkce vrátí
poslední vámi uložené číslo. Pokud by jako poslední uložil automatické
číslo jiný uživatel, funkce stejně vrátí to vámi uložené.
Pokud by hodnota sloupce měla přesáhnout maximální povolenou hodnotu datového typu příslušného sloupce, MySQL nahlásí chybu.
ZEROFILLModifikátor ZEROFILL se používá k zobrazení vedoucích nul.
Chcete-li číslo 7 zobrazit jako jako 00007,
musíte příslušný sloupec deklarovat jako INT(5) ZEROFILL.
BINARYModifikátor BINARY lze použít na sloupce typu
CHAR a VARCHAR. Pokud nadeklarujeme sloupec s
modifikátorem BINARY, budou řetězce uložené v těchto
sloupcích rozlišovat malá/velká písmena.
DEFAULTDEFAULT lze použít na všechny typy kromě
BLOB a TEXT. Umožňuje změnit implicitní hodnotu
sloupce (tj. hodnotu, kterou bude mít sloupec, pokud do něj nic
neuložíte). Implicitně je výchozí hodnota sloupce NULL.
Modifikátor použijete například takto:
CREATE TABLE Test(Zeme char(2) NOT NULL DEFAULT "CZ");
NULL, NOT NULLUrčují, zda je zadání hodnoty do příslušného sloupce povinné. Pole s
modifikátorem NOT NULL musí obsahovat hodnotu. Hodnota
NULL je absolutně prázdná. Prázdný řetězec "" není
NULL!
PRIMARY KEY (primární klíč)Sloupec označený modifikátorem PRIMARY KEY jedinečným
způsobem identifikuje každý záznam tabulky. Primární klíč nedovoluje
hodnoty NULL. Sloupec označený tímto modifikátorem nesmí
obsahovat duplicitní hodnoty (musí být jedinečný - musí obsahovat vždy
jiné hodnoty). Primární klíč by měla obsahovat každá tabulka.
(Více, nejen o primárních klíčích, se dočtete v jednom z příštích pokračování.)
UNIQUESloupec označený identifikátorem UNIQUE nesmí obsahovat
duplicitní hodnoty.
Dnes jste se dozvěděli, že rozlišujeme číselné datové typy, textové datové typy, výčtové datové typy, datové typy, které se používají k uchovávání datumu a času, a že modifikátory sloupců jsou klíčová slova, která upravují chování sloupců tabulky.
Po přečtení dnešního dílu byste měli být schopni vymodelovat a následně vytvořit databázi.
Příští díl je věnován klíčům a zamykání záznamů. Naučíte se tedy správně používat klíče, využívat zabudované fulltextové vyhledávání a seznámíte se s problematikou zamykání záznamů.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
, iba ak by moj intel nevedel nasobit, ale vzdy som to cislo vedel takto. len pre najdenie chyby, stvrte cislo od konca je 1 a nie 0. to len aby niekoho neodradilo, ze sa tesne nezmesti do toho cisla