Databáze zabírají stále více prostoru v našich životech. Používají se ve společnostech a bankách, obchodech a skladech. Tváří v tvář s nimi v každodenním životě, mnozí se chtějí naučit řídit databáze. Proto v článku uvedeme čtenáře do konceptu požadavků.
Dotazy v databázi jsou speciální příkazy, které mění data v tabulkách a získávají od nich potřebné informace. Tyto příkazy lze aplikovat jak na tabulky, tak na ostatní objekty databáze - indexy, spouštěče, pohledy, stejně jako na databázi jako celek. Současně mohou DBMS (systémy pro správu databází) provádět změny v celé tabulce, stejně jako v jednotlivých záznamech a skupinách řádků.
Typy příkazů závisí na tom, pro co jsou požadavky určeny a jaké akce provádějí. Existují dva hlavní typy operací:
Druhý typ obsahuje příkazy, které provádějí změny v databázi: vkládání, nahrazování a mazání polí nebo řádků. Všechny operace jsou také rozděleny do následujících typů:
První typ používá speciální návrhář dotazů. Takový průvodce pro vytváření týmů je v přístupu DBMS. Umožňuje vytvářet dotazy uživatelům bez zvláštních znalostí.
SQL dotaz vytváří programátor pomocí speciálních instrukcí.
Hlavním jazykem téměř všech DBMS je SQL. Jedná se o flexibilní příkazový systém, který vám umožňuje získat potřebné informace z tabulek, které splňují stanovené podmínky. Pomocí tohoto jazyka můžete provádět výběr a provádět změny v databázových objektech.
Pro zpracování dokumentů ve formátu XML - rozšiřitelný značkovací jazyk - jsou zahrnuty speciální jazyky dotazu. Jedná se o XQuery a XPath, druhá slouží k dotazování prvků dokumentu.
Nejžádanější operací v databázi je získání dat z tabulek, pro které jsou určeny požadavky na vzorkování. Tyto příkazy umožňují zobrazit potřebná data z databáze podle zadaných podmínek. Za tímto účelem uživatel "Návrháře dotazů" nebo programátor určuje seznam polí (sloupců), které chce přijímat, přidělí jim jména a umístí je do požadovaného pořadí.
Příkaz může být bezpodmínečný nebo s danými parametry. V prvním případě bude uživateli vrácena řada dat obsahující všechny řádky v tabulce. Ve druhé - pouze ty řádky, které splňují požadavek. Můžete tedy nastavit omezení - nastavte filtr na potřebná data.
Získané informace lze také třídit podle jednoho nebo několika polí, kombinovat řádky podle některého atributu a provádět výpočty pomocí funkcí. Jedná se o souhrnné funkce, které počítají počet, množství, aritmetický průměr polí a další součty.
Ve vzorcích se skládá několik tabulek, které se navzájem propojují podle požadovaného atributu a získávají konečnou tabulku obsahující informace z několika zdrojů.
Pokusíme se vytvořit vzorek v aplikaci Access, pro který jsou určeny dotazy v konstruktoru. V databázi vytvoříme tabulku "Studenti".
Kód | Jméno studenta | Jméno studenta | Datum narození | Fakulta | Kurz |
1 | Ivan | Ivanov | 05/16/1999 | Technologické | 3 |
2 | Sergey | Kozlov | 01/19/1999 | Ekonomický | 3 |
3 | Valery | Pyatkin | 12.22.2000 | Ekonomický | 2 |
4 | Timofey | Treshotkin | 05/01/2001 | Právní | 1 |
Otevřete kartu "Vytvořit" a vyberte položku "Návrh dotazu". Přidejte tabulku "Studenti". Chcete-li vybrat požadovaná pole, klikněte na ně dvakrát. V dolní části okna přidáme třídění v případě potřeby a další podmínky výběru.
Po kliknutí na tlačítko "Spustit" v záložce "Návrhář" se v okně objeví výsledky výběru.
Stejné výsledky lze získat pomocí dotazu SQL. Přechod do režimu SQL probíhá v položce kontextové nabídky. Naše činnost zde vypadá takto:
SELECT Студенты.[Имя студента], Студенты.[Фамилия студента], Студенты.[Дата рождения]
FROM Студенты
ORDER BY Студенты.[Имя студента];
Podobně můžete vytvářet a provádět příkazy na vzorku několika tabulek s parametry a součty.
Tento typ operace se používá k vložení nových řádků do existující tabulky databáze. Můžete přidat konkrétní hodnoty pole, nebo můžete extrahovat informace z jedné tabulky a přidat je do jiné. Jak načíst data, my už víme, podívejme se, jak přidat řádky.
Vytvořte další tabulku "Nové studenty" a přidejte do ní dvě položky:
Kód | Jméno | Příjmení | Datum narození |
1 | Jurij | Semenov | 11.12.2002 |
2 | Alexey | Toropov | 13. srpna 2002 |
A nyní tyto údaje vložíme do tabulky "Studenti" pomocí nástroje "Query Builder". Chcete-li to provést, na kartě "Designer" vyberte položku "Přidat" a v otevřeném okně vyberte tabulku "Studenti", do které budou vložena data. V okně dotazu přidáme tabulku "Nové studenty", ze které budeme dělat poznámky. Vyberte pole, informace, ze kterých budou přidány do tabulky "Studenti":
A spusťte dotaz. Stůl začal vypadat takto.
V jazyce dotazu SQL, který chcete přidat, převezme následující formulář:
INSERT INTO Студенты ( [Имя студента], [Фамилия студента], [Дата рождения] )
SELECT [Новые Студенты].Имя, [Новые Студенты].Фамилия, [Новые Студенты].[Дата рождения]
FROM [Новые Студенты];
Často je třeba provádět změny již existujících záznamů tabulky, pro které jsou určeny požadavky na změnu údajů. Analogicky s předchozími operacemi se to může provádět jak na všech linkách, tak i na těch, které splňují kritéria výběru.
Nyní v tabulce "Studenti" existují dvě položky s prázdnými poli "Fakulta" a "Kurz" - nedávno přidané řádky. Změníme je a do těchto sloupců zadejte potřebná data.
Student Semenov vstoupil do prvního ročníku právnické školy. V Návrháři dotazů vyberte typ příkazu "Aktualizovat" a přidejte potřebná data a podmínky pro změnu záznamů. Potřebujeme změnit dvě pole, a proto zadáváme údaje, které se mají změnit ve dvou sloupcích parametrů dotazu - pole "Fakulta" v tabulce "Studenti" by mělo mít hodnotu "Právní", pole "Kurz" stejné tabulky - hodnota "1". Ve třetím sloupci vytvoříme podmínku, pomocí níž si vybereme údaje pro změnu. Název studenta "Studenti" by měl být "Semenov".
V režimu SQL vidíme:
UPDATE Студенты SET Студенты.Факультет = "Юридический", Студенты.Курс = 1
WHERE Студенты.[Фамилия студента]="Семенов";
Proveďte operaci a získáte výsledek.
A nakonec existují situace, kdy jsou některé záznamy zbytečné a měly by být smazány, pro které jsou v DBMS určeny požadavky na odstranění řádků. Uveďme příklad takového týmu, který zrušil nově přidaný příspěvek z tabulky "Studenti" - student Alexey Toropov.
V "Návrháři dotazů" vyberte typ "Odstranit" a vytvořte příkaz s použitím následujících podmínek:
V režimu SQL se zobrazí text:
DELETE
FROM Студенты
WHERE Студенты.[Фамилия студента]="Торопов";
Po provedení příkazu získáme výsledek v tabulce:
Tak jsme se v praxi naučil, co jsou dotazy v databázi. Jejich odrůda je větší a aplikace je širší, než je popsáno v tomto článku. Pokud máte zájem o předmět databází, můžete pokračovat ve studiu na vlastní pěst.