POLITECHNIKA CZĘSTOCHOWSKA WYDZIAŁ
Transkrypt
POLITECHNIKA CZĘSTOCHOWSKA WYDZIAŁ
6dbc POLITECHNIKA CZĘSTOCHOWSKA WYDZIAŁ INŻYNIERII MECHANICZNEJ I INFORMATYKI PRACA DYPLOMOWA MAGISTERSKA Badanie wydajności technik XML w bazach danych Tytuł pracy przetłumaczony na język angielski piszemy poniżej Tomasz Kopeć Nr albumu:107123 Kierunek:Informatyka Studia: niestacjonarne Poziom studiów : II Promotor pracy: dr inż. Olga Siedlecka-Lamch Praca przyjęta dnia: Podpis promotora: Częstochowa, 2016 Spis treści CEL PRACY 3 WSTĘP 5 1 CZĘŚĆ OPISOWA 7 1.1 FORMA PRACY MAGISTERSKIEJ. 7 1.2 TECHNIKA PISANIA PRACY 7 2 ANALIZA PRAKTYCZNYCH ROZWIĄZAŃ W DANEJ DZIEDZINIE 11 2.1 STRUKTURA SYSTEMU 11 2.2 ZASADA DZIAŁANIA SYSTEMU 11 2.3 ZASTOSOWANIA.... 11 3 CZĘŚĆ PRAKTYCZNA - BADANIA, PROGRAM 13 3.1 OBIEKT BADAŃ 13 3.2 ŚRODOWISKO BADAWCZE 13 3.3 PRZEBIEG BADAŃ 13 3.4 WYNIKI BADAŃ 13 3.5 WNIOSKI 13 PODSUMOWANIE 15 LITERATURA 17 DODATEK A. KOD PROGRAMU KOMPUTEROWEGO 18 Dodatek B. Spis zawartości dołączonej płyty CD 19 Cel pracy Celem pracy jest porównanie wydajności trzech rodzajów baz danych. Zakres pracy obejmuje stworzenie trzech wersji aplikacji bazodanowej. Każda z nich będzie wykorzystywać inny rodzaj bazy danych: -Baza danych SQL -Baza danych XML -Baza danych XML Schema Wstęp Zanim pojawiły się urządzenia zdolne do przechowywania, oraz przetwarzania baz danych, były one zapisywane na glinianych tabliczkach, papirusie oraz na papierze. Powstało wiele rodzajów pisma, każde z nich było charakterystyczne pod względem budowy oraz skomplikowania tekstu. Dane przechowywane były w archiwach, bibliotekach oraz w różnego rodzaju katalogach. Dopiero wynalezienie druku pozwoliło ułatwić prace przy dostępie do danych. Rozwój ekonomiczny świata przyczynił się do szukania innych sposobów przechowywania danych. Pierwszym sposobem było krosno Josepha Jacquarda. Było ono sterowane przy pomocy zapisu na perforowanej karcie. Pojawiły się także pianole, które odtwarzały zakodowane znajdujące się na płytach utwory, oraz maszyna Charlesa Babbage'a. Była ona sterowana przy użyciu instrukcji znajdujących się na na kartach perforowanych. Przechowywanie danych na kartach zapoczątkował Herman Holleritha, który opracował maszynę zwaną "tabulatorem". Potrafiła ona odczytywać dane demograficzne zapisane na kartach perforowanych, przetwarzanie ich, oraz drukowanie raportów. W roku 1896 Hollerith założył firmę Tabulating Machine. Jej celem było budowanie urządzeń do przechowywania danych na kartach perforowanych. W 1911 roku firma połączyła się z trzema innymi korporacjami tworząc Computing Tabulating Recording Corporation - CTR. W 1924 roku firma przyjęła nazwę, do dziś bardzo dobrze znaną IBM - International Business Machines. W latach czterdziestych ubiegłego wieku pojawiły pierwsze komputery przechowujące dane oraz program w pamięci operacyjnej, zgodnie z architekturą von Neumanna. Początkowo były wykorzystywane do obliczeń numerycznych i naukowych. W tym samym czasie konkurent, firma Univac opracował technologię składowania danych na taśmie magnetycznej, która mogła pomieścić tyle danych ile przechowywanych jest na dziesięciu tysiącach kart magnetycznych. Po raz pierwszy termin baza danych pojawił się w 1963 roku, natomiast powszechnie zaczął być używany w latach siedemdziesiątych XX wieku. Rozwój baz danych był ściśle powiązany z rozwojem techniki i sposobów przechowywania danych. Pojawiły się wtedy między innymi taśmy magnetyczne i karty dziurkowane. Pojawienie się tych nośników wymusiło uszeregowanie danych, i co za tym idzie powstanie dwóch modeli danych. Model sieciowy i hierarchiczny. W latach siedemdziesiątych dr Edgar Ted Codd z IBM pokazał światu relacyjny model danych. Model ten przechowywał dane w plikach liniowych, które były nazywane tabelami. Zaletą modelu danych został wprowadzony język SQL. Kolejnym ważnym krokiem w historii powstawania baz danych jest pojawienie się przestrzeni ostatnich lat relacyjnego jest jego prostota. Dla ułatwienia obsługi bazy prac nad standaryzacją obiektowych baz danych. Na technologia obiektowa zaczęła rozprzestrzeniać się w szybkim tempie. 1 Część opisowa W poprzednim rozdziale krótko scharakteryzowana została historia baz danych. W tym rozdziale zostaną przedstawione najważniejsze typy baz danych takie jak: • relacyjne bazy danych • obiektowe bazy danych • obiektowo-relacyjne bazy danych • multimedialne bazy danych • bazy tekstowe • bazy literaturowe • czasopisma online • bazy chemiczne i biochemiczne Zasady działania baz danych Dane znajdujące się w bazach danych zapisywane są przeważnie jako plik o określonej strukturze. Wszystkie wpisy nazywane są rekordami, a rekordy składają się z pól. Najczęściej spotykany typ bazy danych to bazy relacyjne, w których dane grupuje się w powiązanych ze sobą tablicach zwanymi relacjami. Większość baz działa w oparciu o model klient-serwer. Serwer posiada cechy odpowiadające systemowi operacyjnemu, tzn. pozwala na administrowanie kontami użytkowników, a także pomaga określić uprawnienia dostępu do bazy. Moduł klienta umożliwia administrowanie bazą danych, a także pozwala przeglądać jej zawartość. Relacyjne bazy danych Model relacyjnych baz danych został zaprezentował w 1970 roku dr Edgar Ted Codd. Bazy relacyjne organizują dane w zbiorach, które nazywamy relacjami. Można je łatwo zobrazować w postaci dwuwymiarowej tabeli. Każdy zbiór rekordów jest opisany przez zbiór atrybutów. Pojedynczej kolumnie tabeli odpowiada jeden atrybut, który jest powiązany z typem danych, czyli dziedziną dopuszczalnych wartości. Wiersz tabeli jest nazywany krotką. Wymaga się, aby wartość atrybutu nie była zbiorem wartości, oraz dla każdej relacji musi istnieć atrybut, który identyfikuje konkretną krotkę. Zbiór atrybutów nazywamy nadkluczem. Jeśli relacja zawiera powyżej jednego klucza, zostaje wyróżniony tak zwany klucz główny. W relacjach występują także klucze obce. Są to atrybuty, które przyjmują wartość klucza innej relacji, a dokładniej powiązania między krotkami. Schematem relacji jest zbiór R={A1, A2, ...An} gdzie A1,A2, ...An są atrybutami, czyli nazwami kolumn. Każdy atrybut ma przyporządkowaną dziedzinę, czyli dopuszczalny zbiór wartości. Dane znajdujące się w relacyjnej bazie danych możemy podzielić na kilka rodzajów: • znakowy (ang. character)- dane mogą przybierać tylko postać wartości alfabetycznych • liczbowy (ang. number) - dane mogą przybierać tylko postać liczb • logiczny (ang. logical) - dane mogą być tylko typu prawda lub fałsz • data (ang. date) - przyjmowane są dane tylko w postaci daty • numeryczny (ang. numeric) - dane mogą przybierać tylko postać cyfr, oraz znaków plus(+), oraz minus(-) • alfanumeryczny (ang. alphanumeric) - dane są przyjmowane jako wartości znaków ASCII, a także cyfry • walutowy (ang. currency) - przyjmowane są jako dane liczbowe wraz z symbolem waluty • graficzny (ang. graphic) - przechowywane są np. rysunki, obrazy • binarny ( ang. bonary) - dane mogą być plikami wideo, lub plikami dźwiekowymi • notatnikowy (ang. memo) - dane są oddzielnymi zbiorami tekstowymi, służą do przechowywania różnego rodzaju opisów Relacje w relacyjnych bazach danych można podzielić na trzy kategorie: • Relacja jeden do jednego • Relacja jeden do wielu • Relacja wiele do wielu Relacje jeden do jednego Relacja tego typu charakteryzuje się tym, że dla instancji jednego z dwóch rekordów istnieje tylko jedna instancja z drugiego rekordu. Jest to dosyć rzadko spotykany typ relacji. Relacje tego typu stosowane są sporadycznie do podziału tabeli z dużą ilością pól, aby odizolować część tabeli ze wsględów bezpieczeństwa Rys. Schemat relacji jeden do jednego Relacje jeden do wielu Relacje typu jeden do wielu charakteryzuje się tym, że dla instancji jednego rekordu istnieje więcej niż jedna instancja drugiego rekordu. Relacja tworzy się poprzez dodanie atrybutu w rekordzie „wiele", w celu umieszczenia z nim klucza rekordu, który znajduję się po stronie „jeden"., Atrybut, który został umieszczony po stronie wiele nazywamy kluczem głównym. Relacja tego typu jest najbardziej popularnym typem relacji. Rys. Przykład relacji jeden do wielu Relacje typu wiele do wielu W tej relacji rekord z pierwszej tabeli może mieć kilka dopasowań rekordów z drugiej tabeli, i rekord z drugiej tabeli może posiadać kilka dopasowań z tabeli pierwszej. Taka możliwość istnieje dzięki stworzeniu trzeciej tabeli, w której klucz podstawowy (ang. primary key) składa się z dwóch pól: kluczy obcych z pierwszej i drugiej tabeli. Relacja tego typu jest opisywana jako dwie relacje jeden do jednego z dodatkową trzecią tabelą. Rys. Przykład relacji wiele do wielu Tabele Tabele są to dwuwymiarowe tablice składające się z wierszy i kolumn. Kolumny nazywamy atrybutami, natomiast wiersze krotkami. Wierszem tabeli jest rekord, a pole jest kolumną wiersza tabeli. W tabeli znajduje się kilka pól, które tworzą klucz główny (ang. primary key). W przeciwieństwie do modelu hierarchicznego, w relacyjnych bazach danych tabele są niezależne. W modelu hierarchicznym występuje połączenie wskaźnikowe. W tabelach relacyjnych znajduje się połączenie wskaźnikowe. Klucze główne i obce Klucze w bazach danych są podstawowym składnikiem. Są niezbędne tabelom do powiązania ze sobą dwóch lub większej ilości tabel. Obsługa bazy danych zależy od możliwości określenia wiersza w tabeli przy użyciu klucza głównego. Klucz główny Klucz główny (ang. Primary key), jest to kolumna lub kilka kolumn, które jednoznacznie określają wiersz w tabeli. Klucz obcy Klucz obcy jest to kolumna lub kilka kolumn, który jest kluczem głównym w innej tabeli. Połączenie jest utworzone poprzez zaznaczenie, że wartość w tabeli gdzie znajduje się klucz obcy, jest związana z drugą tabelą, gdzie znajduje się klucz główny. Wartość klucza obcego musi być powiązana z kluczem głównym. Relacyjne bazy danych wprowadziły wiele ulepszeń w stosunku do sieciowych i hierarchicznych baz danych: • Bazy tego typu bazują na tabelach i kolumnach. Jest to proste i łatwe do zrozumienia. Użytkownik otrzymuje czytelny i prosty model danych. Diagram, których używany w hierarchicznych i sieciowych bazach danych nie występują w relacyjnym modelu baz danych. • Dane są niezależne i dzięki temu mamy możliwość modyfikowania ich struktury, nie zakłócając jednocześnie pracy istniejących programów. Mamy taką możliwość, ponieważ tabele nie są połączone ze sobą na sztywno. Do tabel można dodawać kolumny. Nowe relacje są tworzone bez wprowadzania dużych zmian do tabel. Relacyjne bazy danych tworzą wyższy poziom niezależności danych w porównaniu do sieciowych i hierarchicznych baz danych. • Wykorzystując język SQL wprowadza tylko warunki, w jaki sposób mają być wyszukiwane dane. Zadaniem systemu jest znalezienie danych spełniających warunki wyszukiwania. W bazach danych nawigacja jest niewidoczna dla użytkownika końcowego. W porównaniu do języka DML użytkownik musi znać szczegóły wyznaczające ścieżkę dostępu do danych. Obiekowe bazy danych Technologia tworzenia obiektowych baz danych, w ostatnim czasie rozwija się bardzo szybko. Jest widoczne nastawienie w tworzeniu baz danych w koncepcji obiektowej. Istnieje kilka definicji architektury obiektowych baz danych. Pierwsza jest to architektura zaproponowana przez ANSI/SPARC, która wyróżnia trzy poziomy. • Poziom pojęciowy systemu, jest wspólny dla wszystkich użytkowników • Poziom zewnętrzny, indywidualny dla każdego użytkownika • Poziom fizyczny, odnosi się do implementacji bazy danych Kolejnym rodzajem jest architektura klient-serwer. Występuje w niej podział na serwer bazy danych, oraz klienta. Zadaniem serwera jest na przykład wykonywanie wyrażeń SQL wysyłanych przez klienta. Bardziej zaawansowane od wyżej wymienionych są architektury trzywarstwowe lub wielowarstwowe. Architektura trzywarstwowa charakteryzuje się podziałem na warstwy takie jak: • interfejs użytkownika • logikę przetwarzania • bazę danych Są one zaprojektowane niezależnie. Ma to duże znaczenie dla utrzymania całego systemu. W każdej chwili możemy zmieniać dowolną warstwę bez ingerencji w pozostałe warstwy. Jeśli warstwa środkowa jest złożona z kilku warstw to nazywamy ją architekturą wielowarstwową. Rysunek 1. Przykładowa architektura obiektowego systemu zarządzania bazą danych. Żródło obrazka http://www.ipipan.waw.pl/~subieta/artykuly/slownik_obiektowosci/Image5.gif Funkcje systemu zarządzania bazą danych System zarządzania bazą danych jest to oprogramowanie , które umożliwia korzystanie z informacji, które znajdują się w bazie danych. Funkcje: • opis struktur danych • korzystanie z bazy • tworzenie aplikacji korzystających z bazy danych • zapewnienie poprawności przechowywania danych • zapewnienie tajności danych • niezawodność Kartotekowe bazy danych Kartotekowe bazy danych składają się z rekordów, które przechowywane są w pliku na dysku. Nazwa Cena Indeks Ilość Jakość Klocek ham. 120,50 HAM-001 2 After Market Tarcza ham. 150,25 HAM-002 4 After Market Zacisk ham. 452,24 HAM-005 4 OEM Przewód ham. 23,32 HAM-121 4 OEM • Wszystkie rekordy składają się z pól • Pola nie muszą być jednego typu • Jeden rekord odnosi się do jednego rzeczywistego obiektu Dużą zaletą i ułatwieniem jest możliwość wyszukiwania i sortowania po indeksie. Strukturalne bazy danych Dane strukturalne, mogą być również nazywane danymi sterowanymi szablonami. Są przechowywane w bazach danych, w systemach bibliotekarskich, lub w środowisku wykonawczym w bazach danych XML. Zasoby danych strukturalnych są tworzone przez mechanizm zasobów. Upraszczają one dostęp podczas wykonywania danych sterowanych, oferują także jednolity dostęp do danych serwisu dla programistów. Mechanizm zasobów jest warstwą abstrakcyjną, pozwalającą definiować dane w systemie i użytkowników. Zasób jest klasą JAVA, która definiuje właściwości obiektu danych i obiektu użytkownika. Można powiedzieć, że zasób to odpowiednik schematu bay danych, gdzie nazwy i typy kolumn zostały zdefiniowane w tabeli bazy danych. Instancja zasobu jest instancją klasy zasobu. Odpowiada wierszowi w bazie danych, ponieważ zawiera aktualne wartości właściwości zdefiniowanej przez zasób. Kolekcja zasobu, jest instancją klasy zasobu. Odpowiada tabeli bazy danych. Kolekcja zasobu jest definiowana poprzez stworzenie trzech lub czterech klas JAVA i ich rejestracje w mechanizmie zasobów pod nazwą kolekcji zasobu. Pierwsza klasa określa zestaw właściwości.. Są one dowolnego typu JAVA (string, int). Druga klasa zawiera metody dotyczące cyklu życia zasobu (create, delete). Powyższa klasa może być podzielona na dwie klasy. Czwartą klasę tworzy się w celu zarządzania zasobami środowiska tworzonych danych. Zasób to dowolne dane użytkownika, dane WWW, grafika, skrypt Javascript. Pochodzą one zazwyczaj z różnego typu baz danych, zawierających dane o użytkownikach. Każdy zasób posiada stałe atrybuty zdefiniowane przez schemat zasobu. Do zdefiniowania kolekcji zasobu niezbędny jest zestaw klas JAVA z interfejsem API. Powstała kolekcja obejmuje pliki takie jak *.class, *.jar, oraz *.hrf - XML. Tekstowe bazy danych Bazy tekstowe są dziś jednymi z najbardziej popularnych baz danych, zawierająca podstawowe informacje o produkcie. Jest możliwość wyszukania konkretnego rekordu, wraz z informacjami dodatkowymi. Bazy literaturowe Bazy tego typu są popularne, ale tylko w określonych instytucjach, przede wszystkim w środowiskach naukowych. Zawierają one podstawową informację o publikacjach naukowych, z podziałem na dziedziny nauki. Ponieważ ilość prac naukowych i publikacji jest ogromna, wymaga ona gromadzenia informacji w nich zawartych. Niezbędna jest także możliwość efektywnego przeszukiwania i przeglądania prac. Czasopisma on-line Kolejną grupą danych dostępnych w internecie, są czasopisma. Mogą być one udostępniane przez czasopisma, oraz różnego rodzaju firmy, zazwyczaj odpłatnie, po wykupieniu prenumeraty. Bazy chemiczne i biochemiczne Bazy tego typu są jednym z rodzajów tekstowych baz danych. Ilość danych znajdująca się w tym typie bazy jest ogromna, dlatego musimy je przeglądać przy użyciu komputera. Bazy multimedialne Rozwój technik informatycznych przyspieszył rozwój multimedialnych baz danych. Dane multimedialne oprócz informacji tekstowej zawierają także informacje dźwiękową, bądź graficzną. Do najciekawszych baz tego typu należą słowniki multimedialne, encyklopedie, bądź leksykony. Dostęp do bazy danych Dostęp może być realizowany na różne sposoby, od dostępu lokalnego na komputerze, gdzie znajduje się baza danych, przez dostęp w sieci internet. Do przeglądania bazy danych wykorzystujemy różnorakie oprogramowanie, instalowane na komputerze z bazą danych, lub umożliwiające dostęp zdalny. Oprogramowanie klient-serwer W standardowych aplikacjach komputer z zawartą na nim bazą danych posiada oprogramowanie, które umożliwia udostępnianie danych. Komputer z którego uzyskiwany jest dostęp do bazy danych powinien mieć zainstalowane oprogramowanie, dzięki któremu mamy możliwość przeglądania, modyfikacji, oraz przeszukiwania danych znajdujących się w bazie. Powyższe rozwiązanie jest stosowane głównie w sieciach lokalnych. W podobny sposób organizowany jest dostęp do baz dostępnych przez sieć internet. Ultranet Jest przykładem oprogramowania instalowanego na komputerze użytkownika. Dostęp do danych jest uzyskiwany poprzez sieć Internet przy użyciu dedykowanego serwera. WWW Rozwój sieci internet, oraz narzędzie z nią powiązanych pozwolił na wykorzystanie ich podczas udostępniania i wykorzystywania różnego typ baz danych. Najpopularniejsze przeglądarki internetowe mogą zostać wykorzystane jako jako narzędzie pozwalające na przeszukiwanie, czy przeglądanie baz danych różnego typu na przykład bazy tekstowe, bazy literaturowe, kończąc na bazach multimedialnych. PostScript Jest standardowym formatem dokumentów, pozwalający na wydruk danych na drukarce. Dokument tego typu można zapisać na dysku i oglądać. Jest to jednocześnie język programowania. PDF PDF czyli Portable Data Format jest najbardziej popularnych formatem dokumentów. Dokument zapisany w takim formacie jest zazwyczaj o połowę mniejszy niż ten sam dokument zapisany w PostScript. Modele baz danych Baza danych jest to kolekcja powiązanych informacji w pamięci dysku, jest udostępniana na określonych zasadach jej użytkownikom. Baza danych jest zbiorem danych, które posiadają określoną strukturę, a także jest możliwość wykonywania na nich określonych operacji. Baza od początku istnienia jest utrzymywana w konkretnym celu, tak aby być przydatną dla określonej grupy odbiorców. Użytkowników baz danych można podzielić na kilka grup. • Programista - jest odpowiedzialny za tworzenie kodu programu, oraz aplikacji korzystających z baz danych • Użytkownik - jest to osoba bezpośrednio korzystają z systemu. Dostęp do bazy danych zyskują zazwyczaj przy użyciu jednej z aplikacji. Aplikacja może być dostarczana razem z oprogramowaniem, np. MySQL, i powiązana z nim aplikacja PhpMyAdmin. • administrator bazy danych - jest osobą odpowiadającą za informacje, które zawiera baza danych. Najważniejszym zadaniem administratora jest decydowanie, które dane są niezbędne do przechowywania, określenie zasad konserwacji bazy danych, określenie praw dostępu, a także usuwanie zbędnych informacji. Do systemu baz danych mogą napływać trzy rodzaje zapytań, które dzielimy na: Zapytania, czyli pytania o dane. Mogą być sformułowane poprzez interfejs zapytań bezpośrednich, lub za pośrednictwem programu stworzonego na potrzeby obsługi dostępu do bazy danych. Aktualizacje, są to operacje polegające na modyfikacji istniejących danych. W tym przypadku również mamy możliwość realizować zapytanie poprzez interfejs użytkownika, lub poprzez bezpośrednie zapytanie. Baza danych jest projektowana przeważnie dla celów zarządzania kolekcjami danych. Zarządzanie danymi obejmuje • Struktury definiujące modelowanie danych • Mechanizmy służące do manipulowania danymi, są to struktury systemowe, modyfikowanie i kasowanie danych • Narzędzia i mechanizmy ułatwiające administrację i raportowanie danych • Zabezpieczenie danych, tworzenie kopii bezpieczeństwa Komercyjne systemy zarządzania bazą danych • IBM DB2 • Informix • Microsoft Access • Microsoft SQL Server • Oracle • Postgres • MySQL Model danych możemy podzielić na kilka aspektów: Aspekt strukturalny, jest to zbiór danych, operacji a także zależności pomiędzy danymi. Aspekt semantyczny, polega na ustaleniu znaczenia struktur danych względem świata rzeczywistego, a także określeniu wartości operacji. Aspekt pragmatyczny, to określenie zasad wykorzystania modelu w systemie baz danych, służące do rozwiązania konkretnych problemów. Model danych jest to zestaw pojęć użytych do opisania świata zewnętrznego. Jest to język, w którym analityk tworzy swoją wizję systemu. Wykorzystany model ma istotny wpływ na przebieg projektu, oraz na uzyskane efekty działania systemu informatycznego. Metodyka projektowania baz danych Część praktyczna Wykorzystane oprogramowanie MyPhpAdmin Narzędzie powstało w 1998 roku. Pracę nad nim zapoczątkował Tobias Ratschiller. W 2000 roku pracę nad projektem przejęła inna grupa programistów, co zaowocowało powstaniem nowej wersji oprogramowania we wrześniu 2000 roku. Od tego czasu jest ono cały czas rozwijane i stało się jednym z najbardziej popularnych narzędzi tego typu. Jest to narzędzie które służy do zarządzania bazami danych, stworzonymi przy użyciu MySQL, napisanych w PHP. Aplikacja ma wbudowany procesor zapytań, który umożliwia użytkownikowi wydawanie poleceń, które następnie są tłumaczone na zapytanie do bazy (np. SELECT, INSERT) Jest to oprogramowanie darmowe, powstało na licencji GNU, czyli General Public License. Pozwala ono na tworzenie, usuwanie baz danych, możemy także dodawać i kasować relacje, oraz edytować ich struktury z zawartości. Wszystkie operacje przeprowadzane są przy użyciu przeglądarki internetowej. Mamy do dyspozycji środowisko graficzne, które znacząco ułatwia pracę. Okno główne programu Xampp Jest to darmowy, działający na wielu platformach systemowych pakiet. Składa się on przede wszystkim z serwera Apache, bazy danych MySQL, oraz interpreterów skryptówm powstałych w PERLu, oraz PHP. Nazwa jest akronimem od X (and. cross-platform), Apache, MySQL, PHP, Perl. Program ten, podobnie jak PhpMyAdmin jest dystrybuowany na licencji GNU, czyli General Public License. Jest darmowym serwerem WWW do obsługi stron. Obecnie jest dostępny na platformy takie jak: • Microsoft Windows • Linux • Sun Solaris • OS X Na system Windows aplikacja jest dostępna w wersji Portable, i jest o tyle wygodna, że nie wymaga instalacji w systemie operacyjnym, i może być przenoszona np. na pendrive. Okno główne programu: NetBeans Jest to otwarty projekt, którego zadaniem jest dostarczanie narzędzi programowania. Platforma powstała w Czechach jako projekt studencki, i miała być alternatywą dla Delphi dla Javy. Początkowo nazywała się Xelfi. Pod koniec 1999 roku projekt został wykupiony przez Sun Microsystems. W tym samym czasie firma wykupiła również firmę Forte, co skutkowało w niedalekiej przyszłości zmiana nazwy IDE z NetBeans na Forte for Java, i nazwa nie była przez jakiś czas używana. Po sześciu miesiącach firma zdecydowała się na upublicznienie źródeł programu na licencji Common Development and Distribution License. Najważniejszymi produktami są NetBeans IDE, oraz NetBeans Platform. NetBeans IDE, to środowisko programowania w języku JAVA, jego celem jest przyspieszenie powstawania aplikacji Java, usług sieciowych, a także aplikacji mobilnych. NetBeans Platform przy użyciu gotowej bazy i udostępnianych usług pozwala znacznie skrócić czas trwania budowy aplikacji. Wykorzystane technologie InnoDB Jest to mechanizm składowania danych, stworzony przez Innobase Oy, która w 2006 roku została przejęta przez Oracle Corporation. Jest dystrybuowany na licencji GNU General Public License. Obecnie można go znaleźć w wielu wersjach MySQL, a od wersji 5.5 jest mechanizmem domyślnym. Zastosowanie tego mechanizmu pozwala na korzystanie z transakcji, oraz kluczy obych. Jest również zgodny ze standardem ACID. Silnik ten dostarcza dwa sposoby magazynowania danych: plik, oraz grupa plików wspólne dla baz i tabel. Ważną cechą jest też możliwość blokady na poziomie wierszy, oraz kompresja danych. /architektura InnoDB http://3.bp.blogspot.com/-XJLxkA2n-8M/VQlXJ_nXL8I/AAAAAAAAAgU/-587ONTtm3k/s1600/io_part2.png Profiling MySQL udostępnia użytkownikowi mechanizmy, dzięki którym wiadomo co dzieje się z zapytaniem - w jaki sposób jest ono wykonywane, oraz jaki typ operacji jest przeprowadzany na tabelach. Tam mechanizmem jest Profiler. Uruchamiamy go za pomocą polecenia: SET PROFILING=1; Powyższa zmienna jest ustawiana dla sesji, i nie dotyczy zapytań wykonywanych przez serwer SQL. Jest to bardzo przydatne, gdyż ilość pamięci Profilera obejmuje tylko 100 zapytań, funkcja ta ustawiana jest zmienną "profiling_history_size". Trzeba także pamiętać, że pozostałe zapytania również obciążają serwer, co może prowadzić do uzyskania nieprawidłowych wyników testu. Bootstrap Jest to bardzo rozbudowane narzędzie zawierające zbiór najbardziej popularnych struktór HTML. Został dodany JavaScript, który umożliwia dodawanie interaktywnych elementów takich jak, rozwijane menu, podpowiedzi w formie "dymków" i wiele innych. Aby utworzyć styl dla konkretnego elementu, trzeba nadać klasę. Opis wykonanych prac Projekt został wykonany przy użyciu oprogramowania Netbeans IDE. Przy tworzeniu aplikacji niezbędne było stworzenie domyślnej kopii projektu do folderu /Htdocs znajdującego się w głównym katalogu programu Xampp. Wykonanie takiej czynności jest niezbędne aby później móc zaimportować bazę danych do programu PhpMyAdmin, i dzięki temu uruchomić aplikację, wraz z bazą danych. W celu uzyskania połączenia z bazą danych niezbędne jest wprowadzenie danych do serwera na którym będziemy się logować i na którym będzie działała aplikacja. Nawiązanie połączenia odbywa się poprzez stworzenie instancji klasy mysqli. W konstruktorze muszą znaleźć się cztery wartości: • nazwa hosta • nazwa użytkownika • hasło użytkownika • nazwa używanej bazy danych Tabele bazy danych Order_user - przechowuje dane odnośnie zamówienia konkretnego użytkownika. Zawiera pola takie jak: • ID • ID użytkownika • Data zakupu Products - przechowuje dane na temat produktów oferowanych w Sklepie internetowym. Zawiera pola takie jak: • ID • Nazwa produktu • Opis produktu • Cena Products_order - zawiera informacje na temat zamówionych produktów. Zawiera • ID • ID zamówienia • ID produktu • Ilość zamówionych produktów • Cena User- zawiera informacje na temat użytkowników. Zawiera pola: • ID użytkownika • Imię • Nazwisko następujące pola: • E-mail • Login • Hasło W aplikacji mamy możliwość rejestracji nowych użytkowników. Odbywa się to poprzez pole Rejestracja. Niezbędne jest wprowadzenie takich informacji jak: Imię, nazwisko, adres e-mail, login i hasło do aplikacji. Wygląd aplikacji 1. Okno logowania i wyboru bazy danych 3. Czas zapytania do bazy danych 3. Łączny czas zapytania 2 Część praktyczna - badania, program Opis własnego oprogramowania zaprojektowanego dla celów dydaktycznych lub naukowych. Możliwe jest przeprowadzenie badań. Jest to najważniejsza część pracy, dlatego powinien być to najobszerniejszy rozdział. 2.1 Obiekt badań 2.2 Środowisko badawcze 2.3 Przebieg badań 2.4 Wyniki badań 2.5 Wnioski Podsumowanie Dyskusja nad dalszym rozwojem pracy. Wnioski. Omówienie wyników. Co zrobiono w pracy i jakie uzyskano wyniki? Czy i w jakim zakresie praca stanowi nowe ujęcie problemu? Sposób wykorzystania pracy (publikacja, udostępnienie instytucjom, materiał źródłowy dla studentów). Co uważa autor za własne osiągnięcia? Literatura [1] Przelaskowski A., Kompresja danych, skrypt internetowy http://www.ire.pw.edu.pl, 2000 - październik 2005. [2] http://www.rzepkowski.pl/elka/ - październik 2005. [3] Skarbek W., Multimedia. Algorytmy i standardy kompresji, Akademicka Oficyna Wydawnicza PLJ, Warszawa, 1998. [4] http://www.djworld.pl - październik 2005. [5] Nowak J., Kowalski A, Tytuł artykułu, Czasoppismo, 1/2004, s. 21-23. Dodatek A. Kod programu komputerowego unit U_Main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin, Buttons, ExtCtrls; type TForm1 = class(TForm) Panel1: TPanel; Krok: TBitBtn; Start: TBitBtn; Zamknij: TBitBtn; PlikN: TLabel; Wyn: TLabel; SaveDialog: TSaveDialog; OpenDialog: TOpenDialog; Spocz: TLabel; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure ZamknijClick(Sender: TObject); Dodatek B. Spis zawartości dołączonej płyty CD Praca - niniejszy dokument www - witryny internetowe wykorzystane w pracy Progres - aplikacja systemu śledzenia ruchu w sekwencji wideo Imię i nazwisko ............................ Częstochowa, dn. .......................... Nr albumu ............................. Kierunek .............................. Wydział ............................... Politechnika Częstochowska Szanowny Pan (i) Dziekan OŚWIADCZENIE Pod rygorem odpowiedzialności karnej oświadczam, że złożona przeze mnie praca dyplomowa pt.: ......................................................................................... ............................................................................................................................................ jest moim samodzielnym opracowaniem. Jednocześnie oświadczam, że praca w całości lub we fragmentach nie została dotychczas przedłożona w żadnej szkole. Niezależnie od art.239 Prawo o szkolnictwie wyższym wyrażam/ nie wyrażam* zgodę na nieodpłatne wykorzystanie przez Politechnikę Częstochowską całości lub fragmentów w/w pracy w publikacjach Politechniki Częstochowskiej. .............................. Podpis */ nieodpowiednie skreślić. Zrodlo: http://wklej.se/6dbc