1 Na poprzednich zajęciach nauczyliśmy się tworzyć bazy danych i

Transkrypt

1 Na poprzednich zajęciach nauczyliśmy się tworzyć bazy danych i
Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 3)
1
Na poprzednich zajęciach nauczyliśmy się tworzyć bazy danych i proste tabele przechowujące dane. Dzisiaj
pójdziemy krok dalej - zajmiemy się czymś, co stanowi istotę relacyjnych baz danych tzn. tworzeniem związków
między tabelami.
Polecenie 3.1: Uruchom SQL Server Management Studio, zaloguj się do serwera.
Polecenie 3.2: W Eksploratorze obiektów kliknij prawym przyciskiem myszy na gałąź Databases i wybierz New
Database...
Polecenie 3.3: Utwórz nową bazę danych o nazwie piwko_z2XsY (przypomnij sobie, co wstawić w miejsce X i
Y!). Nie zmieniaj niczego więcej, po wpisaniu nazwy kliknij przycisk OK.
Polecenie 3.4: Od tej wszystkie obiekty będziemy tworzyć tylko w nowoutworzonej bazie. Zwiń wszystkie
niepotrzebne gałęzie w Eksploratorze obiektów, zostawiając rozwiniętą tylko bazę piwko_z2XsY.
Aby zobaczyć, jak ważne są związki między tabelami, utworzymy na początek tabelę przechowującą informacje
o produkcie, z którym właściwie każdy student, bez względu na tryb studiowania, wiek czy płeć, miał do czynienia
– a mianowicie o piwie. Będą w niej przechowywane następujące dane: nazwa piwa, zawartość alkoholu
i ekstraktu, nazwa oraz adres producenta.
Polecenie 3.5: W bazie danych piwko_z2XsY kliknij prawym przyciskiem myszy na folder Tables i wybierz New
Table. Utwórz tabelę o nazwie Browary.
Tabela powinna posiadać następujące kolumny (zobacz rysunek poniżej):
id
nazwa_piwa
zaw_alkoholu
zaw_ekstraktu
nazwa_producenta
ulica
miasto
kod_pocztowy
Polecenie 3.6: Przypomnij sobie z poprzednich zajęć definicję klucza głównego. Następnie nałóż klucz główny na
kolumnę id (przypominam: prawy przycisk myszy i Set Primary Key - w odpowiednim miejscu powinien pojawić
się kluczyk ).
Polecenie 3.7: Jeśli jeszcze tego nie zrobiłeś/aś w okienku Properties po prawej stronie (jeśli go nie ma, naciśnij
F4) wpisz nazwę tabeli.
Polecenie 3.8: Zapisz utworzoną tabelę i zamknij okno z jej projektem.
Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 3)
2
Polecenie 3.9: W Eksploratorze obiektów kliknij prawym przyciskiem myszy na tabelę Browary i wybierz Open
Table.
Polecenie 3.10: Wprowadź następujące dane do tabeli:
Widoki
Widoki (z ang. Views, inna nazwa to perspektywy) to zapytania typu SELECT zapisane w bazie danych. Z widoków
można korzystać w podobny sposób, w jaki korzystamy z tabel (np. wyświetlanie czy wprowadzanie dane), należy
jednak pamiętać, że same widoki nie przechowują danych. Można o nich myśleć jako o filtrach, które wyświetlają
dane z odpowiedniej tabeli (lub kilku tabel) w określony (w definicji takiego widoku) sposób.
Utworzymy teraz pierwszy widok, który z tabeli Browary wyświetli tylko nazwy piw i ich producentów.
Polecenie 3.11: W bazie piwko_z2XsY kliknij prawym przyciskiem myszy na folder Views i wybierz New View...
Polecenie 3.12: W okienku, które wyskoczy, zaznacz nazwę tabeli Browary, następnie kliknij przycisk Add.
Zamknij okienko przyciskiem Close.
Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 3)
3
Znajdujemy się teraz w oknie projektowania widoku. W jego górnej części znajduje się okno z kolumnami z tabeli
Browary. Zaznaczając kratkę przy nazwie odpowiedniej kolumny dodajemy tę kolumnę do widoku. W środkowej
części znajduje się tabela, w której możemy dokonywać zmiany projektowanego właśnie widoku. W dolnej części
okna pojawia się kod SQL-a, który będzie wykonany w momencie, gdy zatwierdzimy tworzenie widoku.
Polecenie 3.13: W okienku u góry zaznacz kolumny nazwa_piwa i nazwa_producenta.
Polecenie 3.14: Zapisz widok pod nazwą vw_piwa_producenci1 i zamknij okno z projektem widoku.
Polecenie 3.15: W Eksploratorze obiektów rozwiń folder Views a następnie kliknij prawym przyciskiem myszy
na utworzony właśnie widok i wybierz Open View. Jeśli wszystko wykonałeś/aś prawidłowo, to rezultat powinien
być podobny do tego z rysunku poniżej.
Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 3)
4
Związki
Wracamy do niechcianej redundancji. Istotą relacyjnych baz danych jest rozbicie danych na kilka tabel, tak aby
odpowiednie rekordy można było później znów ze sobą połączyć. Zobaczymy to na przykładzie z tymi naszymi
piwami.
Polecenie 3.16: W bazie piwko_z2XsY utwórz nową tabelę o nazwie Piwa. Kolumny w tej tabeli ustal zgodnie
z rysunkiem poniżej. Nie zapomnij o nałożeniu klucza głównego na kolumnę id.
Polecenie 3.17: W bazie piwko_z2XsY utwórz nową tabelę o nazwie Producenci. Kolumny w tej tabeli ustal
zgodnie z rysunkiem poniżej. Podobnie jak poprzednio, nie zapomnij o nałożeniu klucza głównego.
Ustalimy teraz sposób łączenia tych tabel. W tym celu w tabeli Piwa utworzymy tzw. klucz obcy, wskazujący
z którym producentem dane piwo powinno być powiązane.
Klucz obcy to taka kolumna w tabeli, której wartości wskazują na rekordy (a dokładniej wartości klucza głównego)
z innej tabeli.
Polecenie 3.18: W Eksploratorze obiektów w bazie piwko_z2XsY kliknij w folder Database Diagrams. Pojawi
się okno (rys. niżej), w którym należy kliknąć przycisk Yes. Następnie kliknij jeszcze raz na folder Database
Diagrams, tym razem prawym klawiszem myszy i wybierz New Database Diagram.
Polecenie 3.19: W oknie, które się pojawi, zaznacz nazwy tabel Piwa i Producenci, każdorazowo zatwierdzając
wybór przyciskiem Add. Następnie zamknij to okno klikając w przycisk Close.
Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 3)
5
Polecenie 3.20: Powinny być teraz widoczne dwa okienka z tabelami Piwa i Producenci. Kliknij w kwadracik z
kluczykiem przy kolumnie id w tabeli Producenci i przeciągnij do kolumny id_producenta w tabeli Piwa.
Wyskoczą dwa okienka, w obu należy kliknąć przycisk OK.
Jeśli wszystko poszło zgodnie z planem, diagram powinien przypominać ten z rysunku poniżej. Gratuluję, właśnie
utworzyliśmy pierwszy związek (z ang. relationship) w bazie danych. Od tej pory w kolumnie id_producenta
będzie można wstawić identyfikatory tylko tych producentów, które znajdują się w tabeli Producenci.
Polecenie 3.21: Zapisz diagram pod domyślną nazwą a następnie zamknij okno z jego projektem (kliknij OK w
okienku, które po drodze wyskoczy).
Polecenie 3.22: Otwórz tabelę Producenci i wprowadź do niej dane wg poniższego rysunku. Po zakończeniu
zamknij okno z tabelą.
Polecenie 3.23: Otwórz tabelę Piwa i wprowadź do niej dane wg poniższego rysunku. Gdy skończysz, również
zamknij okno z tabelą.
Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 3)
6
Zwróć uwagę, że te same dane, które zostały wpisane do tabeli Browary, zostały rozdzielone między dwie tabele:
Piwa i Producenci. Dzięki temu nazwę i adres każdego producenta wystarczyło wpisać tylko raz. Zaprojektujemy
teraz widok, który połączy dane z tych tabel w odpowiedni sposób, co sprawi, że będziemy mogli wyświetlić
nazwy piw i nazwy ich producentów zupełnie w ten sam sposób, jak gdyby znajdowały się one w jednej tabeli.
Polecenie 3.24: Kliknij prawym przyciskiem myszy na folder Views w bazie piwko_z2XsY i wybierz New View.
Polecenie 3.25: W okienku, które się pojawi, zaznacz nazwy tabel Piwa i Producenci, każdorazowo zatwierdzając
wybór przyciskiem Add. Następnie zamknij to okno klikając w przycisk Close.
Polecenie 3.26: Zaznacz "ptaszkiem" kwadraty przy kolumnie nazwa_piwa w tabeli Piwa i nazwa_producenta
w tabeli Producenci (zob. rys. poniżej).
Polecenie 3.27: Przyjrzyj się kodowi SQL-a w dolnej części okna projektu. Zastanów się, który jego fragment
odpowiada za połączenie rekordów z tabel Piwa i Producenci.
Polecenie 3.28: Zapisz widok pod nazwą vw_piwa_producenci2 i zamknij okno jego projektu.
Polecenie 3.29: Otwórz widok vw_piwa_producenci2 i sprawdź, czy wyświetlają się te same informacje, co na
rysunku poniżej.
Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 3)
7
Gratuluję! Właśnie udało ci się połączyć dwie tabele. Posiadasz już podstawowe umiejętności do pracy z bazami
danych. Cała reszta to już tylko kwestia praktyki i doświadczenia... ;)
Na zakończenie naszych bojów z bazami danych utworzymy kopię zapasową bazy piwko_z2XsY.
Polecenie 3.30: W Eksploratorze obiektów kliknij prawym przyciskiem myszy na bazie piwko_z2XsY i wybierz
Tasks→Back Up. Kliknij OK w oknie, które się pojawi. Po chwili powinna wyskoczyć informacja o udanej
operacji wykonywania kopii zapasowej.
Pytania kontrolne:
1.
Co to są widoki?
2.
Co to jest redundancja danych? Czy jej występowanie jest korzystne?
3.
Co to jest klucz obcy?
Po tych zajęciach powinieneś/powinnaś umieć:
•
tworzyć bazy proste widoki w SQL Server Management Studio,
•
tworzyć związki między tabelami,
•
wykonywać kopię zapasową bazy danych.

Podobne dokumenty