11.07.2015 Views

Laboratorium 5 1 Wprowadzenie do relacyjnych baz danych

Laboratorium 5 1 Wprowadzenie do relacyjnych baz danych

Laboratorium 5 1 Wprowadzenie do relacyjnych baz danych

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Tabela KSIAZKATECHNOLOGIA INFORMACYJNA — laboratoriumrelacyjne <strong>baz</strong>y <strong>danych</strong>: MS AccessW tej tabeli przechowywane będą dane o książkach <strong>do</strong>stępnych w bibliotece.Klucz Nazwa Typ <strong>danych</strong> Rozmiar Atrybuty Sygnatura AutonumerowanieTytul Tekst 255 wymagane: takAutor_Nazwisko Tekst 30 wymagane: takAutor_Imie Tekst 20 wymagane: takGatunek Tekst 30 wymagane: takRok_wydania Liczba Liczba całkowitaWydawnictwo Tekst 50Miejsce_wydania Tekst 30Cena Waluta reguła spr. poprawności: >0 miejscadziesiętne: 2Jezyk Tekst 5 wartość <strong>do</strong>myślna: "polski"OpisOkladkaNotaObiekt OLETabela CZYTELNIKTu wprowadzane będą dane teleadresowe czytelnikówKlucz NAZWA Typ <strong>danych</strong> Rozmiar Atrybuty ID AutonumerowanieCzytelnik_Nazwisko Tekst 30 wymaganeCzytelnik_Imie Tekst 20 wymaganeAdres Tekst 50 wymaganeTelefon Tekst 7 maska wprowadzaniaTyp_czytelnika Tekst 9Wydzial Tekst 3Rok_studiow Liczba BajtData_zapisu Data/Godzina format: Data krótkawartość <strong>do</strong>myślna: Date ()W projekcie tabeli CZYTELNIK w polu Telefon definiujemy maskę wprowadzania:wybieramy przycisk kreatora masek:wybieramy szablon Numer telefonuwybieramy znak maskimgr inż. Tomasz Sitek, mgr inż. Adam Czarnecki, mgr inż. Artur Ziółkowski, 2010Wydział Zarządzania i Ekonomii Politechniki Gdańskiej3/10ST.E


TECHNOLOGIA INFORMACYJNA — laboratoriumrelacyjne <strong>baz</strong>y <strong>danych</strong>: MS Access3. Nadaj dla wszystkich pól tytuły. Tytuł nie musi być taki sam jak nazwa pola — może zawieraćpolskie znaki oraz spacje. Co jest wyświetlane w wi<strong>do</strong>ku arkusza <strong>danych</strong> tabeli: nazwa pola czytytuł?4. Pobierz ze strony pliki pomocnicze XLSX (format MS Excel) o nazwach takich, jak utworzonetabele; w plikach tych znajdziesz gotowe dane, które zostaną wprowadzone <strong>do</strong> tabel poprzezimport5. Zaimportuj dane z plików XLSX <strong>do</strong> tabel w Twojej <strong>baz</strong>ie [Zakładka Dane zewnętrzne Ikona MSExcel]Uwaga:Podczas importowania <strong>danych</strong>a) Wybierz opcję Dołącz kopię rekordów <strong>do</strong> tabeli KSIAZKAb) W pasku u góry wybierz plik ksiazka.xlsx (oraz później analogicznie czytelnik.xlsx);Access powinien poprawnie rozpoznać strukturę pliku dzieląc go na polac) W następnym kroku Pierwszy wiersz zawiera nagłówki kolumn — pierwszy wiersz zawartyw pliku XLSX stanie się nagłówkiem i nie zostanie zaimportowany jako rekord.d) Nie zaznaczaj opcji jak niżej — nie chcemy by kreator cokolwiek za nas analizował!e) Nie korzystaj z proponowanej opcji zapisywania kroków importowaniamgr inż. Tomasz Sitek, mgr inż. Adam Czarnecki, mgr inż. Artur Ziółkowski, 2010Wydział Zarządzania i Ekonomii Politechniki Gdańskiej4/10ST.E


