SQL v otázkách a odpovědích

10. prosince 1998
Internet do kapsy SDÍLET NA FACEBOOKU TWEETNOUT
Dnes se dostáváme k odpovědím na další část čtenářských dotazů k seriálu o jazyku SQL.
Zjistil jsem, že podmínku v příkazu SELECT lze napsat více způsoby. Je mezi jednotlivými zápisy nějaký rozdíl?

Na první pohled by se mohlo zdát, že není. Bohužel - nevhodný zápis může mít vliv na rychlost zpracování dotazu. Pokud si nejsme správným zápisem jisti (optimalizaci dotazů bude věnován některý z příštích dílů), můžeme použít některý z optimalizačních nástrojů. Ty dokáží změřit dobu odezev na jednotlivé varianty a dát nám tak podklady pro správný zápis i velmi složitých dotazů.

Existují nějaké standardizované testy pro zjištění výkonu SQL systémů?

Ano, a nejen SQL systémů. Asi nejznámější jsou testy organizace Transaction Processing Performance Council (TPC). Ta byla založena roku 1988 a dnes má okolo půl stovky platících členů (nechybí Microsoft, Oracle, Informix či Sybase). Bližší informace, včetně aktuálních výsledků prováděných testů, lze získat na Internetu www.tpc.org

Můžete mi vysvětlit pojem transakce?

Této problematice bychom se měli věnovat v některém z příštích dílů našeho seriálu. Stručně řečeno je transakce operací (skupinou operací), která by měla buď proběhnout úspěšně jako celek nebo být jako celek odvolána (například při chybě). Často uváděným příkladem je finanční pohyb mezi dvěma účty - částka musí být z jednoho odepsána a na druhý připsána. Pokud dojde (například) k výpadku systému při zápisu na účet příjemce, odepsání z účtu plátce se nepotvrdí.

Jakým způsobem se používá v podmínce LIKE?

Konstrukt LIKE se používá v podmínce za účelem omezení výběru podle části hodnoty řetězcové proměnné. Je zde určitá paralela s hvězdičkovou konvencí v případě jmen souborů. Podmínka může mít tyto základní podoby:

WHERE jméno LIKE `Ma%` všechny záznamy se jménem začínajícím na Ma

WHERE jméno LIKE `%el%` všechny záznamy se jménem obsahujícím el

WHERE jméno LIKE `_rek` všechny čtyřpísmenné záznamy končící na rek s libovolným počátečním znakem

Jaký je rozdíl mezi typy char a varchar?

V obou případech se jedná o řetězcové typy. To za prvé. Za druhé, v případě char je specifikována jeho přesná délka, v paměti tedy vždy (pro každý atribut typu char) zabírá stejný prostor. Hodnota může být do celkové délky doplňována například mezerami. Naproti tomu je v případě varchar specifikována maximální délka řetězce a takový atribut zabírá proměnlivou velikost paměti.

Používám systém Oracle a chybí mi typ serial, který jsem byl zvyklý používat v Informixu. Můžete mi poradit nějaký ekvivalentní typ? Žádný jsem nenašel.

Systém ORACLE nahrazuje datový typ serial objektem s názvem SEQUENCE, který disponuje dalšími možnostmi - je možné stanovit krok, počátek, konec či opakování řady. Nevýhodou oproti serialu je, že použití sekvence není až tak automatické; minimálně je nutný počáteční zásah správce systému (případně vývojáře) - vytvoření sekvence.

Je SQL jediný dotazovací jazyk?

Ne, není. SQL je pouze nejrozšířenější a nejpropracovanější, nikoli jediný. Mezi další jazyky, se kterými se můžeme setkat, patří QBE (Query By Example) implementovaný například v systému PARADOX či DATALOG (používaný v deduktivních databázích).

Setkal jsem se (bez vysvětlujícího popisu) s pojmem systémový katalog. O co jde?

Pod systémovým katalogem si můžeme představit databázové struktury (tabulky, pohledy, ...), ve kterých jsou uloženy informace o vlastní databázi - tedy o tabulkách, indexech, pohledech, uložených procedurách. Jednou z východ je to, že do systémového katalogu můžeme přistupovat pomocí běžných příkazů SQL. Například v již zmiňovaném systému ORACLE můžeme získat seznam všech uživatelů dotazem SELECT * FROM ALL_USERS.

Diskuze (1) Další článek: Internet do kapsy

Témata článku: Software, Programování, Výpadky paměti, Platící člen, Jediný rozdíl, Elite, Paradox, Jednotlivý díl, Složitý způsob, Like, Jednotlivá transakce, Serial, MA, Zápis, SQL, Přesná hodnota, Přesná částka, Jediný způsob


Určitě si přečtěte

PortraitPro: Vyzkoušeli jsme program, který prý udělá z každé „žáby“ krasavici

PortraitPro: Vyzkoušeli jsme program, který prý udělá z každé „žáby“ krasavici

** V digitálním světě nemůžete věřit všemu ** Nová generace 3D fotoeditorů zvládne divy ** Vyzkoušeli jsme PortraitPro, který vám změní i kontaktní čočky

Jakub Čížek | 10

Užijte si poslední změny času: Už od března 2019 můžeme mít trvale letní čas

Užijte si poslední změny času: Už od března 2019 můžeme mít trvale letní čas

** Evropská komise přijala legislativní návrh na zrušení střídaní času ** Možná tak v březnu 2019 přesuneme ručičky hodinek naposledy ** Od toho okamžiku bude permanentně platit letní čas

Karel Kilián | 96

Na Zemi je nejtepleji za posledních více než 100 tisíc let. Co nám hrozí?

Na Zemi je nejtepleji za posledních více než 100 tisíc let. Co nám hrozí?

** Letošní červenec byl třetím nejteplejším měsícem od roku 1880 ** Teplota naší planety roste raketovým tempem ** Co lidstvu hrozí v období, které v minulosti nemá obdoby?

Karel Kilián | 68

Cardano: kryptoměna nové generace, která se netěží, ale razí

Cardano: kryptoměna nové generace, která se netěží, ale razí

** Cardano je unikátní kryptoměna, která díky svým vlastnostem a schopnostem přitahuje pozornost ** Od Bitcoinu se zásadně liší ** Jejím smyslem není jen „koupit a prodat“, má pozoruhodné technologické možnosti

Martin Miksa | 29

Musk pošle lidi na oblet Měsíce. Japonský podnikatel Maezawa vezme na cestu až osm umělců

Musk pošle lidi na oblet Měsíce. Japonský podnikatel Maezawa vezme na cestu až osm umělců

** SpaceX chce nejdříve v roce 2023 vyslat lidi na oblet Měsíce ** Hlavním pasažérem bude japonský podnikatel Jusaku Maezawa, který vezme na cestu až 8 umělců ** Pětidenní cesta proběhne v chystané lodi BFS

Petr Kubala | 14

Nedávno detekovaná potulná planeta je ohromné magnetické monstrum

Nedávno detekovaná potulná planeta je ohromné magnetické monstrum

** Astronomové nedávno zaznamenali pozoruhodné prvenství ** Poprvé s radioteleskopem detekovali planetární objekt za hranicemi Sluneční soustavy ** Stejně tak poprvé změřili magnetické pole takové planety

Stanislav Mihulka | 6


Aktuální číslo časopisu Computer

Megatest: 13 grafických karet

Srovnání 7 dokovacích stanic s USB-C

Jak na perfektní noční fotografie

Kvalitní zdroje informací pro sebevzdělávání