Informatika pro ekonomy II Přednáška 10 doc. Mgr. Petr Suchánek, Ph.D. Katedra informatiky a matematiky suchanek@opf.slu.cz Dotazy Připomenutí z minulé přednášky – výběrový dotaz - návrhové zobrazení Zobrazení tabulek Výběr polí tabulek Vypočítaná položka Řádek definice řazení vybraných záznamů Řádky podmínek vybraných záznamů Zobrazení položek Dotazy Připomenutí z minulé přednášky – výběrový dotaz Tvorba počítaných výrazů: Akční dotazy Základní činnosti: ₋Vytvoří novou tabulku; ₋Přidají do existující tabulky nová data; ₋Aktualizují data v tabulce; ₋Odstraní data z tabulky. Karta Vytvoření – Dotazy – Návrh dotazu Akční dotazy – vytvářecí dotaz Umožňuje na základě dotazu vybrat záznamy a jejich vlastnosti z databáze a uložit je do nové tabulky: Akční dotazy – vytvářecí dotaz Výsledek po vytvoření vytvářecího dotazu: Akční dotazy – vytvářecí dotaz Zápis v SQL (Structured Query Language): SQL je standardizovaný strukturovaný dotazovací jazyk, který je používán pro práci s daty v relačních databázích. Zápis výběru v SQL: SELECT Osoby.Indx, Osoby.Jméno, Osoby.Příjmení, skupiny.[název skupiny], Garant.Telefon INTO [Tvorba nové tabulky] FROM Garant INNER JOIN (skupiny INNER JOIN Osoby ON skupiny.[Index skupiny] = Osoby.Skupina) ON Garant.[Index garan] = skupiny.Garant WHERE (((Osoby.Indx)>990 And (Osoby.Indx)<1000)) ORDER BY Osoby.Jméno; Akční dotazy – vytvářecí dotaz Spuštění vytvářecího dotazu: Výsledek Akční dotazy – přidávací dotaz Umožňuje na základě dotazu přidat do tabulky záznamy a jejich vlastnosti: Akční dotazy – přidávací dotaz Výsledek po vytvoření přidávacího dotazu: Akční dotazy – přidávací dotaz Zápis přidávacího dotazu v SQL: INSERT INTO [Tvorba nové tabulky] ( Indx, Jméno, Příjmení, Telefon ) SELECT Osoby.Indx, Osoby.Jméno, Osoby.Příjmení, Garant.Telefon FROM (Garant INNER JOIN skupiny ON Garant.[Index garan] = skupiny.Garant) INNER JOIN Osoby ON skupiny.[Index skupiny] = Osoby.Skupina WHERE (((Osoby.Příjmení)<"B")); Akční dotazy – přidávací dotaz Spuštění přidávacího dotazu: Výsledek Akční dotazy – aktualizační dotaz Umožňuje na základě dotazu aktualizovat data v existující tabulce: Akční dotazy – aktualizační dotaz Zápis aktualizačního dotazu v SQL: UPDATE [Tvorba nové tabulky] SET [Tvorba nové tabulky].Indx = [Tvorba nové tabulky]![Indx]+1000 WHERE ((([Tvorba nové tabulky].Indx)<900)); Akční dotazy – aktualizační dotaz Spuštění aktualizačního dotazu: Výsledek Akční dotazy – odstraňovací dotaz Umožňuje na základě odpovídajících kritérií v dotazu odstranit odpovídající informace. Odstraňovací dotazy odebírají všechna data všech polí včetně hodnoty klíče, díky níž je záznam jedinečný. Akční dotazy – odstraňovací dotaz Zápis odstraňovacího dotazu v SQL: DELETE [Tvorba nové tabulky].[název skupiny] FROM [Tvorba nové tabulky] WHERE ((([Tvorba nové tabulky].[název skupiny])="epsylon")); Akční dotazy – odstraňovací dotaz Spuštění odstraňovacího dotazu: Akční dotazy – odstraňovací dotaz Výsledek odstraňovacího dotazu: Původní data Data po odstranění Akční dotazy – křížový dotaz Křížový dotaz agreguje data pomocí dvou sad hodnot (analogie kontingenční tabulky) Akční dotazy – křížový dotaz Zápis křížového dotazu v SQL: TRANSFORM Sum(Osoby.leden) AS SumOfleden SELECT Osoby.Skupina FROM Osoby GROUP BY Osoby.Skupina ORDER BY Osoby.Skupina, Osoby.Mesto PIVOT Osoby.Mesto; Akční dotazy – křížový dotaz Výsledek spuštění křížového dotazu: • • Deváté cvičení 23 Dotazy: Výběrový Akční Viz Zadání_160502