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í, Jediný rozdíl, Jediný způsob, Jednotlivý díl, Paradox, Like, Výpadky paměti, Zápis, Elite, SQL, Složitý způsob, MA, Přesná částka, Serial, Jednotlivá transakce, Platící člen, Přesná hodnota


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

Šmírovačka kamerami Googlu: Koukněte se, co nového zachytily na Street View

Šmírovačka kamerami Googlu: Koukněte se, co nového zachytily na Street View

Google stále fotí celý svět do své služby Street View. A novodobou zábavou je hledat v mapách Googlu vtipné záběry. Podívejte se na výběr nejlepších!

redakce | 43

Blíží se Juno. Jeden z nejhezčích Linuxů pro normální lidi

Blíží se Juno. Jeden z nejhezčích Linuxů pro normální lidi

** Ubuntu a Fedora patří k nejpopulárnějším linuxovým OS pro desktop ** A pak je tu zástup dalších nebo jejich odvozenin ** Jedním z nich je Elementary OS, který se brzy dočká novinek

Jakub Čížek | 71

Rekordy počasí: V Česku to ještě jde, skutečné extrémy zažívají jinde

Rekordy počasí: V Česku to ještě jde, skutečné extrémy zažívají jinde

** Teplotní extrémy dokážou překvapit. Seznamte se s rekordy v Česku i ve světě ** Rekordní hodnoty jsou mnohdy až k neuvěření ** Zjistěte, kdy ke bylo největší horko, zima, déšť či vítr

Karel Kilián | 7

Našli jsme 22 schopných internetových prohlížečů: Vyberte si, který vám nejvíc sedne

Našli jsme 22 schopných internetových prohlížečů: Vyberte si, který vám nejvíc sedne

** Není jen Chrome, Firefox, Edge či Opera. Na výběr máte mnohem více! ** Internetové prohlížeče se liší funkcemi, zaměřením i designem. Našli jsme 22 použitelných prohlížečů pro Windows ** Vyberte si prohlížeč, který vám bude nejvíce vyhovovat

Karel Kilián | 30

Google ADT-2: Miniaturní krabička s Android TV 8.0, kterou si nikdy nekoupíte

Google ADT-2: Miniaturní krabička s Android TV 8.0, kterou si nikdy nekoupíte

** Dlouho se nevědělo, co to přesně má být ** Pak se s krabičkou Google pochlubil na I/O ** Do „Chromecastu“ vtěsnal celý Android TV

Jakub Čížek | 22


Aktuální číslo časopisu Computer

Kdy necháme řídit chytrá auta?

6 Wi-Fi Mesh systémů ve velkém testu

Srovnali jsme 7 sportovních kamer

Znáte pravidla pro létání s drony?