TECHNOLOGIA INFORMACYJNA — laboratoriumrelacyjne <strong>baz</strong>y <strong>danych</strong>: MS Access6. Pobierz ze wskazanej strony WWW plik filia.xlsx; zaimportuj go <strong>do</strong> Twojej <strong>baz</strong>y <strong>danych</strong> <strong>do</strong>nowej tabeli, nadaj jej nazwę FILIA. Sprawdź jakie Access przydzielił typy <strong>danych</strong> dlaposzczególnych pól oraz jakie ustawił na nich atrybutyW trakcie importu pozwól Accessowi nadać klucz podstawowy7. Wprowadź dla tabeli FILIA ustawienia według poniższych wytycznychTabela FILIAKlucz NAZWA Typ <strong>danych</strong> Rozmiar Atrybuty ID AutonumerowanieNr_filii Liczba Bajt wymaganeWydzial Tekst 3 wymaganeLiczba_stanowisk_czyt Liczba BajtLiczba_woluminow Liczba Liczba całkowitaGodz_otwarciaNotaTelefon Liczba maska wprowadzaniaKsero Tak/Nie wartość <strong>do</strong>myślna: "TAK"Wypozyczanie Tak/Nie wartość <strong>do</strong>myślna: "TAK"Zauważ, że próba ustawienia maski nie udaje się przy typie pola Liczba. Zmień typa pola na taki, bybyło to możliwe. Czy przy zmianie typów <strong>danych</strong> wszystkie wartości w polach zostały zachowane?8. Dodaj <strong>do</strong> tabeli CZYTELNIK dwa pola: pierwsze wg wytycznych poniżej, natomiast drugie tonumer jego Gadu-GaduKlucz NAZWA Typ <strong>danych</strong> Rozmiar AtrybutyAktywny Tak/Nie wartość <strong>do</strong>myślna: "TAK"Wypełnij oba pola dla wybranych rekordów wartościami według uznania4 Ćwiczenie 2 — relacje4.1 <strong>Wprowadzenie</strong>Znajomość reguł projektowania tabel nie jest wystarczająca, by zbu<strong>do</strong>wać z nich poprawną i wydajną<strong>baz</strong>ę <strong>danych</strong>. Konieczna jest umiejętność projektowania relacji między tabelami. Relacje pozwalająpowiązać w taki sposób tabele, by móc łatwo uzyskiwać dane na konkretny temat, nawet jeśli te dane„rozrzucone” są w większej ilości tabel.Istotne jest także, aby tak projektować dane, by unikać ich niepotrzebnego powtarzania. Taki nadmiar<strong>danych</strong> nazywa się redundancją i prowadzi w pewnej perspektywie czasowej <strong>do</strong> trudnościz zarządzaniem nimi. Ma to także mierzalny skutek — <strong>baz</strong>a <strong>danych</strong> zawierająca zdublowane wpisyzajmuje więcej miejsca i jest wolniejsza. Stąd jeszcze przed wprowadzeniem jakichkolwiek <strong>danych</strong>tabele muszą zostać poddane takiemu procesowi. Nazywa się to normalizacją tabel.mgr inż. Tomasz Sitek, mgr inż. Adam Czarnecki, mgr inż. Artur Ziółkowski, 2010Wydział Zarządzania i Ekonomii Politechniki Gdańskiej5/10ST.E


TECHNOLOGIA INFORMACYJNA — laboratoriumrelacyjne <strong>baz</strong>y <strong>danych</strong>: MS AccessWe wstępie <strong>do</strong> poprzedniego ćwiczenia określone zostały kroki prowadzące <strong>do</strong> zaprojektowaniazestawu tabel w <strong>baz</strong>ie <strong>danych</strong>. Na tym etapie można <strong>do</strong>pisać kolejne punkty:ustalenie relacji między tabelami,analiza tabel pod kątem powtarzalności (redundancji) <strong>danych</strong>,wyodrębnienie powtarzających się <strong>danych</strong> i stworzenie osobnych tabel (tzw. słownikowych),stworzenie relacji między tabelą główną a tabelami słownikowymi.4.2 Polecenia1. Otwórz tabelę CZYTELNIK w swojej <strong>baz</strong>ie <strong>danych</strong> w wi<strong>do</strong>ku arkusza <strong>danych</strong>2. Przeanalizuj ja pod kątem powtarzanych <strong>danych</strong>. Przykła<strong>do</strong>we dane, które się powtarzają,pokazano poniżejCo by się stało gdyby Wydział Zarządzania Ekonomii zmienił nazwę, a co za tym idzie, skrót ZIE? Cotrzeba by zrobić, chcąc zachować poprawność <strong>danych</strong>?3. Stwórz tabelę o nazwie WYDZIAL według wytycznych jak niżej:Klucz NAZWA Typ <strong>danych</strong> Rozmiar Atrybuty ID AutonumerowanieAkronim Tekst 3 wymagane: takWydzial Tekst 50 wymagane: tak4. Wprowadź w wi<strong>do</strong>ku arkusza <strong>danych</strong> tej tabeli znane Ci wydziały Politechniki Gdańskiej. W poluAkronim użyj takich trzyliterowych skrótów, jakie występują w tabeli CZYTELNIK. Zauważ, żekażdy wydział otrzymał w polu ID swój unikatowy numer. Jest pole-klucz.5. Otwórz tabelę CZYTELNIK i zamień wartości w polu Wydzial na odpowiednią dla danegowydziału wartość ID nadaną w nowo stworzonej tabeli. W kroku drugim zmień typ <strong>danych</strong>ustawiony na tym polu z Tekst na Liczba (całkowita).Jeśli taka zamiana <strong>danych</strong> nie jest możliwa w sposób ręczny (edytując kolejne rekordy), możnaużyć opcji Znaj<strong>do</strong>wania i Zamieniania (skrót klawiaturowy: CTRL + H ).Uwaga!Cofnięcie takiej operacji zamiany nie będzie możliwe, więc zalecane jest w takich przypadkachstworzenie kopii <strong>baz</strong>y <strong>danych</strong>.mgr inż. Tomasz Sitek, mgr inż. Adam Czarnecki, mgr inż. Artur Ziółkowski, 2010Wydział Zarządzania i Ekonomii Politechniki Gdańskiej6/10ST.E


