Ćwiczenie praktyczne №5-a (2 godz.)



Pobieranie 9.68 Kb.
Data03.05.2016
Rozmiar9.68 Kb.
Ćwiczenie praktyczne №5-a (2 godz.)

Cel pracy:

Zapoznanie się ze sposobami konstruowania zapytań do wielu tabel bazy danych w środowisku „SYBASE SQL ANYWHERE”.



Zadania wykonywane przed przystąpieniem do pracy:

  1. Zapoznać się z formatami instrukcji SQL : SELECT…FROM…WHERE… ORDER BY..., GROUP…BY…HAVING…, funkcji agregujących

  2. Zapoznać się z konstruowaniem złożonych połączeń wielu tabel za pomocą klauzuli WHERE i predykatu JOIN

  3. Zapoznać się, z formatami wyliczonej kolumny, funkcji daty.

Schemat bazy danych. Dane początkowe są pobierane z przykładowej bazy danych wypożyczalni samochodów, która była stworzona na zajęciu praktycznym №3.

Schemat bazy danych jest pokazany na rysunku niżej. Strzałkami są zaznaczone związki pomiędzy tabelami. Inskrypcja przy strzałkach oznacza atrybuty połączenia tych tabel, to znaczy, że wartość atrybutu tabeli, od której wychodzi strzałka musi mieć jedną z wartości atrybutu tabeli, na którą pokazuje ta strzałka.





Kolejność wykonywania ćwiczenia

  1. Uruchomić program SYBASE CENTRAL, otworzyć bazę danych na serwerze SYBASE SQL ANYWAHRE.

  2. Uruchomić program ISQL.

  3. Skonstruować zapytania SQL.

Zadania dla konstruowania zapytań SQL:

  1. Na podstawie tabel PRACOWNICY i MIEJSCA skonstruować zapytanie , które wyświetli kolumny NAZWISKO, STANOWISKO, DZIAL, MIASTO, ULICA dla każdego pracownika i jednocześnie uporządkuje dane według nazwiska. Do połączenia tabel wykorzystać klauzulę WHERE.

  2. Na podstawie tabel PRACOWNICY, MIEJSCA I WYPOZYCZENIA skonstruować zapytanie, które wyświetli kolumny: NR_WYPOZYCHENIA, NAZWISKO, STANOWISKO, DZIAL, MIASTO, ULICA – wyłącznie dla pracowników, którzy pracują w Warszawie i jednocześnie uporządkuje dane według nazwiska. Do połączenia tabel wykorzystać klauzulę WHERE.

  3. Na podstawie tabel PRACOWNICY i MIEJSCA skonstruować zapytanie , które wyświetli kolumny NAZWISKO, STANOWISKO, DZIAL, MIASTO, ULICA dla każdego pracownika, zatrudnionego na stanowisku 'SPRZEDAWCA' i jednocześnie uporządkuje dane według nazwiska. Do nazw tabel wżywać aliasy, dla połączenia tabel wykorzystać konstrukcję JOIN…ON.

  4. Skonstruować zapytanie, które wyświetli atrybuty: IMIE, NAZWISKO,DZIAL, STANOWISKO, DATA_ZATR wszystkich pracowników zatrudnionych w dniu 1998-01-01 lub później.

  5. Skonstruować zapytanie, które wyświetli atrybuty: IMIE, NAZWISKO, oraz kolumny dodatkowe ROK, MIESIAC, DZIEN zawierające dane dotyczące daty zatrudnienia pracownika.

  6. Skonstruować zapytanie, które wyświetli atrybuty: NAZWISKO (klienta), NR_WYPOZYCZENIA, DATA_WYP, DATA_ODD oraz ilość dni, na które samochód był wypożyczony.

  7. Skonstruować zapytanie, które wyświetli pierwszy 5 liter nazwiska klienta oraz NR_WYPOZYCZENIA, DATA_WYP, DATA_ODD.

  8. Za pomocą funkcji agregujących SUM(), AVG(), MIN(), MAX(), COUNT() skonstruować zapytanie, które wyświetli sumę wszystkich pensji pracowników, średnią pensję, minimalną i maksymalną pensję oraz ilość pracowników.

  9. Za pomocą funkcji agregującej COUNT() skonstruować zapytanie, które wyświetli liczbę działów w firmie.

  10. Za pomocą funkcji agregujących SUM(), AVG(), MIN(), MAX(), COUNT() oraz klauzuli GROUB BY skonstruować zapytanie, które wyświetli według stanowiska pracowników następne dane: sumę pensji, średnią pensję, minimalną i maksymalną pensję oraz ilość pracowników.

  11. Za pomocą funkcji agregujących SUM(), AVG(), MIN(), MAX(), COUNT() oraz klauzuli GROUB BY skonstruować zapytanie, które wyświetli według każdego działu firmy następne dane: sumę pensji, średnią pensję, minimalną i maksymalną pensję oraz ilość pracowników.

  12. Za pomocą funkcji agregujących, predykatów GROUB BY oraz HAVING skonstruować zapytanie, które wyświetli wszystkich pracowników, którzy wypożyczyli samochody na sumę o łącznej wartości powyżej 400$.

  13. Za pomocą funkcji agregujących, predykatów GROUB BY oraz HAVING skonstruować zapytanie, które wyświetli według każdego działu firmy następne dane: sumę pensji tego działu, średnią pensję, minimalną i maksymalną pensję oraz ilość pracowników dla działów, wartość pensji których jest większa od 2000 $.


Wymogi do sprawozdania:

1.Nazwisko studenta, grupa.

2.Temat ćwiczenia.

3.Polecenia SQL, które skonstruował student.

4.Wydruki rezultatów zapytań do bazy danych.
Pytania kontrolne

1.Co się stanie, jeśli w zapytaniu, które wybiera dane z przynajmniej dwóch tabel, nie zostanie określony warunek po słowu kluczowym WHERE lub ON?

3. Jakie są sposoby połączenia tabel?

4. Gdzie definiują się aliasy nazw tabel?



5. Gdzie definiują się aliasy nazw kolumn?

Dla zaliczenia danej pracy student powinien znać formaty wykorzystanych instrukcji SQL, oraz główne funkcje serwera SYBASE SQL ANYWAHRE.


©absta.pl 2016
wyślij wiadomość

    Strona główna