Relacyjne bazy danych

advertisement
RELACYJNE BAZY DANYCH - ĆWICZENIA
Utworzymy bazę danych - Dziennik lekcyjny
Tworzenie tabel
Utwórz nową tabelę. Wybierz obiekt Tabele, kliknij przycisk Nowy, a następnie z listy wybierz Widok
Projektu.
1. Utwórz tabelę Ocena, w której zapiszesz informacje o ocenach uczniów z różnych przedmiotów.
Zapisz tabelę. W tej tabeli nie tworzymy żadnego Klucza podstawowego.
Wypełnij tabelę danymi (Przełącz się na Widok arkusza danych):
2. W podobny sposób utwórz następną tabelę. Kluczem podstawowym ma być komórka
ID ucznia. Aby ustawić klucz podstawowy kliknij prawym klawiszem myszki na komórkę i wybierz
Klucz podstawowy. Po utworzeniu tabeli zapisz ją pod nazwą Uczeń.
Wypełnij tabelę danymi (Przełącz się na Widok arkusza danych):
3.
Utwórz
tabelę
Nauczyciel.
ID nauczyciela. Zapisz tabelę.
Kluczem
podstawowym
ma
być
komórka
być
komórka
Wypełnij tabelę danymi (Przełącz się na Widok arkusza danych):
4.
Utwórz
ID ucznia.
tabelę
Szafka.
Kluczem
podstawowym
ma
Wypełnij tabelę danymi (Przełącz się na Widok arkusza danych):
5. Utwórz tabelę
ID przedmiotu.
Lista
przedmiotów.
Kluczem
podstawowym
ma
być
komórka
Wypełnij tabelę danymi (Przełącz się na Widok arkusza danych):
Tworzenie relacji między tabelami
Wybierz opcję Relacje z menu Narzędzia. Wyświetli się okno Pokaż tabelę.
Wybieraj z listy po kolei wszystkie tabele i za każdym razem naciśnij przycisk Dodaj.
Po dodaniu tabel kliknij lewym przyciskiem myszki na polu ID ucznia tabeli Uczeń i przeciągnij na
pole ID ucznia w tabeli Ocena. Pojawi się okno dialogowe Edytowanie relacji. Zaznacz opcje
Wymuszaj więzy integralności i Kaskadowo aktualizuj pola pokrewne. Upewnij się, że typ relacji
to jeden do wielu ( - 1).
W podobny sposób połącz pozostałe tabele.
Zauważ, że tabele Uczeń i Szafka połączone są relacją jeden do jednego (1 - 1).
Upewnij się, że relacje zostały utworzone jak na powyższym rysunku. Zapisz zmiany
i zamknij Relacje.
Język SQL
Selekcja pionowa (projekcja)
Ćwiczenie 1
Na podstawie tabeli uczeń chcielibyśmy utworzyć listę wszystkich uczniów danej klasy, z której
wydrukowalibyśmy zaproszenia na nasze urodziny, dane o imionach rodziców byłyby nam zupełnie
niepotrzebne.
Aby utworzyć tego typu zestawienia i raporty należy z dostępnych obiektów bazy danych wybrać
obiekt Kwerendy, kliknąć przycisk Nowy (w rezultacie wywołamy kreatora kwerend), następnie
z listy dostępnych możliwości wybierz Widok Projekt. Z listy okna dialogowego wybierz tabelę
Uczniowie. Następnie przełącz się z Widok Projekt na Widok SQL.
Po przejściu do tworzenia nowych kwerend w Widoku SQL, wpisz poniższą instrukcję:
SELECT *
FROM Uczeń;
Przełącz się na Widok arkusza danych i zobacz efekt.
Przełącz się na Widok SQL i zmodyfikuj kwerendę aby ograniczyć liczbę kolumn do dwóch:
SELECT Imię, Nazwisko
FROM Uczeń;
Przełącz się na Widok arkusza danych i zobacz efekt
Zapisz naszą nową kwerendę w bazie danych pod nazwą Imiona.
Zmodyfikujmy naszą listę tak, aby lista uczniów była uszeregowana alfabetycznie wg. nazwisk
uczniów. W tym celu (w Widoku SQL naszej kwerendy) dodajmy do instrukcji SELECT dodatkowy
element:
SELECT Imię, Nazwisko
FROM Uczeń
order by Nazwisko;
Przełącz się na Widok arkusza danych i zobacz efekt.
Selekcja pozioma (selekcja)
Ćwiczenie 1
Chcemy z bazy danych wydobyć informacje kontaktowe do Jana Bandury. Musimy znaleźć w tabeli
Uczeń wiersz w którym zapisane są jego dane.
Utwórz nową kwerendę na bazie tabeli Uczeń i w Widoku SQL wpisz następujące polecenie:
SELECT *
FROM Uczeń
WHERE [ID ucznia]='JBA';
Przełącz się na Widok arkusza danych i zobacz efekt (Nazwę
kolumny ID ucznia umieściliśmy w nawiasie
kwadratowym, ponieważ zawiera ona spację).
Powiedzmy, że interesuje nas wyłącznie numer telefonu. Połączmy selekcję pionową z poziomą
w następującym poleceniu:
SELECT Imię, Nazwisko, [telefon kontaktowy]
FROM Uczeń
WHERE [ID ucznia]='JBA';
Przełącz się na Widok arkusza danych i zobacz efekt
Ćwiczenie 2
Dyrektor chciałby wiedzieć, ile ocen dopuszczających wystawiliśmy na koniec semestru w klasie 2a.
Zadanie sprowadza się do wybrania z tabeli Ocena tych wierszy, które w kolumnie Ocena
przechowują wartość 2, w kolumnie ID przedmiotu wartość "MAT", a w kolumnie zdobyta za
wartość semestr. Rozwiązaniem zadania jest instrukcje:
SELECT Ocena
FROM Ocena
WHERE Ocena=2 AND [ID przedmiotu]='MAT' AND [Zdobyta za]='semestr';
Przełącz się na Widok arkusza danych i zobacz efekt. Zapisz kwerendę jako dopuszczające.
Ćwiczenie 3
Tym razem chcielibyśmy sprawdzić, które szafki były okradzione w ciągu ostatnich
3 miesięcy. Zadanie sprowadza się do wybrania z tabeli Szatnia tych wierszy dla których data
ostatniej kradzieży, przechowywana w kolumnie Data kradzieży należy do zakresu <data dzisiejsza,
data dzisiejsza - 91>.
Rozwiązaniem zadania jest poniższe zapytanie skierowane do SZBD:
SELECT [Data kradzieży], [Nr szafki], Uwagi
FROM Szafka
WHERE (Date()-[Data kradzieży])<91;
Przełącz się na Widok arkusza danych i zobacz efekt. Zapisz kwerendę jako kradzieże.
Dodawanie, modyfikowanie i usuwanie wierszy
Ćwiczenie 1
Przyjmijmy, że dyrektor zatrudnił nową nauczycielkę. Fakt ten powinien zostać uwzględniony
w naszej bazie. Do dopisywania danych do istniejącej tabeli służy instrukcja INSERT. W bazie Dziennik
informacje opisujące każdego nauczyciela przechowywane są w tabeli Nauczyciel. Polecenie
dopisania nowej nauczycielki wygląda następująco:
INSERT INTO Nauczyciel ( [ID nauczyciela], Imię, Nazwisko, Adres, [Wychowawca klasy] )
VALUES ('SLE', 'Samanta', 'Lepsza', 'K-ce, 44-112 ul. Portowa 13c', '4d');
Przełącz się na Widok arkusza danych i zobacz efekt. Zapisz kwerendę jako dodaj nauczyciela.
Zmodyfikuj kwerendę dodaj nauczyciela tak aby dane dotyczące nauczyciela można było wpisywać
po uruchomieniu kwerendy:
INSERT INTO Nauczyciel ( [ID nauczyciela], Imię, Nazwisko, Adres, [Wychowawca klasy],
[telefon kontaktowy] )
VALUES ([ID], [Imię], [Nazwisko ], [Adres], [Wychowawca], [Telefon]);
Przełącz się na Widok arkusza danych i zobacz efekt. Zapisz kwerendę jako dodaj nauczyciela.
Ćwiczenie 2
W szafce Ewy Starskiej ponownie dokonano kradzieży. Zadanie polega na aktualizacji daty kradzieży
w tabeli Szafka.
UPDATE Szafka
SET [Data kradzieży] = date ()
WHERE [ID ucznia]='EST';
Przełącz się na Widok arkusza danych i zobacz efekt. Zapisz kwerendę jako nowa kradzież.
Ćwiczenie 3
Zdecydowaliśmy się podnieść semestralną ocenę z matematyki wszystkim uczniom o 1. Poniżej
przedstawiamy polecenie realizujące to zadanie:
UPDATE Ocena
SET Ocena=Ocena+1
WHERE [Zdobyta za]='Semestr' AND [ID przedmiotu]='MAT';
Przełącz się na Widok arkusza danych i zobacz efekt. Zapisz kwerendę jako podnieś ocenę.
Ćwiczenie 4
Chcemy z listy przedmiotów usunąć przedmiot Filozofia wykorzystamy do tego poniższą instrukcję:
DELETE *
FROM [Lista przedmiotów]
WHERE [Id przedmiotu]='FILO';
W rezultacie z tabeli zostaną usunięte wszystkie wiersze spełniające podany warunek.
Przełącz się na Widok arkusza danych i zobacz efekt. Zapisz kwerendę jako skasuj przedmiot.
Łączenie tabel
Ćwiczenie 1
Chcemy poznać numery szafek należących do poszczególnych uczniów, musimy wykorzystać
informację z tabeli Uczeń (takie jak imię i nazwisko), oraz informację z tabeli Szatnia. Zadanie te
realizuje poniższa komenda:
SELECT Uczeń.Imię, Uczeń.Nazwisko, Szafka.[Nr szafki]
FROM Uczeń INNER JOIN Szafka ON Uczeń.[ID ucznia] = Szafka.[ID ucznia]
Ćwiczenie 2
Kolejnym zadaniem będzie wyświetlenie informacji o ocenach z matematyki wraz z imieniem i
nazwiskiem ucznia.
SELECT Uczeń.Imię, Uczeń.Nazwisko, Ocena.Ocena
FROM Uczeń INNER JOIN Ocena ON Uczeń.[ID ucznia] = Ocena.[ID ucznia]
WHERE Ocena.[ID przedmiotu]='MAT'
ORDER BY Uczeń.Nazwisko;
Przełącz się na Widok arkusza danych i zobacz efekt. Zapisz kwerendę jako oceny z matematyki.
Operatory teoriomnogościowe i proste funkcje
Ćwiczenie 1
Mamy za zadanie wyświetlić ilość wszystkich osób w szkole (uczniów i nauczycieli). Do zsumowania
tabel Nauczyciel i Uczeń posłużymy się operatorem UNION
SELECT Imię,Nazwisko
FROM Nauczyciel
UNION
SELECT Imię, Nazwisko
FROM Uczeń
Sprawdź efekt zapytania. Zapisz kwerendę pod nazwą wszyscy.
Ćwiczenie 2
Wróćmy do pytania dyrektora o liczbę ocen dopuszczających wystawionych na koniec semestru z
matematyki.
SELECT COUNT([Ocena])
FROM Ocena
WHERE [Ocena]=2 And [ID przedmiotu]='MAT' And [Zdobyta za]='semestr';
Sprawdź efekt zapytania. Zapisz kwerendę pod nazwą dopuszczające wersja 2.
Ćwiczenie 3
Mamy za zadanie przygotować zestawienie zawierające średnią ocen klasy z każdego przedmiotu.
Do obliczenia średniej użyj funkcji AVG . Parametrem dla funkcji będzie lista wszystkich ocen
pogrupowana według nazw przedmiotów.
SELECT Avg(Ocena) AS Średnia, [Nazwa przedmiotu]
FROM [Lista przedmiotów] INNER JOIN Ocena ON [Lista przedmiotów].[ID przedmiotu] =
Ocena.[ID przedmiotu]
GROUP BY [Nazwa przedmiotu];
Sprawdź efekt zapytania. Zapisz kwerendę pod nazwą średnia ocen.
Formularze
Ćwiczenie 1 – tworzenie formularza
Utwórz formularz na podstawie tabeli Uczeń w tym celu w bazie danych wybierz obiekt Formularze
-> Nowy -> Kreator formularzy. Wybierz tabelę Uczeń. Wybierz wszystkie dostępne pola. Wybierz
układ kolumnowy. Wybierz odpowiadający Ci styl i naciśnij Zakończ.
W podobny sposób wykonaj kolejny formularz na podstawie tabeli Nauczyciel.
Ćwiczenie 2 – tworzenie formularza w widoku projektu
Po wykonaniu powyższych formularzy utwórz formularz w Widoku projektu i zapisz go pod nazwą
Start.
Ćwiczenie 3 – korzystanie z przybornika (dodaj etykietę i przyciski otwierające formularze).
Z przybornika wybierz formatkę Etykieta i podpisz DZIENNIK LEKCYJNY.
Z Przybornika wybierz Przycisk polecenia po przeniesieniu przycisku na formularz pojawi się
Kreator przycisków poleceń. Wybierz Operacje na formularzach -> Otwórz formularz -> Uczeń
-> Dalej -> Wybierz opcję, że na przycisku ma być tekst -> Wpisz nazwę dla przycisku Uczeń ->
Naciśnij Zakończ. Następnie na formularzu opisz przycisk jako Dane uczniów W podobny sposób
dodaj przycisk dla formularza Nauczyciel i opisz przycisk jako Dane nauczycieli.
Widok formularza Start.
Ćwiczenie 4 – dodaj przycisk otwierający kwerendę
Otwórz formularz Nauczyciel. Powiększ obszar formularza a następnie z przybornika dodaj przycisk
polecenia. Wybierz Różne -> Uruchom kwerendę. Wybierz kwerendę dodaj nauczyciela. Wybierz,
że na przycisku ma być tekst. Opisz przycisk jako Dodaj nauczyciela.
Ćwiczenie 4 – Samodzielnie utwórz przycisk zamykający formularz Start.
Raporty
Utwórz
raport
zawierający
zestawienie
średnich
ocen
klasy
z
każdego
przedmiotu.
W tym celu w bazie danych wybierz obiekt Raporty -> Nowy -> Kreator raportów. Wybierz
kwerendę średnia ocen dodaj pola Średnia i Nazwa przedmiotu i naciśnij Dalej.
Nie dodawaj poziomów drukowania, kliknij Dalej. Posortuj rekordy wg średniej. Wybierz układ
kolumnowy - > Dalej. Wybierz odpowiadający Ci Styl -> Dalej. Tytuł raportu pozostaw Średnia
ocen. Zakończ i zobacz efekty swojej pracy.
Download