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

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

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

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

SQL do zaawansowanych analiz danych część 1.

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

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

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

Klasyczna Analiza Danych

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

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

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

Ćwiczenie 6 - DML. Tworzenie, modyfikacja i usuwanie krotek. Podstawy poleceń COMMIT i ROLLBACK. Ćwiczenie 6 DML. Wymagania: Bazy Danych

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

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach

Bazy Danych i Usługi Sieciowe

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Relacyjny model danych. Relacyjny model danych

MongoDB. mini przewodnik. Instytut Informatyki, Politechnika Poznańska. v

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania

MongoDB. mini przewodnik. Instytut Informatyki, Politechnika Poznańska. v

Język PL/SQL. Rozdział 6. Procedury wyzwalane

Procedury wyzwalane. Rozdział 13. Procedury wyzwalane. Cele stosowania procedur wyzwalanych. Definiowanie procedury wyzwalanej DML

Rozdział 14 Funkcje analityczne

Język SQL. Rozdział 2. Proste zapytania

Bazy danych i usługi sieciowe

Ćwiczenie zapytań języka bazy danych PostgreSQL

Widok Connections po utworzeniu połączenia. Obszar roboczy

ACESS- zadania z wykorzystaniem poleceń SQL

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

Normalizacja 1NF, 2NF, 3NF, BCNF, 4NF, 5NF

Laboratorium Bazy danych SQL 3 1

Kursor. Rozdział 10a Kursory. Otwieranie kursora. Deklarowanie kursora

Obiektowe bazy danych Ćwiczenia laboratoryjne (?)

Struktura bazy danych

1. Język T SQL wprowadzenie do tworzenia zapytań i modyfikowania bazy danych

Kursor jawny. Rozdział 10a Kursory. Deklarowanie kursora (1) Deklarowanie kursora (2)

Język PL/SQL. Rozdział 2. Kursory

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

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

Funkcje. Rozdział 3. Funkcje. Funkcje znakowe (1) Funkcje wierszowe

Bazy Danych i Usługi Sieciowe

Deklarowanie kursora

1. Wyzwalacze BD (ang. triggers)

Normalizacja. Wzorce projektowe semantyka atrybutów relacji. Ocena poprawności schematu

W y k ł a d SELECT. Polecenie wyświetlające zawartość tabeli. Składnia uproszczona: Temat: Polecenie SELECT. Plan wykładu:

Bazy danych i usługi sieciowe

Ćwiczenie 3 funkcje agregujące

Wprowadzenie do języka SQL

Ćwiczenie 4 - połączenia

Kursory i wyjątki. (c) Instytut Informatyki Politechniki Poznańskiej 1

Laboratorium Bazy danych SQL 2

Plan ćwiczenia. Rozdział 17 Zarządzanie współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych

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

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus

Plan ćwiczenia. Rozdział 17. zarządzania współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych

bazy danych - heterogeniczność producenci funkcjonalność modele danych protokoły komunikacyjne

Kursory. A. Pankowska 1

Przestrzenne bazy danych Podstawy języka SQL

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

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

Struktura bazy danych

SQL (ang. Structured Query Language)

Optymalizacja poleceń SQL Wprowadzenie

Ćwiczenie 5 podzapytania

Ćwiczenie 1 podstawy

Relacyjny model danych. Relacyjny model danych

Systemy baz danych 2 laboratorium Projekt zaliczeniowy

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

Bazy danych. Dr inż. Paweł Kasprowski

PL/SQL co, gdzie i dlaczego?

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

15. Funkcje i procedury składowane PL/SQL

P o d s t a w y j ę z y k a S Q L

Ref. 7 - Język SQL - polecenia DDL i DML

Optymalizacja poleceń SQL

Wykład 05 Bazy danych

1. Pobierz plik z diagramem związków encji schematu Uczelnia (MS Visio) oraz plik ze skryptem tworzącym tabele i wypełniający je danymi, z zasobu:

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Ćwiczenie 9 współbieŝność

