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


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

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

** Pornografie údajně představuje třetinu internetové obsahu a je technologický tahounem ** Do erotického obsahu postupně zasahuje i virtuální realita ** Kromě vizuálního vjemu se pracuje také na virtuálním uspokojení toho hmatového

Jan Dudek | 32

Osudová havárie Concordu: Před 18 lety přišel konec nadzvukových dopravních letadel

Osudová havárie Concordu: Před 18 lety přišel konec nadzvukových dopravních letadel

** Concorde byl nejrychlejším dopravním letadlem ** Atlantik dokázal přeletět za cca 3 až 3,5 hodiny ** Před osmnácti lety tragická havárie provoz těchto letadel prakticky ukončila

David Polesný, Jiří Černý | 39

Kryptoměnový milionář staví v Nevadě obří utopické město využívající blockchain na vše

Kryptoměnový milionář staví v Nevadě obří utopické město využívající blockchain na vše

** V USA vzniká rozsáhlý projekt postavený na blockchainu ** Milionář staví město, které bude fungovat zcela na blockchainu ** Blockchain bude základem pro vše, například i platby, ověřování identity a podobně

Karel Javůrek | 41

Vybrali jsme 16 programovatelných hraček a stavebnic pro děti. A vlastně i pro vás

Vybrali jsme 16 programovatelných hraček a stavebnic pro děti. A vlastně i pro vás

** Získejte děti pro matematiku a základy techniky ** Kupte jim hračku nebo stavebnici, které vdechnou vlastní život ** Vybrali jsme 16 stavebnic pro nejmenší caparty i vás samotné

Jakub Čížek | 12



Aktuální číslo časopisu Computer

Nejlepší programy pro úpravu fotek zdarma

Externí disky pro zálohu dat

Velký test: herní notebooky

Srovnání 12 batohů