1. Cel ćwiczenia 2. Ćwiczenie
Transkrypt
1. Cel ćwiczenia 2. Ćwiczenie
Wydział Inżynierii Mechanicznej i Robotyki Jakub Topolski Automatyka i Robotyka Ćwiczenie GR 22/I ROK III SIECI KOMPUTEROWE I BAZY DANYCH 4 TEMAT: „TWORZENIE I ZARZĄDZANIE INTERNETOWĄ BAZĄ DANYCH” 1. Cel ćwiczenia Student ma zaznajomić się z tym jak tworzy i edytuje się internetowe bazy danych. W jaki sposób można przeszukać rekordy oraz jak importować i eksportować dane. 2. Ćwiczenie Zadanie 1. Uruchomić narzędzie phpMyAdmin (http://149.156.115.209/phpmyadmin/) a następnie przy jego pomocy utworzyć dwie tabele pozwalające na definiowanie systemu kontaków do wybranych osób. Pierwsza tabela może mieć nazwę „osoby” oraz zawierać: - pole przechowujące liczbę ID rekordu ( pole wymagane, liczba całkowita nadawana automatycznie) - pole przechowujące imię dowolnej osoby ( maksymalnie 30 znaków) - pole zawierające nazwisko osoby ( maksymalnie 100 znaków) - pole na datę urodzenia osoby - pole zawierające informację o wieku osoby Rozwiązanie Rys. 1 Tworzymy tabele „osoby” i wybieramy ilość kolumn Rys. 2 Edytujemy nazwę kolumn typ i nadajemy ograniczenie długości Zadanie 2. Utworzyć drugą tabelę „kontakty” zawierającą: - pole przechowujące liczbę ID rekordu ( pole wymagane, liczba całkowita nadawana automatycznie) - pole ID_osoby – identyfikujące osobę w tabeli osoby - pole odnoszące się do rodzaju kontaktu (np.: email, telefon stacjonarny, tel. komórkowy, nr komunikatora itp....) – pole definujące kontakt ( maksymalnie 100 znaków) Rozwiązanie Rys. 3 Tworzymy tabele „kontakty” i wybieramy ilość kolumn Rys. 4 Postępujemy analogicznie jak z tabelą w Rys. 2 Rys. 5 Gotowe tabele Zadanie 3. Korzystając z phpMyAdmin’a lub skryptów dodać co najmniej 5 rekordów zawierających dane (np. kolegów z grupy) do tabeli „osoby” oraz co najmniej po dwa wpisy dla każdej osoby w tabeli „kontakty”. Rzowiązanie Rys. 6 Narzędzie za pomocą którego uzupełniamy rekordy Rys. 7 Wypełniona tabela „osoby” Rys. 8 Wypełniona tabela „kontakty” Zadanie 4. Wyszukać w przygotowanym zestawie danych: – rekordy osób, których imię zaczyna się na wybraną literę alfabetu Rozwiązanie Posługujemy się narzędziem „szukaj” Rys. 9 Szukamy osób których nazwisko zaczyna się na literę Z Rys. 10 Wynik szukania Zadanie 5. policzyć dostępne w bazie kontakty jednego wybranego rodzaju Rozwiązanie Rys. 11 Zapytanie Rys. 12 Wynik szukania Zadanie 6. wybrać z danych wszystkie kontakty dla wybranej osoby Rozwiązanie Rys. 13 Zapytanie Rys. 14 Wynik szukania Zadanie 7. wyszukać w zestawieniu kontaktów zadany ciąg znaków (np. „12617”) oraz określić osobę lub osoby związane z danym kontaktem. Rozwiązanie Rys. 13 Zapytanie Rys. 14 Wynik szukania Zadanie 8. Wyeksportować całą bazę danych do pliku w formacie *.sql, *.zip, *.xml. Rozwiązanie Używamy narzędzia eksport Rys. 15 Po kliknięciu pojawi nam się widok w którym zaznaczamy interesujące nas opcje. Wybieram typ pliku który nas interesuje. Rys. 16 Kod programu o rozszerzeniu XML: <?xml version="1.0" encoding="utf-8"?> <!-- phpMyAdmin XML Dump - version 4.0.6deb1 - http://www.phpmyadmin.net - Host: localhost - Czas wygenerowania: 09 Gru 2013, 18:50 - Wersja serwera: 5.5.34-0ubuntu0.13.10.1 - Wersja PHP: 5.5.3-1ubuntu2 --> <pma_xml_export version="1.0" xmlns:pma="http://www.phpmyadmin.net/some_doc_url/"> <!-- Structure schemas --> <pma:structure_schemas> <pma:database name="s249211" collation="latin1_swedish_ci" charset="latin1"> <pma:table name="Kontakty"> CREATE TABLE `Kontakty` ( `ID` int(11) NOT NULL, `ID_osoby` int(11) NOT NULL, `Rodzaj_kontaktu` text NOT NULL, `Kontakt` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; </pma:table> <pma:table name="Osoby"> CREATE TABLE `Osoby` ( `ID` int(11) NOT NULL, `Imię` text NOT NULL, `Nazwisko` text NOT NULL, `Data_urodzenia` date NOT NULL, `Wiek` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; </pma:table> </pma:database> </pma:structure_schemas> <!-- Baza danych: 's249211' --> <database name="s249211"> <!-- Tabela Kontakty --> <table name="Kontakty"> <column name="ID">1</column> <column name="ID_osoby">1</column> <column name="Rodzaj_kontaktu">Telefon</column> <column name="Kontakt">382910291</column> </table> <table name="Kontakty"> <column name="ID">2</column> <column name="ID_osoby">1</column> <column name="Rodzaj_kontaktu">email</column> <column name="Kontakt">[email protected]</column> </table> <table name="Kontakty"> <column name="ID">3</column> <column name="ID_osoby">2</column> <column name="Rodzaj_kontaktu">Telefon</column> <column name="Kontakt">485795648</column> </table> <table name="Kontakty"> <column name="ID">4</column> <column name="ID_osoby">2</column> <column name="Rodzaj_kontaktu">email</column> <column name="Kontakt">[email protected]</column> </table> <table name="Kontakty"> <column name="ID">5</column> <column name="ID_osoby">3</column> <column name="Rodzaj_kontaktu">Telefon</column> <column name="Kontakt">168486579</column> </table> <table name="Kontakty"> <column name="ID">6</column> <column name="ID_osoby">3</column> <column name="Rodzaj_kontaktu">email</column> <column name="Kontakt">[email protected]</column> </table> <table name="Kontakty"> <column name="ID">7</column> <column name="ID_osoby">4</column> <column name="Rodzaj_kontaktu">Telefon</column> <column name="Kontakt">446654456</column> </table> <table name="Kontakty"> <column name="ID">8</column> <column name="ID_osoby">4</column> <column name="Rodzaj_kontaktu">email</column> <column name="Kontakt">[email protected]</column> </table> <table name="Kontakty"> <column name="ID">9</column> <column name="ID_osoby">5</column> <column name="Rodzaj_kontaktu">Telefon</column> <column name="Kontakt">157943654</column> </table> <table name="Kontakty"> <column name="ID">10</column> <column name="ID_osoby">5</column> <column name="Rodzaj_kontaktu">email</column> <column name="Kontakt">[email protected]</column> </table> <!-- Tabela Osoby --> <table name="Osoby"> <column name="ID">1</column> <column name="Imię">Jan</column> <column name="Nazwisko">Zajac</column> <column name="Data_urodzenia">1991-12-04</column> <column name="Wiek">22</column> </table> <table name="Osoby"> <column name="ID">2</column> <column name="Imię">Dawid</column> <column name="Nazwisko">Szewczuk</column> <column name="Data_urodzenia">1991-08-02</column> <column name="Wiek">22</column> </table> <table name="Osoby"> <column name="ID">3</column> <column name="Imię">Rafal</column> <column name="Nazwisko">Sliwa</column> <column name="Data_urodzenia">1992-04-10</column> <column name="Wiek">21</column> </table> <table name="Osoby"> <column name="ID">4</column> <column name="Imię">Andzelika</column> <column name="Nazwisko">Szoldra</column> <column name="Data_urodzenia">1992-06-12</column> <column name="Wiek">21</column> </table> <table name="Osoby"> <column name="ID">5</column> <column name="Imię">Kasia</column> <column name="Nazwisko">Stepien</column> <column name="Data_urodzenia">1994-12-04</column> <column name="Wiek">19</column> </table> </database> </pma_xml_export> Zadanie 9. Wyczyścić bazę danych z wpisów, a następnie dokonać importu danych z pliku *.sql. Rozwiązanie Należy urzyć opcji import w naszej bazie danych i wybrac plik z rozszerzeniem sql. Rys. 15