PODSTAWY BAZ DANYCH 13. PL/SQL

Typy Oracle atrybutów relacji Typ NUMBER (1)

Wykład 8. SQL praca z tabelami 5

Typy Oracle atrybutów relacji Typ NUMBER (1)

WPROWADZENIE DO JĘZYKA SQL

Baza danych inside. Biologiczne Aplikacje Baz Danych

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

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

Wykład 5. SQL praca z tabelami 2

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

Zadania z SQLa (MS SQL Server)

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

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

Język PL/SQL Procedury i funkcje składowane

Przygotowanie do egzaminu. część I

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Transkrypt:

Język SQL. Rozdział 8. Język manipulowania danymi DML zadania 1. Wstaw do relacji PRACOWNICY trzy nowe rekordy: Nazwa atrybutu 1. rekord 2. rekord 3. rekord ID_PRAC 250 260 270 KOWALSKI ADAMSKI NOWAK ETAT ASYSTENT ASYSTENT ADIUNKT ID_SZEFA ZATRUDNIONY 13 stycznia 2015 r. 10 września 2014 r. 1 maja 1990 r. PLACA_POD 1500 1500 2050 PLACA_DOD 540 ID_ZESP 10 10 20 SQL> insert into PRACOWNICY... Wykonaj zapytanie, które wyświetli wszystkie informacje o dodanych w p. 1. pracownikach. ------- --------- -------- -------- ----------- ---------- ---------- ---------- 250 KOWALSKI ASYSTENT 2015-01-13 1500 10 260 ADAMSKI ASYSTENT 2014-09-10 1500 10 270 NOWAK ADIUNKT 1990-05-01 2050 540 20 2. Dodanym w p. 1. pracownikom zwiększ płacę podstawową o 10% a dodatkową o 20% (jeśli pracownik nie miał do tej pory płacy dodatkowej, ustaw ją na wartość 100). Użyj tylko jednego polecenia! Następnie wykonaj zapytanie, które sprawdzi poprawność modyfikacji. ------- --------- -------- -------- ----------- ---------- ---------- ---------- 250 KOWALSKI ASYSTENT 2015-01-13 1650 100 10 260 ADAMSKI ASYSTENT 2014-09-10 1650 100 10 270 NOWAK ADIUNKT 1990-05-01 2255 648 20 3. Wstaw do relacji ZESPOLY rekord opisujący nowy zespół o nazwie BAZY DANYCH, identyfikatorze równym 60 i lokalizacji PIOTROWO 2. SQL> insert into ZESPOLY... 1

Wykonaj zapytanie, które wyświetli wszystkie dane dodanego zespołu. ID_ZESP NAZWA ADRES ---------- --------------- 60 BAZY DANYCH PIOTROWO 2 4. Przenieś dodanych w punkcie 1. pracowników do zespołu BAZY DANYCH. W poleceniu użyj podzapytania, które wyszuka w relacji ZESPOLY identyfikator zespołu BAZY DANYCH (nie podawaj go wprost w poleceniu!) Sprawdź, wykonując odpowiednie zapytanie, jacy pracownicy należą teraz do zespołu BAZY DANYCH. ------- --------- -------- -------- ----------- ---------- ---------- ---------- 250 KOWALSKI ASYSTENT 2015-01-13 1650 100 60 260 ADAMSKI ASYSTENT 2014-09-10 1650 100 60 270 NOWAK ADIUNKT 1990-05-01 2255 648 60 5. Ustaw wszystkim pracownikom zespołu BAZY DANYCH pracownika o nazwisku MORZY jako szefa (zapytanie, wyszukujące w relacji PRACOWNICY identyfikator pracownika MORZY powinno być częścią polecenia UPDATE). Wyświetl teraz nazwiska wszystkich pracowników, których bezpośrednim przełożonym jest pracownik MORZY. ------- ------------ --------- -------- ----------- --------- --------- ------- 190 MATYSIAK ASYSTENT 140 1993-09-01 371 20 200 ZAKRZEWICZ STAZYSTA 140 1994-07-15 208 30 250 KOWALSKI ASYSTENT 140 2015-01-13 1650 100 60 260 ADAMSKI ASYSTENT 140 2014-09-10 1650 100 60 270 NOWAK ADIUNKT 140 1990-05-01 2255 648 60 6. Spróbuj usunąć z relacji ZESPOLY rekord opisujący zespół o nazwie BAZY DANYCH. SQL> delete from ZESPOLY... Czy polecenie zakończyło się sukcesem? Jeśli nie dlaczego? 2

