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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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!