Bazy Danych i Usługi Sieciowe

Podobne dokumenty
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ę

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

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

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

Bazy Danych i Usługi Sieciowe

Bazy danych i usługi sieciowe

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

Ćwiczenie 5 podzapytania

SQL do zaawansowanych analiz danych część 1.

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 zadania

ACESS- zadania z wykorzystaniem poleceń SQL

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

Klasyczna Analiza Danych

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

Bazy danych i usługi sieciowe

Struktura bazy danych

Język SQL. Rozdział 2. Proste zapytania

Ćwiczenie zapytań języka bazy danych PostgreSQL

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

Laboratorium Bazy danych SQL 3 1

Widok Connections po utworzeniu połączenia. Obszar roboczy

Ćwiczenie 4 - połączenia

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

Ćwiczenie 3 funkcje agregujące

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

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

Zadania z SQLa (MS SQL Server)

Optymalizacja poleceń SQL Metody dostępu do danych

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

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

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

Wprowadzenie do języka SQL

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe

Ćwiczenie 1 podstawy

PODZAPYTANIE (SUBSELECT)

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

Laboratorium Bazy danych SQL 2

SQL praca z tabelami 4. Wykład 7

Podstawy języka SQL cz. 2

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE)

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

ZSBD ćwiczenie 8. Obiektowo relacyjne systemy zarządzania bazą danych. Kolekcje. Wymagania: ZSBD ćwiczenie 8. Zaawansowane systemy baz danych - ZSBD

Wykład 8. SQL praca z tabelami 5

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

CREATE TABLE logika (p BOOLEAN); INSERT INTO logika VALUES(true); INSERT INTO logika VALUES(false); INSERT INTO logika VALUES(NULL);

Wykład 05 Bazy danych

SQL (ang. Structured Query Language)

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

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

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