7. Usuń wszystkich pracowników, którzy należą do zespołu BAZY DANYCH. Następnie ponów operację usunięcia zespołu BAZY DANYCH. SQL> delete from PRACOWNICY... SQL> delete from ZESPOLY... Sprawdź, wykonując odpowiednie zapytania, czy rekordy z relacji ZESPOLY i PRACOWNICY zostały usunięte. 8. Skonstruuj zapytanie, które dla każdego pracownika wyliczy kwotę podwyżki, jaką dostanie. Podwyżka powinna być równa 10% średniej płacy podstawowej w zespole, do którego należy pracownik. PLACA_POD PODWYZKA ---------- BIALY 250 50,2 BLAZEWICZ 1350 135 BRZEZINSKI 960 61,66 HAPKE 480 50,2 JEZIERSKI 439,7 61,66 KONOPKA 480 61,66 KOSZLAJDA 590 61,66 KROLIKOWSKI 645,5 61,66 MAREK 410,2 107,01 MATYSIAK 371 61,66 MORZY 830 61,66 SLOWINSKI 1070 50,2 WEGLARZ 1730 107,01 ZAKRZEWICZ 208 50,2 9. Zrealizuj podwyżkę z poprzedniego punktu. 14 wierszy zostało zmodyfikowanych. PLACA_POD BIALY 300,2 BLAZEWICZ 1485 BRZEZINSKI 1021,66 HAPKE 530,2 JEZIERSKI 501,36 KONOPKA 541,66 KOSZLAJDA 651,66 KROLIKOWSKI 707,16 MAREK 517,21 MATYSIAK 432,66 MORZY 891,66 SLOWINSKI 1120,2 WEGLARZ 1837,01 ZAKRZEWICZ 258,2 3

10. Wyświetl dane pracowników, którzy zarabiają najmniej. Weź pod uwagę tylko wartość płacy podstawowej. ------- ------------ ------- --------- ----------- --------- --------- ------- 200 ZAKRZEWICZ STAZYSTA 140 1994-07-15 258,2 30 11. Daj kolejną podwyżkę, tym razem tylko najmniej zarabiającym pracownikom. Ustaw im płacę podstawową na wartość równą średniej płacy podstawowej wszystkich pracowników (dokonaj zaokrąglenia wartości płacy do dwóch miejsc po przecinku). 1 wiersz został zmodyfikowany. ------- ------------ ------- --------- ----------- --------- --------- ------- 200 ZAKRZEWICZ STAZYSTA 140 1994-07-15 771,13 30 12. Uaktualnij płace dodatkowe pracowników zespołu 20. Nowe płace dodatkowe mają być równe średniej płacy podstawowej pracowników, których przełożonym jest pracownik MORZY. PLACA_DOD BRZEZINSKI JEZIERSKI 80,5 KONOPKA KOSZLAJDA KROLIKOWSKI MATYSIAK MORZY 105 7 wierszy zostało zmodyfikowanych. PLACA_DOD BRZEZINSKI 601,9 JEZIERSKI 601,9 KONOPKA 601,9 KOSZLAJDA 601,9 KROLIKOWSKI 601,9 MATYSIAK 601,9 MORZY 601,9 4

