Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 1) 1 Celem pierwszych zajęć laboratoryjnych jest poznanie podstaw obsługi MS SQL Server 2005 za pomocą programu SQL Server Management Studio, w szczególności: przeglądanie dostępnych baz danych, odtwarzanie bazy z istniejącej kopii zapasowej, przeglądanie i modyfikacja danych w tabelach, wykonywanie prostych zapytań w języku SQL. Przeczytaj uważnie poniższą instrukcję i wykonaj wszystkie zawarte w niej polecenia. SQL Server Configuration Manager – centrum dowodzenia Narzędzie to wykorzystywane jest przede wszystkim przez administratorów baz danych. Służy ono do: • zarządzania usługami, • konfiguracji sieci. Polecenie 1.1: W menu Start otwórz Programy (All Programs)→Microsoft SQL Server 2005→Configuration Tools→SQL Server Configuration Manager. Obszar SQL Server 2005 Services pokazuje usługi działające w tle. Aktualnie działające usługi (Running) to SQL Server FullText Search (obsługująca silnik wyszukiwania pełnotekstowego) oraz SQL Server (a dokładniej jego instancja o nazwie SQLEXPRESS - podstawowy silnik bazy danych). Klikając prawym przyciskiem myszy na którąś z usług można ją zatrzymać, wyłączyć, zresetować itd. (pod warunkiem, że posiada się odpowiednie uprawnienia). SQL Server Management Studio – podstawowe narzędzie administracji systemu SQL Server SQL Server Management Studio pojawiło się w wersji SQL Server 2005. Za jego pomocą możliwe jest: • tworzenie, edycja i usuwanie baz danych i obiektów baz danych, • zarządzanie zadaniami, np. wykonywanie kopii zapasowych, • wyświetlanie informacji dotyczących bieżącej aktywności, np. zalogowanych użytkowników, • zarządzanie bezpieczeństwem, • zarządzanie usługami pocztowymi bazy danych, • tworzenie katalogów wyszukiwania pełnotekstowego i zarządzanie nimi, • tworzenie i zarządzanie bazami publikatorów i subskrybentów na potrzeby replikacji baz danych. Uwaga! SQL Server Management Studio to tylko wygodne narzędzie do obsługi SQL Server 2005, nie jest ono jednak niezbędne do jego działania. Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 1) 2 Polecenie 1.2: W menu Start otwórz Programy (All Programs)→Microsoft SQL Server 2005→SQL Server Management Studio Express. Pojawi się ekran logowania, w którym można podać typ serwera (Server type), do którego chce się zalogować, nazwę instancji (Server name), sposób uwierzytelnienia (Authentication), login oraz hasło. Uwierzytelnianie Windows (Windows Authentication) powoduje, że logując się do SQL Server użytkownik jest uwierzytelniany przez domenę Windows. W praktyce oznacza to, że korzysta się z tego samego loginu i hasła, co w przypadku logowania do systemu - będąc zalogowanym w Windows nie trzeba już niczego dodatkowego podawać. Polecenie 1.3: Kliknij przycisk Connect, aby połączyć się z SQL Server. Otworzy się okno programu SQL Server Management Studio. Po lewej stronie znajduje się Eksplorator obiektów (Object Explorer), dzięki któremu możemy przeglądać wszystkie obiekty znajdujące się w SQL Server. Szczególnie interesuje nas gałąź Databases, pokazująca wszystkie bazy danych istniejące w SQL Server. Aktualnie, oprócz czterech systemowych baz danych (master, model, msdb, tempdb), które są niezbędne do prawidłowego działania serwera, znajdują się tam również dwie bazy zdefiniowane przez użytkownika: mebelek oraz piwosz. PIERWSZE ZAPYTANIE DO BAZY DANYCH Polecenie 1.4: Kliknij prawym przyciskiem na bazę mebelek i wybierz New Query. Otworzy się okno zapytań, w którym możemy wpisywać polecenia (zapytania) do bazy danych mebelek. Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 1) 3 Polecenie 1.5: W oknie zapytań wpisz SELECT * FROM INFORMATION_SCHEMA.TABLES a następnie kliknij przycisk Execute znajdujący się powyżej. ZMIANA SPOSOBÓW WYŚWIETLANIA REZULTATÓW ZAPYTAŃ Okno zapytań zostało podzielone, w dolnej części (noszącej nazwę panelu wynikowego) pojawił się rezultat wykonanego zapytania. Sposób wyświetlania rezultatów zapytania można zmienić za pomocą odpowiednich przycisków umieszczonych na pasku menu (na rysunku zaznaczone w ramce). Dostępne opcje to wyniki jako tekst, wyniki do siatki i wyniki do pliku. Polecenie 1.6: Zmień sposób wyświetlania rezultatów zapytania na tekst (przycisk Results to Text), a następnie ponownie wykonaj zapytanie. PRZEGLĄDANIE TABEL BAZY DANYCH Wykonane zapytanie zwraca wszystkie tabele dostępne dla aktualnego użytkownika w bazie danych mebelek. Tabela to podstawowy obiekt każdej relacyjnej bazy danych. To właśnie w tabelach przechowywane są dane. Polecenie 1.7: Policz liczbę tabel znajdujących się w bazie mebelek. Dostęp do tabel możemy również uzyskać za pomocą Eksploratora obiektów. Polecenie 1.8: W Eksploratorze obiektów rozwiń gałąź mebelek, a następnie folder Tables. Porównaj nazwy tabel z rezultatem zapytania. Przedrostek dbo w nazwach tabel to nazwa domyślnego schematu użytkownika. Na tym poziomie rozważań nie ma większego znaczenia. PLAN WYKONANIA ZAPYTANIA Przy każdym uruchomieniu zapytania SQL Server analizuje je i wysyła do tzw. optymalizatora zapytań, który ustala taki sposób wykonania zapytania, aby umożliwić jak najszybsze otrzymanie wyników. Opcja Display Estimated Execution Time pokazuje graficzny obraz oraz dodatkowe informacje dotyczące tego, w jaki sposób SQL Server zamierza wykonać zapytanie (wynik podawany jest bez rzeczywistego wykonywania zapytania, w związku z tym wszystkie wartości są wartościami szacunkowymi). Aby zobaczyć rzeczywisty plan zapytania, należy kliknąć przycisk Include Actual Execution Plan, a następnie wykonać zapytanie. Polecenie 1.9: Na pasku menu powyżej okna zapytań znajdź i kliknij przycisk Display Estimated Execution Time. Po najechaniu myszką na którąś ze składowych planu zapytania otrzymamy szczegółowe informacje na temat kosztów jego wykonania. Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 1) 4 NO I WRESZCIE PRACA Z BAZĄ DANYCH Odtwarzanie bazy danych Zanim rozpoczniemy pracę z bazą danych, przywrócimy ją z istniejącej kopii zapasowej. Polecenie 1.10: Zamknij wszystkie dodatkowe zakładki w okienku zapytań, tak aby została tylko zakładka Summary. Kliknij prawym przyciskiem myszy na bazę mebelek w oknie Eksploratora obiektów, a następnie wybierz Tasks→Restore→Database... Pojawi się okno z pytaniem o wybór kopii zapasowej, która ma zostać odtworzona. Zatwierdź wybór przyciskiem OK, a następnie poczekaj chwilę na komunikat o pomyślnym odtworzeniu bazy. Wyświetlanie danych w tabelach Polecenie 1.11: W Eksploratorze obiektów kliknij prawym przyciskiem myszy na tabelę Kierowcy i wybierz Open Table. W oknie zapytań pojawi się nowa zakładka, w której można zobaczyć wszystkie dane znajdujące się w tabeli kierowcy. Każda tabela składa się z kolumn i wierszy. Każda kolumna posiada swoją nazwę i przechowuje ten sam typ danych. W wierszach znajdują się poszczególne rekordy tabeli. Tabela Kierowcy, jak sama nazwa wskazuje, przechowuje informacje o kierowcach zatrudnionych w sklepie "Mebelek". Każdy wiersz tej tabeli odpowiada jednemu kierowcy. Polecenie 1.12: Odpowiedz na pytania: 1. Ilu kierowców aktualnie zatrudnionych jest w sklepie "Mebelek"? 2. Jakie informacje przechowywane są o każdym z nich? 3. Który kierowca został zatrudniony najwcześniej, a który najpóźniej? Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 1) 5 Polecenie 1.13: Pracuj w parze z sąsiadem (czas: 10 min.): W analogiczny sposób przejrzyj tabele Dostawcy, Ciezarowki, Klienci i Towary, a następnie napisz na kartce i przekaż sąsiadowi 5 pytań (podobnych do tych z poprzedniego polecenia) dotyczących danych w wymienionych wcześniej tabelach. Po otrzymaniu kartki z pytaniami, napisz swoje odpowiedzi i zwróć kartkę. Uwaga! Kontroluj liczbę zakładek, które otwierasz w oknie zapytań. Dla łatwiejszej nawigacji zamykaj te, które nie są ci już potrzebne. Modyfikacja danych Polecenie 1.14: Otwórz tabelę Kierowcy i zmień imię kierowcy nr 5 na Jan. Polecenie 1.15: Wstaw nowego kierowcę. Kolumnę id zostaw pustą (jej wartość jest uzupełniana automatycznie), w odpowiednich kolumnach podaj swoje imię i nazwisko oraz dzisiejszą datę. Kolumnę id_ciez zostaw pustą. Polecenie 1.16: Spróbuj wstawić jeszcze jednego kierowcę, tym razem zostawiając również pustą kolumnę imie. Przeczytaj komunikat, który pojawi się, gdy klikniesz w dowolny inny rekord tabeli i odpowiedz na pytanie dlaczego nie można wstawić takiego rekordu. Cofnij wstawianie rekordu za pomocą klawisza Escape. Polecenie 1.17: Usuń kierowcę o twoim imieniu i nazwisku. Wykonywanie zapytań SQL do bazy Za pomocą zapytań w języku SQL można wyświetlić wszystkie informacje z bazy danych, które są nam potrzebne. Polecenie 1.18: Kliknij prawym przyciskiem myszy na bazę mebelek i wybierz New Query. Następnie wykonaj kolejno następujące zapytania, za każdym razem analizując otrzymany rezultat: SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT * FROM Kierowcy imie, nazwisko FROM Kierowcy * FROM Kierowcy WHERE id=2 * FROM Kierowcy WHERE id>3 * FROM Kierowcy WHERE id>3 AND id<6 * FROM Kierowcy WHERE imie LIKE 'tomasz' * FROM Kierowcy WHERE nazwisko LIKE 'g%' * FROM Kierowcy WHERE imie LIKE '%k' Uwaga! Jeśli nie zaznaczysz żadnego zapytania przed naciśnięciem przycisku Execute, wykonane zostaną wszystkie wpisane w oknie zapytania. Jeśli chcesz wykonać tylko jedno z nich, należy je najpierw zaznaczyć. Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 1) 6 Polecenie 1.19: Odpowiedz na następujące pytania: 1. Od czego zaczyna się polecenie wyświetlające dane z tabeli? 2. Co oznacza * po słowie SELECT? 3. W jaki sposób wyświetlić dane tylko z wybranych kolumn z tabeli? 4. W którym miejscu zapytania należy wstawić nazwę tabeli, z której dane chcemy wyświetlić? 5. W jaki sposób ograniczyć wyświetlanie rekordów tylko do tych, o wartości kolumny id • równej 2? • większej niż 3? • większej niż 3 ale mniejszej niż 6? 6. W jaki sposób ograniczyć wyświetlanie rekordów tylko do tych kierowców • imieniu 'Tomasz'? • których nazwisko zaczyna się na literę 'g'? • których imię kończy się na literę 'k'? Polecenie 1.20: Za pomocą poleceń SQL spróbuj: 1. Wyświetlić wszystkie dane z tabeli Klienci 2. Wyświetlić tylko nazwiska klientów o wartości kolumny id mniejszej niż 4 3. Wyświetlić informacje tylko o klientkach sklepu "Mebelek" Pytania kontrolne: 1. Na czym polega opcja uwierzytelniania Windows Authentication? 2. W jaki sposób sprawdzić dostępne dla aktualnego użytkownika bazy danych? 3. Gdzie wpisuje się zapytania do bazy danych? 4. Jakie są trzy sposoby wyświetlania rezultatów zapytania i w którym miejscu można je zmienić? 5. Jak sprawdzić plan oraz szacunkowy koszt wykonania zapytania? 6. W jaki sposób wykonuje się odtwarzanie bazy danych z istniejącej kopii zapasowej? 7. Jak nazywa się i z czego się składa podstawowy obiekt bazy danych, w którym przechowywane są dane? 8. W jaki sposób wyświetlić dane z tabeli? Po tych zajęciach powinieneś/powinnaś umieć: • uruchamiać program SQL Server Management Studio, • korzystać z okna eksploratora obiektów, • przeglądać, wstawiać, modyfikować i usuwać dane w tabelach, • wykonywać proste zapytania typu SELECT: wyświetlać zawartość całej tabeli, wyświetlać zawartość tylko wybranych kolumn, ograniczać wyniki zapytań za pomocą prostych warunków przy użyciu klauzuli WHERE.