Bazy danych laboratorium dr inż. Grzegorz Bazydło, dr inż. Jacek Tkacz G.Bazydlo@iie.uz.zgora.pl, www.uz.zgora.pl/~gbazydlo Lista zadań nr 1 Zagadnienia Poznanie narzędzia DBeaver. Konfiguracja połączenia z bazą danych DB2 w narzędziu DBeaver. Tworzenie podstawowych zapytań w języku SQL. Podstawowe informacje na temat narzędzia DBeaver oraz polecenia SELECT z języka SQL 1. Narzędzie DBeaver DBeaver Community Edition (dbeaver.jkiss.org) jest bezpłatnym narzędziem do zarządzania bazą danych. Do poprawnego działania wymaga zainstalowanego środowiska JRE (www.java.com/pl/download). Do utworzenia połączenia z bazą danych wymagane są sterowniki, które podczas tworzenia nowego połączenia program powinien pobrać automatycznie. Sterownik do podłączenia bazy danych DB2 z/os należy pobrać (www.dbschema.com/db2-jdbc-driver.html) i zainstalować ręcznie dodając go w menadżerze sterowników (Driver Manager): 1
Po dodaniu sterownika można już utworzyć nowe połączenie z bazą danych: W kolejnym kroku podajemy szczegóły połączenia z bazą danych DB2 wykorzystywaną na zajęciach i weryfikujemy poprawność połączenia za pomocą przycisku Test Connection: Parametry połączenia: Host: sintra.imei.uz.zgora.pl Database/Schema: jedna z wartości sample1, sample2,, sample8 (zapytaj prowadzącego!) User name: db2inst1 Password: db2inst2014 2
Po przetestowaniu połączenia z bazą danych potwierdzonym stosownym komunikatem należy przejść przez kolejne kroki tworzenia połączenia nie zmieniając żadnych ustawień: Po poprawnym połączeniu z bazą danych, w obszarze Database Navigator widoczna będzie struktura bazy. Po uruchomieniu nowego okna edytora (przycisk New SQL Editor lub skrót Ctrl+Alt+L) można już wprowadzać zapytania do bazy danych i obserwować wyniki w dolnej części okna. 2. Polecenie SELECT z języka SQL Ogólna postać polecenia SELECT na potrzeby niniejszego ćwiczenia wygląda następująco: SELECT kolumny FROM tabele WHERE warunek selekcji ORDER BY kolumny (kryteria sortowania) ; 3
3. Opis bazy danych wykorzystywanej w ćwiczeniu Tabela EMPLOYEE (ang. Zatrudniony) alias EMP Kolumna Description 1 Znaczenie Typ EMPNO Employee number Nr pracownika CHAR(6) FIRSTNME First name of employee Imię pracownika VARCHAR(12) LASTNAME Last name of employee Nazwisko pracownika VARCHAR(15) WORKDEPT ID of department in which the Identyfikator działu, w którym employee works pracuje pracownik CHAR(3) HIREDATE Date of hire Data zatrudnienia DATE JOB Job held by the employee Stanowisko CHAR(8) SALARY Yearly salary in dollars Roczna pensja ($) DECIMAL(9,2) BONUS Yearly bonus in dollars Roczna premia ($) DECIMAL(9,2) COMM Yearly commission in dollars Roczna prowizja ($) DECIMAL(9,2) Zadanie 1 Wyświetl numery pracowników (EMPNO) i nazwiska (LASTNAME) z tabeli EMPLOYEE w taki sposób, aby były wyświetlone w jednej kolumnie i opatrz ją nagłówkiem PERSON (jak poniżej). PERSON -------------- 000010HAAS 000020THOMPSON 000030KWAN... Zadanie 2 Zmodyfikuj wynik zadania pierwszego tak, aby dane w kolumnie PERSON wyświetlone były w następujący sposób: numer pracownika, myślnik, nazwisko (jak poniżej). PERSON ----------------- 000010 - HAAS 000020 - THOMPSON 000030 - KWAN... Zadanie 3 Wyświetl imiona, nazwiska oraz pensje pracowników i posortuj je alfabetycznie według nazwisk. Zadanie 4 Wyświetl wszystkie dane pracowników i posortuj je według daty ich zatrudnienia począwszy od pracowników ostatnio zatrudnionych. Zadanie 5 Wyświetl wszystkie dane pracowników i posortuj je rosnąco wg identyfikatora działu oraz malejąco wg pensji. Zadanie 6 Wyświetl wszystkie wzajemnie różne stanowiska pracy (jak poniżej). JOB --------- ANALYST CLERK DESIGNER FIELDREP MANAGER OPERATOR PRES SALESREP 1 źródło: https://www.ibm.com/support/knowledgecenter/ssepek_11.0.0/com.ibm.db2z11.doc.intro/src/tpc/db2z_sampletablesemployeemain.dita 4
Zadanie 7 Wybierz wszystkie wzajemnie różne kombinacje wartości: identyfikator działu i stanowisko (jak poniżej). WORKDEPT JOB ------------ A00 CLERK A00 PRES A00 SALESREP B01 MANAGER C01 ANALYST C01 MANAGER D11 DESIGNER D11 MANAGER D21 CLERK D21 MANAGER E01 MANAGER E11 MANAGER E11 OPERATOR E21 FIELDREP E21 MANAGER Zadanie 8 Wyświetl nazwiska, numery pracowników, stanowiska i identyfikatory działów wszystkich pracowników zatrudnionych na stanowisku CLERK. Zadanie 9 Wyświetl nazwiska i premie tych pracowników, których premia jest mniejsza lub równa 300 $. Zadanie 10 Wyświetl nazwiska, pensje, prowizje i premie tych pracowników, których suma (rocznej) prowizji i (rocznej) premii przekracza ich średnią miesięczną pensję. Zadanie 11 Wyświetl nazwiska, pensje, prowizje i premie tych pracowników, których średnie miesięczne zarobki (pensja wraz z prowizją i bonusem) mieszczą się pomiędzy 6 000 $ a 10 000 $. Zadanie 12 Wyświetl imiona oraz nazwiska tych pracowników, których nazwiska są czteroliterowe. Zadanie 13 Wyświetl imiona, nazwiska, identyfikatory działów i stanowiska tych pracowników, którzy zatrudnieni są na stanowisku MANAGER (bez względu na rodzaj działu), a także tych pracowników z działu D21, którzy zatrudnieni są na stanowisku CLERK. Zadanie 14 Wyświetl imiona, nazwiska, identyfikatory działów i stanowiska tych pracowników, którzy zatrudnieni są w działach D11 lub D21 i posortuj je rosnąco wg nazwisk. Zadanie 15 Wyświetl nazwiska i stanowiska tych pracowników, którzy zatrudnieni są w dziale D21 na stanowisku CLERK. Zadanie 16 Wyświetl imiona i nazwiska tych pracowników, w których nazwisku występuje ciąg TH lub LL. Zadanie 17 (bonus) Podaj imię, nazwisko i stanowisko pracownika, który w firmie zarabia najwięcej (suma rocznej pensji, prowizji i premii). 5