13. Pracownikom zespołu o nazwie SYSTEMY ROZPROSZONE daj 25% podwyżkę (płaca podstawowa). Tym razem zastosuj modyfikację operacji połączenia. PLACA_POD BRZEZINSKI 1021,66 JEZIERSKI 501,36 KONOPKA 541,66 KOSZLAJDA 651,66 KROLIKOWSKI 707,16 MATYSIAK 432,66 MORZY 891,66 7 wierszy zostało zmodyfikowanych. SQL> select... PLACA_POD BRZEZINSKI 1277,08 JEZIERSKI 626,7 KONOPKA 677,08 KOSZLAJDA 814,58 KROLIKOWSKI 883,95 MATYSIAK 540,83 MORZY 1114,58 14. Usuń bezpośrednich podwładnych pracownika o nazwisku MORZY. Zastosuj usuwanie krotek z wyniku połączenia relacji. PRACOWNIK SZEF ----- MATYSIAK MORZY ZAKRZEWICZ MORZY SQL> delete from... 2 wierszy zostało usuniętych. nie wybrano żadnych wierszy 5

15. Wyświetl aktualną zawartość relacji PRACOWNICY. SQL>... ID_PRAC ETAT ID_SZEF ZATRUDNI PLACA_POD PLACA_DOD ID_ZES ------- ----------- -------- ------- -------- --------- --------- ------ 210 BIALY STAZYSTA 130 93/10/15 300,2 170,6 30 110 BLAZEWICZ PROFESOR 100 73/05/01 1485 210 40 130 BRZEZINSKI PROFESOR 100 68/07/01 1277,08 601,9 20 230 HAPKE ASYSTENT 120 92/09/01 530,2 90 30 170 JEZIERSKI ASYSTENT 130 92/10/01 626,7 601,9 20 220 KONOPKA ASYSTENT 110 93/10/01 677,08 601,9 20 160 KOSZLAJDA ADIUNKT 130 85/03/01 814,58 601,9 20 150 KROLIKOWSKI ADIUNKT 130 77/09/01 883,95 601,9 20 180 MAREK SEKRETARKA 100 85/02/20 517,21 10 140 MORZY PROFESOR 130 75/09/15 1114,58 601,9 20 120 SLOWINSKI PROFESOR 100 77/09/01 1120,2 30 100 WEGLARZ DYREKTOR 68/01/01 1837,01 420,5 10 12 wierszy zostało wybranych. Sekwencje zadania 16. Utwórz sekwencję o nazwie PRAC_SEQ, rozpoczynającą generację wartości od 300 z krokiem 10. Sekwencja będzie używana do generacji wartości dla atrybutu ID_PRAC relacji PRACOWNICY w nowo definiowanych rekordach. SQL> create... 17. Wykorzystaj utworzoną sekwencję do wstawienia nowego stażysty o nazwisku Trąbczyński i płacy równej 1000 do relacji Pracownicy. SQL> insert into PRACOWNICY... ------- ------------ -------- -------- ----------- --------- --------- ------- 300 Trąbczyński STAZYSTA 1000 18. Zmodyfikuj pracownikowi Trąbczyńskiemu płacę dodatkową na wartość wskazywaną aktualnie (a nie nowo wygenerowaną!) przez sekwencję. ------- ------------ -------- -------- ----------- --------- --------- ------- 300 Trąbczyński STAZYSTA 1000 300 6

19. Usuń pracownika o nazwisku Trąbczyński. SQL> delete from PRACOWNICY... 20. Utwórz nową sekwencję MALA_SEQ o niskiej wartości maksymalnej (np. 10). Zaobserwuj, co się dzieje, gdy następuje przekroczenie wartości maksymalnej sekwencji. SQL> create... SQL> select MALA_SEQ.nextval FROM dual; SQL>... 21. Usuń sekwencję MALA_SEQ. SQL> drop... 7