SZKOLENIE SQL DLA EKSPERTÓW CZYLI, CZY ZNASZ SQLA?



Podobne dokumenty
Oracle11g: Wprowadzenie do SQL

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli.

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Zapytania do baz danych

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

15. Funkcje i procedury składowane PL/SQL

1.06 Wyświetl dane pracowników, którzy pracują w departamencie o nr (Id) różnym od 3.

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Zadania z SQLa (MS SQL Server)

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Szkolenia i warsztaty. cloud computing TWOJE NARZĘDZIA DO ZBUDOWANIA NOWEJ PRZYSZŁOŚCI TWOJEJ FIRMY CHMUROWISKO.PL

Plan wykładu BAZY DANYCH II WYKŁAD 4. Co to jest kursor? Rodzaje kursorów

Tworzenie raportów XML Publisher przy użyciu Data Templates

Temat : SBQL 1 obiektowy język zapytań.

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Oracle PL/SQL. Paweł Rajba.

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

7. Formularze master-detail

Wykład 8. SQL praca z tabelami 5

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Wprowadzenie do baz danych

PRZEWODNIK PO PRZEDMIOCIE

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

System imed24 Instrukcja Moduł Analizy i raporty

Oracle PL/SQL. Paweł Rajba.

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

5. Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów

Bazy danych i ich aplikacje

Język SQL. Rozdział 8. Język manipulowania danymi DML zadania

SQL (ang. Structured Query Language)

Tworzenie zapytań do Microsoft SQL Server

Wymagania: Konstrukcja prostych zapytań w języku SQL, umiejętność wykorzystania funkcji wierszowych i agregujących.

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.

Imię i Nazwisko Data Ocena. Laboratorium 7

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

(aktualizacja 30 kwietnia 2018)

Spis treści. Przedmowa

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Metody numeryczne Laboratorium 2

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Administracja i programowanie pod Microsoft SQL Server 2000

PODSTAWY BAZ DANYCH 13. PL/SQL

Język SQL. Rozdział 2. Proste zapytania

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych

Wprowadzenie do języka SQL

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Rozdział 17. Zarządzanie współbieżnością zadania

PODRĘCZNIK UŻYTKOWNIKA SYSTEMU MaxeBiznes MODUŁ KANCELARIA-Elektroniczny obieg faktury

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Wykład :45 BD-1 W_3

Cel szkolenia. Konspekt

Technologie baz danych

Microsoft SQL Server Podstawy T-SQL

Podstawy SQL. 1. Wyświetl całość informacji z relacji ZESPOLY. 2. Wyświetl całość informacji z relacji PRACOWNICY

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Twisted. Silnik Twojego Internetu. Jan Urbański Ducksboard. PyWaw #25, Warszawa, 10 czerwca 2013

Podstawy języka SQL cz. 2

3. Budowa prostych raportów opartych o bazę danych

PRZEDMIOTOWY SYSTEM OCENIANIA Z JĘZYKA POLSKIEGO DLA KLAS 4-6 SZKOŁY PODSTAWOWEJ

4. Budowa prostych formularzy, stany sesji, tworzenie przycisków

Lista zadań nr 1. Bazy danych laboratorium. dr inż. Grzegorz Bazydło, dr inż. Jacek Tkacz

Wykład XII. optymalizacja w relacyjnych bazach danych

Sage Migrator 2019.e Migracja do Sage 50c wersja 2019.a i 2019.b

INFORMATOR TECHNICZNY WONDERWARE. Odczytywanie danych z arkusza Excel za pomocą zapytań SQL do aplikacji InTouch

Budżetowanie by CTI Instrukcja

Lista zadań nr Wyświetlić imię i nazwisko dla każdego pracownika z departamentu DEP T NO o numerze 000.

Dodawanie operacji dodatkowych w WAPRO Mag.

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

QUERY język zapytań do tworzenia raportów w AS/400

Bloki anonimowe w PL/SQL

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Moduł skierowany jest do Studentów/ -tek psychologii z dwóch ostatnich semestrów studiów:

Przestrzenne bazy danych Podstawy języka SQL

