====== 18. Dotazovací jazyk ====== Vysvětlení pojmu a účelu, základní členění, standardizace, příklady implementace. ===== Úloha ===== **Předpoklady:** Pracujete v projektu vývoje IS. Jako cílové implementační prostředí byl zákazníkem určen databázový systém Oracle. Zákazník se obává, zda navrhovaný systém bude dostatečně progresivní a ptá se, zda práce s daty v něm bude skutečně neprocedurální, neboť na semináři od firmy Oracle slyšel, že to tak má být. **Zadání:** * Posuďte, zda je dotazovací jazyk skutečně neprocedurální, nebo ne. * Co odpovíte svému zákazníkovi? ===== Teorie ===== Dotazovací jazyk umožňuje dávat i nepříliš kvalifikovaným uživatelům dotazy do databáze – snaha o to, aby se podobal jazyku běžnému. Je neprocedurální, tozn. říká co se má dělat, nikoliv jak. Nejznámější variantou je SQL, existují i tzv. tabulkové – QBE, QBF – uživatel „naklikává“ parametry výběru do tabulky. Je to user friendly, ale jinak k prdu. SQL – relační algebra (restrikce, projekce, spojení) transakce primární, sekundární klíče kritéria relačnosti Subdotazy – vnitřní dotaz pracuje nad výstupem vnějšího dotazu. Dotazovací jazyky se dělí na: DDL – data definition language – pro definici struktury dat DML – data manipulation language – SELECT, INSERT, UPDATE, DELETE DCL – data control language – pro ovládání databáze Standardizace: 1974 – jazyk SEQUEL – IBM 1979 – Oracle v 80. standardizace ANSI, ISO 1992 – SQL2 připravuje se verze SQL3 (snad) Existuje spousta implementací, které daný standard dodržují, nicméně dialekty se značně liší. ===== Praxe ===== Jo je. Ať si nedělá starosti.