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) | Internet do kapsy

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

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


Aktuální číslo časopisu Computer

Zachraňte nefunkční Windows

Jak nakupovat a prodávat kryptoměny

Otestovali jsme konvertibilní notebooky

Velký test 14 herních myší