Database Connectivity

Aplikacje WWW - laboratorium

EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne)

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

ERGODESIGN - Podręcznik użytkownika. Wersja 1.0 Warszawa 2010

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Paweł Rajba

Struktura bazy danych

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Biuletyn techniczny. Funkcje dodatkowe dla Clarion Report Writer CDN OPT!MA Copyright 2006 COMARCH S.A.

Ćwiczenie 3. Funkcje analityczne

Specjalnościowy Obowiązkowy Polski Semestr trzeci

Bazy danych. Dr inż. Paweł Kasprowski

Transkrypt:

SZKOLENIE SQL DLA EKSPERTÓW CZYLI, CZY ZNASZ SQLA?

CO ROZUMIEMY PRZEZ POZIOM EKSPERCKI? OTWARTA FORMUŁA Na szkoleniu nie przewidujemy sztywnej agendy. Rozwiązujemy każdy problem, który przyniosą uczestnicy. Definiujemy jedynie obszary wiedzy, w których się poruszamy. ZESTAW TRUDNYCH ZADAŃ Przygotowujemy dużą dawkę wysokowydajnych rozwiązań, których poziom trudności wykracza poza powszechnie dostępne źródła wiedzy. Przykład prezentujemy w teście 9 przykładów. KONFRONTACJA DOŚWIADCZEŃ Chcemy porównać problemy z jakimi deweloperzy i administratorzy zderzają się na swoich środowiskach produkcyjnych i zaproponować optymalne rozwiązania.

TEST 9 PRZYKŁADÓW. SPRAWDŹ CZY ZNASZ SQL A. Wprowadzenie Często słyszymy stwierdzenie: problemy wydajnościowe biorą z ze zbyt słabych serwerów, przeznaczonych do hostowania Nie jest to prawdą. Problemy wydajnościowe biorą się ze złych zapytań. Ze złych zapytań i nadmiernego programowania. Jak można programować nadmiernie? To proste - programowanie powinno zacząć się tam, gdzie kończy się moc języka zapytań. Czy wiesz gdzie kończy się ta moc? Sprawdź swoją wiedzę! Schemat HR. Szkoleniowy schemat Oracle'a dostępny dla każdej wersji serwera. Wszystkiego 215 wierszy w 7 tabelkach. Nie da się wymyślić tu żadnego trudnego zadania. Z pewnością nic, co wymagałoby więcej niż jednego... góra dwóch podzapytań. Prawda?

TEST 9 PRZYKŁADÓW. SPRAWDŹ CZY ZNASZ SQL A. Część 1 z 3. Rozgrzewka. 1 Znajdź 2 najlepiej zarabiających pracowników w każdym departamencie. Dopuszcza się maksymalnie 1 podzapytanie. 2 Znajdź pracowników zatrudnionych w roku, w którym było najwięcej zatrudnień. Ale tak, żebym w razie kaprysu mógł znaleźć takich z roku, w którym było najmniej zatrudnień. Albo z roku drugiego w kolejności pod względem zatrudnień. Nieskalowalne zapytania potrafią dać się we znaki podczas kastomizacji systemu dla Klienta zwłaszcza w module raportowym. (Maks 1 podzapytanie) 3 Dla wszystkich departamentów wyświetl nazwę departamentu oraz identyfikatory wszystkich pracowników w nim pracujących - identyfikatory powinny być oddzielone znakiem #.

