Ćwiczenie 4. Wariant C Cel pracy: Zapoznanie się ze sposobami konstruowania zapytań do jednej tabeli 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..., słowa kluczowego DISTINCT, operatorów AND oraz OR w klauzuli WHERE, z predykatami: IN, BETWEEN, LIKE. 2. Zapoznać się ze schematem bazy danych. Schemat bazy danych Dane początkowe są pobierane z przykładowej bazy danych, która była stworzona w ramach ćwiczenia 3. Schemat bazy danych jest pokazany na rysunku poniżej. Strzałkami są zaznaczone związki pomiędzy tabelami. Napisy przy strzałkach oznacza atrybuty połączenia tych tabel. Zakresy Id_zakr Nazwa_zakr integer varchar(40) <pk> Id_zakr = Id_zakr Dyplomanci tematy id_temat Id_zakr Id_dypl nazw_tem data_wyd data_zloz data_obr opis_prac integer integer integer char(30) date date date varchar(120) <pk> <fk1> id_temat = id_temat id_temat = id_temat recenzenci id_temat id_prac data_rec id_temat = id_temat integer integer date Id_dypl id_temat Nazwisko_dypl imie_dypl specialnosc adres_dypl integer integer varchar(30) varchar(30) varchar(40) varchar(60) telefon_dypl varchar(12) Data_ur date Miejsce_ur varchar(30) <pk> <fk> <pk,fk1> <fk2> id_prac= id_pracow pracownicy id_pracow promotorzy id_temat id_prac data_op integer integer date <pk,fk1> <fk2> id_prac = id_pracow nazwisko_pr imie_pr st_nauk katedra nr_pok integer varchar(30) varchar(30) varchar(30) varchar(40) varchar(10) wynagrodzenie numeric(8,2) nadgodziny numeric(8,2) <pk> Rys. 1. Schemat ogólny bazy danych Rys. 2 reprezentuje pola oraz typy danych tabeli „Dyplomanci”, natomiast rys. 3a, 3b przedstawia tę tabelę wypełnioną przykładowymi danymi. Rys. 2. Projekt tabeli „Dyplomanci” a) b) Rys. 3. Tabela „Dyplomanci” wypełniona przykładowymi danymi Rys. 4 reprezentuje pola oraz typy danych tabeli „Pracownicy”, natomiast rys. 5a, 5b przedstawia tę tabelę wypełnioną przykładowymi danymi. Rys. 4. Projekt tabeli „Pracownicy” a) b) Rys. 5. Tabela „Pracownicy” wypełniona przykładowymi danymi Rys. 6 reprezentuje pola oraz typy danych tabeli „Promotorzy”, natomiast rys.7 przedstawia tę tabelę wypełnioną przykładowymi danymi. Rys. 6. Projekt tabeli „Promotorzy” Rys. 7. Tabela „Promotorzy” wypełniona przykładowymi danymi Rys. 8 reprezentuje pola oraz typy danych tabeli „Recenzenci”, natomiast rys. 9 przedstawia tę tabelę wypełnioną przykładowymi danymi. Rys. 8. Projekt tabeli „Recenzenci” Rys. 9. Tabela „Recenzenci” wypełniona przykładowymi danymi Rys. 10 reprezentuje pola oraz typy danych tabeli „Tematy”, natomiast rys. 11a, 11b przedstawia tę tabelę wypełnioną przykładowymi danymi. Rys. 10. Projekt tabeli „Tematy” a) b) Rys. 11. Tabela „Tematy” wypełniona przykładowymi danymi Rys. 12 reprezentuje pola oraz typy danych tabeli „Zakresy”, natomiast rys. 13 przedstawia tę tabelę wypełnioną przykładowymi danymi. Rys. 12. Projekt tabeli „Zakresy” Rys. 13. Tabela „Zakresy” wypełniona przykładowymi danymi Kolejność wykonania ćwiczenia 1. Uruchomić program SYBASE CENTRAL, otworzyć bazę danych na serwerze SYBASE SQL ANYWHERE. 2. Uruchomić program ISQL. 3. Skonstruować zapytania SQL. Zadania dla konstruowania zapytań SQL: 1. Skonstruować zapytanie, które wyświetli wszystkie kolumny z tabeli TEMATY. 2. Skonstruować zapytanie, które wyświetli kolumny IMIĘ, NAZWISKO z tabeli PRACOWNICY. . 3. Skonstruować zapytanie, które wyświetli IMIĘ, NAZWISKO, ST_ NAUK z tabeli PRACOWNICY dla pracowników, których wynagrodzenie wynosi 2500. 4. Skonstruować zapytanie, które wyświetli wszystkie dane na pracowników katedry IK. 5. Skonstruować zapytanie, które wyświetli wszystkie tematy, które nie mają opisu. 6. Przedstawić listę pracowników posortowany według wynagrodzenia w odwrotnej kolejności. 7. Przedstawić listę dyplomantów urodzonych poza Wrocławiem. 8. Przedstawić listę pracowników nie mających nadgodzin. 9. Przedstawić listę miast urodzenia dyplomantów. Do listy włączyć tylko nie powtarzające się nazwy. 10. Wyświetlić dane wszystkich pracowników katedry IK ze stopniem naukowym dr hab. oraz dane wszystkich pracowników katedry IwZ. 11. Wyświetlić dane pracowników katedr IK oraz IwZ ze stopniem naukowym dr hab.. 12. Na podstawie tabeli PRACOWNICY i używając słowa kluczowego IN otrzymać i wyświetlić wszystkich doktorów inżynierów oraz doktorów habilitowanych inżynierów. 13. Używając słowa kluczowego BETWEEN, wyświetlić listę tematów prac dyplomowych wydanych w roku 2005. 14. Wyświetlić listę wszystkich pracowników, których nazwiska zaczynają się literą K. W sprawozdaniu powinno się znaleźć: 1. Nazwisko studenta, nr grupy. 2. Temat ćwiczenia. 3. Treść utworzonych tabel. 4. Skonstruowane QUERY – zapytania.