TECHNOLOGIA INFORMACYJNA — laboratoriumrelacyjne <strong>baz</strong>y <strong>danych</strong>: MS Access6. Stwórz tabelę o nazwie OSOBA_STATUS według wytycznych jak niżej:Klucz NAZWA Typ <strong>danych</strong> Rozmiar Atrybuty ID AutonumerowanieStatus Tekst 10 wymagane: tak7. Wprowadź w wi<strong>do</strong>ku arkusza <strong>danych</strong> tej tabeli dwa rekordy — jeden <strong>do</strong>tyczący studenta, drugi —pracownika.8. Analogicznie jak w punkcie poprzednim, zamień w tabeli CZYTELNIK wartości tekstowe naLiczby odpowiadające ID z tabeli OSOBA_STATUS.Czy widzisz w tej tabeli inne dane, które można by poddać procesowi normalizacji?9. Otwórz tabelę FILIA. Przeanalizuj jej zawartość pod kątem normalizacji i zrób odpowiedniepoprawki. Wskazówka: jest jedno pole, które musi zostać poddane zmianom.10. Ustal wszystkie możliwe relacje między tabelami w swojej <strong>baz</strong>ie <strong>danych</strong>. W tym celu kliknij ikonęna pasku narzędzi:a) Dodaj swoje wszystkie tabele.mgr inż. Tomasz Sitek, mgr inż. Adam Czarnecki, mgr inż. Artur Ziółkowski, 2010Wydział Zarządzania i Ekonomii Politechniki Gdańskiej7/10ST.E


TECHNOLOGIA INFORMACYJNA — laboratoriumrelacyjne <strong>baz</strong>y <strong>danych</strong>: MS Accessb) ustal wszystkie możliwe relacje między odpowiednimi polami. W tym celu przeciągnij kursorod jednego pola <strong>do</strong> drugiego, trzymając wciśnięty lewy klawisz myszy. Access wyświetlinastępujące okno:c) Włącz opcję Wymuszaj więzy integralności.d) W przypadku powiązania tabel CZYTELNIK i OSOBA_STATUS Access utworzył relację typujeden-<strong>do</strong>-wielu. Dlaczego? Jak to zinterpretować?e) Utwórz wszystkie pozostałe relacje (jakiego są typu?). Możesz też, zamiast okna relacji,skorzystać z kreatora odnośników <strong>do</strong>stępnego na liście typów <strong>danych</strong> w wi<strong>do</strong>ku projektowaniatabeli:mgr inż. Tomasz Sitek, mgr inż. Adam Czarnecki, mgr inż. Artur Ziółkowski, 2010Wydział Zarządzania i Ekonomii Politechniki Gdańskiej8/10ST.E


