Schemat bazy danych

advertisement
Ć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.
Download