Podzapytania. SELECT atrybut_1, atrybut_2,... FROM relacja WHERE atrybut_n operator (SELECT atrybut_1, FROM relacja WHERE warunek

SQL: zadania + odpowiedzi, wszystkie podstawowe schematy.

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

Wykład 6. SQL praca z tabelami 3

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

3. Podzapytania, łączenie tabel i zapytań

Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id;

Autor: Joanna Karwowska

Technologie baz danych

Struktura bazy danych

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Podzapytania. Podzapytania nieskorelowane i skorelowane

Bazy danych. dr inż. Arkadiusz Mirakowski

Bazy Danych i Usługi Sieciowe

Procedury i funkcje składowane

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

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

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Zajęcia 2 podstawy języka SQL

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

PL/SQL co, gdzie i dlaczego?

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

Autor: Joanna Karwowska

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

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

Bazy danych 6. Podzapytania i grupowanie. P. F. Góra

Przestrzenne bazy danych Podstawy języka SQL

Grupowanie i funkcje agregujące

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Język SQL, zajęcia nr 2

Bazy danych 8. Podzapytania i grupowanie. P. F. Góra

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

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

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

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

Ćwiczenie 8 DDL. Sekwencje, indeksy, perspektywy. Ćwiczenie 8 DDL. Wymagania: Bazy Danych

Relacyjne systemy baz danych i język SQL

Bazy Danych i Usługi Sieciowe

LAB 3 (część 1 Projektu)

Podzapytania do tabel W miejscu w którym możemy użyć nazwy tabeli, możemy użyć podzapytania

Relacyjny model danych. Relacyjny model danych

Typy Oracle atrybutów relacji Typ NUMBER (1)

Typy Oracle atrybutów relacji Typ NUMBER (1)

Transkrypt:

Bazy Danych i Usługi Sieciowe Ćwiczenia IV Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 1 / 13

Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 2 / 13

Baza danych pracownicy Pliki do ćwiczeń $ tar xzf BDiUS_2011z_cw01.tar.gz $ cd BDiUS_2011z_cw01 Uruchomienie klienta $ mysql -p Enter password:... mysql> Wybór bazy danych mysql> USE jkowalski; Ładowanie mysql> SOURCE pracownicy-calosc.sql P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 3 / 13

Schemat bazy pracownicy pracownicy(id_prac, nazwisko, imie, etat, id_szefa, zatrudniony, placa_pod, placa_dod, id_zesp) etaty(nazwa, placa_od, placa_do) zespoly(id_zesp, nazwa, adres) P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 4 / 13

Ćwiczenie 1 Łatwe zapytania Znajdź wszystkich pracowników. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 5 / 13

Ćwiczenie 1 Łatwe zapytania Znajdź wszystkich pracowników. Podaj imiona i nazwiska wszystkich pracowników. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 5 / 13

Ćwiczenie 1 Łatwe zapytania Znajdź wszystkich pracowników. Podaj imiona i nazwiska wszystkich pracowników. Podaj imiona i nazwiska wszystkich profesorów. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 5 / 13

Ćwiczenie 1 Łatwe zapytania Znajdź wszystkich pracowników. Podaj imiona i nazwiska wszystkich pracowników. Podaj imiona i nazwiska wszystkich profesorów. Podaj imiona, nazwiska i zarobki wszystkich profesorów. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 5 / 13

Ćwiczenie 1 Łatwe zapytania Znajdź wszystkich pracowników. Podaj imiona i nazwiska wszystkich pracowników. Podaj imiona i nazwiska wszystkich profesorów. Podaj imiona, nazwiska i zarobki wszystkich profesorów. Znajdź wszystkich profesorów. Wynik uporządkuj alfabetycznie według nazwisk. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 5 / 13

Ćwiczenie 1 Łatwe zapytania Znajdź wszystkich pracowników. Podaj imiona i nazwiska wszystkich pracowników. Podaj imiona i nazwiska wszystkich profesorów. Podaj imiona, nazwiska i zarobki wszystkich profesorów. Znajdź wszystkich profesorów. Wynik uporządkuj alfabetycznie według nazwisk. Znajdź wszystkich profesorów. Wynik uporządkuj alfabetycznie według zarobków. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 5 / 13

Ćwiczenie 2 Złączenia Oblicz wszystkie pary nazwisk pracowników i nazw zespołów. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 6 / 13

Ćwiczenie 2 Złączenia Oblicz wszystkie pary nazwisk pracowników i nazw zespołów. Wypisz nazwiska pracowników wraz z ich zespołami (nazwa i id). P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 6 / 13

Ćwiczenie 2 Złączenia c.d. Dla każdego pracownika znajdź etaty, na których mógłby być zatrudniony zgodnie z widełkami płacowymi. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 7 / 13

Ćwiczenie 2 Złączenia c.d. Dla każdego pracownika znajdź etaty, na których mógłby być zatrudniony zgodnie z widełkami płacowymi. Dla każdego pracownika wypisz jego zespół. Czy wszyscy pracownicy są przypisani do jakiegoś zespołu? P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 7 / 13

Ćwiczenie 2 Złączenia c.d. Dla każdego pracownika znajdź etaty, na których mógłby być zatrudniony zgodnie z widełkami płacowymi. Dla każdego pracownika wypisz jego zespół. Czy wszyscy pracownicy są przypisani do jakiegoś zespołu? Podaj liczbę pracowników zatrudnionych w poszczególnych zespołach. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 7 / 13

Ćwiczenie 2 Złączenia c.d. Dla każdego pracownika podaj nazwisko jego szefa. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 8 / 13

Ćwiczenie 2 Złączenia c.d. Dla każdego pracownika podaj nazwisko jego szefa. Znajdź pracowników, którzy zarabiają więcej niż Nowicki. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 8 / 13

Ćwiczenie 2 Złączenia c.d. Dla każdego pracownika podaj nazwisko jego szefa. Znajdź pracowników, którzy zarabiają więcej niż Nowicki. Dla każdego pracownika podaj nazwisko jego szefa. Podaj zespoły pracownika i jego szefa. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 8 / 13

Ćwiczenie 3 Podzapytania Znajdź najmniej zarabiającego pracownika. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 9 / 13

Ćwiczenie 3 Podzapytania Znajdź najmniej zarabiającego pracownika. Znajdź najmniej zarabiającego profesora. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 9 / 13

Ćwiczenie 3 Podzapytania Znajdź najmniej zarabiającego pracownika. Znajdź najmniej zarabiającego profesora. Znajdź pracowników najlepiej zarabiających na swoich etatach. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 9 / 13

Ćwiczenie 3 Podzapytania Znajdź najmniej zarabiającego pracownika. Znajdź najmniej zarabiającego profesora. Znajdź pracowników najlepiej zarabiających na swoich etatach. Znajdź pracowników zarabiających nie gorzej/lepiej niż pracownicy zespołu 30. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 9 / 13

Ćwiczenie 3 Podzapytania c.d. Znajdź zespoły, w których średnia płaca przekracza średnią pracę w firmie. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 10 / 13

Ćwiczenie 3 Podzapytania c.d. Znajdź zespoły, w których średnia płaca przekracza średnią pracę w firmie. Znajdź pracowników, których płaca przekracza 150% średniej płacy asystenta. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 10 / 13

Ćwiczenie 3 Podzapytania c.d. Znajdź zespoły, w których średnia płaca przekracza średnią pracę w firmie. Znajdź pracowników, których płaca przekracza 150% średniej płacy asystenta. Znajdź zespoły, w których średnia płaca jest większa niż średnia płaca w zespole Algorytmy. P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 10 / 13

Ćwiczenie 4 Co robią te zapytania? SELECT nazwisko, etat FROM pracownicy WHERE id_zesp = (SELECT id_zesp FROM pracownicy WHERE nazwisko= Nowak ); P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 11 / 13

Ćwiczenie 4 Co robią te zapytania? SELECT nazwisko, etat FROM pracownicy WHERE id_zesp = (SELECT id_zesp FROM pracownicy WHERE nazwisko= Nowak ); SELECT * FROM pracownicy WHERE etat= Profesor AND zatrudniony = (SELECT MIN(zatrudniony) FROM pracownicy WHERE etat= Profesor ); P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 11 / 13

Ćwiczenie 4 Co robią te zapytania? SELECT nazwisko, etat FROM pracownicy WHERE id_zesp = (SELECT id_zesp FROM pracownicy WHERE nazwisko= Nowak ); SELECT * FROM pracownicy WHERE etat= Profesor AND zatrudniony = (SELECT MIN(zatrudniony) FROM pracownicy WHERE etat= Profesor ); SELECT nazwisko, zatrudniony, id_zesp FROM pracownicy WHERE (id_zesp, zatrudniony) IN (SELECT id_zesp, MAX(zatrudniony) FROM pracownicy GROUP BY id_zesp) ORDER BY zatrudniony; P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 11 / 13

Ćwiczenie 4 Co robią te zapytania? c.d. SELECT * FROM zespoly WHERE id_zesp NOT IN (SELECT id_zesp FROM pracownicy WHERE id_zesp IS NOT NULL); P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 12 / 13

Ćwiczenie 4 Co robią te zapytania? c.d. SELECT * FROM zespoly WHERE id_zesp NOT IN (SELECT id_zesp FROM pracownicy WHERE id_zesp IS NOT NULL); SELECT nazwisko FROM pracownicy WHERE etat= Profesor AND id_prac NOT IN (SELECT id_szefa FROM pracownicy WHERE etat= Stazysta ); P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 12 / 13

Ćwiczenie 4 Co robią te zapytania? c.d. SELECT * FROM zespoly WHERE id_zesp NOT IN (SELECT id_zesp FROM pracownicy WHERE id_zesp IS NOT NULL); SELECT nazwisko FROM pracownicy WHERE etat= Profesor AND id_prac NOT IN (SELECT id_szefa FROM pracownicy WHERE etat= Stazysta ); SELECT id_zesp, SUM(placa_pod) AS suma_plac FROM pracownicy GROUP BY id_zesp HAVING SUM(placa_pod) = (SELECT MAX(SUM(placa_pod)) FROM pracownicy GROUP BY id_zesp); P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 12 / 13

Ćwiczenie 4 Co robią te zapytania? c.d. SELECT nazwisko FROM pracownicy p WHERE placa_pod > (SELECT AVG(placa_pod) FROM pracownicy WHERE etat=p.etat); P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 13 / 13

Ćwiczenie 4 Co robią te zapytania? c.d. SELECT nazwisko FROM pracownicy p WHERE placa_pod > (SELECT AVG(placa_pod) FROM pracownicy WHERE etat=p.etat); SELECT nazwisko FROM pracownicy p WHERE EXISTS (SELECT * FROM pracownicy WHERE id_szefa=p.id_prac); P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 13 / 13

Ćwiczenie 4 Co robią te zapytania? c.d. SELECT nazwisko FROM pracownicy p WHERE placa_pod > (SELECT AVG(placa_pod) FROM pracownicy WHERE etat=p.etat); SELECT nazwisko FROM pracownicy p WHERE EXISTS (SELECT * FROM pracownicy WHERE id_szefa=p.id_prac); SELECT nazwisko, imie FROM pracownicy p WHERE placa_pod > 0.5*(SELECT MAX(placa_pod) FROM pracownicy WHERE id_zesp = p.id_zesp); P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 13 / 13

Ćwiczenie 4 Co robią te zapytania? c.d. SELECT nazwisko FROM pracownicy p WHERE placa_pod > (SELECT AVG(placa_pod) FROM pracownicy WHERE etat=p.etat); SELECT nazwisko FROM pracownicy p WHERE EXISTS (SELECT * FROM pracownicy WHERE id_szefa=p.id_prac); SELECT nazwisko, imie FROM pracownicy p WHERE placa_pod > 0.5*(SELECT MAX(placa_pod) FROM pracownicy WHERE id_zesp = p.id_zesp); SELECT * FROM zespoly z WHERE NOT EXISTS (SELECT * FROM pracownicy WHERE id_zesp=z.id_zesp); P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 13 / 13