TECHNOLOGIA INFORMACYJNA — laboratoriumrelacyjne <strong>baz</strong>y <strong>danych</strong>: MS Access11. Stwórz nową tabelę o nazwie WYPOZYCZENIA według wytycznych jak niżej:Klucz Nazwa Typ <strong>danych</strong> Rozmiar Atrybuty Ksiazka_Sygnatura Liczba całkowita długa Czytelnik_ID Liczba całkowita długa Data_wypozyczenia Data/godzina data krótka wartość <strong>do</strong>myślna: Date()Data_oddania Data/godzina data krótkaZauważ, że zgodnie z powyższą specyfikacją żadne pole w tabeli nie będzie mieć ustalonego atrybutuWymagane=TAK. Dlaczego?Otwórz ponownie wi<strong>do</strong>k relacji, <strong>do</strong>daj tabelę WYPOZYCZENIA i ustal odpowiednie relacje.Wskazówka: dla tej tabeli trzeba ustalić relacje z dwiema tabelami.5 Praca <strong>do</strong>mowaCelem ćwiczenia jest nabycie umiejętności samodzielnej analizy wymagań funkcjonalnych <strong>baz</strong>y<strong>danych</strong>. Poniżej w kilku zdaniach przedstawione zostały wymagania przyszłego użytkownika <strong>baz</strong>y<strong>danych</strong>. Wymagania wyrażone są w języku naturalnym, stąd mogą być nieprecyzyjne.Zbuduj tabelę (lub kilka tabel), która zapewni poprawne wprowadzanie oraz przetwarzanie <strong>danych</strong> <strong>do</strong>niej wprowadzanych. Ustaw odpowiednie atrybuty.Biblioteka przechowuje także multimedia, <strong>baz</strong>a <strong>danych</strong> powinna dawać możliwośćprzechowywania o nich <strong>danych</strong>.Multimedia mamy na różnych nośnikach – na płytach CD, DVD, a nawet na kasetach.Są to zarówno filmy, audiobooki, jak i utwory muzyczne.Większość pozycji jest zabezpieczona przed kopiowaniem.W przypadku filmów przydałoby się mieć <strong>do</strong>stęp <strong>do</strong> informacji o tym, czy są napisy i/lub lektorIstotną informacją jest długość nagrania.Niektórych pozycji nie można wypożyczyć – <strong>do</strong>stęp <strong>do</strong> nich jest możliwy wyłącznie w czytelni.Ważne jest, by system nie pozwolił osobie wprowadzającej dane wprowadzić pozycji bezpodania informacji o języku; wystarczą 3 litery np. POL, ANG (wyświetlanie jako wielkie litery).Jeśli się da, to <strong>do</strong>brze byłoby dysponować okładką danej pozycji.Stwórz odpowiednią liczbę niezbędnych tabel (słownikowych) i ustal odpowiednie relacje.6 Pytania sprawdzające wiedzę i umiejętności1. Co to jest (relacyjna) <strong>baz</strong>a <strong>danych</strong>?2. Co to jest system zarządzania <strong>baz</strong>ami <strong>danych</strong>?3. Co to jest tabela <strong>baz</strong>y <strong>danych</strong>?4. Co to jest pole tabeli?5. Co to jest rekord tabeli?6. Jak przechowywane są poszczególne wartości w <strong>baz</strong>ie <strong>danych</strong>?7. Jakie typy <strong>danych</strong> można przechowywać w <strong>baz</strong>ie MS Access 2007?8. Jakie właściwości można określać dla poszczególnych typów <strong>danych</strong>?9. Jakie mamy typy relacji? Co każdy z nich oznacza?10. Co to jest klucz podstawowy tabeli, a czym jest klucz obcy?11. Co jest celem normalizowania <strong>baz</strong>y <strong>danych</strong>?mgr inż. Tomasz Sitek, mgr inż. Adam Czarnecki, mgr inż. Artur Ziółkowski, 2010Wydział Zarządzania i Ekonomii Politechniki Gdańskiej9/10ST.E


7 LiteraturaTECHNOLOGIA INFORMACYJNA — laboratoriumrelacyjne <strong>baz</strong>y <strong>danych</strong>: MS Access1. Michael R. Groh, Joseph C. Stockman, Gavin Powell, Cary N. Prague, Michael R. Irwin, JenniferRear<strong>do</strong>n. Access 2007 PL. Biblia. Helion. Gliwice, 2008, s. 49-169.2. Kopertowska M. Europejski Certyfikat Umiejętności Komputerowych. Bazy Danych.Wydawnictwo Naukowe PWN. Wydanie III zmienione. Warszawa, 2007. s. 20-21, 32, 46-50.3. Kopertowska M., Sikorski W. Europejski Certyfikat Umiejętności Komputerowych. Poziomzaawansowany. Bazy Danych. Wydawnictwo Naukowe PWN. Warszawa, 2006. s. 36-44.4. Kopertowska M. Europejski Certyfikat Umiejętności Komputerowych. Bazy Danych.Wydawnictwo Naukowe PWN. Wydanie III zmienione. Warszawa, 2007. s. 30-41.5. Kopertowska M., Sikorski W. Europejski Certyfikat Umiejętności Komputerowych. Poziomzaawansowany. Bazy Danych. Wydawnictwo Naukowe PWN. Warszawa, 2006. s. 8-35.6. http://office.microsoft.com/pl-pl/access/HP051884441045.aspx7. http://office.microsoft.com/pl-pl/access/HP051875301045.aspx8. http://office.microsoft.com/pl-pl/access/HP051875241045.aspxmgr inż. Tomasz Sitek, mgr inż. Adam Czarnecki, mgr inż. Artur Ziółkowski, 2010Wydział Zarządzania i Ekonomii Politechniki Gdańskiej10/10ST.E

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!