TEST 9 PRZYKŁADÓW. SPRAWDŹ CZY ZNASZ SQL A. Część 2 z 3. Zadania właściwe. 4 Częstym problemem nadmiernych twardych parsowań są dynamiczne zapytania, zwłaszcza takie, dla których trzeba dostawić do IN dynamiczną listę wartości. Czyli w zależności od sytuacji zbudować zapytanie SELECT cośtam FROM tabela WHERE filtr IN (10,20,30) a potem SELECT cośtam FROM tabela WHERE filtr IN (10,30) a potem SELECT cośtam FROM tabela WHERE filtr IN (40,50,60,70,80)... Wszystko w zależności od tego co zostanie przekazane wyżej z aplikacji. Zdefiniujcie tak zapytanie, żeby można było posłużyć się w tym przypadku tylko jedną zmienną wiązaną. Żeby po przekazaniu stringa w postaci '10,20,30' nie było konieczności budowania dynamicznego SQL'a. (Aha, jak się uprzeć to da się to zrobić bez użycia nadmiernego programowania w PL/SQL). 5 Chciałbym zatrudnić w departamencie IT 5 nowych specjalistów w przeciągu najbliższego (niedoprecyzowanego) czasu. Nie chcę ich zatrudniać na raz ale kolejno... w jakichś odstępach (bliżej nie doprecyzowanych). Zabawa polega na tym, że każdemu następnemu będę proponował równowartość 80% bieżącej średniej pensji w departamencie. Czyli każdy następny będzie dostawał coraz mniej. Zapytanie ma pokazywać jak kolejno będą się zmieniały pensje nowo zatrudnianych ludzi i jak będą rosły wydatki na pensje pracowników. Rozwiązanie tego problemu nie powinno pociągnąć za sobą nadmiernego ruchu I/O czy zmian kontekstów, dlatego postaraj się rozwiązać problem bez użycia poleceń DML i pętli kursorowych w PL/SQL idealny byłby sam SQL w postaci jednego zapytania.

TEST 9 PRZYKŁADÓW. SPRAWDŹ CZY ZNASZ SQL A. Część 3 z 3. Problemy produkcyjne. 6 Kiedyś na szkoleniu kursant miał ciekawy problem związany ze swoją produkcją. Miał w dosyć ciekawy sposób zdefiniowaną hierarchię na tabeli - w kolumnie odpowiedzialnej za kategorie i podkategorie były... litery alfabetu. Wyglądało to na zasadzie - A AA AB AC AAB AAC AAD ABA ABC AD B BA BD BAD... i tak dalej... Zbudujcie tabelkę z takimi wartościami a następnie zapytanie hierarchiczne, które ułoży z tego drzewko. 7 8 9 W pewnej firmie był dosyć ciekawy problem raportowy. Była tabelka z kolumnami: id_pracownika, data_podwyzki, procent_podwyzki. Dla każdego pracownika była znana jego pierwsza pensja - wszystkie podwyżki były zaś zdefiniowane w tabeli, reprezentowanej przez wspomniane przeze mnie kolumny. Zadanie polegało na uzupełnieniu tej tabeli kolumną pensja, w której wyrażone byłyby wartości pensji po kolejnych podwyżkach. Rozwiąż problem jednym zapytaniem. W firmie ubezpieczeniowej był system, który stał na bazie Oracle. W bazie Oracle była tabelka - id_konta, ilosc_subkont. Dla każdego konta trzeba było wygenerować żądaną ilość subkont o pewnej wyrafinowanej formie nazewniczej. Na potrzeby ćwiczenia przyjmijmy, że ta wyrafinowana forma to ID_KONTA_GLOWNEGO.KOLEJNY_NUMER_SUBKONTA. Uwaga na zmiany kontekstów i niepotrzebne operacje DML. Da się to zrobić jednym zapytaniem SQL. W library cache zlokalizuj zapytania o takich samych planach wykonania ale różnych treściach czyli takie, które uległy zbędnym twardym parsowaniom.

CO DALEJ? TAK CZY UDAŁO CI SIĘ ROZWIĄZAĆ PRZYKŁADOWE ZADANIA? NIE W TEMACIE SQLA PRAWDOPODOBNIE NIE MOŻEMY CI POMÓC ZAPRASZAMY NA SZKOLENIE. NAJBLIŻSZE: 18 20 LUTEGO W POZNANIU

INFORMACJE RAMOWE Termin: 18 20 lutego 2013 Czas trwania: 3 dni Cena netto: 1900 zł/os. Prowadzący: Kamil Stawiarski Liczebność grupy: do 10 osób

ZAPISZ SIĘ ul. Piątkowska 161 60-650 Poznań Kamila Marciniak Tel: 61 661 10 89 E-mail: kamila.marciniak@itschool.pl www.itschool.pl